From f6dfedf604fa663f0ea30ac023fe1733e16be84e Mon Sep 17 00:00:00 2001 From: swift-river542 Date: Wed, 16 Sep 2026 22:35:18 -0500 Subject: [PATCH] Maps drop-in: share menu next to its button on phones --- .../cities-internet/cities-internet.js | 22 +++++----- .../connectivity-list/index.html | 2 +- .../connectivity-map/index.html | 2 +- .../cities-internet/data-tables/index.html | 2 +- .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters/country-posters.js | 2 +- .../doxa-maps/demo-map/demo-map.js | 26 +++++------ .../doxa-maps/demo-map/demo-map/index.html | 2 +- .../demo-map/demo-map/maplibre/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 2 +- .../doxa-research-map/research-map/index.html | 2 +- .../doxa-simple-map/doxa-simple-map.js | 32 +++++++------- .../doxa-simple-map/adoption/index.html | 2 +- .../doxa-simple-map/engagement/index.html | 2 +- .../doxa-simple-map/index.html | 2 +- .../doxa-simple-map/prayer/index.html | 2 +- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-resources/gospel-resources.js | 24 +++++----- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- .../doxa-maps-build/doxa-maps/manifest.json | 44 +++++++++---------- .../my-upg-100-list/my-upg-100-list.js | 24 +++++----- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- public/embed/doxa-maps-build/index.html | 2 +- 28 files changed, 108 insertions(+), 108 deletions(-) diff --git a/public/embed/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js b/public/embed/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js index 282670cf..0c97be91 100644 --- a/public/embed/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js +++ b/public/embed/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js @@ -3,26 +3,26 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function lr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},gn=[],ft=()=>{},vs=()=>!1,po=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fo=e=>e.startsWith("onUpdate:"),Ee=Object.assign,cr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Bl=Object.prototype.hasOwnProperty,he=(e,t)=>Bl.call(e,t),te=Array.isArray,jt=e=>Fn(e)==="[object Map]",ho=e=>Fn(e)==="[object Set]",ws=e=>Fn(e)==="[object Date]",re=e=>typeof e=="function",be=e=>typeof e=="string",Ke=e=>typeof e=="symbol",ge=e=>e!==null&&typeof e=="object",ks=e=>(ge(e)||re(e))&&re(e.then)&&re(e.catch),$s=Object.prototype.toString,Fn=e=>$s.call(e),Rl=e=>Fn(e).slice(8,-1),go=e=>Fn(e)==="[object Object]",mo=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xn=lr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_o=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Wl=/-\w/g,Pe=_o(e=>e.replace(Wl,t=>t.slice(1).toUpperCase())),Ul=/\B([A-Z])/g,tt=_o(e=>e.replace(Ul,"-$1").toLowerCase()),bo=_o(e=>e.charAt(0).toUpperCase()+e.slice(1)),ur=_o(e=>e?`on${bo(e)}`:""),ht=(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})},jl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ns=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let Cs;const yo=()=>Cs||(Cs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Pn(e){if(te(e)){const t={};for(let n=0;n{if(n){const o=n.split(Yl);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Ie(e){let t="";if(be(e))t=e;else if(te(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Q=e=>be(e)?e:e==null?"":te(e)||ge(e)&&(e.toString===$s||!re(e.toString))?Ts(e)?Q(e.value):JSON.stringify(e,Ls,2):String(e),Ls=(e,t)=>Ts(t)?Ls(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[dr(o,r)+" =>"]=s,n),{})}:ho(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>dr(n))}:Ke(t)?dr(t):ge(t)&&!te(t)&&!go(t)?String(t):t,dr=(e,t="")=>{var n;return Ke(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function lr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},gn=[],ft=()=>{},vs=()=>!1,po=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fo=e=>e.startsWith("onUpdate:"),Ee=Object.assign,cr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Bl=Object.prototype.hasOwnProperty,he=(e,t)=>Bl.call(e,t),te=Array.isArray,jt=e=>Fn(e)==="[object Map]",ho=e=>Fn(e)==="[object Set]",ws=e=>Fn(e)==="[object Date]",oe=e=>typeof e=="function",be=e=>typeof e=="string",Ke=e=>typeof e=="symbol",ge=e=>e!==null&&typeof e=="object",ks=e=>(ge(e)||oe(e))&&oe(e.then)&&oe(e.catch),$s=Object.prototype.toString,Fn=e=>$s.call(e),Rl=e=>Fn(e).slice(8,-1),go=e=>Fn(e)==="[object Object]",mo=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xn=lr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_o=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Wl=/-\w/g,xe=_o(e=>e.replace(Wl,t=>t.slice(1).toUpperCase())),Ul=/\B([A-Z])/g,tt=_o(e=>e.replace(Ul,"-$1").toLowerCase()),bo=_o(e=>e.charAt(0).toUpperCase()+e.slice(1)),ur=_o(e=>e?`on${bo(e)}`:""),ht=(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})},jl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ns=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let Cs;const yo=()=>Cs||(Cs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Pn(e){if(te(e)){const t={};for(let n=0;n{if(n){const o=n.split(Yl);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Se(e){let t="";if(be(e))t=e;else if(te(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Q=e=>be(e)?e:e==null?"":te(e)||ge(e)&&(e.toString===$s||!oe(e.toString))?Ts(e)?Q(e.value):JSON.stringify(e,Ls,2):String(e),Ls=(e,t)=>Ts(t)?Ls(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[dr(o,r)+" =>"]=s,n),{})}:ho(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>dr(n))}:Ke(t)?dr(t):ge(t)&&!te(t)&&!go(t)?String(t):t,dr=(e,t="")=>{var n;return Ke(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 Fe;class Ss{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&&Fe&&(Fe.active?(this.parent=Fe,this.index=(Fe.scopes||(Fe.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(Fe===this)Fe=this.prevScope;else{let t=Fe;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(Dn){let t=Dn;for(Dn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Mn;){let t=Mn;for(Mn=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 Ms(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ds(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),br(o),Xl(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function _r(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Bn)||(e.globalVersion=Bn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!_r(e))))return;e.flags|=2;const t=e.dep,n=ye,o=st;ye=e,st=!0;try{Ms(e);const s=e.fn(e._value);(t.version===0||ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ye=n,st=o,Ds(e),e.flags&=-3}}function br(e,t=!1){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)br(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Xl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let st=!0;const Rs=[];function gt(){Rs.push(st),st=!1}function mt(){const e=Rs.pop();st=e===void 0?!0:e}function Ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let Bn=0;class Jl{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 yr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ye||!st||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new Jl(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,Us(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=o)}return n}trigger(t){this.version++,Bn++,this.notify(t)}notify(t){gr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{mr()}}}function Us(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)Us(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const wo=new WeakMap,on=Symbol(""),vr=Symbol(""),Rn=Symbol("");function Ue(e,t,n){if(st&&ye){let o=wo.get(e);o||wo.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new yr),s.map=o,s.key=n),s.track()}}function At(e,t,n,o,s,r){const i=wo.get(e);if(!i){Bn++;return}const a=l=>{l&&l.trigger()};if(gr(),t==="clear")i.forEach(a);else{const l=te(e),c=l&&mo(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,h)=>{(h==="length"||h===Rn||!Ke(h)&&h>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(Rn)),t){case"add":l?c&&a(i.get("length")):(a(i.get(on)),jt(e)&&a(i.get(vr)));break;case"delete":l||(a(i.get(on)),jt(e)&&a(i.get(vr)));break;case"set":jt(e)&&a(i.get(on));break}}mr()}function Zl(e,t){const n=wo.get(e);return n&&n.get(t)}function mn(e){const t=pe(e);return t===e?t:(Ue(t,"iterate",Rn),Xe(e)?t:t.map(it))}function ko(e){return Ue(e=pe(e),"iterate",Rn),e}function _t(e,t){return Lt(e)?bn(Tt(e)?it(t):t):it(t)}const Ql={__proto__:null,[Symbol.iterator](){return wr(this,Symbol.iterator,e=>_t(this,e))},concat(...e){return mn(this).concat(...e.map(t=>te(t)?mn(t):t))},entries(){return wr(this,"entries",e=>(e[1]=_t(this,e[1]),e))},every(e,t){return Et(this,"every",e,t,void 0,arguments)},filter(e,t){return Et(this,"filter",e,t,n=>n.map(o=>_t(this,o)),arguments)},find(e,t){return Et(this,"find",e,t,n=>_t(this,n),arguments)},findIndex(e,t){return Et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Et(this,"findLast",e,t,n=>_t(this,n),arguments)},findLastIndex(e,t){return Et(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Et(this,"forEach",e,t,void 0,arguments)},includes(...e){return kr(this,"includes",e)},indexOf(...e){return kr(this,"indexOf",e)},join(e){return mn(this).join(e)},lastIndexOf(...e){return kr(this,"lastIndexOf",e)},map(e,t){return Et(this,"map",e,t,void 0,arguments)},pop(){return Wn(this,"pop")},push(...e){return Wn(this,"push",e)},reduce(e,...t){return js(this,"reduce",e,t)},reduceRight(e,...t){return js(this,"reduceRight",e,t)},shift(){return Wn(this,"shift")},some(e,t){return Et(this,"some",e,t,void 0,arguments)},splice(...e){return Wn(this,"splice",e)},toReversed(){return mn(this).toReversed()},toSorted(e){return mn(this).toSorted(e)},toSpliced(...e){return mn(this).toSpliced(...e)},unshift(...e){return Wn(this,"unshift",e)},values(){return wr(this,"values",e=>_t(this,e))}};function wr(e,t,n){const o=ko(e),s=o[t]();return o!==e&&!Xe(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=n(r.value)),r}),s}const ec=Array.prototype;function Et(e,t,n,o,s,r){const i=ko(e),a=i!==e&&!Xe(e),l=i[t];if(l!==ec[t]){const f=l.apply(e,r);return a?it(f):f}let c=n;i!==e&&(a?c=function(f,h){return n.call(this,_t(e,f),h,e)}:n.length>2&&(c=function(f,h){return n.call(this,f,h,e)}));const u=l.call(i,c,o);return a&&s?s(u):u}function js(e,t,n,o){const s=ko(e),r=s!==e&&!Xe(e);let i=n,a=!1;s!==e&&(r?(a=o.length===0,i=function(c,u,f){return a&&(a=!1,c=_t(e,c)),n.call(this,c,_t(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=s[t](i,...o);return a?_t(e,l):l}function kr(e,t,n){const o=pe(e);Ue(o,"iterate",Rn);const s=o[t](...n);return(s===-1||s===!1)&&Eo(n[0])?(n[0]=pe(n[0]),o[t](...n)):s}function Wn(e,t,n=[]){gt(),gr();const o=pe(e)[t].apply(e,n);return mr(),mt(),o}const tc=lr("__proto__,__v_isRef,__isVue"),Gs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function nc(e){Ke(e)||(e=String(e));const t=pe(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Ys{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return r;if(n==="__v_raw")return o===(s?r?Xs:Ks:r?zs:qs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=te(t);if(!s){let l;if(i&&(l=Ql[n]))return l;if(n==="hasOwnProperty")return nc}const a=Reflect.get(t,n,Ce(t)?t:o);if((Ke(n)?Gs.has(n):tc(n))||(s||Ue(t,"get",n),r))return a;if(Ce(a)){const l=i&&mo(n)?a:a.value;return s&&ge(l)?Or(l):l}return ge(a)?s?Or(a):Co(a):a}}class Vs extends Ys{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=te(t)&&mo(n);if(!this._isShallow){const c=Lt(r);if(!Xe(o)&&!Lt(o)&&(r=pe(r),o=pe(o)),!i&&Ce(r)&&!Ce(o))return c||(r.value=o),!0}const a=i?Number(n)e,$o=e=>Reflect.getPrototypeOf(e);function ac(e,t,n){return function(...o){const s=this.__v_raw,r=pe(s),i=jt(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=s[e](...o),u=n?$r:t?bn:it;return!t&&Ue(r,"iterate",l?vr:on),Ee(Object.create(c),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}}})}}function Oo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function lc(e,t){const n={get(s){const r=this.__v_raw,i=pe(r),a=pe(s);e||(ht(s,a)&&Ue(i,"get",s),Ue(i,"get",a));const{has:l}=$o(i),c=t?$r:e?bn:it;if(l.call(i,s))return c(r.get(s));if(l.call(i,a))return c(r.get(a));r!==i&&r.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(pe(s),"iterate",on),s.size},has(s){const r=this.__v_raw,i=pe(r),a=pe(s);return e||(ht(s,a)&&Ue(i,"has",s),Ue(i,"has",a)),s===a?r.has(s):r.has(s)||r.has(a)},forEach(s,r){const i=this,a=i.__v_raw,l=pe(a),c=t?$r:e?bn:it;return!e&&Ue(l,"iterate",on),a.forEach((u,f)=>s.call(r,c(u),c(f),i))}};return Ee(n,e?{add:Oo("add"),set:Oo("set"),delete:Oo("delete"),clear:Oo("clear")}:{add(s){const r=pe(this),i=$o(r),a=pe(s),l=!t&&!Xe(s)&&!Lt(s)?a:s;return i.has.call(r,l)||ht(s,l)&&i.has.call(r,s)||ht(a,l)&&i.has.call(r,a)||(r.add(l),At(r,"add",l,l)),this},set(s,r){!t&&!Xe(r)&&!Lt(r)&&(r=pe(r));const i=pe(this),{has:a,get:l}=$o(i);let c=a.call(i,s);c||(s=pe(s),c=a.call(i,s));const u=l.call(i,s);return i.set(s,r),c?ht(r,u)&&At(i,"set",s,r):At(i,"add",s,r),this},delete(s){const r=pe(this),{has:i,get:a}=$o(r);let l=i.call(r,s);l||(s=pe(s),l=i.call(r,s)),a&&a.call(r,s);const c=r.delete(s);return l&&At(r,"delete",s,void 0),c},clear(){const s=pe(this),r=s.size!==0,i=s.clear();return r&&At(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=ac(s,e,t)}),n}function No(e,t){const n=lc(e,t);return(o,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(he(n,s)&&s in o?n:o,s,r)}const cc={get:No(!1,!1)},uc={get:No(!1,!0)},pc={get:No(!0,!1)},dc={get:No(!0,!0)},qs=new WeakMap,zs=new WeakMap,Ks=new WeakMap,Xs=new WeakMap;function fc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Co(e){return Lt(e)?e:Ao(e,!1,oc,cc,qs)}function hc(e){return Ao(e,!1,sc,uc,zs)}function Or(e){return Ao(e,!0,rc,pc,Ks)}function m_(e){return Ao(e,!0,ic,dc,Xs)}function Ao(e,t,n,o,s){if(!ge(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=s.get(e);if(r)return r;const i=fc(Rl(e));if(i===0)return e;const a=new Proxy(e,i===2?o:n);return s.set(e,a),a}function Tt(e){return Lt(e)?Tt(e.__v_raw):!!(e&&e.__v_isReactive)}function Lt(e){return!!(e&&e.__v_isReadonly)}function Xe(e){return!!(e&&e.__v_isShallow)}function Eo(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function _n(e){return!he(e,"__v_skip")&&Object.isExtensible(e)&&Os(e,"__v_skip",!0),e}const it=e=>ge(e)?Co(e):e,bn=e=>ge(e)?Or(e):e;function Ce(e){return e?e.__v_isRef===!0:!1}function ce(e){return Js(e,!1)}function To(e){return Js(e,!0)}function Js(e,t){return Ce(e)?e:new gc(e,t)}class gc{constructor(t,n){this.dep=new yr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:pe(t),this._value=n?t:it(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Xe(t)||Lt(t);t=o?t:pe(t),ht(t,n)&&(this._rawValue=t,this._value=o?t:it(t),this.dep.trigger())}}function nt(e){return Ce(e)?e.value:e}const mc={get:(e,t,n)=>t==="__v_raw"?e:nt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return Ce(s)&&!Ce(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function Zs(e){return Tt(e)?e:new Proxy(e,mc)}function _c(e){const t=te(e)?new Array(e.length):{};for(const n in e)t[n]=yc(e,n);return t}class bc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ke(n)?n:String(n),this._raw=pe(t);let s=!0,r=t;if(!te(t)||Ke(this._key)||!mo(this._key))do s=!Eo(r)||Xe(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=nt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ce(this._raw[this._key])){const n=this._object[this._key];if(Ce(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Zl(this._raw,this._key)}}function yc(e,t,n){return new bc(e,t,n)}class vc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new yr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return Ps(this,!0),!0}get value(){const t=this.dep.track();return Bs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function wc(e,t,n=!1){let o,s;return re(e)?o=e:(o=e.get,s=e.set),new vc(o,s,n)}const Lo={},So=new WeakMap;let rn;function kc(e,t=!1,n=rn){if(n){let o=So.get(n);o||So.set(n,o=[]),o.push(e)}}function $c(e,t,n=_e){const{immediate:o,deep:s,once:r,scheduler:i,augmentJob:a,call:l}=n,c=m=>s?m:Xe(m)||s===!1||s===0?St(m,1):St(m);let u,f,h,_,v=!1,k=!1;if(Ce(e)?(f=()=>e.value,v=Xe(e)):Tt(e)?(f=()=>c(e),v=!0):te(e)?(k=!0,v=e.some(m=>Tt(m)||Xe(m)),f=()=>e.map(m=>{if(Ce(m))return m.value;if(Tt(m))return c(m);if(re(m))return l?l(m,2):m()})):re(e)?t?f=l?()=>l(e,2):e:f=()=>{if(h){gt();try{h()}finally{mt()}}const m=rn;rn=u;try{return l?l(e,3,[_]):e(_)}finally{rn=m}}:f=ft,t&&s){const m=f,A=s===!0?1/0:s;f=()=>St(m(),A)}const F=Is(),C=()=>{u.stop(),F&&F.active&&cr(F.effects,u)};if(r&&t){const m=t;t=(...A)=>{const S=m(...A);return C(),S}}let L=k?new Array(e.length).fill(Lo):Lo;const y=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const A=u.run();if(m||s||v||(k?A.some((S,$)=>ht(S,L[$])):ht(A,L))){h&&h();const S=rn;rn=u;try{const $=[A,L===Lo?void 0:k&&L[0]===Lo?[]:L,_];L=A,l?l(t,3,$):t(...$)}finally{rn=S}}}else u.run()};return a&&a(y),u=new Fs(f),u.scheduler=i?()=>i(y,!1):y,_=m=>kc(m,!1,u),h=u.onStop=()=>{const m=So.get(u);if(m){if(l)l(m,4);else for(const A of m)A();So.delete(u)}},t?o?y(!0):L=u.run():i?i(y.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function St(e,t=1/0,n){if(t<=0||!ge(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ce(e))St(e.value,t,n);else if(te(e))for(let o=0;o{St(o,t,n)});else if(go(e)){for(const o in e)St(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&St(e[o],t,n)}return e}/** +**/let Ie;class Ss{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&&Ie&&(Ie.active?(this.parent=Ie,this.index=(Ie.scopes||(Ie.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(Ie===this)Ie=this.prevScope;else{let t=Ie;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(Dn){let t=Dn;for(Dn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Mn;){let t=Mn;for(Mn=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 Ms(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ds(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),br(o),Xl(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function _r(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Bn)||(e.globalVersion=Bn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!_r(e))))return;e.flags|=2;const t=e.dep,n=ye,o=st;ye=e,st=!0;try{Ms(e);const s=e.fn(e._value);(t.version===0||ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ye=n,st=o,Ds(e),e.flags&=-3}}function br(e,t=!1){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)br(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Xl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let st=!0;const Rs=[];function gt(){Rs.push(st),st=!1}function mt(){const e=Rs.pop();st=e===void 0?!0:e}function Ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let Bn=0;class Jl{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 yr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ye||!st||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new Jl(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,Us(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=o)}return n}trigger(t){this.version++,Bn++,this.notify(t)}notify(t){gr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{mr()}}}function Us(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)Us(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const wo=new WeakMap,on=Symbol(""),vr=Symbol(""),Rn=Symbol("");function Ue(e,t,n){if(st&&ye){let o=wo.get(e);o||wo.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new yr),s.map=o,s.key=n),s.track()}}function At(e,t,n,o,s,r){const i=wo.get(e);if(!i){Bn++;return}const a=l=>{l&&l.trigger()};if(gr(),t==="clear")i.forEach(a);else{const l=te(e),c=l&&mo(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,h)=>{(h==="length"||h===Rn||!Ke(h)&&h>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(Rn)),t){case"add":l?c&&a(i.get("length")):(a(i.get(on)),jt(e)&&a(i.get(vr)));break;case"delete":l||(a(i.get(on)),jt(e)&&a(i.get(vr)));break;case"set":jt(e)&&a(i.get(on));break}}mr()}function Zl(e,t){const n=wo.get(e);return n&&n.get(t)}function mn(e){const t=pe(e);return t===e?t:(Ue(t,"iterate",Rn),Xe(e)?t:t.map(it))}function ko(e){return Ue(e=pe(e),"iterate",Rn),e}function _t(e,t){return Lt(e)?bn(Tt(e)?it(t):t):it(t)}const Ql={__proto__:null,[Symbol.iterator](){return wr(this,Symbol.iterator,e=>_t(this,e))},concat(...e){return mn(this).concat(...e.map(t=>te(t)?mn(t):t))},entries(){return wr(this,"entries",e=>(e[1]=_t(this,e[1]),e))},every(e,t){return Et(this,"every",e,t,void 0,arguments)},filter(e,t){return Et(this,"filter",e,t,n=>n.map(o=>_t(this,o)),arguments)},find(e,t){return Et(this,"find",e,t,n=>_t(this,n),arguments)},findIndex(e,t){return Et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Et(this,"findLast",e,t,n=>_t(this,n),arguments)},findLastIndex(e,t){return Et(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Et(this,"forEach",e,t,void 0,arguments)},includes(...e){return kr(this,"includes",e)},indexOf(...e){return kr(this,"indexOf",e)},join(e){return mn(this).join(e)},lastIndexOf(...e){return kr(this,"lastIndexOf",e)},map(e,t){return Et(this,"map",e,t,void 0,arguments)},pop(){return Wn(this,"pop")},push(...e){return Wn(this,"push",e)},reduce(e,...t){return js(this,"reduce",e,t)},reduceRight(e,...t){return js(this,"reduceRight",e,t)},shift(){return Wn(this,"shift")},some(e,t){return Et(this,"some",e,t,void 0,arguments)},splice(...e){return Wn(this,"splice",e)},toReversed(){return mn(this).toReversed()},toSorted(e){return mn(this).toSorted(e)},toSpliced(...e){return mn(this).toSpliced(...e)},unshift(...e){return Wn(this,"unshift",e)},values(){return wr(this,"values",e=>_t(this,e))}};function wr(e,t,n){const o=ko(e),s=o[t]();return o!==e&&!Xe(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=n(r.value)),r}),s}const ec=Array.prototype;function Et(e,t,n,o,s,r){const i=ko(e),a=i!==e&&!Xe(e),l=i[t];if(l!==ec[t]){const f=l.apply(e,r);return a?it(f):f}let c=n;i!==e&&(a?c=function(f,h){return n.call(this,_t(e,f),h,e)}:n.length>2&&(c=function(f,h){return n.call(this,f,h,e)}));const u=l.call(i,c,o);return a&&s?s(u):u}function js(e,t,n,o){const s=ko(e),r=s!==e&&!Xe(e);let i=n,a=!1;s!==e&&(r?(a=o.length===0,i=function(c,u,f){return a&&(a=!1,c=_t(e,c)),n.call(this,c,_t(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=s[t](i,...o);return a?_t(e,l):l}function kr(e,t,n){const o=pe(e);Ue(o,"iterate",Rn);const s=o[t](...n);return(s===-1||s===!1)&&Eo(n[0])?(n[0]=pe(n[0]),o[t](...n)):s}function Wn(e,t,n=[]){gt(),gr();const o=pe(e)[t].apply(e,n);return mr(),mt(),o}const tc=lr("__proto__,__v_isRef,__isVue"),Gs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function nc(e){Ke(e)||(e=String(e));const t=pe(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Ys{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return r;if(n==="__v_raw")return o===(s?r?Xs:Ks:r?zs:qs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=te(t);if(!s){let l;if(i&&(l=Ql[n]))return l;if(n==="hasOwnProperty")return nc}const a=Reflect.get(t,n,Ne(t)?t:o);if((Ke(n)?Gs.has(n):tc(n))||(s||Ue(t,"get",n),r))return a;if(Ne(a)){const l=i&&mo(n)?a:a.value;return s&&ge(l)?Or(l):l}return ge(a)?s?Or(a):Co(a):a}}class Vs extends Ys{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=te(t)&&mo(n);if(!this._isShallow){const c=Lt(r);if(!Xe(o)&&!Lt(o)&&(r=pe(r),o=pe(o)),!i&&Ne(r)&&!Ne(o))return c||(r.value=o),!0}const a=i?Number(n)e,$o=e=>Reflect.getPrototypeOf(e);function ac(e,t,n){return function(...o){const s=this.__v_raw,r=pe(s),i=jt(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=s[e](...o),u=n?$r:t?bn:it;return!t&&Ue(r,"iterate",l?vr:on),Ee(Object.create(c),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}}})}}function Oo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function lc(e,t){const n={get(s){const r=this.__v_raw,i=pe(r),a=pe(s);e||(ht(s,a)&&Ue(i,"get",s),Ue(i,"get",a));const{has:l}=$o(i),c=t?$r:e?bn:it;if(l.call(i,s))return c(r.get(s));if(l.call(i,a))return c(r.get(a));r!==i&&r.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(pe(s),"iterate",on),s.size},has(s){const r=this.__v_raw,i=pe(r),a=pe(s);return e||(ht(s,a)&&Ue(i,"has",s),Ue(i,"has",a)),s===a?r.has(s):r.has(s)||r.has(a)},forEach(s,r){const i=this,a=i.__v_raw,l=pe(a),c=t?$r:e?bn:it;return!e&&Ue(l,"iterate",on),a.forEach((u,f)=>s.call(r,c(u),c(f),i))}};return Ee(n,e?{add:Oo("add"),set:Oo("set"),delete:Oo("delete"),clear:Oo("clear")}:{add(s){const r=pe(this),i=$o(r),a=pe(s),l=!t&&!Xe(s)&&!Lt(s)?a:s;return i.has.call(r,l)||ht(s,l)&&i.has.call(r,s)||ht(a,l)&&i.has.call(r,a)||(r.add(l),At(r,"add",l,l)),this},set(s,r){!t&&!Xe(r)&&!Lt(r)&&(r=pe(r));const i=pe(this),{has:a,get:l}=$o(i);let c=a.call(i,s);c||(s=pe(s),c=a.call(i,s));const u=l.call(i,s);return i.set(s,r),c?ht(r,u)&&At(i,"set",s,r):At(i,"add",s,r),this},delete(s){const r=pe(this),{has:i,get:a}=$o(r);let l=i.call(r,s);l||(s=pe(s),l=i.call(r,s)),a&&a.call(r,s);const c=r.delete(s);return l&&At(r,"delete",s,void 0),c},clear(){const s=pe(this),r=s.size!==0,i=s.clear();return r&&At(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=ac(s,e,t)}),n}function No(e,t){const n=lc(e,t);return(o,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(he(n,s)&&s in o?n:o,s,r)}const cc={get:No(!1,!1)},uc={get:No(!1,!0)},pc={get:No(!0,!1)},dc={get:No(!0,!0)},qs=new WeakMap,zs=new WeakMap,Ks=new WeakMap,Xs=new WeakMap;function fc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Co(e){return Lt(e)?e:Ao(e,!1,oc,cc,qs)}function hc(e){return Ao(e,!1,sc,uc,zs)}function Or(e){return Ao(e,!0,rc,pc,Ks)}function m_(e){return Ao(e,!0,ic,dc,Xs)}function Ao(e,t,n,o,s){if(!ge(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=s.get(e);if(r)return r;const i=fc(Rl(e));if(i===0)return e;const a=new Proxy(e,i===2?o:n);return s.set(e,a),a}function Tt(e){return Lt(e)?Tt(e.__v_raw):!!(e&&e.__v_isReactive)}function Lt(e){return!!(e&&e.__v_isReadonly)}function Xe(e){return!!(e&&e.__v_isShallow)}function Eo(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function _n(e){return!he(e,"__v_skip")&&Object.isExtensible(e)&&Os(e,"__v_skip",!0),e}const it=e=>ge(e)?Co(e):e,bn=e=>ge(e)?Or(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function ce(e){return Js(e,!1)}function To(e){return Js(e,!0)}function Js(e,t){return Ne(e)?e:new gc(e,t)}class gc{constructor(t,n){this.dep=new yr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:pe(t),this._value=n?t:it(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Xe(t)||Lt(t);t=o?t:pe(t),ht(t,n)&&(this._rawValue=t,this._value=o?t:it(t),this.dep.trigger())}}function nt(e){return Ne(e)?e.value:e}const mc={get:(e,t,n)=>t==="__v_raw"?e:nt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return Ne(s)&&!Ne(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function Zs(e){return Tt(e)?e:new Proxy(e,mc)}function _c(e){const t=te(e)?new Array(e.length):{};for(const n in e)t[n]=yc(e,n);return t}class bc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ke(n)?n:String(n),this._raw=pe(t);let s=!0,r=t;if(!te(t)||Ke(this._key)||!mo(this._key))do s=!Eo(r)||Xe(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=nt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ne(this._raw[this._key])){const n=this._object[this._key];if(Ne(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Zl(this._raw,this._key)}}function yc(e,t,n){return new bc(e,t,n)}class vc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new yr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return Ps(this,!0),!0}get value(){const t=this.dep.track();return Bs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function wc(e,t,n=!1){let o,s;return oe(e)?o=e:(o=e.get,s=e.set),new vc(o,s,n)}const Lo={},So=new WeakMap;let rn;function kc(e,t=!1,n=rn){if(n){let o=So.get(n);o||So.set(n,o=[]),o.push(e)}}function $c(e,t,n=_e){const{immediate:o,deep:s,once:r,scheduler:i,augmentJob:a,call:l}=n,c=m=>s?m:Xe(m)||s===!1||s===0?St(m,1):St(m);let u,f,h,_,v=!1,k=!1;if(Ne(e)?(f=()=>e.value,v=Xe(e)):Tt(e)?(f=()=>c(e),v=!0):te(e)?(k=!0,v=e.some(m=>Tt(m)||Xe(m)),f=()=>e.map(m=>{if(Ne(m))return m.value;if(Tt(m))return c(m);if(oe(m))return l?l(m,2):m()})):oe(e)?t?f=l?()=>l(e,2):e:f=()=>{if(h){gt();try{h()}finally{mt()}}const m=rn;rn=u;try{return l?l(e,3,[_]):e(_)}finally{rn=m}}:f=ft,t&&s){const m=f,A=s===!0?1/0:s;f=()=>St(m(),A)}const F=Is(),C=()=>{u.stop(),F&&F.active&&cr(F.effects,u)};if(r&&t){const m=t;t=(...A)=>{const S=m(...A);return C(),S}}let L=k?new Array(e.length).fill(Lo):Lo;const y=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const A=u.run();if(m||s||v||(k?A.some((S,$)=>ht(S,L[$])):ht(A,L))){h&&h();const S=rn;rn=u;try{const $=[A,L===Lo?void 0:k&&L[0]===Lo?[]:L,_];L=A,l?l(t,3,$):t(...$)}finally{rn=S}}}else u.run()};return a&&a(y),u=new Fs(f),u.scheduler=i?()=>i(y,!1):y,_=m=>kc(m,!1,u),h=u.onStop=()=>{const m=So.get(u);if(m){if(l)l(m,4);else for(const A of m)A();So.delete(u)}},t?o?y(!0):L=u.run():i?i(y.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function St(e,t=1/0,n){if(t<=0||!ge(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ne(e))St(e.value,t,n);else if(te(e))for(let o=0;o{St(o,t,n)});else if(go(e)){for(const o in e)St(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&St(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const Un=[];let Nr=!1;function __(e,...t){if(Nr)return;Nr=!0,gt();const n=Un.length?Un[Un.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=Oc();if(o)yn(o,n,11,[e+t.map(r=>{var i,a;return(a=(i=r.toString)==null?void 0:i.call(r))!=null?a:JSON.stringify(r)}).join(""),n&&n.proxy,s.map(({vnode:r})=>`at <${Zi(n,r.type)}>`).join(` `),s]);else{const r=[`[Vue warn]: ${e}`,...t];s.length&&r.push(` `,...Nc(s)),console.warn(...r)}mt(),Nr=!1}function Oc(){let e=Un[Un.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 Nc(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...Cc(n))}),t}function Cc({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${Zi(e.component,e.type,o)}`,r=">"+n;return e.props?[s,...Ac(e.props),r]:[s+r]}function Ac(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Qs(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Qs(e,t,n){return be(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ce(t)?(t=Qs(e,pe(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):re(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),n?t:[`${e}=`,t])}function yn(e,t,n,o){try{return o?e(...o):e()}catch(s){jn(s,t,n)}}function at(e,t,n,o){if(re(e)){const s=yn(e,t,n,o);return s&&ks(s)&&s.catch(r=>{jn(r,t,n)}),s}if(te(e)){const s=[];for(let r=0;r>>1,s=je[o],r=Yn(s);r=Yn(n)?je.push(e):je.splice(Tc(t),0,e),e.flags|=1,ti()}}function ti(){Io||(Io=ei.then(ri))}function Lc(e){if(!te(e))Gt&&e.id===-1?Gt.splice(wn+1,0,e):e.flags&1||(vn.push(e),e.flags|=1);else for(let t=0;tYn(n)-Yn(o));if(vn.length=0,Gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function ri(e){try{for(bt=0;bt{o._d&&Go(-1);const r=Fo(t),i=Ft.length;let a;try{a=e(...s)}finally{for(let l=Ft.length;l>i;l--)Gr();Fo(r),o._d&&Go(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function Sc(e,t){if(De===null)return e;const n=qo(De),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&re(t)?t.call(o&&o.proxy):t}}function Ic(){return!!(Pt()||cn)}const Fc=Symbol.for("v-scx"),xc=()=>qe(Fc);function Pc(e,t){return Ar(e,null,t)}function vt(e,t,n){return Ar(e,t,n)}function Ar(e,t,n=_e){const{immediate:o,deep:s,flush:r,once:i}=n,a=Ee({},n),l=t&&o||!t&&r!=="post";let c;if(Nn){if(r==="sync"){const _=xc();c=_.__watcherHandles||(_.__watcherHandles=[])}else if(!l){const _=()=>{};return _.stop=ft,_.resume=ft,_.pause=ft,_}}const u=Be;a.call=(_,v,k)=>at(_,u,v,k);let f=!1;r==="post"?a.scheduler=_=>{Ye(_,u&&u.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(_,v)=>{v?_():Cr(_)}),a.augmentJob=_=>{t&&(_.flags|=4),f&&(_.flags|=2,u&&(_.id=u.uid,_.i=u))};const h=$c(e,t,a);return Nn&&(c?c.push(h):l&&h()),h}function Mc(e,t,n){const o=this.proxy,s=be(e)?e.includes(".")?ii(o,e):()=>o[e]:e.bind(o,o);let r;re(t)?r=t:(r=t.handler,n=t);const i=to(this),a=Ar(s,r.bind(o),n);return i(),a}function ii(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,ln=e=>e&&(e.disabled||e.disabled===""),Dc=e=>e&&(e.defer||e.defer===""),li=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ci=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Er=(e,t)=>{const n=e&&e.to;return be(n)?t?t(n):null:n},Bc={name:"Teleport",__isTeleport:!0,process(e,t,n,o,s,r,i,a,l,c){const{mc:u,pc:f,pbc:h,o:{insert:_,querySelector:v,createText:k,createComment:F,parentNode:C}}=c,L=ln(t.props);let{dynamicChildren:y}=t;const m=($,O,T)=>{$.shapeFlag&16&&u($.children,O,T,s,r,i,a,l)},A=($=t)=>{const O=ln($.props),T=$.target=Er($.props,v),J=Tr(T,$,k,_);T&&(i!=="svg"&&li(T)?i="svg":i!=="mathml"&&ci(T)&&(i="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(T),O||(m($,T,J),Vn($,!1)))},S=$=>{const O=()=>{if(Yt.get($)===O){if(Yt.delete($),ln($.props)){const T=C($.el)||n;m($,T,$.anchor),Vn($,!0)}A($)}};Yt.set($,O),Ye(O,r)};if(e==null){const $=t.el=k(""),O=t.anchor=k("");if(_($,n,o),_(O,n,o),Dc(t.props)||r&&r.pendingBranch){S(t);return}L&&(m(t,n,O),Vn(t,!0)),A()}else{t.el=e.el;const $=t.anchor=e.anchor,O=Yt.get(e);if(O){O.flags|=8,Yt.delete(e),S(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,J=t.targetAnchor=e.targetAnchor,ee=ln(e.props),U=ee?n:T,Y=ee?$:J;if(i==="svg"||li(T)?i="svg":(i==="mathml"||ci(T))&&(i="mathml"),y?(h(e.dynamicChildren,y,U,s,r,i,a),Ur(e,t,!0)):l||f(e,t,U,Y,s,r,i,a,!1),L)ee?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Po(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const oe=Er(t.props,v);oe&&(t.target=oe,Po(t,oe,null,c,0))}else ee&&Po(t,T,J,c,1);Vn(t,L)}},remove(e,t,n,{um:o,o:{remove:s}},r){const{shapeFlag:i,children:a,anchor:l,targetStart:c,targetAnchor:u,target:f,props:h}=e,_=ln(h),v=r||!_,k=Yt.get(e);if(k&&(k.flags|=8,Yt.delete(e)),f&&(s(c),s(u)),r&&s(l),!k&&(_||f)&&i&16)for(let F=0;F1){for(const n of e)if(n.type!==wt){t=n;break}}return t}function ui(e){if(!Bo(e))return xo(e.type)&&e.children?Uc(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&&re(n.default))return n.default()}}function Sr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Sr(xo(n.type)&&ui(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 Hn(e,t){return re(e)?Ee({name:e.name},t,{setup:e}):e}function Ir(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function pi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Mo=new WeakMap;function qn(e,t,n,o,s=!1){if(te(e)){e.forEach((k,F)=>qn(k,t&&(te(t)?t[F]:t),n,o,s));return}if(kn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&qn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?qo(o.component):o.el,i=s?null:r,{i:a,r:l}=e,c=t&&t.r,u=a.refs===_e?a.refs={}:a.refs,f=a.setupState,h=pe(f),_=f===_e?vs:k=>pi(u,k)?!1:he(h,k),v=(k,F)=>!(F&&pi(u,F));if(c!=null&&c!==l){if(di(t),be(c))u[c]=null,_(c)&&(f[c]=null);else if(Ce(c)){const k=t;v(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(re(l))yn(l,a,12,[i,u]);else{const k=be(l),F=Ce(l);if(k||F){const C=()=>{if(e.f){const L=k?_(l)?f[l]:u[l]:v()||!e.k?l.value:u[e.k];if(s)te(L)&&cr(L,r);else if(te(L))L.includes(r)||L.push(r);else if(k)u[l]=[r],_(l)&&(f[l]=u[l]);else{const y=[r];v(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else k?(u[l]=i,_(l)&&(f[l]=i)):F&&(v(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{C(),Mo.delete(e)};L.id=-1,Mo.set(e,L),Ye(L,n)}else di(e),C()}}}function di(e){const t=Mo.get(e);t&&(t.flags|=8,Mo.delete(e))}const fi=e=>e.nodeType===8;yo().requestIdleCallback,yo().cancelIdleCallback;function jc(e,t){if(fi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(fi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const kn=e=>!!e.type.__asyncLoader;function Gc(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:s=200,hydrate:r,timeout:i,suspensible:a=!0,onError:l}=e;let c=null,u,f=0;const h=()=>(f++,c=null,_()),_=()=>{let v;return c||(v=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((F,C)=>{l(k,()=>F(h()),()=>C(k),f+1)});throw k}).then(k=>v!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return Hn({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate(v,k,F){const C=v.isConnected;let L=!1;(k.bu||(k.bu=[])).push(()=>L=!0);const y=()=>{L||!v.parentNode||C&&!v.isConnected||F()},m=r?()=>{const A=r(y,S=>jc(v,S));A&&(k.bum||(k.bum=[])).push(A)}:y;u?m():_().then(()=>!k.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const v=Be;if(Ir(v),u)return()=>Do(u,v);const k=A=>{c=null,jn(A,v,13,!o)};if(a&&v.suspense||Nn)return _().then(A=>()=>Do(A,v)).catch(A=>(k(A),()=>o?ke(o,{error:A}):null));const F=ce(!1),C=ce(),L=ce(!!s);let y,m;return Wo(()=>{y!=null&&clearTimeout(y),m!=null&&clearTimeout(m)}),s&&(m=setTimeout(()=>{v.isUnmounted||(L.value=!1)},s)),i!=null&&(y=setTimeout(()=>{if(!v.isUnmounted&&!F.value&&!C.value){const A=new Error(`Async component timed out after ${i}ms.`);k(A),C.value=A}},i)),_().then(()=>{v.isUnmounted||(F.value=!0,v.parent&&Bo(v.parent.vnode)&&v.parent.update())}).catch(A=>{if(v.isUnmounted){c=null;return}k(A),C.value=A}),()=>{if(F.value&&u)return Do(u,v);if(C.value&&o)return ke(o,{error:C.value});if(n&&!L.value)return Do(n,v)}}})}function Do(e,t){const{ref:n,props:o,children:s,ce:r}=t.vnode,i=ke(e,o,s);return i.ref=n,i.ce=r,delete t.vnode.ce,i}const Bo=e=>e.type.__isKeepAlive;function Yc(e,t){hi(e,"a",t)}function Vc(e,t){hi(e,"da",t)}function hi(e,t,n=Be){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Ro(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Bo(s.parent.vnode)&&Hc(o,t,n,s),s=s.parent}}function Hc(e,t,n,o){const s=Ro(t,e,o,!0);Wo(()=>{cr(o[t],s)},n)}function Ro(e,t,n=Be,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{gt();const a=to(n),l=at(t,n,e,i);return a(),mt(),l});return o?s.unshift(r):s.push(r),r}}const It=e=>(t,n=Be)=>{(!Nn||e==="sp")&&Ro(e,(...o)=>t(...o),n)},gi=It("bm"),Vt=It("m"),qc=It("bu"),zc=It("u"),$n=It("bum"),Wo=It("um"),Kc=It("sp"),Xc=It("rtg"),Jc=It("rtc");function Zc(e,t=Be){Ro("ec",e,t)}const Qc="components",mi=Symbol.for("v-ndc");function _i(e){return be(e)?eu(Qc,e,!1)||e:e||mi}function eu(e,t,n=!0,o=!1){const s=De||Be;if(s){const r=s.type;{const a=Ji(r,!1);if(a&&(a===t||a===Pe(t)||a===bo(Pe(t))))return r}const i=bi(s[e]||r[e],t)||bi(s.appContext[e],t);return!i&&o?r:i}}function bi(e,t){return e&&(e[t]||e[Pe(t)]||e[bo(Pe(t))])}function lt(e,t,n,o){let s;const r=n,i=te(e);if(i||be(e)){const a=i&&Tt(e);let l=!1,c=!1;a&&(l=!Xe(e),c=Lt(e),e=ko(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(a,l,void 0,r));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;l0;return q(),Ze(de,null,[ke("slot",c,o)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const a=Ft.length;q();let l;try{const c=i&&vi(i(n)),u=n.key||r||c&&c.key;l=Ze(de,{key:(u&&!Ke(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=Ft.length;u>a;u--)Gr();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function vi(e){return e.some(t=>Zn(t)?!(t.type===wt||t.type===de&&!vi(t.children)):!0)?e:null}const Fr=e=>e?zi(e)?qo(e):Fr(e.parent):null,zn=Ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fr(e.parent),$root:e=>Fr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Oi(e),$forceUpdate:e=>e.f||(e.f=()=>{Cr(e.update)}),$nextTick:e=>e.n||(e.n=Gn.bind(e.proxy)),$watch:e=>Mc.bind(e)}),xr=(e,t)=>e!==_e&&!e.__isScriptSetup&&he(e,t),tu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(xr(o,t))return i[t]=1,o[t];if(s!==_e&&he(s,t))return i[t]=2,s[t];if(he(r,t))return i[t]=3,r[t];if(n!==_e&&he(n,t))return i[t]=4,n[t];Pr&&(i[t]=0)}}const c=zn[t];let u,f;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==_e&&he(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,he(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return xr(s,t)?(s[t]=n,!0):o!==_e&&he(o,t)?(o[t]=n,!0):he(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,props:r,type:i}},a){let l;return!!(n[a]||e!==_e&&a[0]!=="$"&&he(e,a)||xr(t,a)||he(r,a)||he(o,a)||he(zn,a)||he(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:he(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function wi(e){return te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pr=!0;function nu(e){const t=Oi(e),n=e.proxy,o=e.ctx;Pr=!1,t.beforeCreate&&ki(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:_,updated:v,activated:k,deactivated:F,beforeDestroy:C,beforeUnmount:L,destroyed:y,unmounted:m,render:A,renderTracked:S,renderTriggered:$,errorCaptured:O,serverPrefetch:T,expose:J,inheritAttrs:ee,components:U,directives:Y,filters:oe}=t;if(c&&ou(c,o,null),i)for(const K in i){const ae=i[K];re(ae)&&(o[K]=ae.bind(n))}if(s){const K=s.call(n,n);ge(K)&&(e.data=Co(K))}if(Pr=!0,r)for(const K in r){const ae=r[K],Ne=re(ae)?ae.bind(n,n):re(ae.get)?ae.get.bind(n,n):ft,Qe=!re(ae)&&re(ae.set)?ae.set.bind(n):ft,Ae=ie({get:Ne,set:Qe});Object.defineProperty(o,K,{enumerable:!0,configurable:!0,get:()=>Ae.value,set:Le=>Ae.value=Le})}if(a)for(const K in a)$i(a[K],o,n,K);if(l){const K=re(l)?l.call(n):l;Reflect.ownKeys(K).forEach(ae=>{yt(ae,K[ae])})}u&&ki(u,e,"c");function R(K,ae){te(ae)?ae.forEach(Ne=>K(Ne.bind(n))):ae&&K(ae.bind(n))}if(R(gi,f),R(Vt,h),R(qc,_),R(zc,v),R(Yc,k),R(Vc,F),R(Zc,O),R(Jc,S),R(Xc,$),R($n,L),R(Wo,m),R(Kc,T),te(J))if(J.length){const K=e.exposed||(e.exposed={});J.forEach(ae=>{Object.defineProperty(K,ae,{get:()=>n[ae],set:Ne=>n[ae]=Ne,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===ft&&(e.render=A),ee!=null&&(e.inheritAttrs=ee),U&&(e.components=U),Y&&(e.directives=Y),T&&Ir(e)}function ou(e,t,n=ft){te(e)&&(e=Mr(e));for(const o in e){const s=e[o];let r;ge(s)?"default"in s?r=qe(s.from||o,s.default,!0):r=qe(s.from||o):r=qe(s),Ce(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function ki(e,t,n){at(te(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function $i(e,t,n,o){let s=o.includes(".")?ii(n,o):()=>n[o];if(be(e)){const r=t[e];re(r)&&vt(s,r)}else if(re(e))vt(s,e.bind(n));else if(ge(e))if(te(e))e.forEach(r=>$i(r,t,n,o));else{const r=re(e.handler)?e.handler.bind(n):t[e.handler];re(r)&&vt(s,r,e)}}function Oi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>Uo(l,c,i,!0)),Uo(l,t,i)),ge(t)&&r.set(t,l),l}function Uo(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&Uo(e,r,n,!0),s&&s.forEach(i=>Uo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=ru[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const ru={data:Ni,props:Ci,emits:Ci,methods:Kn,computed:Kn,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Kn,directives:Kn,watch:iu,provide:Ni,inject:su};function Ni(e,t){return t?e?function(){return Ee(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function su(e,t){return Kn(Mr(e),Mr(t))}function Mr(e){if(te(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${tt(t)}Modifiers`];function uu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let s=n;const r=t.startsWith("update:"),i=r&&cu(o,t.slice(7));i&&(i.trim&&(s=n.map(u=>be(u)?u.trim():u)),i.number&&(s=s.map(jl)));let a,l=o[a=ur(t)]||o[a=ur(Pe(t))];!l&&r&&(l=o[a=ur(tt(t))]),l&&at(l,e,6,s);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,at(c,e,6,s)}}const pu=new WeakMap;function Ei(e,t,n=!1){const o=n?pu:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let i={},a=!1;if(!re(e)){const l=c=>{const u=Ei(c,t,!0);u&&(a=!0,Ee(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(ge(e)&&o.set(e,null),null):(te(r)?r.forEach(l=>i[l]=null):Ee(i,r),ge(e)&&o.set(e,i),i)}function jo(e,t){return!e||!po(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),he(e,t[0].toLowerCase()+t.slice(1))||he(e,tt(t))||he(e,t))}function b_(){}function Ti(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[r],slots:i,attrs:a,emit:l,render:c,renderCache:u,props:f,data:h,setupState:_,ctx:v,inheritAttrs:k}=e,F=Fo(e);let C,L;try{if(n.shapeFlag&4){const m=s||o,A=m;C=kt(c.call(A,m,u,f,_,h,v)),L=a}else{const m=t;C=kt(m.length>1?m(f,{attrs:a,slots:i,emit:l}):m(f,null)),L=t.props?a:du(a)}}catch(m){Ft.length=0,jn(m,e,1),C=ke(wt)}let y=C;if(L&&k!==!1){const m=Object.keys(L),{shapeFlag:A}=y;m.length&&A&7&&(r&&m.some(fo)&&(L=fu(L,r)),y=On(y,L,!1,!0))}if(n.dirs&&(y=On(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const m=xo(y.type)&&ui(y)||y;Sr(m,n.transition)}return C=y,Fo(F),C}const du=e=>{let t;for(const n in e)(n==="class"||n==="style"||po(n))&&((t||(t={}))[n]=e[n]);return t},fu=(e,t)=>{const n={};for(const o in e)(!fo(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function hu(e,t,n){const{props:o,children:s,component:r}=e,{props:i,children:a,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Li(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Ii),xi=e=>Object.getPrototypeOf(e)===Ii;function mu(e,t,n,o=!1){const s={},r=Fi();e.propsDefaults=Object.create(null),Pi(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:hc(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function _u(e,t,n,o){const{props:s,attrs:r,vnode:{patchFlag:i}}=e,a=pe(s),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[h,_]=Mi(f,t,!0);Ee(i,h),_&&a.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return ge(e)&&o.set(e,gn),gn;if(te(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Rr=e=>te(e)?e.map(kt):[kt(e)],yu=(e,t,n)=>{if(t._n)return t;const o=sn((...s)=>Rr(t(...s)),n);return o._c=!1,o},Bi=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Br(s))continue;const r=e[s];if(re(r))t[s]=yu(s,r,o);else if(r!=null){const i=Rr(r);t[s]=()=>i}}},Ri=(e,t)=>{const n=Rr(t);e.slots.default=()=>n},Wi=(e,t,n)=>{for(const o in t)(n||!Br(o))&&(e[o]=t[o])},vu=(e,t,n)=>{const o=e.slots=Fi();if(e.vnode.shapeFlag&32){const s=t._;s?(Wi(o,t,n),n&&Os(o,"_",s,!0)):Bi(t,o)}else t&&Ri(e,t)},wu=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,i=_e;if(o.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:Wi(s,t,n):(r=!t.$stable,Bi(t,s)),i=t}else t&&(Ri(e,t),i={default:1});if(r)for(const a in s)!Br(a)&&i[a]==null&&delete s[a]},Ye=Cu;function ku(e){return $u(e)}function $u(e,t){const n=yo();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:i,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:_=ft,insertStaticContent:v}=e,k=(g,w,b,I=null,B=null,D=null,G=void 0,j=null,p=!!w.dynamicChildren)=>{if(g===w)return;g&&!Qn(g,w)&&(I=Wt(g),Le(g,B,D,!0),g=null),w.patchFlag===-2&&(p=!1,w.dynamicChildren=null);const{type:d,ref:E,shapeFlag:x}=w;switch(d){case Xn:F(g,w,b,I);break;case wt:C(g,w,b,I);break;case jr:g==null&&L(w,b,I,G);break;case de:U(g,w,b,I,B,D,G,j,p);break;default:x&1?A(g,w,b,I,B,D,G,j,p):x&6?Y(g,w,b,I,B,D,G,j,p):(x&64||x&128)&&d.process(g,w,b,I,B,D,G,j,p,rt)}E!=null&&B?qn(E,g&&g.ref,D,w||g,!w):E==null&&g&&g.ref!=null&&qn(g.ref,null,D,g,!0)},F=(g,w,b,I)=>{if(g==null)o(w.el=a(w.children),b,I);else{const B=w.el=g.el;w.children!==g.children&&c(B,w.children)}},C=(g,w,b,I)=>{g==null?o(w.el=l(w.children||""),b,I):w.el=g.el},L=(g,w,b,I)=>{[g.el,g.anchor]=v(g.children,w,b,I,g.el,g.anchor)},y=({el:g,anchor:w},b,I)=>{let B;for(;g&&g!==w;)B=h(g),o(g,b,I),g=B;o(w,b,I)},m=({el:g,anchor:w})=>{let b;for(;g&&g!==w;)b=h(g),s(g),g=b;s(w)},A=(g,w,b,I,B,D,G,j,p)=>{if(w.type==="svg"?G="svg":w.type==="math"&&(G="mathml"),g==null)S(w,b,I,B,D,G,j,p);else{const d=g.el&&g.el._isVueCE?g.el:null;try{d&&d._beginPatch(),T(g,w,B,D,G,j,p)}finally{d&&d._endPatch()}}},S=(g,w,b,I,B,D,G,j)=>{let p,d;const{props:E,shapeFlag:x,transition:H,dirs:W}=g;if(p=g.el=i(g.type,D,E&&E.is,E),x&8?u(p,g.children):x&16&&O(g.children,p,null,I,B,Wr(g,D),G,j),W&&an(g,null,I,"created"),$(p,g,g.scopeId,G,I),E){for(const P in E)P!=="value"&&!xn(P)&&r(p,P,null,E[P],D,I);"value"in E&&r(p,"value",null,E.value,D),(d=E.onVnodeBeforeMount)&&$t(d,I,g)}W&&an(g,null,I,"beforeMount");const N=Ou(B,H);N&&H.beforeEnter(p),o(p,w,b),((d=E&&E.onVnodeMounted)||N||W)&&Ye(()=>{try{d&&$t(d,I,g),N&&H.enter(p),W&&an(g,null,I,"mounted")}finally{}},B)},$=(g,w,b,I,B)=>{if(b&&_(g,b),I)for(let D=0;D{for(let d=p;d{const j=w.el=g.el;let{patchFlag:p,dynamicChildren:d,dirs:E}=w;p|=g.patchFlag&16;const x=g.props||_e,H=w.props||_e;let W;if(b&&un(b,!1),(W=H.onVnodeBeforeUpdate)&&$t(W,b,w,g),E&&an(w,g,b,"beforeUpdate"),b&&un(b,!0),d&&(!g.dynamicChildren||g.dynamicChildren.length!==d.length)&&(p=0,G=!1,d=null),(x.innerHTML&&H.innerHTML==null||x.textContent&&H.textContent==null)&&u(j,""),d?J(g.dynamicChildren,d,j,b,I,Wr(w,B),D):G||ae(g,w,j,null,b,I,Wr(w,B),D,!1),p>0){if(p&16)ee(j,x,H,b,B);else if(p&2&&x.class!==H.class&&r(j,"class",null,H.class,B),p&4&&r(j,"style",x.style,H.style,B),p&8){const N=w.dynamicProps;for(let P=0;P{W&&$t(W,b,w,g),E&&an(w,g,b,"updated")},I)},J=(g,w,b,I,B,D,G)=>{for(let j=0;j{if(w!==b){if(w!==_e)for(const D in w)!xn(D)&&!(D in b)&&r(g,D,w[D],null,B,I);for(const D in b){if(xn(D))continue;const G=b[D],j=w[D];G!==j&&D!=="value"&&r(g,D,j,G,B,I)}"value"in b&&r(g,"value",w.value,b.value,B)}},U=(g,w,b,I,B,D,G,j,p)=>{const d=w.el=g?g.el:a(""),E=w.anchor=g?g.anchor:a("");let{patchFlag:x,dynamicChildren:H,slotScopeIds:W}=w;W&&(j=j?j.concat(W):W),g==null?(o(d,b,I),o(E,b,I),O(w.children||[],b,E,B,D,G,j,p)):x>0&&x&64&&H&&g.dynamicChildren&&g.dynamicChildren.length===H.length?(J(g.dynamicChildren,H,b,B,D,G,j),(w.key!=null||B&&w===B.subTree)&&Ur(g,w,!0)):ae(g,w,b,E,B,D,G,j,p)},Y=(g,w,b,I,B,D,G,j,p)=>{w.slotScopeIds=j,g==null?w.shapeFlag&512?B.ctx.activate(w,b,I,G,p):oe(w,b,I,B,D,G,p):V(g,w,p)},oe=(g,w,b,I,B,D,G)=>{const j=g.component=Iu(g,I,B);if(Bo(g)&&(j.ctx.renderer=rt),Fu(j,!1,G),j.asyncDep){if(B&&B.registerDep(j,R,G),!g.el){const p=j.subTree=ke(wt);C(null,p,w,b),g.placeholder=p.el}}else R(j,g,w,b,B,D,G)},V=(g,w,b)=>{const I=w.component=g.component;if(hu(g,w,b))if(I.asyncDep&&!I.asyncResolved){K(I,w,b);return}else I.next=w,I.update();else w.el=g.el,I.vnode=w},R=(g,w,b,I,B,D,G)=>{const j=()=>{if(g.isMounted){let{next:x,bu:H,u:W,parent:N,vnode:P}=g;{const We=Ui(g);if(We){x&&(x.el=P.el,K(g,x,G)),We.asyncDep.then(()=>{Ye(()=>{g.isUnmounted||d()},B)});return}}let Z=x,le;un(g,!1),x?(x.el=P.el,K(g,x,G)):x=P,H&&pr(H),(le=x.props&&x.props.onVnodeBeforeUpdate)&&$t(le,N,x,P),un(g,!0);const we=Ti(g),He=g.subTree;g.subTree=we,k(He,we,f(He.el),Wt(He),g,B,D),x.el=we.el,Z===null&&gu(g,we.el),W&&Ye(W,B),(le=x.props&&x.props.onVnodeUpdated)&&Ye(()=>$t(le,N,x,P),B)}else{let x;const{el:H,props:W}=w,{bm:N,m:P,parent:Z,root:le,type:we}=g,He=kn(w);un(g,!1),N&&pr(N),!He&&(x=W&&W.onVnodeBeforeMount)&&$t(x,Z,w),un(g,!0);{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(we,g.parent?g.parent.type:void 0);const We=g.subTree=Ti(g);k(null,We,b,I,g,B,D),w.el=We.el}if(P&&Ye(P,B),!He&&(x=W&&W.onVnodeMounted)){const We=w;Ye(()=>$t(x,Z,We),B)}(w.shapeFlag&256||Z&&kn(Z.vnode)&&Z.vnode.shapeFlag&256)&&g.a&&Ye(g.a,B),g.isMounted=!0,w=b=I=null}};g.scope.on();const p=g.effect=new Fs(j);g.scope.off();const d=g.update=p.run.bind(p),E=g.job=p.runIfDirty.bind(p);E.i=g,E.id=g.uid,p.scheduler=()=>Cr(E),un(g,!0),d()},K=(g,w,b)=>{w.component=g;const I=g.vnode.props;g.vnode=w,g.next=null,_u(g,w.props,I,b),wu(g,w.children,b),gt(),ni(g),mt()},ae=(g,w,b,I,B,D,G,j,p=!1)=>{const d=g&&g.children,E=g?g.shapeFlag:0,x=w.children,{patchFlag:H,shapeFlag:W}=w;if(H>0){if(H&128){Qe(d,x,b,I,B,D,G,j,p);return}else if(H&256){Ne(d,x,b,I,B,D,G,j,p);return}}W&8?(E&16&&dt(d,B,D),x!==d&&u(b,x)):E&16?W&16?Qe(d,x,b,I,B,D,G,j,p):dt(d,B,D,!0):(E&8&&u(b,""),W&16&&O(x,b,I,B,D,G,j,p))},Ne=(g,w,b,I,B,D,G,j,p)=>{g=g||gn,w=w||gn;const d=g.length,E=w.length,x=Math.min(d,E);let H;for(H=0;HE?dt(g,B,D,!0,!1,x):O(w,b,I,B,D,G,j,p,x)},Qe=(g,w,b,I,B,D,G,j,p)=>{let d=0;const E=w.length;let x=g.length-1,H=E-1;for(;d<=x&&d<=H;){const W=g[d],N=w[d]=p?xt(w[d]):kt(w[d]);if(Qn(W,N))k(W,N,b,null,B,D,G,j,p);else break;d++}for(;d<=x&&d<=H;){const W=g[x],N=w[H]=p?xt(w[H]):kt(w[H]);if(Qn(W,N))k(W,N,b,null,B,D,G,j,p);else break;x--,H--}if(d>x){if(d<=H){const W=H+1,N=WH)for(;d<=x;)Le(g[d],B,D,!0),d++;else{const W=d,N=d,P=new Map;for(d=N;d<=H;d++){const et=w[d]=p?xt(w[d]):kt(w[d]);et.key!=null&&P.set(et.key,d)}let Z,le=0;const we=H-N+1;let He=!1,We=0;const hn=new Array(we);for(d=0;d=we){Le(et,B,D,!0);continue}let Ct;if(et.key!=null)Ct=P.get(et.key);else for(Z=N;Z<=H;Z++)if(hn[Z-N]===0&&Qn(et,w[Z])){Ct=Z;break}Ct===void 0?Le(et,B,D,!0):(hn[Ct-N]=d+1,Ct>=We?We=Ct:He=!0,k(et,w[Ct],b,null,B,D,G,j,p),le++)}const ys=He?Nu(hn):gn;for(Z=ys.length-1,d=we-1;d>=0;d--){const et=N+d,Ct=w[et],Ml=w[et+1],Dl=et+1{const{el:D,type:G,transition:j,children:p,shapeFlag:d}=g;if(d&6){Ae(g.component.subTree,w,b,I);return}if(d&128){g.suspense.move(w,b,I);return}if(d&64){G.move(g,w,b,rt);return}if(G===de){o(D,w,b);for(let x=0;xj.enter(D),B));else{const{leave:x,delayLeave:H,afterLeave:W}=j,N=()=>{g.ctx.isUnmounted?s(D):o(D,w,b)},P=()=>{const Z=D._isLeaving||!!D[Lr];D._isLeaving&&D[Lr](!0),j.persisted&&!Z?N():x(D,()=>{N(),W&&W()})};H?H(D,N,P):P()}else o(D,w,b)},Le=(g,w,b,I=!1,B=!1)=>{const{type:D,props:G,ref:j,children:p,dynamicChildren:d,shapeFlag:E,patchFlag:x,dirs:H,cacheIndex:W,memo:N}=g;if(x===-2&&(B=!1),j!=null&&(gt(),qn(j,null,b,g,!0),mt()),W!=null&&(w.renderCache[W]=void 0),E&256){w.ctx.deactivate(g);return}const P=E&1&&H,Z=!kn(g);let le;if(Z&&(le=G&&G.onVnodeBeforeUnmount)&&$t(le,w,g),E&6)fn(g.component,b,I);else{if(E&128){g.suspense.unmount(b,I);return}P&&an(g,null,w,"beforeUnmount"),E&64?g.type.remove(g,w,b,rt,I):d&&!d.hasOnce&&(D!==de||x>0&&x&64)?dt(d,w,b,!1,!0):(D===de&&x&384||!B&&E&16)&&dt(p,w,b),I&&en(g)}const we=N!=null&&W==null;(Z&&(le=G&&G.onVnodeUnmounted)||P||we)&&Ye(()=>{le&&$t(le,w,g),P&&an(g,null,w,"unmounted"),we&&(g.el=null)},b)},en=g=>{const{type:w,el:b,anchor:I,transition:B}=g;if(w===de){tn(b,I);return}if(w===jr){m(g);return}const D=()=>{s(b),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:G,delayLeave:j}=B,p=()=>G(b,D);j?j(g.el,D,p):p()}else D()},tn=(g,w)=>{let b;for(;g!==w;)b=h(g),s(g),g=b;s(w)},fn=(g,w,b)=>{const{bum:I,scope:B,job:D,subTree:G,um:j,m:p,a:d}=g;ji(p),ji(d),I&&pr(I),B.stop(),D&&(D.flags|=8,Le(G,g,w,b)),j&&Ye(j,w),Ye(()=>{g.isUnmounted=!0},w)},dt=(g,w,b,I=!1,B=!1,D=0)=>{for(let G=D;G{if(g.shapeFlag&6)return Wt(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const w=h(g.anchor||g.el),b=w&&w[ai];return b?h(b):w};let Ut=!1;const nn=(g,w,b)=>{let I;g==null?w._vnode&&(Le(w._vnode,null,null,!0),I=w._vnode.component):k(w._vnode||null,g,w,null,null,null,b),w._vnode=g,Ut||(Ut=!0,ni(I),oi(),Ut=!1)},rt={p:k,um:Le,m:Ae,r:en,mt:oe,mc:O,pc:ae,pbc:J,n:Wt,o:e};return{render:nn,hydrate:void 0,createApp:lu(nn)}}function Wr({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 un({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ou(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ur(e,t,n=!1){const o=e.children,s=t.children;if(te(o)&&te(s))for(let r=0;r>1,e[n[a]]0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function Ui(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ui(t)}function ji(e){if(e)for(let t=0;te.__isSuspense;function Cu(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):Lc(e)}const de=Symbol.for("v-fgt"),Xn=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),jr=Symbol.for("v-stc"),Ft=[];let Je=null;function q(e=!1){Ft.push(Je=e?null:[])}function Gr(){Ft.pop(),Je=Ft[Ft.length-1]||null}let Jn=1;function Go(e,t=!1){Jn+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Vi(e){return e.dynamicChildren=Jn>0?Je||gn:null,Gr(),Jn>0&&Je&&Je.push(e),e}function X(e,t,n,o,s,r){return Vi(M(e,t,n,o,s,r,!0))}function Ze(e,t,n,o,s){return Vi(ke(e,t,n,o,s,!0))}function Zn(e){return e?e.__v_isVNode===!0:!1}function Qn(e,t){return e.type===t.type&&e.key===t.key}const Hi=({key:e})=>e??null,Yo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Ce(e)||re(e)?{i:De,r:e,k:t,f:!!n}:e:null);function M(e,t=null,n=null,o=0,s=null,r=e===de?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Hi(t),ref:t&&Yo(t),scopeId:si,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:r,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:De};return a?(Vo(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=be(n)?8:16),Jn>0&&!i&&Je&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Je.push(l),l}const ke=Au;function Au(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===mi)&&(e=wt),Zn(e)){const a=On(e,t,!0);return n&&Vo(a,n),Jn>0&&!r&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(Ru(e)&&(e=e.__vccOpts),t){t=Eu(t);let{class:a,style:l}=t;a&&!be(a)&&(t.class=Ie(a)),ge(l)&&(Eo(l)&&!te(l)&&(l=Ee({},l)),t.style=Pn(l))}const i=be(e)?1:Yi(e)?128:xo(e)?64:ge(e)?4:re(e)?2:0;return M(e,t,n,o,s,i,r,!0)}function Eu(e){return e?Eo(e)||xi(e)?Ee({},e):e:null}function On(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,c=t?Tu(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Hi(c),ref:t&&t.ref?n&&r?te(r)?r.concat(Yo(t)):[r,Yo(t)]:Yo(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&On(e.ssContent),ssFallback:e.ssFallback&&On(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Sr(u,l.clone(u)),u}function $e(e=" ",t=0){return ke(Xn,null,e,t)}function Se(e="",t=!1){return t?(q(),Ze(wt,null,e)):ke(wt,null,e)}function kt(e){return e==null||typeof e=="boolean"?ke(wt):te(e)?ke(de,null,e.slice()):Zn(e)?xt(e):ke(Xn,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:On(e)}function Vo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(te(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Vo(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!xi(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(re(t)){if(o&65){Vo(e,{default:t});return}t={default:t,_ctx:De},n=32}else t=String(t),o&64?(n=16,t=[$e(t)]):n=8;e.children=t,e.shapeFlag|=n}function Tu(...e){const t={};for(let n=0;nBe||De;let Ho,eo;{const e=yo(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),r=>{s.length>1?s.forEach(i=>i(r)):s[0](r)}};Ho=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),eo=t("__VUE_SSR_SETTERS__",n=>Nn=n)}const to=e=>{const t=Be;return Ho(e),e.scope.on(),()=>{e.scope.off(),Ho(t)}},qi=()=>{Be&&Be.scope.off(),Ho(null)};function zi(e){return e.vnode.shapeFlag&4}let Nn=!1;function Fu(e,t=!1,n=!1){t&&eo(t);const{props:o,children:s}=e.vnode,r=zi(e);mu(e,o,r,t),vu(e,s,n||t);const i=r?xu(e,t):void 0;return t&&eo(!1),i}function xu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,tu);const{setup:o}=n;if(o){gt();const s=e.setupContext=o.length>1?Mu(e):null,r=to(e),i=yn(o,e,0,[e.props,s]),a=ks(i);if(mt(),r(),(a||e.sp)&&!kn(e)&&Ir(e),a){if(i.then(qi,qi),t)return i.then(l=>{eo(!0);try{Ki(e,l,t)}finally{eo(!1)}}).catch(l=>{jn(l,e,0)});e.asyncDep=i}else Ki(e,i)}else Xi(e)}function Ki(e,t,n){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ge(t)&&(e.setupState=Zs(t)),Xi(e)}function Xi(e,t,n){const o=e.type;e.render||(e.render=o.render||ft);{const s=to(e);gt();try{nu(e)}finally{mt(),s()}}}const Pu={get(e,t){return Ue(e,"get",""),e[t]}};function Mu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Pu),slots:e.slots,emit:e.emit,expose:t}}function qo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Zs(_n(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const Du=/(?:^|[-_])\w/g,Bu=e=>e.replace(Du,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ji(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function Zi(e,t,n=!1){let o=Ji(t);if(!o&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&e){const s=r=>{for(const i in r)if(r[i]===t)return i};o=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return o?Bu(o):n?"App":"Anonymous"}function Ru(e){return re(e)&&"__vccOpts"in e}const ie=(e,t)=>wc(e,t,Nn);function Qi(e,t,n){try{Go(-1);const o=arguments.length;return o===2?ge(t)&&!te(t)?Zn(t)?ke(e,null,[t]):ke(e,t):ke(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Zn(n)&&(n=[n]),ke(e,t,n))}finally{Go(1)}}const Wu="3.5.42";/** +`],...Cc(n))}),t}function Cc({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${Zi(e.component,e.type,o)}`,r=">"+n;return e.props?[s,...Ac(e.props),r]:[s+r]}function Ac(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Qs(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Qs(e,t,n){return be(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ne(t)?(t=Qs(e,pe(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),n?t:[`${e}=`,t])}function yn(e,t,n,o){try{return o?e(...o):e()}catch(s){jn(s,t,n)}}function at(e,t,n,o){if(oe(e)){const s=yn(e,t,n,o);return s&&ks(s)&&s.catch(r=>{jn(r,t,n)}),s}if(te(e)){const s=[];for(let r=0;r>>1,s=je[o],r=Yn(s);r=Yn(n)?je.push(e):je.splice(Tc(t),0,e),e.flags|=1,ti()}}function ti(){Io||(Io=ei.then(ri))}function Lc(e){if(!te(e))Gt&&e.id===-1?Gt.splice(wn+1,0,e):e.flags&1||(vn.push(e),e.flags|=1);else for(let t=0;tYn(n)-Yn(o));if(vn.length=0,Gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function ri(e){try{for(bt=0;bt{o._d&&Go(-1);const r=Fo(t),i=Ft.length;let a;try{a=e(...s)}finally{for(let l=Ft.length;l>i;l--)Gr();Fo(r),o._d&&Go(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function Sc(e,t){if(De===null)return e;const n=qo(De),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&oe(t)?t.call(o&&o.proxy):t}}function Ic(){return!!(Pt()||cn)}const Fc=Symbol.for("v-scx"),xc=()=>qe(Fc);function Pc(e,t){return Ar(e,null,t)}function vt(e,t,n){return Ar(e,t,n)}function Ar(e,t,n=_e){const{immediate:o,deep:s,flush:r,once:i}=n,a=Ee({},n),l=t&&o||!t&&r!=="post";let c;if(Nn){if(r==="sync"){const _=xc();c=_.__watcherHandles||(_.__watcherHandles=[])}else if(!l){const _=()=>{};return _.stop=ft,_.resume=ft,_.pause=ft,_}}const u=Be;a.call=(_,v,k)=>at(_,u,v,k);let f=!1;r==="post"?a.scheduler=_=>{Ye(_,u&&u.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(_,v)=>{v?_():Cr(_)}),a.augmentJob=_=>{t&&(_.flags|=4),f&&(_.flags|=2,u&&(_.id=u.uid,_.i=u))};const h=$c(e,t,a);return Nn&&(c?c.push(h):l&&h()),h}function Mc(e,t,n){const o=this.proxy,s=be(e)?e.includes(".")?ii(o,e):()=>o[e]:e.bind(o,o);let r;oe(t)?r=t:(r=t.handler,n=t);const i=to(this),a=Ar(s,r.bind(o),n);return i(),a}function ii(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,ln=e=>e&&(e.disabled||e.disabled===""),Dc=e=>e&&(e.defer||e.defer===""),li=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ci=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Er=(e,t)=>{const n=e&&e.to;return be(n)?t?t(n):null:n},Bc={name:"Teleport",__isTeleport:!0,process(e,t,n,o,s,r,i,a,l,c){const{mc:u,pc:f,pbc:h,o:{insert:_,querySelector:v,createText:k,createComment:F,parentNode:C}}=c,L=ln(t.props);let{dynamicChildren:y}=t;const m=($,O,T)=>{$.shapeFlag&16&&u($.children,O,T,s,r,i,a,l)},A=($=t)=>{const O=ln($.props),T=$.target=Er($.props,v),J=Tr(T,$,k,_);T&&(i!=="svg"&&li(T)?i="svg":i!=="mathml"&&ci(T)&&(i="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(T),O||(m($,T,J),Vn($,!1)))},S=$=>{const O=()=>{if(Yt.get($)===O){if(Yt.delete($),ln($.props)){const T=C($.el)||n;m($,T,$.anchor),Vn($,!0)}A($)}};Yt.set($,O),Ye(O,r)};if(e==null){const $=t.el=k(""),O=t.anchor=k("");if(_($,n,o),_(O,n,o),Dc(t.props)||r&&r.pendingBranch){S(t);return}L&&(m(t,n,O),Vn(t,!0)),A()}else{t.el=e.el;const $=t.anchor=e.anchor,O=Yt.get(e);if(O){O.flags|=8,Yt.delete(e),S(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,J=t.targetAnchor=e.targetAnchor,ee=ln(e.props),U=ee?n:T,Y=ee?$:J;if(i==="svg"||li(T)?i="svg":(i==="mathml"||ci(T))&&(i="mathml"),y?(h(e.dynamicChildren,y,U,s,r,i,a),Ur(e,t,!0)):l||f(e,t,U,Y,s,r,i,a,!1),L)ee?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Po(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const re=Er(t.props,v);re&&(t.target=re,Po(t,re,null,c,0))}else ee&&Po(t,T,J,c,1);Vn(t,L)}},remove(e,t,n,{um:o,o:{remove:s}},r){const{shapeFlag:i,children:a,anchor:l,targetStart:c,targetAnchor:u,target:f,props:h}=e,_=ln(h),v=r||!_,k=Yt.get(e);if(k&&(k.flags|=8,Yt.delete(e)),f&&(s(c),s(u)),r&&s(l),!k&&(_||f)&&i&16)for(let F=0;F1){for(const n of e)if(n.type!==wt){t=n;break}}return t}function ui(e){if(!Bo(e))return xo(e.type)&&e.children?Uc(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&&oe(n.default))return n.default()}}function Sr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Sr(xo(n.type)&&ui(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 Hn(e,t){return oe(e)?Ee({name:e.name},t,{setup:e}):e}function Ir(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function pi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Mo=new WeakMap;function qn(e,t,n,o,s=!1){if(te(e)){e.forEach((k,F)=>qn(k,t&&(te(t)?t[F]:t),n,o,s));return}if(kn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&qn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?qo(o.component):o.el,i=s?null:r,{i:a,r:l}=e,c=t&&t.r,u=a.refs===_e?a.refs={}:a.refs,f=a.setupState,h=pe(f),_=f===_e?vs:k=>pi(u,k)?!1:he(h,k),v=(k,F)=>!(F&&pi(u,F));if(c!=null&&c!==l){if(di(t),be(c))u[c]=null,_(c)&&(f[c]=null);else if(Ne(c)){const k=t;v(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(oe(l))yn(l,a,12,[i,u]);else{const k=be(l),F=Ne(l);if(k||F){const C=()=>{if(e.f){const L=k?_(l)?f[l]:u[l]:v()||!e.k?l.value:u[e.k];if(s)te(L)&&cr(L,r);else if(te(L))L.includes(r)||L.push(r);else if(k)u[l]=[r],_(l)&&(f[l]=u[l]);else{const y=[r];v(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else k?(u[l]=i,_(l)&&(f[l]=i)):F&&(v(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{C(),Mo.delete(e)};L.id=-1,Mo.set(e,L),Ye(L,n)}else di(e),C()}}}function di(e){const t=Mo.get(e);t&&(t.flags|=8,Mo.delete(e))}const fi=e=>e.nodeType===8;yo().requestIdleCallback,yo().cancelIdleCallback;function jc(e,t){if(fi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(fi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const kn=e=>!!e.type.__asyncLoader;function Gc(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:s=200,hydrate:r,timeout:i,suspensible:a=!0,onError:l}=e;let c=null,u,f=0;const h=()=>(f++,c=null,_()),_=()=>{let v;return c||(v=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((F,C)=>{l(k,()=>F(h()),()=>C(k),f+1)});throw k}).then(k=>v!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return Hn({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate(v,k,F){const C=v.isConnected;let L=!1;(k.bu||(k.bu=[])).push(()=>L=!0);const y=()=>{L||!v.parentNode||C&&!v.isConnected||F()},m=r?()=>{const A=r(y,S=>jc(v,S));A&&(k.bum||(k.bum=[])).push(A)}:y;u?m():_().then(()=>!k.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const v=Be;if(Ir(v),u)return()=>Do(u,v);const k=A=>{c=null,jn(A,v,13,!o)};if(a&&v.suspense||Nn)return _().then(A=>()=>Do(A,v)).catch(A=>(k(A),()=>o?ke(o,{error:A}):null));const F=ce(!1),C=ce(),L=ce(!!s);let y,m;return Wo(()=>{y!=null&&clearTimeout(y),m!=null&&clearTimeout(m)}),s&&(m=setTimeout(()=>{v.isUnmounted||(L.value=!1)},s)),i!=null&&(y=setTimeout(()=>{if(!v.isUnmounted&&!F.value&&!C.value){const A=new Error(`Async component timed out after ${i}ms.`);k(A),C.value=A}},i)),_().then(()=>{v.isUnmounted||(F.value=!0,v.parent&&Bo(v.parent.vnode)&&v.parent.update())}).catch(A=>{if(v.isUnmounted){c=null;return}k(A),C.value=A}),()=>{if(F.value&&u)return Do(u,v);if(C.value&&o)return ke(o,{error:C.value});if(n&&!L.value)return Do(n,v)}}})}function Do(e,t){const{ref:n,props:o,children:s,ce:r}=t.vnode,i=ke(e,o,s);return i.ref=n,i.ce=r,delete t.vnode.ce,i}const Bo=e=>e.type.__isKeepAlive;function Yc(e,t){hi(e,"a",t)}function Vc(e,t){hi(e,"da",t)}function hi(e,t,n=Be){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Ro(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Bo(s.parent.vnode)&&Hc(o,t,n,s),s=s.parent}}function Hc(e,t,n,o){const s=Ro(t,e,o,!0);Wo(()=>{cr(o[t],s)},n)}function Ro(e,t,n=Be,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{gt();const a=to(n),l=at(t,n,e,i);return a(),mt(),l});return o?s.unshift(r):s.push(r),r}}const It=e=>(t,n=Be)=>{(!Nn||e==="sp")&&Ro(e,(...o)=>t(...o),n)},gi=It("bm"),Vt=It("m"),qc=It("bu"),zc=It("u"),$n=It("bum"),Wo=It("um"),Kc=It("sp"),Xc=It("rtg"),Jc=It("rtc");function Zc(e,t=Be){Ro("ec",e,t)}const Qc="components",mi=Symbol.for("v-ndc");function _i(e){return be(e)?eu(Qc,e,!1)||e:e||mi}function eu(e,t,n=!0,o=!1){const s=De||Be;if(s){const r=s.type;{const a=Ji(r,!1);if(a&&(a===t||a===xe(t)||a===bo(xe(t))))return r}const i=bi(s[e]||r[e],t)||bi(s.appContext[e],t);return!i&&o?r:i}}function bi(e,t){return e&&(e[t]||e[xe(t)]||e[bo(xe(t))])}function lt(e,t,n,o){let s;const r=n,i=te(e);if(i||be(e)){const a=i&&Tt(e);let l=!1,c=!1;a&&(l=!Xe(e),c=Lt(e),e=ko(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(a,l,void 0,r));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;l0;return q(),Ze(de,null,[ke("slot",c,o)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const a=Ft.length;q();let l;try{const c=i&&vi(i(n)),u=n.key||r||c&&c.key;l=Ze(de,{key:(u&&!Ke(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=Ft.length;u>a;u--)Gr();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function vi(e){return e.some(t=>Zn(t)?!(t.type===wt||t.type===de&&!vi(t.children)):!0)?e:null}const Fr=e=>e?zi(e)?qo(e):Fr(e.parent):null,zn=Ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fr(e.parent),$root:e=>Fr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Oi(e),$forceUpdate:e=>e.f||(e.f=()=>{Cr(e.update)}),$nextTick:e=>e.n||(e.n=Gn.bind(e.proxy)),$watch:e=>Mc.bind(e)}),xr=(e,t)=>e!==_e&&!e.__isScriptSetup&&he(e,t),tu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(xr(o,t))return i[t]=1,o[t];if(s!==_e&&he(s,t))return i[t]=2,s[t];if(he(r,t))return i[t]=3,r[t];if(n!==_e&&he(n,t))return i[t]=4,n[t];Pr&&(i[t]=0)}}const c=zn[t];let u,f;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==_e&&he(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,he(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return xr(s,t)?(s[t]=n,!0):o!==_e&&he(o,t)?(o[t]=n,!0):he(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,props:r,type:i}},a){let l;return!!(n[a]||e!==_e&&a[0]!=="$"&&he(e,a)||xr(t,a)||he(r,a)||he(o,a)||he(zn,a)||he(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:he(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function wi(e){return te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pr=!0;function nu(e){const t=Oi(e),n=e.proxy,o=e.ctx;Pr=!1,t.beforeCreate&&ki(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:_,updated:v,activated:k,deactivated:F,beforeDestroy:C,beforeUnmount:L,destroyed:y,unmounted:m,render:A,renderTracked:S,renderTriggered:$,errorCaptured:O,serverPrefetch:T,expose:J,inheritAttrs:ee,components:U,directives:Y,filters:re}=t;if(c&&ou(c,o,null),i)for(const K in i){const ae=i[K];oe(ae)&&(o[K]=ae.bind(n))}if(s){const K=s.call(n,n);ge(K)&&(e.data=Co(K))}if(Pr=!0,r)for(const K in r){const ae=r[K],Ce=oe(ae)?ae.bind(n,n):oe(ae.get)?ae.get.bind(n,n):ft,Qe=!oe(ae)&&oe(ae.set)?ae.set.bind(n):ft,Ae=ie({get:Ce,set:Qe});Object.defineProperty(o,K,{enumerable:!0,configurable:!0,get:()=>Ae.value,set:Me=>Ae.value=Me})}if(a)for(const K in a)$i(a[K],o,n,K);if(l){const K=oe(l)?l.call(n):l;Reflect.ownKeys(K).forEach(ae=>{yt(ae,K[ae])})}u&&ki(u,e,"c");function R(K,ae){te(ae)?ae.forEach(Ce=>K(Ce.bind(n))):ae&&K(ae.bind(n))}if(R(gi,f),R(Vt,h),R(qc,_),R(zc,v),R(Yc,k),R(Vc,F),R(Zc,O),R(Jc,S),R(Xc,$),R($n,L),R(Wo,m),R(Kc,T),te(J))if(J.length){const K=e.exposed||(e.exposed={});J.forEach(ae=>{Object.defineProperty(K,ae,{get:()=>n[ae],set:Ce=>n[ae]=Ce,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===ft&&(e.render=A),ee!=null&&(e.inheritAttrs=ee),U&&(e.components=U),Y&&(e.directives=Y),T&&Ir(e)}function ou(e,t,n=ft){te(e)&&(e=Mr(e));for(const o in e){const s=e[o];let r;ge(s)?"default"in s?r=qe(s.from||o,s.default,!0):r=qe(s.from||o):r=qe(s),Ne(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function ki(e,t,n){at(te(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function $i(e,t,n,o){let s=o.includes(".")?ii(n,o):()=>n[o];if(be(e)){const r=t[e];oe(r)&&vt(s,r)}else if(oe(e))vt(s,e.bind(n));else if(ge(e))if(te(e))e.forEach(r=>$i(r,t,n,o));else{const r=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(r)&&vt(s,r,e)}}function Oi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>Uo(l,c,i,!0)),Uo(l,t,i)),ge(t)&&r.set(t,l),l}function Uo(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&Uo(e,r,n,!0),s&&s.forEach(i=>Uo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=ru[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const ru={data:Ni,props:Ci,emits:Ci,methods:Kn,computed:Kn,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Kn,directives:Kn,watch:iu,provide:Ni,inject:su};function Ni(e,t){return t?e?function(){return Ee(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function su(e,t){return Kn(Mr(e),Mr(t))}function Mr(e){if(te(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${tt(t)}Modifiers`];function uu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let s=n;const r=t.startsWith("update:"),i=r&&cu(o,t.slice(7));i&&(i.trim&&(s=n.map(u=>be(u)?u.trim():u)),i.number&&(s=s.map(jl)));let a,l=o[a=ur(t)]||o[a=ur(xe(t))];!l&&r&&(l=o[a=ur(tt(t))]),l&&at(l,e,6,s);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,at(c,e,6,s)}}const pu=new WeakMap;function Ei(e,t,n=!1){const o=n?pu:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let i={},a=!1;if(!oe(e)){const l=c=>{const u=Ei(c,t,!0);u&&(a=!0,Ee(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(ge(e)&&o.set(e,null),null):(te(r)?r.forEach(l=>i[l]=null):Ee(i,r),ge(e)&&o.set(e,i),i)}function jo(e,t){return!e||!po(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),he(e,t[0].toLowerCase()+t.slice(1))||he(e,tt(t))||he(e,t))}function b_(){}function Ti(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[r],slots:i,attrs:a,emit:l,render:c,renderCache:u,props:f,data:h,setupState:_,ctx:v,inheritAttrs:k}=e,F=Fo(e);let C,L;try{if(n.shapeFlag&4){const m=s||o,A=m;C=kt(c.call(A,m,u,f,_,h,v)),L=a}else{const m=t;C=kt(m.length>1?m(f,{attrs:a,slots:i,emit:l}):m(f,null)),L=t.props?a:du(a)}}catch(m){Ft.length=0,jn(m,e,1),C=ke(wt)}let y=C;if(L&&k!==!1){const m=Object.keys(L),{shapeFlag:A}=y;m.length&&A&7&&(r&&m.some(fo)&&(L=fu(L,r)),y=On(y,L,!1,!0))}if(n.dirs&&(y=On(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const m=xo(y.type)&&ui(y)||y;Sr(m,n.transition)}return C=y,Fo(F),C}const du=e=>{let t;for(const n in e)(n==="class"||n==="style"||po(n))&&((t||(t={}))[n]=e[n]);return t},fu=(e,t)=>{const n={};for(const o in e)(!fo(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function hu(e,t,n){const{props:o,children:s,component:r}=e,{props:i,children:a,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Li(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Ii),xi=e=>Object.getPrototypeOf(e)===Ii;function mu(e,t,n,o=!1){const s={},r=Fi();e.propsDefaults=Object.create(null),Pi(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:hc(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function _u(e,t,n,o){const{props:s,attrs:r,vnode:{patchFlag:i}}=e,a=pe(s),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[h,_]=Mi(f,t,!0);Ee(i,h),_&&a.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return ge(e)&&o.set(e,gn),gn;if(te(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Rr=e=>te(e)?e.map(kt):[kt(e)],yu=(e,t,n)=>{if(t._n)return t;const o=sn((...s)=>Rr(t(...s)),n);return o._c=!1,o},Bi=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Br(s))continue;const r=e[s];if(oe(r))t[s]=yu(s,r,o);else if(r!=null){const i=Rr(r);t[s]=()=>i}}},Ri=(e,t)=>{const n=Rr(t);e.slots.default=()=>n},Wi=(e,t,n)=>{for(const o in t)(n||!Br(o))&&(e[o]=t[o])},vu=(e,t,n)=>{const o=e.slots=Fi();if(e.vnode.shapeFlag&32){const s=t._;s?(Wi(o,t,n),n&&Os(o,"_",s,!0)):Bi(t,o)}else t&&Ri(e,t)},wu=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,i=_e;if(o.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:Wi(s,t,n):(r=!t.$stable,Bi(t,s)),i=t}else t&&(Ri(e,t),i={default:1});if(r)for(const a in s)!Br(a)&&i[a]==null&&delete s[a]},Ye=Cu;function ku(e){return $u(e)}function $u(e,t){const n=yo();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:i,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:_=ft,insertStaticContent:v}=e,k=(g,w,b,I=null,B=null,D=null,G=void 0,j=null,p=!!w.dynamicChildren)=>{if(g===w)return;g&&!Qn(g,w)&&(I=Wt(g),Me(g,B,D,!0),g=null),w.patchFlag===-2&&(p=!1,w.dynamicChildren=null);const{type:d,ref:E,shapeFlag:x}=w;switch(d){case Xn:F(g,w,b,I);break;case wt:C(g,w,b,I);break;case jr:g==null&&L(w,b,I,G);break;case de:U(g,w,b,I,B,D,G,j,p);break;default:x&1?A(g,w,b,I,B,D,G,j,p):x&6?Y(g,w,b,I,B,D,G,j,p):(x&64||x&128)&&d.process(g,w,b,I,B,D,G,j,p,rt)}E!=null&&B?qn(E,g&&g.ref,D,w||g,!w):E==null&&g&&g.ref!=null&&qn(g.ref,null,D,g,!0)},F=(g,w,b,I)=>{if(g==null)o(w.el=a(w.children),b,I);else{const B=w.el=g.el;w.children!==g.children&&c(B,w.children)}},C=(g,w,b,I)=>{g==null?o(w.el=l(w.children||""),b,I):w.el=g.el},L=(g,w,b,I)=>{[g.el,g.anchor]=v(g.children,w,b,I,g.el,g.anchor)},y=({el:g,anchor:w},b,I)=>{let B;for(;g&&g!==w;)B=h(g),o(g,b,I),g=B;o(w,b,I)},m=({el:g,anchor:w})=>{let b;for(;g&&g!==w;)b=h(g),s(g),g=b;s(w)},A=(g,w,b,I,B,D,G,j,p)=>{if(w.type==="svg"?G="svg":w.type==="math"&&(G="mathml"),g==null)S(w,b,I,B,D,G,j,p);else{const d=g.el&&g.el._isVueCE?g.el:null;try{d&&d._beginPatch(),T(g,w,B,D,G,j,p)}finally{d&&d._endPatch()}}},S=(g,w,b,I,B,D,G,j)=>{let p,d;const{props:E,shapeFlag:x,transition:H,dirs:W}=g;if(p=g.el=i(g.type,D,E&&E.is,E),x&8?u(p,g.children):x&16&&O(g.children,p,null,I,B,Wr(g,D),G,j),W&&an(g,null,I,"created"),$(p,g,g.scopeId,G,I),E){for(const P in E)P!=="value"&&!xn(P)&&r(p,P,null,E[P],D,I);"value"in E&&r(p,"value",null,E.value,D),(d=E.onVnodeBeforeMount)&&$t(d,I,g)}W&&an(g,null,I,"beforeMount");const N=Ou(B,H);N&&H.beforeEnter(p),o(p,w,b),((d=E&&E.onVnodeMounted)||N||W)&&Ye(()=>{try{d&&$t(d,I,g),N&&H.enter(p),W&&an(g,null,I,"mounted")}finally{}},B)},$=(g,w,b,I,B)=>{if(b&&_(g,b),I)for(let D=0;D{for(let d=p;d{const j=w.el=g.el;let{patchFlag:p,dynamicChildren:d,dirs:E}=w;p|=g.patchFlag&16;const x=g.props||_e,H=w.props||_e;let W;if(b&&un(b,!1),(W=H.onVnodeBeforeUpdate)&&$t(W,b,w,g),E&&an(w,g,b,"beforeUpdate"),b&&un(b,!0),d&&(!g.dynamicChildren||g.dynamicChildren.length!==d.length)&&(p=0,G=!1,d=null),(x.innerHTML&&H.innerHTML==null||x.textContent&&H.textContent==null)&&u(j,""),d?J(g.dynamicChildren,d,j,b,I,Wr(w,B),D):G||ae(g,w,j,null,b,I,Wr(w,B),D,!1),p>0){if(p&16)ee(j,x,H,b,B);else if(p&2&&x.class!==H.class&&r(j,"class",null,H.class,B),p&4&&r(j,"style",x.style,H.style,B),p&8){const N=w.dynamicProps;for(let P=0;P{W&&$t(W,b,w,g),E&&an(w,g,b,"updated")},I)},J=(g,w,b,I,B,D,G)=>{for(let j=0;j{if(w!==b){if(w!==_e)for(const D in w)!xn(D)&&!(D in b)&&r(g,D,w[D],null,B,I);for(const D in b){if(xn(D))continue;const G=b[D],j=w[D];G!==j&&D!=="value"&&r(g,D,j,G,B,I)}"value"in b&&r(g,"value",w.value,b.value,B)}},U=(g,w,b,I,B,D,G,j,p)=>{const d=w.el=g?g.el:a(""),E=w.anchor=g?g.anchor:a("");let{patchFlag:x,dynamicChildren:H,slotScopeIds:W}=w;W&&(j=j?j.concat(W):W),g==null?(o(d,b,I),o(E,b,I),O(w.children||[],b,E,B,D,G,j,p)):x>0&&x&64&&H&&g.dynamicChildren&&g.dynamicChildren.length===H.length?(J(g.dynamicChildren,H,b,B,D,G,j),(w.key!=null||B&&w===B.subTree)&&Ur(g,w,!0)):ae(g,w,b,E,B,D,G,j,p)},Y=(g,w,b,I,B,D,G,j,p)=>{w.slotScopeIds=j,g==null?w.shapeFlag&512?B.ctx.activate(w,b,I,G,p):re(w,b,I,B,D,G,p):V(g,w,p)},re=(g,w,b,I,B,D,G)=>{const j=g.component=Iu(g,I,B);if(Bo(g)&&(j.ctx.renderer=rt),Fu(j,!1,G),j.asyncDep){if(B&&B.registerDep(j,R,G),!g.el){const p=j.subTree=ke(wt);C(null,p,w,b),g.placeholder=p.el}}else R(j,g,w,b,B,D,G)},V=(g,w,b)=>{const I=w.component=g.component;if(hu(g,w,b))if(I.asyncDep&&!I.asyncResolved){K(I,w,b);return}else I.next=w,I.update();else w.el=g.el,I.vnode=w},R=(g,w,b,I,B,D,G)=>{const j=()=>{if(g.isMounted){let{next:x,bu:H,u:W,parent:N,vnode:P}=g;{const We=Ui(g);if(We){x&&(x.el=P.el,K(g,x,G)),We.asyncDep.then(()=>{Ye(()=>{g.isUnmounted||d()},B)});return}}let Z=x,le;un(g,!1),x?(x.el=P.el,K(g,x,G)):x=P,H&&pr(H),(le=x.props&&x.props.onVnodeBeforeUpdate)&&$t(le,N,x,P),un(g,!0);const we=Ti(g),He=g.subTree;g.subTree=we,k(He,we,f(He.el),Wt(He),g,B,D),x.el=we.el,Z===null&&gu(g,we.el),W&&Ye(W,B),(le=x.props&&x.props.onVnodeUpdated)&&Ye(()=>$t(le,N,x,P),B)}else{let x;const{el:H,props:W}=w,{bm:N,m:P,parent:Z,root:le,type:we}=g,He=kn(w);un(g,!1),N&&pr(N),!He&&(x=W&&W.onVnodeBeforeMount)&&$t(x,Z,w),un(g,!0);{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(we,g.parent?g.parent.type:void 0);const We=g.subTree=Ti(g);k(null,We,b,I,g,B,D),w.el=We.el}if(P&&Ye(P,B),!He&&(x=W&&W.onVnodeMounted)){const We=w;Ye(()=>$t(x,Z,We),B)}(w.shapeFlag&256||Z&&kn(Z.vnode)&&Z.vnode.shapeFlag&256)&&g.a&&Ye(g.a,B),g.isMounted=!0,w=b=I=null}};g.scope.on();const p=g.effect=new Fs(j);g.scope.off();const d=g.update=p.run.bind(p),E=g.job=p.runIfDirty.bind(p);E.i=g,E.id=g.uid,p.scheduler=()=>Cr(E),un(g,!0),d()},K=(g,w,b)=>{w.component=g;const I=g.vnode.props;g.vnode=w,g.next=null,_u(g,w.props,I,b),wu(g,w.children,b),gt(),ni(g),mt()},ae=(g,w,b,I,B,D,G,j,p=!1)=>{const d=g&&g.children,E=g?g.shapeFlag:0,x=w.children,{patchFlag:H,shapeFlag:W}=w;if(H>0){if(H&128){Qe(d,x,b,I,B,D,G,j,p);return}else if(H&256){Ce(d,x,b,I,B,D,G,j,p);return}}W&8?(E&16&&dt(d,B,D),x!==d&&u(b,x)):E&16?W&16?Qe(d,x,b,I,B,D,G,j,p):dt(d,B,D,!0):(E&8&&u(b,""),W&16&&O(x,b,I,B,D,G,j,p))},Ce=(g,w,b,I,B,D,G,j,p)=>{g=g||gn,w=w||gn;const d=g.length,E=w.length,x=Math.min(d,E);let H;for(H=0;HE?dt(g,B,D,!0,!1,x):O(w,b,I,B,D,G,j,p,x)},Qe=(g,w,b,I,B,D,G,j,p)=>{let d=0;const E=w.length;let x=g.length-1,H=E-1;for(;d<=x&&d<=H;){const W=g[d],N=w[d]=p?xt(w[d]):kt(w[d]);if(Qn(W,N))k(W,N,b,null,B,D,G,j,p);else break;d++}for(;d<=x&&d<=H;){const W=g[x],N=w[H]=p?xt(w[H]):kt(w[H]);if(Qn(W,N))k(W,N,b,null,B,D,G,j,p);else break;x--,H--}if(d>x){if(d<=H){const W=H+1,N=WH)for(;d<=x;)Me(g[d],B,D,!0),d++;else{const W=d,N=d,P=new Map;for(d=N;d<=H;d++){const et=w[d]=p?xt(w[d]):kt(w[d]);et.key!=null&&P.set(et.key,d)}let Z,le=0;const we=H-N+1;let He=!1,We=0;const hn=new Array(we);for(d=0;d=we){Me(et,B,D,!0);continue}let Ct;if(et.key!=null)Ct=P.get(et.key);else for(Z=N;Z<=H;Z++)if(hn[Z-N]===0&&Qn(et,w[Z])){Ct=Z;break}Ct===void 0?Me(et,B,D,!0):(hn[Ct-N]=d+1,Ct>=We?We=Ct:He=!0,k(et,w[Ct],b,null,B,D,G,j,p),le++)}const ys=He?Nu(hn):gn;for(Z=ys.length-1,d=we-1;d>=0;d--){const et=N+d,Ct=w[et],Ml=w[et+1],Dl=et+1{const{el:D,type:G,transition:j,children:p,shapeFlag:d}=g;if(d&6){Ae(g.component.subTree,w,b,I);return}if(d&128){g.suspense.move(w,b,I);return}if(d&64){G.move(g,w,b,rt);return}if(G===de){o(D,w,b);for(let x=0;xj.enter(D),B));else{const{leave:x,delayLeave:H,afterLeave:W}=j,N=()=>{g.ctx.isUnmounted?s(D):o(D,w,b)},P=()=>{const Z=D._isLeaving||!!D[Lr];D._isLeaving&&D[Lr](!0),j.persisted&&!Z?N():x(D,()=>{N(),W&&W()})};H?H(D,N,P):P()}else o(D,w,b)},Me=(g,w,b,I=!1,B=!1)=>{const{type:D,props:G,ref:j,children:p,dynamicChildren:d,shapeFlag:E,patchFlag:x,dirs:H,cacheIndex:W,memo:N}=g;if(x===-2&&(B=!1),j!=null&&(gt(),qn(j,null,b,g,!0),mt()),W!=null&&(w.renderCache[W]=void 0),E&256){w.ctx.deactivate(g);return}const P=E&1&&H,Z=!kn(g);let le;if(Z&&(le=G&&G.onVnodeBeforeUnmount)&&$t(le,w,g),E&6)fn(g.component,b,I);else{if(E&128){g.suspense.unmount(b,I);return}P&&an(g,null,w,"beforeUnmount"),E&64?g.type.remove(g,w,b,rt,I):d&&!d.hasOnce&&(D!==de||x>0&&x&64)?dt(d,w,b,!1,!0):(D===de&&x&384||!B&&E&16)&&dt(p,w,b),I&&en(g)}const we=N!=null&&W==null;(Z&&(le=G&&G.onVnodeUnmounted)||P||we)&&Ye(()=>{le&&$t(le,w,g),P&&an(g,null,w,"unmounted"),we&&(g.el=null)},b)},en=g=>{const{type:w,el:b,anchor:I,transition:B}=g;if(w===de){tn(b,I);return}if(w===jr){m(g);return}const D=()=>{s(b),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:G,delayLeave:j}=B,p=()=>G(b,D);j?j(g.el,D,p):p()}else D()},tn=(g,w)=>{let b;for(;g!==w;)b=h(g),s(g),g=b;s(w)},fn=(g,w,b)=>{const{bum:I,scope:B,job:D,subTree:G,um:j,m:p,a:d}=g;ji(p),ji(d),I&&pr(I),B.stop(),D&&(D.flags|=8,Me(G,g,w,b)),j&&Ye(j,w),Ye(()=>{g.isUnmounted=!0},w)},dt=(g,w,b,I=!1,B=!1,D=0)=>{for(let G=D;G{if(g.shapeFlag&6)return Wt(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const w=h(g.anchor||g.el),b=w&&w[ai];return b?h(b):w};let Ut=!1;const nn=(g,w,b)=>{let I;g==null?w._vnode&&(Me(w._vnode,null,null,!0),I=w._vnode.component):k(w._vnode||null,g,w,null,null,null,b),w._vnode=g,Ut||(Ut=!0,ni(I),oi(),Ut=!1)},rt={p:k,um:Me,m:Ae,r:en,mt:re,mc:O,pc:ae,pbc:J,n:Wt,o:e};return{render:nn,hydrate:void 0,createApp:lu(nn)}}function Wr({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 un({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ou(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ur(e,t,n=!1){const o=e.children,s=t.children;if(te(o)&&te(s))for(let r=0;r>1,e[n[a]]0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function Ui(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ui(t)}function ji(e){if(e)for(let t=0;te.__isSuspense;function Cu(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):Lc(e)}const de=Symbol.for("v-fgt"),Xn=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),jr=Symbol.for("v-stc"),Ft=[];let Je=null;function q(e=!1){Ft.push(Je=e?null:[])}function Gr(){Ft.pop(),Je=Ft[Ft.length-1]||null}let Jn=1;function Go(e,t=!1){Jn+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Vi(e){return e.dynamicChildren=Jn>0?Je||gn:null,Gr(),Jn>0&&Je&&Je.push(e),e}function X(e,t,n,o,s,r){return Vi(M(e,t,n,o,s,r,!0))}function Ze(e,t,n,o,s){return Vi(ke(e,t,n,o,s,!0))}function Zn(e){return e?e.__v_isVNode===!0:!1}function Qn(e,t){return e.type===t.type&&e.key===t.key}const Hi=({key:e})=>e??null,Yo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Ne(e)||oe(e)?{i:De,r:e,k:t,f:!!n}:e:null);function M(e,t=null,n=null,o=0,s=null,r=e===de?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Hi(t),ref:t&&Yo(t),scopeId:si,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:r,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:De};return a?(Vo(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=be(n)?8:16),Jn>0&&!i&&Je&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Je.push(l),l}const ke=Au;function Au(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===mi)&&(e=wt),Zn(e)){const a=On(e,t,!0);return n&&Vo(a,n),Jn>0&&!r&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(Ru(e)&&(e=e.__vccOpts),t){t=Eu(t);let{class:a,style:l}=t;a&&!be(a)&&(t.class=Se(a)),ge(l)&&(Eo(l)&&!te(l)&&(l=Ee({},l)),t.style=Pn(l))}const i=be(e)?1:Yi(e)?128:xo(e)?64:ge(e)?4:oe(e)?2:0;return M(e,t,n,o,s,i,r,!0)}function Eu(e){return e?Eo(e)||xi(e)?Ee({},e):e:null}function On(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,c=t?Tu(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Hi(c),ref:t&&t.ref?n&&r?te(r)?r.concat(Yo(t)):[r,Yo(t)]:Yo(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&On(e.ssContent),ssFallback:e.ssFallback&&On(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Sr(u,l.clone(u)),u}function $e(e=" ",t=0){return ke(Xn,null,e,t)}function Le(e="",t=!1){return t?(q(),Ze(wt,null,e)):ke(wt,null,e)}function kt(e){return e==null||typeof e=="boolean"?ke(wt):te(e)?ke(de,null,e.slice()):Zn(e)?xt(e):ke(Xn,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:On(e)}function Vo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(te(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Vo(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!xi(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Vo(e,{default:t});return}t={default:t,_ctx:De},n=32}else t=String(t),o&64?(n=16,t=[$e(t)]):n=8;e.children=t,e.shapeFlag|=n}function Tu(...e){const t={};for(let n=0;nBe||De;let Ho,eo;{const e=yo(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),r=>{s.length>1?s.forEach(i=>i(r)):s[0](r)}};Ho=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),eo=t("__VUE_SSR_SETTERS__",n=>Nn=n)}const to=e=>{const t=Be;return Ho(e),e.scope.on(),()=>{e.scope.off(),Ho(t)}},qi=()=>{Be&&Be.scope.off(),Ho(null)};function zi(e){return e.vnode.shapeFlag&4}let Nn=!1;function Fu(e,t=!1,n=!1){t&&eo(t);const{props:o,children:s}=e.vnode,r=zi(e);mu(e,o,r,t),vu(e,s,n||t);const i=r?xu(e,t):void 0;return t&&eo(!1),i}function xu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,tu);const{setup:o}=n;if(o){gt();const s=e.setupContext=o.length>1?Mu(e):null,r=to(e),i=yn(o,e,0,[e.props,s]),a=ks(i);if(mt(),r(),(a||e.sp)&&!kn(e)&&Ir(e),a){if(i.then(qi,qi),t)return i.then(l=>{eo(!0);try{Ki(e,l,t)}finally{eo(!1)}}).catch(l=>{jn(l,e,0)});e.asyncDep=i}else Ki(e,i)}else Xi(e)}function Ki(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ge(t)&&(e.setupState=Zs(t)),Xi(e)}function Xi(e,t,n){const o=e.type;e.render||(e.render=o.render||ft);{const s=to(e);gt();try{nu(e)}finally{mt(),s()}}}const Pu={get(e,t){return Ue(e,"get",""),e[t]}};function Mu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Pu),slots:e.slots,emit:e.emit,expose:t}}function qo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Zs(_n(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const Du=/(?:^|[-_])\w/g,Bu=e=>e.replace(Du,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ji(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function Zi(e,t,n=!1){let o=Ji(t);if(!o&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&e){const s=r=>{for(const i in r)if(r[i]===t)return i};o=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return o?Bu(o):n?"App":"Anonymous"}function Ru(e){return oe(e)&&"__vccOpts"in e}const ie=(e,t)=>wc(e,t,Nn);function Qi(e,t,n){try{Go(-1);const o=arguments.length;return o===2?ge(t)&&!te(t)?Zn(t)?ke(e,null,[t]):ke(e,t):ke(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Zn(n)&&(n=[n]),ke(e,t,n))}finally{Go(1)}}const Wu="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Yr;const ea=typeof window<"u"&&window.trustedTypes;if(ea)try{Yr=ea.createPolicy("vue",{createHTML:e=>e})}catch{}const ta=Yr?e=>Yr.createHTML(e):e=>e,Uu="http://www.w3.org/2000/svg",ju="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,na=Mt&&Mt.createElement("template"),Gu={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 s=t==="svg"?Mt.createElementNS(Uu,e):t==="mathml"?Mt.createElementNS(ju,e):n?Mt.createElement(e,{is:n}):Mt.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>Mt.createTextNode(e),createComment:e=>Mt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Mt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,s,r){const i=n?n.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===r||!(s=s.nextSibling)););else{na.innerHTML=ta(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=na.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Yu=Symbol("_vtc");function Vu(e,t,n){const o=e[Yu];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const zo=Symbol("_vod"),oa=Symbol("_vsh"),Hu={name:"show",beforeMount(e,{value:t},{transition:n}){e[zo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):no(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),no(e,!0),o.enter(e)):o.leave(e,()=>{no(e,!1)}):no(e,t))},beforeUnmount(e,{value:t}){no(e,t)}};function no(e,t){e.style.display=t?e[zo]:"none",e[oa]=!t}const qu=Symbol(""),zu=/(?:^|;)\s*display\s*:/;function Ku(e,t,n){const o=e.style,s=be(n);let r=!1;if(n&&!s){if(t)if(be(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&oo(o,a,"")}else for(const i in t)n[i]==null&&oo(o,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?Ju(e,i,!be(t)&&t?t[i]:void 0,a)||oo(o,i,a):oo(o,i,"")}}else if(s){if(t!==n){const i=o[qu];i&&(n+=";"+i),o.cssText=n,r=zu.test(n)}}else t&&e.removeAttribute("style");zo in e&&(e[zo]=r?o.display:"",e[oa]&&(o.display="none"))}const Ko=/\s*!important$/;function oo(e,t,n){if(te(n))n.forEach(o=>oo(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Ko.test(n)?e.setProperty(t,n.replace(Ko,""),"important"):e.setProperty(t,n);else{const o=Xu(e,t);Ko.test(n)?e.setProperty(tt(o),n.replace(Ko,""),"important"):e[o]=n}}const ra=["Webkit","Moz","ms"],Vr={};function Xu(e,t){const n=Vr[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Vr[t]=o;o=bo(o);for(let s=0;sHr||(rp.then(()=>Hr=0),Hr=Date.now());function ip(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(te(s)){const r=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{r.call(o),o._stopped=!0};const i=s.slice(),a=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ap=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Vu(e,o,i):t==="style"?Ku(e,n,o):po(t)?fo(t)||ep(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):lp(e,t,o,i))?(aa(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ia(e,t,o,i,r,t!=="value")):e._isVueCE&&(cp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(o)))?aa(e,Pe(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),ia(e,t,o,i))};function lp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&ca(t)&&re(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ca(t)&&be(n)?!1:t in e}function cp(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(s=>Pe(s)===o):Object.keys(n).some(s=>Pe(s)===o)}const ua={};function up(e,t,n){let o=Hn(e,t);go(o)&&(o=Ee({},o,t));class s extends qr{constructor(i){super(o,i,n)}}return s.def=o,s}const pp=typeof HTMLElement<"u"?HTMLElement:class{};class qr extends pp{constructor(t,n={},o=fa){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!==fa?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof qr){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,Gn(()=>{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:r,styles:i}=o;let a;if(r&&!te(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ns(this._props[l])),(a||(a=Object.create(null)))[Pe(l)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)he(this,o)||Object.defineProperty(this,o,{get:()=>nt(n[o])})}_resolveProps(t){const{props:n}=t,o=te(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&o.includes(s)&&this._setProp(s,this[s]);for(const s of o.map(Pe))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(r){this._setProp(s,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):ua;const s=Pe(t);n&&this._numberProps&&this._numberProps[s]&&(o=Ns(o)),this._setProp(s,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,s=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ua?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),o)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),n===!0?this.setAttribute(tt(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(tt(t),n+""):n||this.removeAttribute(tt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),mp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ke(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(r,i)=>{this.dispatchEvent(new CustomEvent(r,go(i[0])?Ee({detail:i},i[0]):{detail:i}))};o.emit=(r,...i)=>{s(r,i),tt(r)!==r&&s(tt(r),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,r=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let a=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");s&&c.setAttribute("nonce",s),c.textContent=t[l],r.insertBefore(c,a||i),a=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;ne.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>dp.some(n=>e[`${n}Key`]&&!t.includes(n))},hp=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...r)=>{for(let i=0;i{da().render(...e)},fa=(...e)=>{const t=da().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=bp(o);if(!s)return;const r=t._component;!re(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,_p(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function _p(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bp(e){return be(e)?document.querySelector(e):e}/*! +**/let Yr;const ea=typeof window<"u"&&window.trustedTypes;if(ea)try{Yr=ea.createPolicy("vue",{createHTML:e=>e})}catch{}const ta=Yr?e=>Yr.createHTML(e):e=>e,Uu="http://www.w3.org/2000/svg",ju="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,na=Mt&&Mt.createElement("template"),Gu={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 s=t==="svg"?Mt.createElementNS(Uu,e):t==="mathml"?Mt.createElementNS(ju,e):n?Mt.createElement(e,{is:n}):Mt.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>Mt.createTextNode(e),createComment:e=>Mt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Mt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,s,r){const i=n?n.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===r||!(s=s.nextSibling)););else{na.innerHTML=ta(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=na.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Yu=Symbol("_vtc");function Vu(e,t,n){const o=e[Yu];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const zo=Symbol("_vod"),oa=Symbol("_vsh"),Hu={name:"show",beforeMount(e,{value:t},{transition:n}){e[zo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):no(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),no(e,!0),o.enter(e)):o.leave(e,()=>{no(e,!1)}):no(e,t))},beforeUnmount(e,{value:t}){no(e,t)}};function no(e,t){e.style.display=t?e[zo]:"none",e[oa]=!t}const qu=Symbol(""),zu=/(?:^|;)\s*display\s*:/;function Ku(e,t,n){const o=e.style,s=be(n);let r=!1;if(n&&!s){if(t)if(be(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&oo(o,a,"")}else for(const i in t)n[i]==null&&oo(o,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?Ju(e,i,!be(t)&&t?t[i]:void 0,a)||oo(o,i,a):oo(o,i,"")}}else if(s){if(t!==n){const i=o[qu];i&&(n+=";"+i),o.cssText=n,r=zu.test(n)}}else t&&e.removeAttribute("style");zo in e&&(e[zo]=r?o.display:"",e[oa]&&(o.display="none"))}const Ko=/\s*!important$/;function oo(e,t,n){if(te(n))n.forEach(o=>oo(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Ko.test(n)?e.setProperty(t,n.replace(Ko,""),"important"):e.setProperty(t,n);else{const o=Xu(e,t);Ko.test(n)?e.setProperty(tt(o),n.replace(Ko,""),"important"):e[o]=n}}const ra=["Webkit","Moz","ms"],Vr={};function Xu(e,t){const n=Vr[t];if(n)return n;let o=xe(t);if(o!=="filter"&&o in e)return Vr[t]=o;o=bo(o);for(let s=0;sHr||(rp.then(()=>Hr=0),Hr=Date.now());function ip(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(te(s)){const r=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{r.call(o),o._stopped=!0};const i=s.slice(),a=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ap=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Vu(e,o,i):t==="style"?Ku(e,n,o):po(t)?fo(t)||ep(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):lp(e,t,o,i))?(aa(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ia(e,t,o,i,r,t!=="value")):e._isVueCE&&(cp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(o)))?aa(e,xe(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),ia(e,t,o,i))};function lp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&ca(t)&&oe(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ca(t)&&be(n)?!1:t in e}function cp(e,t){const n=e._def.props;if(!n)return!1;const o=xe(t);return Array.isArray(n)?n.some(s=>xe(s)===o):Object.keys(n).some(s=>xe(s)===o)}const ua={};function up(e,t,n){let o=Hn(e,t);go(o)&&(o=Ee({},o,t));class s extends qr{constructor(i){super(o,i,n)}}return s.def=o,s}const pp=typeof HTMLElement<"u"?HTMLElement:class{};class qr extends pp{constructor(t,n={},o=fa){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!==fa?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof qr){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,Gn(()=>{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:r,styles:i}=o;let a;if(r&&!te(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ns(this._props[l])),(a||(a=Object.create(null)))[xe(l)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)he(this,o)||Object.defineProperty(this,o,{get:()=>nt(n[o])})}_resolveProps(t){const{props:n}=t,o=te(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&o.includes(s)&&this._setProp(s,this[s]);for(const s of o.map(xe))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(r){this._setProp(s,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):ua;const s=xe(t);n&&this._numberProps&&this._numberProps[s]&&(o=Ns(o)),this._setProp(s,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,s=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ua?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),o)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),n===!0?this.setAttribute(tt(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(tt(t),n+""):n||this.removeAttribute(tt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),mp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ke(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(r,i)=>{this.dispatchEvent(new CustomEvent(r,go(i[0])?Ee({detail:i},i[0]):{detail:i}))};o.emit=(r,...i)=>{s(r,i),tt(r)!==r&&s(tt(r),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,r=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let a=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");s&&c.setAttribute("nonce",s),c.textContent=t[l],r.insertBefore(c,a||i),a=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;ne.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>dp.some(n=>e[`${n}Key`]&&!t.includes(n))},hp=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...r)=>{for(let i=0;i{da().render(...e)},fa=(...e)=>{const t=da().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=bp(o);if(!s)return;const r=t._component;!oe(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,_p(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function _p(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bp(e){return be(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let ha;const Xo=e=>ha=e,ga=Symbol();function zr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ro;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ro||(ro={}));function yp(){const e=fr(!0),t=e.run(()=>ce({}));let n=[],o=[];const s=_n({install(r){Xo(s),s._a=r,r.provide(ga,s),r.config.globalProperties.$pinia=s,o.forEach(i=>n.push(i)),o=[]},use(r){return this._a?n.push(r):o.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const ma=()=>{};function _a(e,t,n,o=ma){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&Is()&&Kl(s),s}function Cn(e,...t){e.slice().forEach(n=>{n(...t)})}const vp=e=>e(),ba=Symbol(),Kr=Symbol();function Xr(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],s=e[n];zr(s)&&zr(o)&&e.hasOwnProperty(n)&&!Ce(o)&&!Tt(o)?e[n]=Xr(s,o):e[n]=o}return e}const wp=Symbol();function kp(e){return!zr(e)||!e.hasOwnProperty(wp)}const{assign:Ht}=Object;function $p(e){return!!(Ce(e)&&e.effect)}function Op(e,t,n,o){const{state:s,actions:r,getters:i}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=s?s():{});const u=_c(n.state.value[e]);return Ht(u,r,Object.keys(i||{}).reduce((f,h)=>(f[h]=_n(ie(()=>{Xo(n);const _=n._s.get(e);return i[h].call(_,_)})),f),{}))}return l=ya(e,c,t,n,o,!0),l}function ya(e,t,n={},o,s,r){let i;const a=Ht({actions:{}},n),l={deep:!0};let c,u,f=[],h=[],_;const v=o.state.value[e];!r&&!v&&(o.state.value[e]={});let k;function F(O){let T;c=u=!1,typeof O=="function"?(O(o.state.value[e]),T={type:ro.patchFunction,storeId:e,events:_}):(Xr(o.state.value[e],O),T={type:ro.patchObject,payload:O,storeId:e,events:_});const J=k=Symbol();Gn().then(()=>{k===J&&(c=!0)}),u=!0,Cn(f,T,o.state.value[e])}const C=r?function(){const{state:T}=n,J=T?T():{};this.$patch(ee=>{Ht(ee,J)})}:ma;function L(){i.stop(),f=[],h=[],o._s.delete(e)}const y=(O,T="")=>{if(ba in O)return O[Kr]=T,O;const J=function(){Xo(o);const ee=Array.from(arguments),U=[],Y=[];function oe(K){U.push(K)}function V(K){Y.push(K)}Cn(h,{args:ee,name:J[Kr],store:A,after:oe,onError:V});let R;try{R=O.apply(this&&this.$id===e?this:A,ee)}catch(K){throw Cn(Y,K),K}return R instanceof Promise?R.then(K=>(Cn(U,K),K)).catch(K=>(Cn(Y,K),Promise.reject(K))):(Cn(U,R),R)};return J[ba]=!0,J[Kr]=T,J},m={_p:o,$id:e,$onAction:_a.bind(null,h),$patch:F,$reset:C,$subscribe(O,T={}){const J=_a(f,O,T.detached,()=>ee()),ee=i.run(()=>vt(()=>o.state.value[e],U=>{(T.flush==="sync"?u:c)&&O({storeId:e,type:ro.direct,events:_},U)},Ht({},l,T)));return J},$dispose:L},A=Co(m);o._s.set(e,A);const $=(o._a&&o._a.runWithContext||vp)(()=>o._e.run(()=>(i=fr()).run(()=>t({action:y}))));for(const O in $){const T=$[O];if(Ce(T)&&!$p(T)||Tt(T))r||(v&&kp(T)&&(Ce(T)?T.value=v[O]:Xr(T,v[O])),o.state.value[e][O]=T);else if(typeof T=="function"){const J=y(T,O);$[O]=J,a.actions[O]=T}}return Ht(A,$),Ht(pe(A),$),Object.defineProperty(A,"$state",{get:()=>o.state.value[e],set:O=>{F(T=>{Ht(T,O)})}}),o._p.forEach(O=>{Ht(A,i.run(()=>O({store:A,app:o._a,pinia:o,options:a})))}),v&&r&&n.hydrate&&n.hydrate(A.$state,v),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function Jr(e,t,n){let o,s;const r=typeof t=="function";typeof e=="string"?(o=e,s=r?n:t):(s=e,o=e.id);function i(a,l){const c=Ic();return a=a||(c?qe(ga,null):null),a&&Xo(a),a=ha,a._s.has(o)||(r?ya(o,t,s,a):Op(o,s,a)),a._s.get(o)}return i.$id=o,i}const Np={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Cp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ap={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Ep={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:"اللغات"}},Tp={menuComingSoon:"القائمة قادمة قريباً"},Lp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Sp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ip={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Fp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},xp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Pp={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"},Mp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Dp={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"}},Bp={menuComingSoon:"Menü folgt in Kürze"},Rp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Wp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Up={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},jp={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"},Gp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Yp={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!"]},Vp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Hp={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"}},qp={menuComingSoon:"Menu coming soon"},zp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Kp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Xp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Jp={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"}},Zp={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"},Qp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ed={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"},td={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."}},nd={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"}},od={menuComingSoon:"Menú próximamente"},rd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},sd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},id={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"}},ad={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"},ld={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},cd={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"},ud={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},pd={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"}},dd={menuComingSoon:"Menu bientôt disponible"},fd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},hd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},gd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},md={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"}},_d={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"},bd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},yd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},vd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},wd={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:"कुल"}},kd={menuComingSoon:"मेनू शीघ्र आ रहा है"},$d={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Od={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Nd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Cd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Ad={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"},Ed={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Td={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"}},Ld={menuComingSoon:"Menu in arrivo"},Sd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Id={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Fd={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},xd={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Pd={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"},Md={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."}},Dd={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"}},Bd={menuComingSoon:"Menu em breve"},Rd={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Wd={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ud={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"}},jd={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"},Gd={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Yd={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ă"},Vd={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ă."}},Hd={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"}},qd={menuComingSoon:"Meniu în curând"},zd={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Kd={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Xd={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Jd={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Zd={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Qd={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},ef={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},tf={menuComingSoon:"Меню скоро появится"},nf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},of={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},rf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},sf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},af={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},lf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},cf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},uf={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:"总计"}},pf={menuComingSoon:"菜单即将推出"},df={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ff={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},hf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let ha;const Xo=e=>ha=e,ga=Symbol();function zr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ro;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ro||(ro={}));function yp(){const e=fr(!0),t=e.run(()=>ce({}));let n=[],o=[];const s=_n({install(r){Xo(s),s._a=r,r.provide(ga,s),r.config.globalProperties.$pinia=s,o.forEach(i=>n.push(i)),o=[]},use(r){return this._a?n.push(r):o.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const ma=()=>{};function _a(e,t,n,o=ma){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&Is()&&Kl(s),s}function Cn(e,...t){e.slice().forEach(n=>{n(...t)})}const vp=e=>e(),ba=Symbol(),Kr=Symbol();function Xr(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],s=e[n];zr(s)&&zr(o)&&e.hasOwnProperty(n)&&!Ne(o)&&!Tt(o)?e[n]=Xr(s,o):e[n]=o}return e}const wp=Symbol();function kp(e){return!zr(e)||!e.hasOwnProperty(wp)}const{assign:Ht}=Object;function $p(e){return!!(Ne(e)&&e.effect)}function Op(e,t,n,o){const{state:s,actions:r,getters:i}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=s?s():{});const u=_c(n.state.value[e]);return Ht(u,r,Object.keys(i||{}).reduce((f,h)=>(f[h]=_n(ie(()=>{Xo(n);const _=n._s.get(e);return i[h].call(_,_)})),f),{}))}return l=ya(e,c,t,n,o,!0),l}function ya(e,t,n={},o,s,r){let i;const a=Ht({actions:{}},n),l={deep:!0};let c,u,f=[],h=[],_;const v=o.state.value[e];!r&&!v&&(o.state.value[e]={});let k;function F(O){let T;c=u=!1,typeof O=="function"?(O(o.state.value[e]),T={type:ro.patchFunction,storeId:e,events:_}):(Xr(o.state.value[e],O),T={type:ro.patchObject,payload:O,storeId:e,events:_});const J=k=Symbol();Gn().then(()=>{k===J&&(c=!0)}),u=!0,Cn(f,T,o.state.value[e])}const C=r?function(){const{state:T}=n,J=T?T():{};this.$patch(ee=>{Ht(ee,J)})}:ma;function L(){i.stop(),f=[],h=[],o._s.delete(e)}const y=(O,T="")=>{if(ba in O)return O[Kr]=T,O;const J=function(){Xo(o);const ee=Array.from(arguments),U=[],Y=[];function re(K){U.push(K)}function V(K){Y.push(K)}Cn(h,{args:ee,name:J[Kr],store:A,after:re,onError:V});let R;try{R=O.apply(this&&this.$id===e?this:A,ee)}catch(K){throw Cn(Y,K),K}return R instanceof Promise?R.then(K=>(Cn(U,K),K)).catch(K=>(Cn(Y,K),Promise.reject(K))):(Cn(U,R),R)};return J[ba]=!0,J[Kr]=T,J},m={_p:o,$id:e,$onAction:_a.bind(null,h),$patch:F,$reset:C,$subscribe(O,T={}){const J=_a(f,O,T.detached,()=>ee()),ee=i.run(()=>vt(()=>o.state.value[e],U=>{(T.flush==="sync"?u:c)&&O({storeId:e,type:ro.direct,events:_},U)},Ht({},l,T)));return J},$dispose:L},A=Co(m);o._s.set(e,A);const $=(o._a&&o._a.runWithContext||vp)(()=>o._e.run(()=>(i=fr()).run(()=>t({action:y}))));for(const O in $){const T=$[O];if(Ne(T)&&!$p(T)||Tt(T))r||(v&&kp(T)&&(Ne(T)?T.value=v[O]:Xr(T,v[O])),o.state.value[e][O]=T);else if(typeof T=="function"){const J=y(T,O);$[O]=J,a.actions[O]=T}}return Ht(A,$),Ht(pe(A),$),Object.defineProperty(A,"$state",{get:()=>o.state.value[e],set:O=>{F(T=>{Ht(T,O)})}}),o._p.forEach(O=>{Ht(A,i.run(()=>O({store:A,app:o._a,pinia:o,options:a})))}),v&&r&&n.hydrate&&n.hydrate(A.$state,v),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function Jr(e,t,n){let o,s;const r=typeof t=="function";typeof e=="string"?(o=e,s=r?n:t):(s=e,o=e.id);function i(a,l){const c=Ic();return a=a||(c?qe(ga,null):null),a&&Xo(a),a=ha,a._s.has(o)||(r?ya(o,t,s,a):Op(o,s,a)),a._s.get(o)}return i.$id=o,i}const Np={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Cp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ap={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Ep={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:"اللغات"}},Tp={menuComingSoon:"القائمة قادمة قريباً"},Lp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Sp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ip={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Fp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},xp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Pp={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"},Mp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Dp={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"}},Bp={menuComingSoon:"Menü folgt in Kürze"},Rp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Wp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Up={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},jp={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"},Gp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Yp={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!"]},Vp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Hp={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"}},qp={menuComingSoon:"Menu coming soon"},zp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Kp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Xp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Jp={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"}},Zp={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"},Qp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ed={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"},td={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."}},nd={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"}},od={menuComingSoon:"Menú próximamente"},rd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},sd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},id={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"}},ad={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"},ld={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},cd={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"},ud={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},pd={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"}},dd={menuComingSoon:"Menu bientôt disponible"},fd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},hd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},gd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},md={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"}},_d={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"},bd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},yd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},vd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},wd={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:"कुल"}},kd={menuComingSoon:"मेनू शीघ्र आ रहा है"},$d={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Od={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Nd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Cd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Ad={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"},Ed={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Td={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"}},Ld={menuComingSoon:"Menu in arrivo"},Sd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Id={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Fd={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},xd={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Pd={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"},Md={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."}},Dd={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"}},Bd={menuComingSoon:"Menu em breve"},Rd={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Wd={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ud={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"}},jd={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"},Gd={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Yd={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ă"},Vd={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ă."}},Hd={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"}},qd={menuComingSoon:"Meniu în curând"},zd={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Kd={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Xd={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Jd={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Zd={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Qd={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},ef={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},tf={menuComingSoon:"Меню скоро появится"},nf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},of={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},rf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},sf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},af={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},lf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},cf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},uf={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:"总计"}},pf={menuComingSoon:"菜单即将推出"},df={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ff={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},hf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -31,7 +31,7 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function Nf(e,t,n){return{line:e,column:t,offset:n}}function nr(e,t,n){return{start:e,end:t}}const Cf=/\{([0-9a-zA-Z]+)\}/g;function Na(e,...t){return t.length===1&&Af(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Cf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ca=Object.assign,Aa=e=>typeof e=="string",Af=e=>e!==null&&typeof e=="object";function Ea(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}const Zr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Ef={[Zr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Tf(e,t,...n){const o=Na(Ef[e],...n||[]),s={message:String(o),code:e};return t&&(s.location=t),s}const ne={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},Lf={[ne.EXPECTED_TOKEN]:"Expected token: '{0}'",[ne.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ne.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ne.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ne.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ne.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ne.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ne.EMPTY_PLACEHOLDER]:"Empty placeholder",[ne.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ne.INVALID_LINKED_FORMAT]:"Invalid linked format",[ne.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ne.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ne.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ne.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ne.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ne.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,n={}){const{domain:o,messages:s,args:r}=n,i=Na((s||Lf)[e]||"",...r||[]),a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=o,a}function Sf(e){throw e}const Bt=" ",If="\r",Ve=` -`,Ff="\u2028",xf="\u2029";function Pf(e){const t=e;let n=0,o=1,s=1,r=0;const i=$=>t[$]===If&&t[$+1]===Ve,a=$=>t[$]===Ve,l=$=>t[$]===xf,c=$=>t[$]===Ff,u=$=>i($)||a($)||l($)||c($),f=()=>n,h=()=>o,_=()=>s,v=()=>r,k=$=>i($)||l($)||c($)?Ve:t[$],F=()=>k(n),C=()=>k(n+r);function L(){return r=0,u(n)&&(o++,s=0),i(n)&&n++,n++,s++,t[n]}function y(){return i(n+r)&&r++,r++,t[n+r]}function m(){n=0,o=1,s=1,r=0}function A($=0){r=$}function S(){const $=n+r;for(;$!==n;)L();r=0}return{index:f,line:h,column:_,peekOffset:v,charAt:k,currentChar:F,currentPeek:C,next:L,peek:y,reset:m,resetPeek:A,skipToPeek:S}}const Kt=void 0,Mf=".",Ta="'",Df="tokenizer";function Bf(e,t={}){const n=t.location!==!1,o=Pf(e),s=()=>o.index(),r=()=>Nf(o.line(),o.column(),o.index()),i=r(),a=s(),l={currentType:14,offset:a,startLoc:i,endLoc:i,lastType:14,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,d,E,...x){const H=c();if(d.column+=E,d.offset+=E,u){const W=n?nr(H.startLoc,d):null,N=An(p,W,{domain:Df,args:x});u(N)}}function h(p,d,E){p.endLoc=r(),p.currentType=d;const x={type:d};return n&&(x.loc=nr(p.startLoc,p.endLoc)),E!=null&&(x.value=E),x}const _=p=>h(p,14);function v(p,d){return p.currentChar()===d?(p.next(),d):(f(ne.EXPECTED_TOKEN,r(),0,d),"")}function k(p){let d="";for(;p.currentPeek()===Bt||p.currentPeek()===Ve;)d+=p.currentPeek(),p.peek();return d}function F(p){const d=k(p);return p.skipToPeek(),d}function C(p){if(p===Kt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(p){if(p===Kt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function y(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const x=C(p.currentPeek());return p.resetPeek(),x}function m(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const x=p.currentPeek()==="-"?p.peek():p.currentPeek(),H=L(x);return p.resetPeek(),H}function A(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const x=p.currentPeek()===Ta;return p.resetPeek(),x}function S(p,d){const{currentType:E}=d;if(E!==8)return!1;k(p);const x=p.currentPeek()===".";return p.resetPeek(),x}function $(p,d){const{currentType:E}=d;if(E!==9)return!1;k(p);const x=C(p.currentPeek());return p.resetPeek(),x}function O(p,d){const{currentType:E}=d;if(!(E===8||E===12))return!1;k(p);const x=p.currentPeek()===":";return p.resetPeek(),x}function T(p,d){const{currentType:E}=d;if(E!==10)return!1;const x=()=>{const W=p.currentPeek();return W==="{"?C(p.peek()):W==="@"||W==="%"||W==="|"||W===":"||W==="."||W===Bt||!W?!1:W===Ve?(p.peek(),x()):U(p,!1)},H=x();return p.resetPeek(),H}function J(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function ee(p){const d=k(p),E=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:E,hasSpace:d.length>0}}function U(p,d=!0){const E=(H=!1,W="",N=!1)=>{const P=p.currentPeek();return P==="{"?W==="%"?!1:H:P==="@"||!P?W==="%"?!0:H:P==="%"?(p.peek(),E(H,"%",!0)):P==="|"?W==="%"||N?!0:!(W===Bt||W===Ve):P===Bt?(p.peek(),E(!0,Bt,N)):P===Ve?(p.peek(),E(!0,Ve,N)):!0},x=E();return d&&p.resetPeek(),x}function Y(p,d){const E=p.currentChar();return E===Kt?Kt:d(E)?(p.next(),E):null}function oe(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function V(p){return Y(p,oe)}function R(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function K(p){return Y(p,R)}function ae(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Ne(p){return Y(p,ae)}function Qe(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Ae(p){return Y(p,Qe)}function Le(p){let d="",E="";for(;d=Ne(p);)E+=d;return E}function en(p){F(p);const d=p.currentChar();return d!=="%"&&f(ne.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function tn(p){let d="";for(;;){const E=p.currentChar();if(E==="{"||E==="}"||E==="@"||E==="|"||!E)break;if(E==="%")if(U(p))d+=E,p.next();else break;else if(E===Bt||E===Ve)if(U(p))d+=E,p.next();else{if(J(p))break;d+=E,p.next()}else d+=E,p.next()}return d}function fn(p){F(p);let d="",E="";for(;d=K(p);)E+=d;return p.currentChar()===Kt&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),E}function dt(p){F(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Le(p)}`):d+=Le(p),p.currentChar()===Kt&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Wt(p){return p!==Ta&&p!==Ve}function Ut(p){F(p),v(p,"'");let d="",E="";for(;d=Y(p,Wt);)d==="\\"?E+=nn(p):E+=d;const x=p.currentChar();return x===Ve||x===Kt?(f(ne.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),x===Ve&&(p.next(),v(p,"'")),E):(v(p,"'"),E)}function nn(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return rt(p,d,4);case"U":return rt(p,d,6);default:return f(ne.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function rt(p,d,E){v(p,d);let x="";for(let H=0;H{const x=p.currentChar();return x==="{"||x==="%"||x==="@"||x==="|"||x==="("||x===")"||!x||x===Bt?E:(E+=x,p.next(),d(E))};return d("")}function I(p){F(p);const d=v(p,"|");return F(p),d}function B(p,d){let E=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&f(ne.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),E=h(d,2,"{"),F(p),d.braceNest++,E;case"}":return d.braceNest>0&&d.currentType===2&&f(ne.EMPTY_PLACEHOLDER,r(),0),p.next(),E=h(d,3,"}"),d.braceNest--,d.braceNest>0&&F(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),E;case"@":return d.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),E=D(p,d)||_(d),d.braceNest=0,E;default:{let H=!0,W=!0,N=!0;if(J(p))return d.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),E=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,E;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,G(p,d);if(H=y(p,d))return E=h(d,5,fn(p)),F(p),E;if(W=m(p,d))return E=h(d,6,dt(p)),F(p),E;if(N=A(p,d))return E=h(d,7,Ut(p)),F(p),E;if(!H&&!W&&!N)return E=h(d,13,g(p)),f(ne.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,E.value),F(p),E;break}}return E}function D(p,d){const{currentType:E}=d;let x=null;const H=p.currentChar();switch((E===8||E===9||E===12||E===10)&&(H===Ve||H===Bt)&&f(ne.INVALID_LINKED_FORMAT,r(),0),H){case"@":return p.next(),x=h(d,8,"@"),d.inLinked=!0,x;case".":return F(p),p.next(),h(d,9,".");case":":return F(p),p.next(),h(d,10,":");default:return J(p)?(x=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,x):S(p,d)||O(p,d)?(F(p),D(p,d)):$(p,d)?(F(p),h(d,12,w(p))):T(p,d)?(F(p),H==="{"?B(p,d)||x:h(d,11,b(p))):(E===8&&f(ne.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,G(p,d))}}function G(p,d){let E={type:14};if(d.braceNest>0)return B(p,d)||_(d);if(d.inLinked)return D(p,d)||_(d);switch(p.currentChar()){case"{":return B(p,d)||_(d);case"}":return f(ne.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),h(d,3,"}");case"@":return D(p,d)||_(d);default:{if(J(p))return E=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,E;const{isModulo:H,hasSpace:W}=ee(p);if(H)return W?h(d,0,tn(p)):h(d,4,en(p));if(U(p))return h(d,0,tn(p));break}}return E}function j(){const{currentType:p,offset:d,startLoc:E,endLoc:x}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=E,l.lastEndLoc=x,l.offset=s(),l.startLoc=r(),o.currentChar()===Kt?h(l,14):G(o,l)}return{nextToken:j,currentOffset:s,currentPosition:r,context:c}}const Rf="parser",Wf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Uf(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function jf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(y,m,A,S,...$){const O=y.currentPosition();if(O.offset+=S,O.column+=S,n){const T=t?nr(A,O):null,J=An(m,T,{domain:Rf,args:$});n(J)}}function r(y,m,A,S,...$){const O=y.currentPosition();if(O.offset+=S,O.column+=S,o){const T=t?nr(A,O):null;o(Tf(m,T,$))}}function i(y,m,A){const S={type:y};return t&&(S.start=m,S.end=m,S.loc={start:A,end:A}),S}function a(y,m,A,S){t&&(y.end=m,y.loc&&(y.loc.end=A))}function l(y,m){const A=y.context(),S=i(3,A.offset,A.startLoc);return S.value=m,a(S,y.currentOffset(),y.currentPosition()),S}function c(y,m){const A=y.context(),{lastOffset:S,lastStartLoc:$}=A,O=i(5,S,$);return O.index=parseInt(m,10),y.nextToken(),a(O,y.currentOffset(),y.currentPosition()),O}function u(y,m,A){const S=y.context(),{lastOffset:$,lastStartLoc:O}=S,T=i(4,$,O);return T.key=m,A===!0&&(T.modulo=!0),y.nextToken(),a(T,y.currentOffset(),y.currentPosition()),T}function f(y,m){const A=y.context(),{lastOffset:S,lastStartLoc:$}=A,O=i(9,S,$);return O.value=m.replace(Wf,Uf),y.nextToken(),a(O,y.currentOffset(),y.currentPosition()),O}function h(y){const m=y.nextToken(),A=y.context(),{lastOffset:S,lastStartLoc:$}=A,O=i(8,S,$);return m.type!==12?(s(y,ne.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),O.value="",a(O,S,$),{nextConsumeToken:m,node:O}):(m.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,ut(m)),O.value=m.value||"",a(O,y.currentOffset(),y.currentPosition()),{node:O})}function _(y,m){const A=y.context(),S=i(7,A.offset,A.startLoc);return S.value=m,a(S,y.currentOffset(),y.currentPosition()),S}function v(y){const m=y.context(),A=i(6,m.offset,m.startLoc);let S=y.nextToken();if(S.type===9){const $=h(y);A.modifier=$.node,S=$.nextConsumeToken||y.nextToken()}switch(S.type!==10&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),S=y.nextToken(),S.type===2&&(S=y.nextToken()),S.type){case 11:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=_(y,S.value||"");break;case 5:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=u(y,S.value||"");break;case 6:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=c(y,S.value||"");break;case 7:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=f(y,S.value||"");break;default:{s(y,ne.UNEXPECTED_EMPTY_LINKED_KEY,m.lastStartLoc,0);const $=y.context(),O=i(7,$.offset,$.startLoc);return O.value="",a(O,$.offset,$.startLoc),A.key=O,a(A,$.offset,$.startLoc),{nextConsumeToken:S,node:A}}}return a(A,y.currentOffset(),y.currentPosition()),{node:A}}function k(y){const m=y.context(),A=m.currentType===1?y.currentOffset():m.offset,S=m.currentType===1?m.endLoc:m.startLoc,$=i(2,A,S);$.items=[];let O=null,T=null;do{const U=O||y.nextToken();switch(O=null,U.type){case 0:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(l(y,U.value||""));break;case 6:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(c(y,U.value||""));break;case 4:T=!0;break;case 5:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(u(y,U.value||"",!!T)),T&&(r(y,Zr.USE_MODULO_SYNTAX,m.lastStartLoc,0,ut(U)),T=null);break;case 7:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(f(y,U.value||""));break;case 8:{const Y=v(y);$.items.push(Y.node),O=Y.nextConsumeToken||null;break}}}while(m.currentType!==14&&m.currentType!==1);const J=m.currentType===1?m.lastOffset:y.currentOffset(),ee=m.currentType===1?m.lastEndLoc:y.currentPosition();return a($,J,ee),$}function F(y,m,A,S){const $=y.context();let O=S.items.length===0;const T=i(1,m,A);T.cases=[],T.cases.push(S);do{const J=k(y);O||(O=J.items.length===0),T.cases.push(J)}while($.currentType!==14);return O&&s(y,ne.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),a(T,y.currentOffset(),y.currentPosition()),T}function C(y){const m=y.context(),{offset:A,startLoc:S}=m,$=k(y);return m.currentType===14?$:F(y,A,S,$)}function L(y){const m=Bf(y,Ca({},e)),A=m.context(),S=i(0,A.offset,A.startLoc);return t&&S.loc&&(S.loc.source=y),S.body=C(m),e.onCacheKey&&(S.cacheKey=e.onCacheKey(y)),A.currentType!==14&&s(m,ne.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,y[A.offset]||""),a(S,m.currentOffset(),m.currentPosition()),S}return{parse:L}}function ut(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 Gf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function La(e,t){for(let n=0;nSa(n)),e}function Sa(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(k,F){i.code+=k}function c(k,F=!0){const C=F?o:"";l(s?C+" ".repeat(k):C)}function u(k=!0){const F=++i.indentLevel;k&&c(F)}function f(k=!0){const F=--i.indentLevel;k&&c(F)}function h(){c(i.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:h,helper:k=>`_${k}`,needIndent:()=>i.needIndent}}function Kf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Tn(e,t.key),t.modifier?(e.push(", "),Tn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Xf(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const s=t.items.length;for(let r=0;r1){e.push(`${n("plural")}([`),e.indent(o());const s=t.cases.length;for(let r=0;r{const n=Aa(t.mode)?t.mode:"normal",o=Aa(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,Ff="\u2028",xf="\u2029";function Pf(e){const t=e;let n=0,o=1,s=1,r=0;const i=$=>t[$]===If&&t[$+1]===Ve,a=$=>t[$]===Ve,l=$=>t[$]===xf,c=$=>t[$]===Ff,u=$=>i($)||a($)||l($)||c($),f=()=>n,h=()=>o,_=()=>s,v=()=>r,k=$=>i($)||l($)||c($)?Ve:t[$],F=()=>k(n),C=()=>k(n+r);function L(){return r=0,u(n)&&(o++,s=0),i(n)&&n++,n++,s++,t[n]}function y(){return i(n+r)&&r++,r++,t[n+r]}function m(){n=0,o=1,s=1,r=0}function A($=0){r=$}function S(){const $=n+r;for(;$!==n;)L();r=0}return{index:f,line:h,column:_,peekOffset:v,charAt:k,currentChar:F,currentPeek:C,next:L,peek:y,reset:m,resetPeek:A,skipToPeek:S}}const Kt=void 0,Mf=".",Ta="'",Df="tokenizer";function Bf(e,t={}){const n=t.location!==!1,o=Pf(e),s=()=>o.index(),r=()=>Nf(o.line(),o.column(),o.index()),i=r(),a=s(),l={currentType:14,offset:a,startLoc:i,endLoc:i,lastType:14,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,d,E,...x){const H=c();if(d.column+=E,d.offset+=E,u){const W=n?nr(H.startLoc,d):null,N=An(p,W,{domain:Df,args:x});u(N)}}function h(p,d,E){p.endLoc=r(),p.currentType=d;const x={type:d};return n&&(x.loc=nr(p.startLoc,p.endLoc)),E!=null&&(x.value=E),x}const _=p=>h(p,14);function v(p,d){return p.currentChar()===d?(p.next(),d):(f(ne.EXPECTED_TOKEN,r(),0,d),"")}function k(p){let d="";for(;p.currentPeek()===Bt||p.currentPeek()===Ve;)d+=p.currentPeek(),p.peek();return d}function F(p){const d=k(p);return p.skipToPeek(),d}function C(p){if(p===Kt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(p){if(p===Kt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function y(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const x=C(p.currentPeek());return p.resetPeek(),x}function m(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const x=p.currentPeek()==="-"?p.peek():p.currentPeek(),H=L(x);return p.resetPeek(),H}function A(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const x=p.currentPeek()===Ta;return p.resetPeek(),x}function S(p,d){const{currentType:E}=d;if(E!==8)return!1;k(p);const x=p.currentPeek()===".";return p.resetPeek(),x}function $(p,d){const{currentType:E}=d;if(E!==9)return!1;k(p);const x=C(p.currentPeek());return p.resetPeek(),x}function O(p,d){const{currentType:E}=d;if(!(E===8||E===12))return!1;k(p);const x=p.currentPeek()===":";return p.resetPeek(),x}function T(p,d){const{currentType:E}=d;if(E!==10)return!1;const x=()=>{const W=p.currentPeek();return W==="{"?C(p.peek()):W==="@"||W==="%"||W==="|"||W===":"||W==="."||W===Bt||!W?!1:W===Ve?(p.peek(),x()):U(p,!1)},H=x();return p.resetPeek(),H}function J(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function ee(p){const d=k(p),E=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:E,hasSpace:d.length>0}}function U(p,d=!0){const E=(H=!1,W="",N=!1)=>{const P=p.currentPeek();return P==="{"?W==="%"?!1:H:P==="@"||!P?W==="%"?!0:H:P==="%"?(p.peek(),E(H,"%",!0)):P==="|"?W==="%"||N?!0:!(W===Bt||W===Ve):P===Bt?(p.peek(),E(!0,Bt,N)):P===Ve?(p.peek(),E(!0,Ve,N)):!0},x=E();return d&&p.resetPeek(),x}function Y(p,d){const E=p.currentChar();return E===Kt?Kt:d(E)?(p.next(),E):null}function re(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function V(p){return Y(p,re)}function R(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function K(p){return Y(p,R)}function ae(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Ce(p){return Y(p,ae)}function Qe(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Ae(p){return Y(p,Qe)}function Me(p){let d="",E="";for(;d=Ce(p);)E+=d;return E}function en(p){F(p);const d=p.currentChar();return d!=="%"&&f(ne.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function tn(p){let d="";for(;;){const E=p.currentChar();if(E==="{"||E==="}"||E==="@"||E==="|"||!E)break;if(E==="%")if(U(p))d+=E,p.next();else break;else if(E===Bt||E===Ve)if(U(p))d+=E,p.next();else{if(J(p))break;d+=E,p.next()}else d+=E,p.next()}return d}function fn(p){F(p);let d="",E="";for(;d=K(p);)E+=d;return p.currentChar()===Kt&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),E}function dt(p){F(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Me(p)}`):d+=Me(p),p.currentChar()===Kt&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Wt(p){return p!==Ta&&p!==Ve}function Ut(p){F(p),v(p,"'");let d="",E="";for(;d=Y(p,Wt);)d==="\\"?E+=nn(p):E+=d;const x=p.currentChar();return x===Ve||x===Kt?(f(ne.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),x===Ve&&(p.next(),v(p,"'")),E):(v(p,"'"),E)}function nn(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return rt(p,d,4);case"U":return rt(p,d,6);default:return f(ne.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function rt(p,d,E){v(p,d);let x="";for(let H=0;H{const x=p.currentChar();return x==="{"||x==="%"||x==="@"||x==="|"||x==="("||x===")"||!x||x===Bt?E:(E+=x,p.next(),d(E))};return d("")}function I(p){F(p);const d=v(p,"|");return F(p),d}function B(p,d){let E=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&f(ne.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),E=h(d,2,"{"),F(p),d.braceNest++,E;case"}":return d.braceNest>0&&d.currentType===2&&f(ne.EMPTY_PLACEHOLDER,r(),0),p.next(),E=h(d,3,"}"),d.braceNest--,d.braceNest>0&&F(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),E;case"@":return d.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),E=D(p,d)||_(d),d.braceNest=0,E;default:{let H=!0,W=!0,N=!0;if(J(p))return d.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),E=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,E;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,G(p,d);if(H=y(p,d))return E=h(d,5,fn(p)),F(p),E;if(W=m(p,d))return E=h(d,6,dt(p)),F(p),E;if(N=A(p,d))return E=h(d,7,Ut(p)),F(p),E;if(!H&&!W&&!N)return E=h(d,13,g(p)),f(ne.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,E.value),F(p),E;break}}return E}function D(p,d){const{currentType:E}=d;let x=null;const H=p.currentChar();switch((E===8||E===9||E===12||E===10)&&(H===Ve||H===Bt)&&f(ne.INVALID_LINKED_FORMAT,r(),0),H){case"@":return p.next(),x=h(d,8,"@"),d.inLinked=!0,x;case".":return F(p),p.next(),h(d,9,".");case":":return F(p),p.next(),h(d,10,":");default:return J(p)?(x=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,x):S(p,d)||O(p,d)?(F(p),D(p,d)):$(p,d)?(F(p),h(d,12,w(p))):T(p,d)?(F(p),H==="{"?B(p,d)||x:h(d,11,b(p))):(E===8&&f(ne.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,G(p,d))}}function G(p,d){let E={type:14};if(d.braceNest>0)return B(p,d)||_(d);if(d.inLinked)return D(p,d)||_(d);switch(p.currentChar()){case"{":return B(p,d)||_(d);case"}":return f(ne.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),h(d,3,"}");case"@":return D(p,d)||_(d);default:{if(J(p))return E=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,E;const{isModulo:H,hasSpace:W}=ee(p);if(H)return W?h(d,0,tn(p)):h(d,4,en(p));if(U(p))return h(d,0,tn(p));break}}return E}function j(){const{currentType:p,offset:d,startLoc:E,endLoc:x}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=E,l.lastEndLoc=x,l.offset=s(),l.startLoc=r(),o.currentChar()===Kt?h(l,14):G(o,l)}return{nextToken:j,currentOffset:s,currentPosition:r,context:c}}const Rf="parser",Wf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Uf(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function jf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(y,m,A,S,...$){const O=y.currentPosition();if(O.offset+=S,O.column+=S,n){const T=t?nr(A,O):null,J=An(m,T,{domain:Rf,args:$});n(J)}}function r(y,m,A,S,...$){const O=y.currentPosition();if(O.offset+=S,O.column+=S,o){const T=t?nr(A,O):null;o(Tf(m,T,$))}}function i(y,m,A){const S={type:y};return t&&(S.start=m,S.end=m,S.loc={start:A,end:A}),S}function a(y,m,A,S){t&&(y.end=m,y.loc&&(y.loc.end=A))}function l(y,m){const A=y.context(),S=i(3,A.offset,A.startLoc);return S.value=m,a(S,y.currentOffset(),y.currentPosition()),S}function c(y,m){const A=y.context(),{lastOffset:S,lastStartLoc:$}=A,O=i(5,S,$);return O.index=parseInt(m,10),y.nextToken(),a(O,y.currentOffset(),y.currentPosition()),O}function u(y,m,A){const S=y.context(),{lastOffset:$,lastStartLoc:O}=S,T=i(4,$,O);return T.key=m,A===!0&&(T.modulo=!0),y.nextToken(),a(T,y.currentOffset(),y.currentPosition()),T}function f(y,m){const A=y.context(),{lastOffset:S,lastStartLoc:$}=A,O=i(9,S,$);return O.value=m.replace(Wf,Uf),y.nextToken(),a(O,y.currentOffset(),y.currentPosition()),O}function h(y){const m=y.nextToken(),A=y.context(),{lastOffset:S,lastStartLoc:$}=A,O=i(8,S,$);return m.type!==12?(s(y,ne.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),O.value="",a(O,S,$),{nextConsumeToken:m,node:O}):(m.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,ut(m)),O.value=m.value||"",a(O,y.currentOffset(),y.currentPosition()),{node:O})}function _(y,m){const A=y.context(),S=i(7,A.offset,A.startLoc);return S.value=m,a(S,y.currentOffset(),y.currentPosition()),S}function v(y){const m=y.context(),A=i(6,m.offset,m.startLoc);let S=y.nextToken();if(S.type===9){const $=h(y);A.modifier=$.node,S=$.nextConsumeToken||y.nextToken()}switch(S.type!==10&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),S=y.nextToken(),S.type===2&&(S=y.nextToken()),S.type){case 11:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=_(y,S.value||"");break;case 5:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=u(y,S.value||"");break;case 6:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=c(y,S.value||"");break;case 7:S.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(S)),A.key=f(y,S.value||"");break;default:{s(y,ne.UNEXPECTED_EMPTY_LINKED_KEY,m.lastStartLoc,0);const $=y.context(),O=i(7,$.offset,$.startLoc);return O.value="",a(O,$.offset,$.startLoc),A.key=O,a(A,$.offset,$.startLoc),{nextConsumeToken:S,node:A}}}return a(A,y.currentOffset(),y.currentPosition()),{node:A}}function k(y){const m=y.context(),A=m.currentType===1?y.currentOffset():m.offset,S=m.currentType===1?m.endLoc:m.startLoc,$=i(2,A,S);$.items=[];let O=null,T=null;do{const U=O||y.nextToken();switch(O=null,U.type){case 0:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(l(y,U.value||""));break;case 6:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(c(y,U.value||""));break;case 4:T=!0;break;case 5:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(u(y,U.value||"",!!T)),T&&(r(y,Zr.USE_MODULO_SYNTAX,m.lastStartLoc,0,ut(U)),T=null);break;case 7:U.value==null&&s(y,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ut(U)),$.items.push(f(y,U.value||""));break;case 8:{const Y=v(y);$.items.push(Y.node),O=Y.nextConsumeToken||null;break}}}while(m.currentType!==14&&m.currentType!==1);const J=m.currentType===1?m.lastOffset:y.currentOffset(),ee=m.currentType===1?m.lastEndLoc:y.currentPosition();return a($,J,ee),$}function F(y,m,A,S){const $=y.context();let O=S.items.length===0;const T=i(1,m,A);T.cases=[],T.cases.push(S);do{const J=k(y);O||(O=J.items.length===0),T.cases.push(J)}while($.currentType!==14);return O&&s(y,ne.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),a(T,y.currentOffset(),y.currentPosition()),T}function C(y){const m=y.context(),{offset:A,startLoc:S}=m,$=k(y);return m.currentType===14?$:F(y,A,S,$)}function L(y){const m=Bf(y,Ca({},e)),A=m.context(),S=i(0,A.offset,A.startLoc);return t&&S.loc&&(S.loc.source=y),S.body=C(m),e.onCacheKey&&(S.cacheKey=e.onCacheKey(y)),A.currentType!==14&&s(m,ne.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,y[A.offset]||""),a(S,m.currentOffset(),m.currentPosition()),S}return{parse:L}}function ut(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 Gf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function La(e,t){for(let n=0;nSa(n)),e}function Sa(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(k,F){i.code+=k}function c(k,F=!0){const C=F?o:"";l(s?C+" ".repeat(k):C)}function u(k=!0){const F=++i.indentLevel;k&&c(F)}function f(k=!0){const F=--i.indentLevel;k&&c(F)}function h(){c(i.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:h,helper:k=>`_${k}`,needIndent:()=>i.needIndent}}function Kf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Tn(e,t.key),t.modifier?(e.push(", "),Tn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Xf(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const s=t.items.length;for(let r=0;r1){e.push(`${n("plural")}([`),e.indent(o());const s=t.cases.length;for(let r=0;r{const n=Aa(t.mode)?t.mode:"normal",o=Aa(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` `,r=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=zf(e,{filename:o,breakLineCode:s,needIndent:r});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(r),i.length>0&&(a.push(`const { ${Ea(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),a.newline()),a.push("return "),Tn(a,e),a.deindent(r),a.push("}"),delete e.helpers;const{code:l,map:c}=a.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function eh(e,t={}){const n=Ca({},t),o=!!n.jit,s=!!n.minify,r=n.optimize==null?!0:n.optimize,a=jf(n).parse(e);return o?(r&&Vf(a),s&&En(a),{ast:a,code:""}):(Yf(a,n),Qf(a,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi @@ -40,7 +40,7 @@ * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Xh="9.14.5";function Jh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Dt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Dt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Dt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Dt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Dt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Zh=Th.__EXTEND_POINT__,Rt=Qo(Zh);Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt();const ml=pt.__EXTEND_POINT__,ze=Qo(ml),xe={UNEXPECTED_RETURN_TYPE:ml,INVALID_ARGUMENT:ze(),MUST_BE_CALL_SETUP_TOP:ze(),NOT_INSTALLED:ze(),NOT_AVAILABLE_IN_LEGACY_MODE:ze(),REQUIRED_VALUE:ze(),INVALID_VALUE:ze(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:ze(),NOT_INSTALLED_WITH_PROVIDE:ze(),UNEXPECTED_ERROR:ze(),NOT_COMPATIBLE_LEGACY_VUE_I18N:ze(),BRIDGE_SUPPORT_VUE_2_ONLY:ze(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:ze(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:ze(),__EXTEND_POINT__:ze()};function Me(e,...t){return An(e,null,void 0)}const us=qt("__translateVNode"),ps=qt("__datetimeParts"),ds=qt("__numberParts"),_l=qt("__setPluralRules"),bl=qt("__injectWithOption"),fs=qt("__dispose");function lo(e){if(!fe(e)||Ot(e))return e;for(const t in e)if(ct(e,t))if(!t.includes("."))fe(e[t])&&lo(e[t]);else{const n=t.split("."),o=n.length-1;let s=e,r=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:c}=a;l?(i[l]=i[l]||me(),tr(c,i[l])):tr(c,i)}else z(a)&&tr(JSON.parse(a),i)}),s==null&&r)for(const a in i)ct(i,a)&&lo(i[a]);return i}function yl(e){return e.type}function vl(e,t,n){let o=fe(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=sr(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const s=Object.keys(o);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,o[r])});{if(fe(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(fe(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function wl(e){return ke(Xn,null,e,0)}const kl="__INTLIFY_META__",$l=()=>[],Qh=()=>!1;let Ol=0;function Nl(e){return(t,n,o,s)=>e(n,o,Pt()||void 0,s)}const eg=()=>{const e=Pt();let t=null;return e&&(t=yl(e)[kl])?{[kl]:t}:null};function hs(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,i=Jo?ce:To,a=!!e.translateExistCompatible;let l=ue(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:z(e.locale)?e.locale:Ln),u=i(n&&l?n.fallbackLocale.value:z(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(sr(c.value,e)),h=i(se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),_=i(se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let v=n?n.missingWarn:ue(e.missingWarn)||zt(e.missingWarn)?e.missingWarn:!0,k=n?n.fallbackWarn:ue(e.fallbackWarn)||zt(e.fallbackWarn)?e.fallbackWarn:!0,F=n?n.fallbackRoot:ue(e.fallbackRoot)?e.fallbackRoot:!0,C=!!e.fallbackFormat,L=ve(e.missing)?e.missing:null,y=ve(e.missing)?Nl(e.missing):null,m=ve(e.postTranslation)?e.postTranslation:null,A=n?n.warnHtmlMessage:ue(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=n?n.modifiers:se(e.modifiers)?e.modifiers:{};let O=e.pluralRules||n&&n.pluralRules,T;T=(()=>{s&&tl(null);const N={version:Xh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:O,missing:y===null?void 0:y,missingWarn:v,fallbackWarn:k,fallbackFormat:C,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:A,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};N.datetimeFormats=h.value,N.numberFormats=_.value,N.__datetimeFormatters=se(T)?T.__datetimeFormatters:void 0,N.__numberFormatters=se(T)?T.__numberFormatters:void 0;const P=Wh(N);return s&&tl(P),P})(),ao(T,c.value,u.value);function ee(){return[c.value,u.value,f.value,h.value,_.value]}const U=ie({get:()=>c.value,set:N=>{c.value=N,T.locale=c.value}}),Y=ie({get:()=>u.value,set:N=>{u.value=N,T.fallbackLocale=u.value,ao(T,c.value,N)}}),oe=ie(()=>f.value),V=ie(()=>h.value),R=ie(()=>_.value);function K(){return ve(m)?m:null}function ae(N){m=N,T.postTranslation=N}function Ne(){return L}function Qe(N){N!==null&&(y=Nl(N)),L=N,T.missing=y}const Ae=(N,P,Z,le,we,He)=>{ee();let We;try{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=n?Rh():void 0),We=N(T)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=void 0)}if(Z!=="translate exists"&&Te(We)&&We===rr||Z==="translate exists"&&!We){const[hn,ys]=P();return n&&F?le(n):we(hn)}else{if(He(We))return We;throw Me(xe.UNEXPECTED_RETURN_TYPE)}};function Le(...N){return Ae(P=>Reflect.apply(al,null,[P,...N]),()=>as(...N),"translate",P=>Reflect.apply(P.t,P,[...N]),P=>P,P=>z(P))}function en(...N){const[P,Z,le]=N;if(le&&!fe(le))throw Me(xe.INVALID_ARGUMENT);return Le(P,Z,Re({resolvedMessage:!0},le||{}))}function tn(...N){return Ae(P=>Reflect.apply(ul,null,[P,...N]),()=>ls(...N),"datetime format",P=>Reflect.apply(P.d,P,[...N]),()=>qa,P=>z(P))}function fn(...N){return Ae(P=>Reflect.apply(fl,null,[P,...N]),()=>cs(...N),"number format",P=>Reflect.apply(P.n,P,[...N]),()=>qa,P=>z(P))}function dt(N){return N.map(P=>z(P)||Te(P)||ue(P)?wl(String(P)):P)}const Ut={normalize:dt,interpolate:N=>N,type:"vnode"};function nn(...N){return Ae(P=>{let Z;const le=P;try{le.processor=Ut,Z=Reflect.apply(al,null,[le,...N])}finally{le.processor=null}return Z},()=>as(...N),"translate",P=>P[us](...N),P=>[wl(P)],P=>Oe(P))}function rt(...N){return Ae(P=>Reflect.apply(fl,null,[P,...N]),()=>cs(...N),"number format",P=>P[ds](...N),$l,P=>z(P)||Oe(P))}function In(...N){return Ae(P=>Reflect.apply(ul,null,[P,...N]),()=>ls(...N),"datetime format",P=>P[ps](...N),$l,P=>z(P)||Oe(P))}function g(N){O=N,T.pluralRules=O}function w(N,P){return Ae(()=>{if(!N)return!1;const Z=z(P)?P:c.value,le=B(Z),we=T.messageResolver(le,N);return a?we!=null:Ot(we)||ot(we)||z(we)},()=>[N],"translate exists",Z=>Reflect.apply(Z.te,Z,[N,P]),Qh,Z=>ue(Z))}function b(N){let P=null;const Z=Va(T,u.value,c.value);for(let le=0;le{l&&(c.value=N,T.locale=N,ao(T,c.value,u.value))}),vt(n.fallbackLocale,N=>{l&&(u.value=N,T.fallbackLocale=N,ao(T,c.value,u.value))}));const W={id:Ol,locale:U,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(N){l=N,N&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,ao(T,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:oe,get modifiers(){return $},get pluralRules(){return O||{}},get isGlobal(){return s},get missingWarn(){return v},set missingWarn(N){v=N,T.missingWarn=v},get fallbackWarn(){return k},set fallbackWarn(N){k=N,T.fallbackWarn=k},get fallbackRoot(){return F},set fallbackRoot(N){F=N},get fallbackFormat(){return C},set fallbackFormat(N){C=N,T.fallbackFormat=C},get warnHtmlMessage(){return A},set warnHtmlMessage(N){A=N,T.warnHtmlMessage=N},get escapeParameter(){return S},set escapeParameter(N){S=N,T.escapeParameter=N},t:Le,getLocaleMessage:B,setLocaleMessage:D,mergeLocaleMessage:G,getPostTranslationHandler:K,setPostTranslationHandler:ae,getMissingHandler:Ne,setMissingHandler:Qe,[_l]:g};return W.datetimeFormats=V,W.numberFormats=R,W.rt=en,W.te=w,W.tm=I,W.d=tn,W.n=fn,W.getDateTimeFormat=j,W.setDateTimeFormat=p,W.mergeDateTimeFormat=d,W.getNumberFormat=E,W.setNumberFormat=x,W.mergeNumberFormat=H,W[bl]=o,W[us]=nn,W[ps]=In,W[ds]=rt,W}function tg(e){const t=z(e.locale)?e.locale:Ln,n=z(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=ve(e.missing)?e.missing:void 0,s=ue(e.silentTranslationWarn)||zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ue(e.silentFallbackWarn)||zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=ue(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ve(e.postTranslation)?e.postTranslation:void 0,f=z(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,_=ue(e.sync)?e.sync:!0;let v=e.messages;if(se(e.sharedMessages)){const S=e.sharedMessages;v=Object.keys(S).reduce((O,T)=>{const J=O[T]||(O[T]={});return Re(J,S[T]),O},v||{})}const{__i18n:k,__root:F,__injectWithOption:C}=e,L=e.datetimeFormats,y=e.numberFormats,m=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:v,flatJson:m,datetimeFormats:L,numberFormats:y,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:_,translateExistCompatible:A,__i18n:k,__root:F,__injectWithOption:C}}function gs(e={},t){{const n=hs(tg(e)),{__extender:o}=e,s={id:n.id,get locale(){return n.locale.value},set locale(r){n.locale.value=r},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(r){n.fallbackLocale.value=r},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(r){},get missing(){return n.getMissingHandler()},set missing(r){n.setMissingHandler(r)},get silentTranslationWarn(){return ue(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=ue(r)?!r:r},get silentFallbackWarn(){return ue(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=ue(r)?!r:r},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(r){n.fallbackFormat=r},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(r){n.setPostTranslationHandler(r)},get sync(){return n.inheritLocale},set sync(r){n.inheritLocale=r},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){n.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(r){n.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...r){const[i,a,l]=r,c={};let u=null,f=null;if(!z(i))throw Me(xe.INVALID_ARGUMENT);const h=i;return z(a)?c.locale=a:Oe(a)?u=a:se(a)&&(f=a),Oe(l)?u=l:se(l)&&(f=l),Reflect.apply(n.t,n,[h,u||f||{},c])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[i,a,l]=r,c={plural:1};let u=null,f=null;if(!z(i))throw Me(xe.INVALID_ARGUMENT);const h=i;return z(a)?c.locale=a:Te(a)?c.plural=a:Oe(a)?u=a:se(a)&&(f=a),z(l)?c.locale=l:Oe(l)?u=l:se(l)&&(f=l),Reflect.apply(n.t,n,[h,u||f||{},c])},te(r,i){return n.te(r,i)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,i){n.setLocaleMessage(r,i)},mergeLocaleMessage(r,i){n.mergeLocaleMessage(r,i)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,i){n.setDateTimeFormat(r,i)},mergeDateTimeFormat(r,i){n.mergeDateTimeFormat(r,i)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,i){n.setNumberFormat(r,i)},mergeNumberFormat(r,i){n.mergeNumberFormat(r,i)},getChoiceIndex(r,i){return-1}};return s.__extender=o,s}}const ms={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function ng({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,s)=>[...o,...s.type===de?s.children:[s]],[]):t.reduce((n,o)=>{const s=e[o];return s&&(n[o]=s()),n},me())}function Cl(e){return de}const Al=Hn({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},ms),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||Zt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(f=>f!=="_"),i=me();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=z(e.plural)?+e.plural:e.plural);const a=ng(t,r),l=s[us](e.keypath,a,i),c=Re(me(),o),u=z(e.tag)||fe(e.tag)?e.tag:Cl();return Qi(u,c,l)}}});function og(e){return Oe(e)&&!z(e[0])}function El(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const i={part:!0};let a=me();e.locale&&(i.locale=e.locale),z(e.format)?i.key=e.format:fe(e.format)&&(z(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((h,_)=>n.includes(_)?Re(me(),h,{[_]:e.format[_]}):h,me()));const l=o(e.value,i,a);let c=[i.key];Oe(l)?c=l.map((h,_)=>{const v=s[h.type],k=v?v({[h.type]:h.value,index:_,parts:l}):[h.value];return og(k)&&(k[0].key=`${h.type}-${_}`),k}):z(l)&&(c=[l]);const u=Re(me(),r),f=z(e.tag)||fe(e.tag)?e.tag:Cl();return Qi(f,u,c)}}const Tl=Hn({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},ms),setup(e,t){const n=e.i18n||Zt({useScope:e.scope,__useComponent:!0});return El(e,t,hl,(...o)=>n[ds](...o))}}),Ll=Hn({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ms),setup(e,t){const n=e.i18n||Zt({useScope:e.scope,__useComponent:!0});return El(e,t,pl,(...o)=>n[ps](...o))}});function rg(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 sg(e){const t=i=>{const{instance:a,modifiers:l,value:c}=i;if(!a||!a.$)throw Me(xe.UNEXPECTED_ERROR);const u=rg(e,a.$),f=Sl(c);return[Reflect.apply(u.t,u,[...Il(f)]),u]};return{created:(i,a)=>{const[l,c]=t(a);Jo&&e.global===c&&(i.__i18nWatcher=vt(c.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Jo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,c=Sl(a);i.textContent=Reflect.apply(l.t,l,[...Il(c)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function Sl(e){if(z(e))return{path:e};if(se(e)){if(!("path"in e))throw Me(xe.REQUIRED_VALUE,"path");return e}else throw Me(xe.INVALID_VALUE)}function Il(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,i={},a=o||{};return z(n)&&(i.locale=n),Te(s)&&(i.plural=s),Te(r)&&(i.plural=r),[t,a,i]}function ig(e,t,...n){const o=se(n[0])?n[0]:{},s=!!o.useI18nComponentName;(ue(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":Al.name,"I18nT"].forEach(i=>e.component(i,Al)),[Tl.name,"I18nN"].forEach(i=>e.component(i,Tl)),[Ll.name,"I18nD"].forEach(i=>e.component(i,Ll))),e.directive("t",sg(t))}function ag(e,t,n){return{beforeCreate(){const o=Pt();if(!o)throw Me(xe.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const r=s.i18n;if(s.__i18n&&(r.__i18n=s.__i18n),r.__root=t,this===this.$root)this.$i18n=Fl(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=gs(r);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Fl(e,s);else{this.$i18n=gs({__i18n:s.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&vl(t,s,s),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,i)=>this.$i18n.te(r,i),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Pt();if(!o)throw Me(xe.UNEXPECTED_ERROR);const s=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,s.__disposer&&(s.__disposer(),delete s.__disposer,delete s.__extender),n.__deleteInstance(o),delete this.$i18n}}}function Fl(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[_l](t.pluralizationRules||e.pluralizationRules);const n=sr(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 lg=qt("global-vue-i18n");function cg(e={},t){const n=__VUE_I18N_LEGACY_API__&&ue(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ue(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[i,a]=ug(e,n),l=qt("");function c(h){return r.get(h)||null}function u(h,_){r.set(h,_)}function f(h){r.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(_,...v){if(_.__VUE_I18N_SYMBOL__=l,_.provide(_.__VUE_I18N_SYMBOL__,h),se(v[0])){const C=v[0];h.__composerExtend=C.__composerExtend,h.__vueI18nExtend=C.__vueI18nExtend}let k=null;!n&&o&&(k=yg(_,h.global)),__VUE_I18N_FULL_INSTALL__&&ig(_,h,...v),__VUE_I18N_LEGACY_API__&&n&&_.mixin(ag(a,a.__composer,h));const F=_.unmount;_.unmount=()=>{k&&k(),h.dispose(),F()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return h}}function Zt(e={}){const t=Pt();if(t==null)throw Me(xe.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Me(xe.NOT_INSTALLED);const n=pg(t),o=fg(n),s=yl(t),r=dg(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Me(xe.NOT_AVAILABLE_IN_LEGACY_MODE);return _g(t,r,o,e)}if(r==="global")return vl(o,e,s),o;if(r==="parent"){let l=hg(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let a=i.__getInstance(t);if(a==null){const l=Re({},e);"__i18n"in s&&(l.__i18n=s.__i18n),o&&(l.__root=o),a=hs(l),i.__composerExtend&&(a[fs]=i.__composerExtend(a)),mg(i,t,a),i.__setInstance(t,a)}return a}function ug(e,t,n){const o=fr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>gs(e)):o.run(()=>hs(e));if(s==null)throw Me(xe.UNEXPECTED_ERROR);return[o,s]}}function pg(e){{const t=qe(e.isCE?lg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Me(e.isCE?xe.NOT_INSTALLED_WITH_PROVIDE:xe.UNEXPECTED_ERROR);return t}}function dg(e,t){return Zo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function fg(e){return e.mode==="composition"?e.global:e.global.__composer}function hg(e,t,n=!1){let o=null;const s=t.root;let r=gg(t,n);for(;r!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const a=i.__getInstance(r);a!=null&&(o=a.__composer,n&&o&&!o[bl]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function gg(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function mg(e,t,n){Vt(()=>{},t),Wo(()=>{const o=n;e.__deleteInstance(t);const s=o[fs];s&&(s(),delete o[fs])},t)}function _g(e,t,n,o={}){const s=t==="local",r=To(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Me(xe.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=ue(o.inheritLocale)?o.inheritLocale:!z(o.locale),a=ce(!s||i?n.locale.value:z(o.locale)?o.locale:Ln),l=ce(!s||i?n.fallbackLocale.value:z(o.fallbackLocale)||Oe(o.fallbackLocale)||se(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:a.value),c=ce(sr(a.value,o)),u=ce(se(o.datetimeFormats)?o.datetimeFormats:{[a.value]:{}}),f=ce(se(o.numberFormats)?o.numberFormats:{[a.value]:{}}),h=s?n.missingWarn:ue(o.missingWarn)||zt(o.missingWarn)?o.missingWarn:!0,_=s?n.fallbackWarn:ue(o.fallbackWarn)||zt(o.fallbackWarn)?o.fallbackWarn:!0,v=s?n.fallbackRoot:ue(o.fallbackRoot)?o.fallbackRoot:!0,k=!!o.fallbackFormat,F=ve(o.missing)?o.missing:null,C=ve(o.postTranslation)?o.postTranslation:null,L=s?n.warnHtmlMessage:ue(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,m=s?n.modifiers:se(o.modifiers)?o.modifiers:{},A=o.pluralRules||s&&n.pluralRules;function S(){return[a.value,l.value,c.value,u.value,f.value]}const $=ie({get:()=>r.value?r.value.locale.value:a.value,set:b=>{r.value&&(r.value.locale.value=b),a.value=b}}),O=ie({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:b=>{r.value&&(r.value.fallbackLocale.value=b),l.value=b}}),T=ie(()=>r.value?r.value.messages.value:c.value),J=ie(()=>u.value),ee=ie(()=>f.value);function U(){return r.value?r.value.getPostTranslationHandler():C}function Y(b){r.value&&r.value.setPostTranslationHandler(b)}function oe(){return r.value?r.value.getMissingHandler():F}function V(b){r.value&&r.value.setMissingHandler(b)}function R(b){return S(),b()}function K(...b){return r.value?R(()=>Reflect.apply(r.value.t,null,[...b])):R(()=>"")}function ae(...b){return r.value?Reflect.apply(r.value.rt,null,[...b]):""}function Ne(...b){return r.value?R(()=>Reflect.apply(r.value.d,null,[...b])):R(()=>"")}function Qe(...b){return r.value?R(()=>Reflect.apply(r.value.n,null,[...b])):R(()=>"")}function Ae(b){return r.value?r.value.tm(b):{}}function Le(b,I){return r.value?r.value.te(b,I):!1}function en(b){return r.value?r.value.getLocaleMessage(b):{}}function tn(b,I){r.value&&(r.value.setLocaleMessage(b,I),c.value[b]=I)}function fn(b,I){r.value&&r.value.mergeLocaleMessage(b,I)}function dt(b){return r.value?r.value.getDateTimeFormat(b):{}}function Wt(b,I){r.value&&(r.value.setDateTimeFormat(b,I),u.value[b]=I)}function Ut(b,I){r.value&&r.value.mergeDateTimeFormat(b,I)}function nn(b){return r.value?r.value.getNumberFormat(b):{}}function rt(b,I){r.value&&(r.value.setNumberFormat(b,I),f.value[b]=I)}function In(b,I){r.value&&r.value.mergeNumberFormat(b,I)}const g={get id(){return r.value?r.value.id:-1},locale:$,fallbackLocale:O,messages:T,datetimeFormats:J,numberFormats:ee,get inheritLocale(){return r.value?r.value.inheritLocale:i},set inheritLocale(b){r.value&&(r.value.inheritLocale=b)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:m},get pluralRules(){return r.value?r.value.pluralRules:A},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:h},set missingWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackWarn(){return r.value?r.value.fallbackWarn:_},set fallbackWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackRoot(){return r.value?r.value.fallbackRoot:v},set fallbackRoot(b){r.value&&(r.value.fallbackRoot=b)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(b){r.value&&(r.value.fallbackFormat=b)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:L},set warnHtmlMessage(b){r.value&&(r.value.warnHtmlMessage=b)},get escapeParameter(){return r.value?r.value.escapeParameter:y},set escapeParameter(b){r.value&&(r.value.escapeParameter=b)},t:K,getPostTranslationHandler:U,setPostTranslationHandler:Y,getMissingHandler:oe,setMissingHandler:V,rt:ae,d:Ne,n:Qe,tm:Ae,te:Le,getLocaleMessage:en,setLocaleMessage:tn,mergeLocaleMessage:fn,getDateTimeFormat:dt,setDateTimeFormat:Wt,mergeDateTimeFormat:Ut,getNumberFormat:nn,setNumberFormat:rt,mergeNumberFormat:In};function w(b){b.locale.value=a.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(I=>{b.mergeLocaleMessage(I,c.value[I])}),Object.keys(u.value).forEach(I=>{b.mergeDateTimeFormat(I,u.value[I])}),Object.keys(f.value).forEach(I=>{b.mergeNumberFormat(I,f.value[I])}),b.escapeParameter=y,b.fallbackFormat=k,b.fallbackRoot=v,b.fallbackWarn=_,b.missingWarn=h,b.warnHtmlMessage=L}return gi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Me(xe.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=r.value=e.proxy.$i18n.__composer;t==="global"?(a.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,f.value=b.numberFormats.value):s&&w(b)}),g}const bg=["locale","fallbackLocale","availableLocales"],xl=["t","rt","d","n","tm","te"];function yg(e,t){const n=Object.create(null);return bg.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Me(xe.UNEXPECTED_ERROR);const i=Ce(r.value)?{get(){return r.value.value},set(a){r.value.value=a}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,xl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Me(xe.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,xl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Jh(),__INTLIFY_JIT_COMPILATION__?Xa(Vh):Xa(Yh),Ph(gh),Mh(Va),__INTLIFY_PROD_DEVTOOLS__){const e=Dt();e.__INTLIFY__=!0,Oh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const vg=Object.assign({"./locales/ar/aria.json":Np,"./locales/ar/buttons.json":Cp,"./locales/ar/detail.json":Ap,"./locales/ar/legend.json":Ep,"./locales/ar/messages.json":Tp,"./locales/ar/options.json":Lp,"./locales/ar/prayerLaps.json":Sp,"./locales/ar/search.json":Ip,"./locales/ar/tabs.json":Fp,"./locales/de/aria.json":xp,"./locales/de/buttons.json":Pp,"./locales/de/detail.json":Mp,"./locales/de/legend.json":Dp,"./locales/de/messages.json":Bp,"./locales/de/options.json":Rp,"./locales/de/prayerLaps.json":Wp,"./locales/de/search.json":Up,"./locales/de/tabs.json":jp,"./locales/en/aria.json":Gp,"./locales/en/buttons.json":Yp,"./locales/en/detail.json":Vp,"./locales/en/legend.json":Hp,"./locales/en/messages.json":qp,"./locales/en/options.json":zp,"./locales/en/popup.json":Kp,"./locales/en/prayerLaps.json":Xp,"./locales/en/search.json":Jp,"./locales/en/tabs.json":Zp,"./locales/es/aria.json":Qp,"./locales/es/buttons.json":ed,"./locales/es/detail.json":td,"./locales/es/legend.json":nd,"./locales/es/messages.json":od,"./locales/es/options.json":rd,"./locales/es/prayerLaps.json":sd,"./locales/es/search.json":id,"./locales/es/tabs.json":ad,"./locales/fr/aria.json":ld,"./locales/fr/buttons.json":cd,"./locales/fr/detail.json":ud,"./locales/fr/legend.json":pd,"./locales/fr/messages.json":dd,"./locales/fr/options.json":fd,"./locales/fr/popup.json":hd,"./locales/fr/prayerLaps.json":gd,"./locales/fr/search.json":md,"./locales/fr/tabs.json":_d,"./locales/hi/aria.json":bd,"./locales/hi/buttons.json":yd,"./locales/hi/detail.json":vd,"./locales/hi/legend.json":wd,"./locales/hi/messages.json":kd,"./locales/hi/options.json":$d,"./locales/hi/prayerLaps.json":Od,"./locales/hi/search.json":Nd,"./locales/it/aria.json":Cd,"./locales/it/buttons.json":Ad,"./locales/it/detail.json":Ed,"./locales/it/legend.json":Td,"./locales/it/messages.json":Ld,"./locales/it/options.json":Sd,"./locales/it/prayerLaps.json":Id,"./locales/it/search.json":Fd,"./locales/pt/aria.json":xd,"./locales/pt/buttons.json":Pd,"./locales/pt/detail.json":Md,"./locales/pt/legend.json":Dd,"./locales/pt/messages.json":Bd,"./locales/pt/options.json":Rd,"./locales/pt/prayerLaps.json":Wd,"./locales/pt/search.json":Ud,"./locales/pt/tabs.json":jd,"./locales/ro/aria.json":Gd,"./locales/ro/buttons.json":Yd,"./locales/ro/detail.json":Vd,"./locales/ro/legend.json":Hd,"./locales/ro/messages.json":qd,"./locales/ro/options.json":zd,"./locales/ro/prayerLaps.json":Kd,"./locales/ro/search.json":Xd,"./locales/ru/aria.json":Jd,"./locales/ru/buttons.json":Zd,"./locales/ru/detail.json":Qd,"./locales/ru/legend.json":ef,"./locales/ru/messages.json":tf,"./locales/ru/options.json":nf,"./locales/ru/prayerLaps.json":of,"./locales/ru/search.json":rf,"./locales/ru/tabs.json":sf,"./locales/zh/aria.json":af,"./locales/zh/buttons.json":lf,"./locales/zh/detail.json":cf,"./locales/zh/legend.json":uf,"./locales/zh/messages.json":pf,"./locales/zh/options.json":df,"./locales/zh/prayerLaps.json":ff,"./locales/zh/search.json":hf}),co={};for(const[e,t]of Object.entries(vg)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;co[o]??(co[o]={}),co[o][s]=t}const Pl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function wg(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Pl.includes(t)?t:"en"}function kg(){return cg({legacy:!1,globalInjection:!0,locale:wg(),fallbackLocale:"en",messages:co,missingWarn:!1,fallbackWarn:!1})}function Qt(e,t){const n=t||$g(e);Vt(()=>{var a;const o=Pt();if(!o)return;const s=(a=o.proxy)==null?void 0:a.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,r.appendChild(i)})}function $g(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),s=ie(()=>{var v;return((v=n==null?void 0:n.value)==null?void 0:v.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=ce(!1);let i=null,a=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function f(){try{sessionStorage.setItem(c(),"1")}catch{}}function h(){r.value&&(r.value=!1,f(),l&&(l.removeEventListener("pointerdown",_,!0),l=null),i&&(clearTimeout(i),i=null))}function _(){h()}return Vt(()=>{var C,L,y;if(u())return;const v=Pt(),k=(y=(L=(C=v==null?void 0:v.proxy)==null?void 0:C.$el)==null?void 0:L.getRootNode)==null?void 0:y.call(L);if(!k||typeof k.querySelector!="function")return;let F=0;a=setInterval(()=>{F++,k.querySelector("canvas")?(clearInterval(a),a=null,r.value=!0,l=k,k.addEventListener("pointerdown",_,!0),i=setTimeout(h,14e3)):F>40&&(clearInterval(a),a=null)},300)}),$n(()=>{a&&clearInterval(a),i&&clearTimeout(i),l&&l.removeEventListener("pointerdown",_,!0)}),Qt(` + */const Xh="9.14.5";function Jh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Dt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Dt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Dt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Dt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Dt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Zh=Th.__EXTEND_POINT__,Rt=Qo(Zh);Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt();const ml=pt.__EXTEND_POINT__,ze=Qo(ml),Fe={UNEXPECTED_RETURN_TYPE:ml,INVALID_ARGUMENT:ze(),MUST_BE_CALL_SETUP_TOP:ze(),NOT_INSTALLED:ze(),NOT_AVAILABLE_IN_LEGACY_MODE:ze(),REQUIRED_VALUE:ze(),INVALID_VALUE:ze(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:ze(),NOT_INSTALLED_WITH_PROVIDE:ze(),UNEXPECTED_ERROR:ze(),NOT_COMPATIBLE_LEGACY_VUE_I18N:ze(),BRIDGE_SUPPORT_VUE_2_ONLY:ze(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:ze(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:ze(),__EXTEND_POINT__:ze()};function Pe(e,...t){return An(e,null,void 0)}const us=qt("__translateVNode"),ps=qt("__datetimeParts"),ds=qt("__numberParts"),_l=qt("__setPluralRules"),bl=qt("__injectWithOption"),fs=qt("__dispose");function lo(e){if(!fe(e)||Ot(e))return e;for(const t in e)if(ct(e,t))if(!t.includes("."))fe(e[t])&&lo(e[t]);else{const n=t.split("."),o=n.length-1;let s=e,r=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:c}=a;l?(i[l]=i[l]||me(),tr(c,i[l])):tr(c,i)}else z(a)&&tr(JSON.parse(a),i)}),s==null&&r)for(const a in i)ct(i,a)&&lo(i[a]);return i}function yl(e){return e.type}function vl(e,t,n){let o=fe(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=sr(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const s=Object.keys(o);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,o[r])});{if(fe(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(fe(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function wl(e){return ke(Xn,null,e,0)}const kl="__INTLIFY_META__",$l=()=>[],Qh=()=>!1;let Ol=0;function Nl(e){return(t,n,o,s)=>e(n,o,Pt()||void 0,s)}const eg=()=>{const e=Pt();let t=null;return e&&(t=yl(e)[kl])?{[kl]:t}:null};function hs(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,i=Jo?ce:To,a=!!e.translateExistCompatible;let l=ue(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:z(e.locale)?e.locale:Ln),u=i(n&&l?n.fallbackLocale.value:z(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(sr(c.value,e)),h=i(se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),_=i(se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let v=n?n.missingWarn:ue(e.missingWarn)||zt(e.missingWarn)?e.missingWarn:!0,k=n?n.fallbackWarn:ue(e.fallbackWarn)||zt(e.fallbackWarn)?e.fallbackWarn:!0,F=n?n.fallbackRoot:ue(e.fallbackRoot)?e.fallbackRoot:!0,C=!!e.fallbackFormat,L=ve(e.missing)?e.missing:null,y=ve(e.missing)?Nl(e.missing):null,m=ve(e.postTranslation)?e.postTranslation:null,A=n?n.warnHtmlMessage:ue(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=n?n.modifiers:se(e.modifiers)?e.modifiers:{};let O=e.pluralRules||n&&n.pluralRules,T;T=(()=>{s&&tl(null);const N={version:Xh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:O,missing:y===null?void 0:y,missingWarn:v,fallbackWarn:k,fallbackFormat:C,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:A,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};N.datetimeFormats=h.value,N.numberFormats=_.value,N.__datetimeFormatters=se(T)?T.__datetimeFormatters:void 0,N.__numberFormatters=se(T)?T.__numberFormatters:void 0;const P=Wh(N);return s&&tl(P),P})(),ao(T,c.value,u.value);function ee(){return[c.value,u.value,f.value,h.value,_.value]}const U=ie({get:()=>c.value,set:N=>{c.value=N,T.locale=c.value}}),Y=ie({get:()=>u.value,set:N=>{u.value=N,T.fallbackLocale=u.value,ao(T,c.value,N)}}),re=ie(()=>f.value),V=ie(()=>h.value),R=ie(()=>_.value);function K(){return ve(m)?m:null}function ae(N){m=N,T.postTranslation=N}function Ce(){return L}function Qe(N){N!==null&&(y=Nl(N)),L=N,T.missing=y}const Ae=(N,P,Z,le,we,He)=>{ee();let We;try{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=n?Rh():void 0),We=N(T)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=void 0)}if(Z!=="translate exists"&&Te(We)&&We===rr||Z==="translate exists"&&!We){const[hn,ys]=P();return n&&F?le(n):we(hn)}else{if(He(We))return We;throw Pe(Fe.UNEXPECTED_RETURN_TYPE)}};function Me(...N){return Ae(P=>Reflect.apply(al,null,[P,...N]),()=>as(...N),"translate",P=>Reflect.apply(P.t,P,[...N]),P=>P,P=>z(P))}function en(...N){const[P,Z,le]=N;if(le&&!fe(le))throw Pe(Fe.INVALID_ARGUMENT);return Me(P,Z,Re({resolvedMessage:!0},le||{}))}function tn(...N){return Ae(P=>Reflect.apply(ul,null,[P,...N]),()=>ls(...N),"datetime format",P=>Reflect.apply(P.d,P,[...N]),()=>qa,P=>z(P))}function fn(...N){return Ae(P=>Reflect.apply(fl,null,[P,...N]),()=>cs(...N),"number format",P=>Reflect.apply(P.n,P,[...N]),()=>qa,P=>z(P))}function dt(N){return N.map(P=>z(P)||Te(P)||ue(P)?wl(String(P)):P)}const Ut={normalize:dt,interpolate:N=>N,type:"vnode"};function nn(...N){return Ae(P=>{let Z;const le=P;try{le.processor=Ut,Z=Reflect.apply(al,null,[le,...N])}finally{le.processor=null}return Z},()=>as(...N),"translate",P=>P[us](...N),P=>[wl(P)],P=>Oe(P))}function rt(...N){return Ae(P=>Reflect.apply(fl,null,[P,...N]),()=>cs(...N),"number format",P=>P[ds](...N),$l,P=>z(P)||Oe(P))}function In(...N){return Ae(P=>Reflect.apply(ul,null,[P,...N]),()=>ls(...N),"datetime format",P=>P[ps](...N),$l,P=>z(P)||Oe(P))}function g(N){O=N,T.pluralRules=O}function w(N,P){return Ae(()=>{if(!N)return!1;const Z=z(P)?P:c.value,le=B(Z),we=T.messageResolver(le,N);return a?we!=null:Ot(we)||ot(we)||z(we)},()=>[N],"translate exists",Z=>Reflect.apply(Z.te,Z,[N,P]),Qh,Z=>ue(Z))}function b(N){let P=null;const Z=Va(T,u.value,c.value);for(let le=0;le{l&&(c.value=N,T.locale=N,ao(T,c.value,u.value))}),vt(n.fallbackLocale,N=>{l&&(u.value=N,T.fallbackLocale=N,ao(T,c.value,u.value))}));const W={id:Ol,locale:U,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(N){l=N,N&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,ao(T,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:re,get modifiers(){return $},get pluralRules(){return O||{}},get isGlobal(){return s},get missingWarn(){return v},set missingWarn(N){v=N,T.missingWarn=v},get fallbackWarn(){return k},set fallbackWarn(N){k=N,T.fallbackWarn=k},get fallbackRoot(){return F},set fallbackRoot(N){F=N},get fallbackFormat(){return C},set fallbackFormat(N){C=N,T.fallbackFormat=C},get warnHtmlMessage(){return A},set warnHtmlMessage(N){A=N,T.warnHtmlMessage=N},get escapeParameter(){return S},set escapeParameter(N){S=N,T.escapeParameter=N},t:Me,getLocaleMessage:B,setLocaleMessage:D,mergeLocaleMessage:G,getPostTranslationHandler:K,setPostTranslationHandler:ae,getMissingHandler:Ce,setMissingHandler:Qe,[_l]:g};return W.datetimeFormats=V,W.numberFormats=R,W.rt=en,W.te=w,W.tm=I,W.d=tn,W.n=fn,W.getDateTimeFormat=j,W.setDateTimeFormat=p,W.mergeDateTimeFormat=d,W.getNumberFormat=E,W.setNumberFormat=x,W.mergeNumberFormat=H,W[bl]=o,W[us]=nn,W[ps]=In,W[ds]=rt,W}function tg(e){const t=z(e.locale)?e.locale:Ln,n=z(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=ve(e.missing)?e.missing:void 0,s=ue(e.silentTranslationWarn)||zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ue(e.silentFallbackWarn)||zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=ue(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ve(e.postTranslation)?e.postTranslation:void 0,f=z(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,_=ue(e.sync)?e.sync:!0;let v=e.messages;if(se(e.sharedMessages)){const S=e.sharedMessages;v=Object.keys(S).reduce((O,T)=>{const J=O[T]||(O[T]={});return Re(J,S[T]),O},v||{})}const{__i18n:k,__root:F,__injectWithOption:C}=e,L=e.datetimeFormats,y=e.numberFormats,m=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:v,flatJson:m,datetimeFormats:L,numberFormats:y,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:_,translateExistCompatible:A,__i18n:k,__root:F,__injectWithOption:C}}function gs(e={},t){{const n=hs(tg(e)),{__extender:o}=e,s={id:n.id,get locale(){return n.locale.value},set locale(r){n.locale.value=r},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(r){n.fallbackLocale.value=r},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(r){},get missing(){return n.getMissingHandler()},set missing(r){n.setMissingHandler(r)},get silentTranslationWarn(){return ue(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=ue(r)?!r:r},get silentFallbackWarn(){return ue(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=ue(r)?!r:r},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(r){n.fallbackFormat=r},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(r){n.setPostTranslationHandler(r)},get sync(){return n.inheritLocale},set sync(r){n.inheritLocale=r},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){n.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(r){n.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...r){const[i,a,l]=r,c={};let u=null,f=null;if(!z(i))throw Pe(Fe.INVALID_ARGUMENT);const h=i;return z(a)?c.locale=a:Oe(a)?u=a:se(a)&&(f=a),Oe(l)?u=l:se(l)&&(f=l),Reflect.apply(n.t,n,[h,u||f||{},c])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[i,a,l]=r,c={plural:1};let u=null,f=null;if(!z(i))throw Pe(Fe.INVALID_ARGUMENT);const h=i;return z(a)?c.locale=a:Te(a)?c.plural=a:Oe(a)?u=a:se(a)&&(f=a),z(l)?c.locale=l:Oe(l)?u=l:se(l)&&(f=l),Reflect.apply(n.t,n,[h,u||f||{},c])},te(r,i){return n.te(r,i)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,i){n.setLocaleMessage(r,i)},mergeLocaleMessage(r,i){n.mergeLocaleMessage(r,i)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,i){n.setDateTimeFormat(r,i)},mergeDateTimeFormat(r,i){n.mergeDateTimeFormat(r,i)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,i){n.setNumberFormat(r,i)},mergeNumberFormat(r,i){n.mergeNumberFormat(r,i)},getChoiceIndex(r,i){return-1}};return s.__extender=o,s}}const ms={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function ng({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,s)=>[...o,...s.type===de?s.children:[s]],[]):t.reduce((n,o)=>{const s=e[o];return s&&(n[o]=s()),n},me())}function Cl(e){return de}const Al=Hn({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},ms),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||Zt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(f=>f!=="_"),i=me();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=z(e.plural)?+e.plural:e.plural);const a=ng(t,r),l=s[us](e.keypath,a,i),c=Re(me(),o),u=z(e.tag)||fe(e.tag)?e.tag:Cl();return Qi(u,c,l)}}});function og(e){return Oe(e)&&!z(e[0])}function El(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const i={part:!0};let a=me();e.locale&&(i.locale=e.locale),z(e.format)?i.key=e.format:fe(e.format)&&(z(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((h,_)=>n.includes(_)?Re(me(),h,{[_]:e.format[_]}):h,me()));const l=o(e.value,i,a);let c=[i.key];Oe(l)?c=l.map((h,_)=>{const v=s[h.type],k=v?v({[h.type]:h.value,index:_,parts:l}):[h.value];return og(k)&&(k[0].key=`${h.type}-${_}`),k}):z(l)&&(c=[l]);const u=Re(me(),r),f=z(e.tag)||fe(e.tag)?e.tag:Cl();return Qi(f,u,c)}}const Tl=Hn({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},ms),setup(e,t){const n=e.i18n||Zt({useScope:e.scope,__useComponent:!0});return El(e,t,hl,(...o)=>n[ds](...o))}}),Ll=Hn({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ms),setup(e,t){const n=e.i18n||Zt({useScope:e.scope,__useComponent:!0});return El(e,t,pl,(...o)=>n[ps](...o))}});function rg(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 sg(e){const t=i=>{const{instance:a,modifiers:l,value:c}=i;if(!a||!a.$)throw Pe(Fe.UNEXPECTED_ERROR);const u=rg(e,a.$),f=Sl(c);return[Reflect.apply(u.t,u,[...Il(f)]),u]};return{created:(i,a)=>{const[l,c]=t(a);Jo&&e.global===c&&(i.__i18nWatcher=vt(c.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Jo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,c=Sl(a);i.textContent=Reflect.apply(l.t,l,[...Il(c)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function Sl(e){if(z(e))return{path:e};if(se(e)){if(!("path"in e))throw Pe(Fe.REQUIRED_VALUE,"path");return e}else throw Pe(Fe.INVALID_VALUE)}function Il(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,i={},a=o||{};return z(n)&&(i.locale=n),Te(s)&&(i.plural=s),Te(r)&&(i.plural=r),[t,a,i]}function ig(e,t,...n){const o=se(n[0])?n[0]:{},s=!!o.useI18nComponentName;(ue(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":Al.name,"I18nT"].forEach(i=>e.component(i,Al)),[Tl.name,"I18nN"].forEach(i=>e.component(i,Tl)),[Ll.name,"I18nD"].forEach(i=>e.component(i,Ll))),e.directive("t",sg(t))}function ag(e,t,n){return{beforeCreate(){const o=Pt();if(!o)throw Pe(Fe.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const r=s.i18n;if(s.__i18n&&(r.__i18n=s.__i18n),r.__root=t,this===this.$root)this.$i18n=Fl(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=gs(r);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Fl(e,s);else{this.$i18n=gs({__i18n:s.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&vl(t,s,s),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,i)=>this.$i18n.te(r,i),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Pt();if(!o)throw Pe(Fe.UNEXPECTED_ERROR);const s=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,s.__disposer&&(s.__disposer(),delete s.__disposer,delete s.__extender),n.__deleteInstance(o),delete this.$i18n}}}function Fl(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[_l](t.pluralizationRules||e.pluralizationRules);const n=sr(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 lg=qt("global-vue-i18n");function cg(e={},t){const n=__VUE_I18N_LEGACY_API__&&ue(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ue(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[i,a]=ug(e,n),l=qt("");function c(h){return r.get(h)||null}function u(h,_){r.set(h,_)}function f(h){r.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(_,...v){if(_.__VUE_I18N_SYMBOL__=l,_.provide(_.__VUE_I18N_SYMBOL__,h),se(v[0])){const C=v[0];h.__composerExtend=C.__composerExtend,h.__vueI18nExtend=C.__vueI18nExtend}let k=null;!n&&o&&(k=yg(_,h.global)),__VUE_I18N_FULL_INSTALL__&&ig(_,h,...v),__VUE_I18N_LEGACY_API__&&n&&_.mixin(ag(a,a.__composer,h));const F=_.unmount;_.unmount=()=>{k&&k(),h.dispose(),F()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return h}}function Zt(e={}){const t=Pt();if(t==null)throw Pe(Fe.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Pe(Fe.NOT_INSTALLED);const n=pg(t),o=fg(n),s=yl(t),r=dg(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Pe(Fe.NOT_AVAILABLE_IN_LEGACY_MODE);return _g(t,r,o,e)}if(r==="global")return vl(o,e,s),o;if(r==="parent"){let l=hg(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let a=i.__getInstance(t);if(a==null){const l=Re({},e);"__i18n"in s&&(l.__i18n=s.__i18n),o&&(l.__root=o),a=hs(l),i.__composerExtend&&(a[fs]=i.__composerExtend(a)),mg(i,t,a),i.__setInstance(t,a)}return a}function ug(e,t,n){const o=fr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>gs(e)):o.run(()=>hs(e));if(s==null)throw Pe(Fe.UNEXPECTED_ERROR);return[o,s]}}function pg(e){{const t=qe(e.isCE?lg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Pe(e.isCE?Fe.NOT_INSTALLED_WITH_PROVIDE:Fe.UNEXPECTED_ERROR);return t}}function dg(e,t){return Zo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function fg(e){return e.mode==="composition"?e.global:e.global.__composer}function hg(e,t,n=!1){let o=null;const s=t.root;let r=gg(t,n);for(;r!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const a=i.__getInstance(r);a!=null&&(o=a.__composer,n&&o&&!o[bl]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function gg(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function mg(e,t,n){Vt(()=>{},t),Wo(()=>{const o=n;e.__deleteInstance(t);const s=o[fs];s&&(s(),delete o[fs])},t)}function _g(e,t,n,o={}){const s=t==="local",r=To(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Pe(Fe.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=ue(o.inheritLocale)?o.inheritLocale:!z(o.locale),a=ce(!s||i?n.locale.value:z(o.locale)?o.locale:Ln),l=ce(!s||i?n.fallbackLocale.value:z(o.fallbackLocale)||Oe(o.fallbackLocale)||se(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:a.value),c=ce(sr(a.value,o)),u=ce(se(o.datetimeFormats)?o.datetimeFormats:{[a.value]:{}}),f=ce(se(o.numberFormats)?o.numberFormats:{[a.value]:{}}),h=s?n.missingWarn:ue(o.missingWarn)||zt(o.missingWarn)?o.missingWarn:!0,_=s?n.fallbackWarn:ue(o.fallbackWarn)||zt(o.fallbackWarn)?o.fallbackWarn:!0,v=s?n.fallbackRoot:ue(o.fallbackRoot)?o.fallbackRoot:!0,k=!!o.fallbackFormat,F=ve(o.missing)?o.missing:null,C=ve(o.postTranslation)?o.postTranslation:null,L=s?n.warnHtmlMessage:ue(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,m=s?n.modifiers:se(o.modifiers)?o.modifiers:{},A=o.pluralRules||s&&n.pluralRules;function S(){return[a.value,l.value,c.value,u.value,f.value]}const $=ie({get:()=>r.value?r.value.locale.value:a.value,set:b=>{r.value&&(r.value.locale.value=b),a.value=b}}),O=ie({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:b=>{r.value&&(r.value.fallbackLocale.value=b),l.value=b}}),T=ie(()=>r.value?r.value.messages.value:c.value),J=ie(()=>u.value),ee=ie(()=>f.value);function U(){return r.value?r.value.getPostTranslationHandler():C}function Y(b){r.value&&r.value.setPostTranslationHandler(b)}function re(){return r.value?r.value.getMissingHandler():F}function V(b){r.value&&r.value.setMissingHandler(b)}function R(b){return S(),b()}function K(...b){return r.value?R(()=>Reflect.apply(r.value.t,null,[...b])):R(()=>"")}function ae(...b){return r.value?Reflect.apply(r.value.rt,null,[...b]):""}function Ce(...b){return r.value?R(()=>Reflect.apply(r.value.d,null,[...b])):R(()=>"")}function Qe(...b){return r.value?R(()=>Reflect.apply(r.value.n,null,[...b])):R(()=>"")}function Ae(b){return r.value?r.value.tm(b):{}}function Me(b,I){return r.value?r.value.te(b,I):!1}function en(b){return r.value?r.value.getLocaleMessage(b):{}}function tn(b,I){r.value&&(r.value.setLocaleMessage(b,I),c.value[b]=I)}function fn(b,I){r.value&&r.value.mergeLocaleMessage(b,I)}function dt(b){return r.value?r.value.getDateTimeFormat(b):{}}function Wt(b,I){r.value&&(r.value.setDateTimeFormat(b,I),u.value[b]=I)}function Ut(b,I){r.value&&r.value.mergeDateTimeFormat(b,I)}function nn(b){return r.value?r.value.getNumberFormat(b):{}}function rt(b,I){r.value&&(r.value.setNumberFormat(b,I),f.value[b]=I)}function In(b,I){r.value&&r.value.mergeNumberFormat(b,I)}const g={get id(){return r.value?r.value.id:-1},locale:$,fallbackLocale:O,messages:T,datetimeFormats:J,numberFormats:ee,get inheritLocale(){return r.value?r.value.inheritLocale:i},set inheritLocale(b){r.value&&(r.value.inheritLocale=b)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:m},get pluralRules(){return r.value?r.value.pluralRules:A},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:h},set missingWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackWarn(){return r.value?r.value.fallbackWarn:_},set fallbackWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackRoot(){return r.value?r.value.fallbackRoot:v},set fallbackRoot(b){r.value&&(r.value.fallbackRoot=b)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(b){r.value&&(r.value.fallbackFormat=b)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:L},set warnHtmlMessage(b){r.value&&(r.value.warnHtmlMessage=b)},get escapeParameter(){return r.value?r.value.escapeParameter:y},set escapeParameter(b){r.value&&(r.value.escapeParameter=b)},t:K,getPostTranslationHandler:U,setPostTranslationHandler:Y,getMissingHandler:re,setMissingHandler:V,rt:ae,d:Ce,n:Qe,tm:Ae,te:Me,getLocaleMessage:en,setLocaleMessage:tn,mergeLocaleMessage:fn,getDateTimeFormat:dt,setDateTimeFormat:Wt,mergeDateTimeFormat:Ut,getNumberFormat:nn,setNumberFormat:rt,mergeNumberFormat:In};function w(b){b.locale.value=a.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(I=>{b.mergeLocaleMessage(I,c.value[I])}),Object.keys(u.value).forEach(I=>{b.mergeDateTimeFormat(I,u.value[I])}),Object.keys(f.value).forEach(I=>{b.mergeNumberFormat(I,f.value[I])}),b.escapeParameter=y,b.fallbackFormat=k,b.fallbackRoot=v,b.fallbackWarn=_,b.missingWarn=h,b.warnHtmlMessage=L}return gi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Pe(Fe.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=r.value=e.proxy.$i18n.__composer;t==="global"?(a.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,f.value=b.numberFormats.value):s&&w(b)}),g}const bg=["locale","fallbackLocale","availableLocales"],xl=["t","rt","d","n","tm","te"];function yg(e,t){const n=Object.create(null);return bg.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Pe(Fe.UNEXPECTED_ERROR);const i=Ne(r.value)?{get(){return r.value.value},set(a){r.value.value=a}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,xl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Pe(Fe.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,xl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Jh(),__INTLIFY_JIT_COMPILATION__?Xa(Vh):Xa(Yh),Ph(gh),Mh(Va),__INTLIFY_PROD_DEVTOOLS__){const e=Dt();e.__INTLIFY__=!0,Oh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const vg=Object.assign({"./locales/ar/aria.json":Np,"./locales/ar/buttons.json":Cp,"./locales/ar/detail.json":Ap,"./locales/ar/legend.json":Ep,"./locales/ar/messages.json":Tp,"./locales/ar/options.json":Lp,"./locales/ar/prayerLaps.json":Sp,"./locales/ar/search.json":Ip,"./locales/ar/tabs.json":Fp,"./locales/de/aria.json":xp,"./locales/de/buttons.json":Pp,"./locales/de/detail.json":Mp,"./locales/de/legend.json":Dp,"./locales/de/messages.json":Bp,"./locales/de/options.json":Rp,"./locales/de/prayerLaps.json":Wp,"./locales/de/search.json":Up,"./locales/de/tabs.json":jp,"./locales/en/aria.json":Gp,"./locales/en/buttons.json":Yp,"./locales/en/detail.json":Vp,"./locales/en/legend.json":Hp,"./locales/en/messages.json":qp,"./locales/en/options.json":zp,"./locales/en/popup.json":Kp,"./locales/en/prayerLaps.json":Xp,"./locales/en/search.json":Jp,"./locales/en/tabs.json":Zp,"./locales/es/aria.json":Qp,"./locales/es/buttons.json":ed,"./locales/es/detail.json":td,"./locales/es/legend.json":nd,"./locales/es/messages.json":od,"./locales/es/options.json":rd,"./locales/es/prayerLaps.json":sd,"./locales/es/search.json":id,"./locales/es/tabs.json":ad,"./locales/fr/aria.json":ld,"./locales/fr/buttons.json":cd,"./locales/fr/detail.json":ud,"./locales/fr/legend.json":pd,"./locales/fr/messages.json":dd,"./locales/fr/options.json":fd,"./locales/fr/popup.json":hd,"./locales/fr/prayerLaps.json":gd,"./locales/fr/search.json":md,"./locales/fr/tabs.json":_d,"./locales/hi/aria.json":bd,"./locales/hi/buttons.json":yd,"./locales/hi/detail.json":vd,"./locales/hi/legend.json":wd,"./locales/hi/messages.json":kd,"./locales/hi/options.json":$d,"./locales/hi/prayerLaps.json":Od,"./locales/hi/search.json":Nd,"./locales/it/aria.json":Cd,"./locales/it/buttons.json":Ad,"./locales/it/detail.json":Ed,"./locales/it/legend.json":Td,"./locales/it/messages.json":Ld,"./locales/it/options.json":Sd,"./locales/it/prayerLaps.json":Id,"./locales/it/search.json":Fd,"./locales/pt/aria.json":xd,"./locales/pt/buttons.json":Pd,"./locales/pt/detail.json":Md,"./locales/pt/legend.json":Dd,"./locales/pt/messages.json":Bd,"./locales/pt/options.json":Rd,"./locales/pt/prayerLaps.json":Wd,"./locales/pt/search.json":Ud,"./locales/pt/tabs.json":jd,"./locales/ro/aria.json":Gd,"./locales/ro/buttons.json":Yd,"./locales/ro/detail.json":Vd,"./locales/ro/legend.json":Hd,"./locales/ro/messages.json":qd,"./locales/ro/options.json":zd,"./locales/ro/prayerLaps.json":Kd,"./locales/ro/search.json":Xd,"./locales/ru/aria.json":Jd,"./locales/ru/buttons.json":Zd,"./locales/ru/detail.json":Qd,"./locales/ru/legend.json":ef,"./locales/ru/messages.json":tf,"./locales/ru/options.json":nf,"./locales/ru/prayerLaps.json":of,"./locales/ru/search.json":rf,"./locales/ru/tabs.json":sf,"./locales/zh/aria.json":af,"./locales/zh/buttons.json":lf,"./locales/zh/detail.json":cf,"./locales/zh/legend.json":uf,"./locales/zh/messages.json":pf,"./locales/zh/options.json":df,"./locales/zh/prayerLaps.json":ff,"./locales/zh/search.json":hf}),co={};for(const[e,t]of Object.entries(vg)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;co[o]??(co[o]={}),co[o][s]=t}const Pl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function wg(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Pl.includes(t)?t:"en"}function kg(){return cg({legacy:!1,globalInjection:!0,locale:wg(),fallbackLocale:"en",messages:co,missingWarn:!1,fallbackWarn:!1})}function Qt(e,t){const n=t||$g(e);Vt(()=>{var a;const o=Pt();if(!o)return;const s=(a=o.proxy)==null?void 0:a.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,r.appendChild(i)})}function $g(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),s=ie(()=>{var v;return((v=n==null?void 0:n.value)==null?void 0:v.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=ce(!1);let i=null,a=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function f(){try{sessionStorage.setItem(c(),"1")}catch{}}function h(){r.value&&(r.value=!1,f(),l&&(l.removeEventListener("pointerdown",_,!0),l=null),i&&(clearTimeout(i),i=null))}function _(){h()}return Vt(()=>{var C,L,y;if(u())return;const v=Pt(),k=(y=(L=(C=v==null?void 0:v.proxy)==null?void 0:C.$el)==null?void 0:L.getRootNode)==null?void 0:y.call(L);if(!k||typeof k.querySelector!="function")return;let F=0;a=setInterval(()=>{F++,k.querySelector("canvas")?(clearInterval(a),a=null,r.value=!0,l=k,k.addEventListener("pointerdown",_,!0),i=setTimeout(h,14e3)):F>40&&(clearInterval(a),a=null)},300)}),$n(()=>{a&&clearInterval(a),i&&clearTimeout(i),l&&l.removeEventListener("pointerdown",_,!0)}),Qt(` .pin-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 2147482000; pointer-events: none; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; @@ -67,7 +67,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(v,k)=>r.value?(q(),X("div",{key:0,class:Ie(["pin-hint",{dark:o.value}]),role:"status"},[M("span",Og,[k[0]||(k[0]=M("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$e(" "+Q(s.value)+" ",1),M("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:h},"×")])],2)):Se("",!0)}};let Cg=0;const Ag=Jr("ui",{state:()=>({_storeInstanceId:++Cg,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:s=null,persistent:r=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(i),!r&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Eg=Jr("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 s=[0,0];if(n.center)s=n.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(s=[r.lng,r.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:s,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()}}}),Tg=Jr("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]=_n({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]=_n({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var 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}}}),Lg={activeSource:"pray-tools"},Sg=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},Ig={class:"profile-loader"},Fg={key:0,class:"profile-error"},xg={key:1,class:"profile-error"},Pg=Sg({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const n=e,o=ie(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),s=ie(()=>{var m;return((m=o.value)==null?void 0:m.profile)||null}),r=ie(()=>{var m;return((m=o.value)==null?void 0:m.tk)||""}),i=ie(()=>{var m;return((m=o.value)==null?void 0:m.dataSource)||Lg.activeSource}),a=ie(()=>{var m;return((m=o.value)==null?void 0:m.colorSet)||"default"}),l=ie(()=>!1),c=ie(()=>{var m;return((m=o.value)==null?void 0:m.pinHint)!==!1}),u=ie(()=>{var A,S;const m=(((A=o.value)==null?void 0:A.locale)||((S=o.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return Pl.includes(m)?m:""}),f=qe("appI18n",null);Pc(()=>{u.value&&f&&(f.global.locale.value=u.value)});const h=ie(()=>{var m,A;return u.value||((A=(m=f==null?void 0:f.global)==null?void 0:m.locale)==null?void 0:A.value)||"en"}),_=ie(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),v=qe("profileModules",null);if(!v)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const k=ie(()=>{if(!s.value)return null;const m=`./${s.value}.vue`;return v[m]?Gc(v[m]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(v)),null)});yt("mapboxToken",r),yt("dataSource",i),yt("colorSet",a),yt("profileConfig",o),yt("instanceId",_),yt("lang",h);const F=Ag(),C=Eg(),L=Tg();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((y=F.setTheme)==null||y.call(F,m))}catch{}return yt("uiStore",F),yt("mapStore",C),yt("dataStore",L),(m,A)=>(q(),X("div",Ig,[o.value?k.value?(q(),Ze(_i(k.value),{key:2})):(q(),X("div",xg,[M("p",null,[A[1]||(A[1]=$e("⚠️ Profile ",-1)),M("strong",null,'"'+Q(s.value)+'"',1),A[2]||(A[2]=$e(" not found.",-1))])])):(q(),X("div",Fg,[...A[0]||(A[0]=[M("p",null,[$e("⚠️ "),M("strong",null,"doxa-map"),$e(": missing or invalid "),M("code",null,"profile-config"),$e(" prop.")],-1),M("p",null,[$e("Example: "),M("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),k.value&&l.value?(q(),Ze(_i(nt(null)),{key:3})):Se("",!0),k.value&&c.value?(q(),Ze(Ng,{key:4})):Se("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),Mg=Object.assign({"./connectivity-list.vue":()=>ar(()=>Promise.resolve().then(()=>Qg),void 0),"./connectivity-map.vue":()=>ar(()=>Promise.resolve().then(()=>jm),void 0),"./data-tables.vue":()=>ar(()=>Promise.resolve().then(()=>p_),void 0)});function Dg(){return up(Pg,{configureApp(e){e.use(yp()),e.use(kg()),e.provide("profileModules",Mg)}})}const Bg=Dg();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Bg));const Rg={countries:[{iso3:"IND",country:"India",region:"Asia",clusters:541,people_groups:856,multi:164,internet_access:"yes",internet_pct:64.9,internet_year:"2024",mobile_per_100:79.4,mobile_year:"2024",national_population:1450935791,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CHN",country:"People's Republic of China",region:"Asia",clusters:130,people_groups:154,multi:19,internet_access:"yes",internet_pct:92,internet_year:"2024",mobile_per_100:131.8,mobile_year:"2024",national_population:1408975e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SDN",country:"Sudan",region:"Middle East",clusters:75,people_groups:105,multi:20,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:70.2,mobile_year:"2022",national_population:50448963,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRA",country:"Brazil",region:"Latin America & Caribbean",clusters:99,people_groups:104,multi:5,internet_access:"yes",internet_pct:84.5,internet_year:"2024",mobile_per_100:101.9,mobile_year:"2024",national_population:211998573,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LAO",country:"Lao People's Democratic Republic",region:"Asia",clusters:65,people_groups:95,multi:24,internet_access:"yes",internet_pct:65.6,internet_year:"2024",mobile_per_100:64.8,mobile_year:"2023",national_population:7769819,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TCD",country:"Chad",region:"Africa",clusters:48,people_groups:54,multi:6,internet_access:"no",internet_pct:12.6,internet_year:"2024",mobile_per_100:72.9,mobile_year:"2024",national_population:20299123,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NGA",country:"Nigeria",region:"Africa",clusters:35,people_groups:38,multi:3,internet_access:"partial",internet_pct:41.2,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:232679478,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IDN",country:"Indonesia",region:"Asia",clusters:35,people_groups:36,multi:1,internet_access:"yes",internet_pct:72.8,internet_year:"2024",mobile_per_100:122.5,mobile_year:"2024",national_population:283487931,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NPL",country:"Nepal",region:"Asia",clusters:25,people_groups:33,multi:5,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:99.8,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ETH",country:"Ethiopia",region:"Africa",clusters:29,people_groups:29,multi:0,internet_access:"no",internet_pct:21.9,internet_year:"2024",mobile_per_100:65.1,mobile_year:"2024",national_population:132059767,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COL",country:"Colombia",region:"Latin America & Caribbean",clusters:26,people_groups:26,multi:0,internet_access:"yes",internet_pct:79.3,internet_year:"2024",mobile_per_100:174.1,mobile_year:"2024",national_population:52886363,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PAK",country:"Pakistan",region:"Asia",clusters:21,people_groups:24,multi:2,internet_access:"partial",internet_pct:57.3,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:251269164,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SSD",country:"South Sudan",region:"Africa",clusters:22,people_groups:22,multi:0,internet_access:"no",internet_pct:6.7,internet_year:"2019",mobile_per_100:46.6,mobile_year:"2023",national_population:11943408,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"RUS",country:"Russian Federation",region:"Europe",clusters:17,people_groups:21,multi:2,internet_access:"yes",internet_pct:94.4,internet_year:"2024",mobile_per_100:186.1,mobile_year:"2024",national_population:143669648,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AFG",country:"Afghanistan",region:"Asia",clusters:15,people_groups:21,multi:5,internet_access:"no",internet_pct:16.1,internet_year:"2024",mobile_per_100:60.1,mobile_year:"2024",national_population:42647492,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IRN",country:"Islamic Republic of Iran",region:"Middle East",clusters:19,people_groups:20,multi:1,internet_access:"yes",internet_pct:85.3,internet_year:"2024",mobile_per_100:174.1,mobile_year:"2024",national_population:91567738,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DZA",country:"Algeria",region:"Middle East",clusters:15,people_groups:17,multi:2,internet_access:"yes",internet_pct:77.4,internet_year:"2024",mobile_per_100:115.5,mobile_year:"2024",national_population:46814308,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VNM",country:"Vietnam",region:"Asia",clusters:15,people_groups:16,multi:1,internet_access:"yes",internet_pct:84.2,internet_year:"2024",mobile_per_100:127.6,mobile_year:"2024",national_population:100987686,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TZA",country:"United Republic of Tanzania",region:"Africa",clusters:16,people_groups:16,multi:0,internet_access:"partial",internet_pct:31.2,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2024",national_population:68560157,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBY",country:"Libya",region:"Middle East",clusters:13,people_groups:15,multi:2,internet_access:"yes",internet_pct:82,internet_year:"2024",mobile_per_100:193,mobile_year:"2022",national_population:7381023,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BTN",country:"Bhutan",region:"Asia",clusters:12,people_groups:13,multi:1,internet_access:"yes",internet_pct:91.3,internet_year:"2024",mobile_per_100:99.8,mobile_year:"2024",national_population:791524,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GIN",country:"Guinea",region:"Africa",clusters:13,people_groups:13,multi:0,internet_access:"partial",internet_pct:33.3,internet_year:"2024",mobile_per_100:97.9,mobile_year:"2023",national_population:14754785,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MLI",country:"Mali",region:"Africa",clusters:13,people_groups:13,multi:0,internet_access:"partial",internet_pct:36.8,internet_year:"2024",mobile_per_100:112.1,mobile_year:"2022",national_population:24478595,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MYS",country:"Malaysia",region:"Asia",clusters:11,people_groups:12,multi:1,internet_access:"yes",internet_pct:98,internet_year:"2024",mobile_per_100:139.7,mobile_year:"2024",national_population:35557673,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AGO",country:"Angola",region:"Africa",clusters:9,people_groups:10,multi:1,internet_access:"partial",internet_pct:40.7,internet_year:"2024",mobile_per_100:69.7,mobile_year:"2024",national_population:37885849,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PER",country:"Peru",region:"Latin America & Caribbean",clusters:10,people_groups:10,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:124.6,mobile_year:"2024",national_population:34217848,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"YEM",country:"Yemen",region:"Middle East",clusters:8,people_groups:9,multi:1,internet_access:"no",internet_pct:17.5,internet_year:"2019",mobile_per_100:50.9,mobile_year:"2023",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COD",country:"Democratic Republic of the Congo",region:"Africa",clusters:8,people_groups:9,multi:1,internet_access:"no",internet_pct:19.7,internet_year:"2024",mobile_per_100:58.5,mobile_year:"2024",national_population:109276265,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BEN",country:"Benin",region:"Africa",clusters:8,people_groups:9,multi:1,internet_access:"partial",internet_pct:34,internet_year:"2024",mobile_per_100:125.9,mobile_year:"2024",national_population:14462724,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SOM",country:"Somalia",region:"Africa",clusters:9,people_groups:9,multi:0,internet_access:"partial",internet_pct:27.9,internet_year:"2024",mobile_per_100:54,mobile_year:"2023",national_population:19009151,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ERI",country:"Eritrea",region:"Africa",clusters:7,people_groups:8,multi:1,internet_access:"no",internet_pct:14.3,internet_year:"2020",mobile_per_100:59.1,mobile_year:"2022",national_population:3535603,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IRQ",country:"Iraq",region:"Middle East",clusters:7,people_groups:8,multi:1,internet_access:"yes",internet_pct:81.5,internet_year:"2024",mobile_per_100:100.1,mobile_year:"2024",national_population:46042015,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BFA",country:"Burkina Faso",region:"Africa",clusters:7,people_groups:8,multi:1,internet_access:"partial",internet_pct:28.3,internet_year:"2024",mobile_per_100:116.6,mobile_year:"2024",national_population:23548781,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"THA",country:"Thailand",region:"Asia",clusters:8,people_groups:8,multi:0,internet_access:"yes",internet_pct:90.9,internet_year:"2024",mobile_per_100:160.6,mobile_year:"2024",national_population:71668011,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PSE",country:"State of Palestine",region:"Middle East",clusters:3,people_groups:7,multi:1,internet_access:"yes",internet_pct:86.6,internet_year:"2023",mobile_per_100:76.7,mobile_year:"2023",national_population:5289152,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"OMN",country:"Oman",region:"Middle East",clusters:7,people_groups:7,multi:0,internet_access:"yes",internet_pct:95.3,internet_year:"2024",mobile_per_100:120.6,mobile_year:"2024",national_population:5281538,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MMR",country:"Myanmar",region:"Asia",clusters:7,people_groups:7,multi:0,internet_access:"partial",internet_pct:45.4,internet_year:"2020",mobile_per_100:114.3,mobile_year:"2024",national_population:54500091,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CMR",country:"Cameroon",region:"Africa",clusters:7,people_groups:7,multi:0,internet_access:"partial",internet_pct:46.3,internet_year:"2024",mobile_per_100:108.2,mobile_year:"2024",national_population:29123744,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TGO",country:"Togo",region:"Africa",clusters:5,people_groups:6,multi:1,internet_access:"partial",internet_pct:39.5,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:8406558,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JPN",country:"Japan",region:"Asia",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:85.5,internet_year:"2024",mobile_per_100:178.4,mobile_year:"2023",national_population:123975371,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"UGA",country:"Uganda",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"no",internet_pct:8.9,internet_year:"2024",mobile_per_100:83.2,mobile_year:"2024",national_population:50015092,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZMB",country:"Zambia",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:108.7,mobile_year:"2024",national_population:21314956,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VEN",country:"Venezuela",region:"Latin America & Caribbean",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:76.7,internet_year:"2024",mobile_per_100:71,mobile_year:"2024",national_population:28405543,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NAM",country:"Namibia",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:64.9,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:3030131,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRN",country:"Brunei Darussalam",region:"Asia",clusters:4,people_groups:5,multi:1,internet_access:"yes",internet_pct:96.3,internet_year:"2024",mobile_per_100:118.1,mobile_year:"2024",national_population:462721,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KEN",country:"Kenya",region:"Africa",clusters:5,people_groups:5,multi:0,internet_access:"partial",internet_pct:35,internet_year:"2024",mobile_per_100:126.5,mobile_year:"2024",national_population:56432944,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SYR",country:"Syrian Arab Republic",region:"Middle East",clusters:5,people_groups:5,multi:0,internet_access:"partial",internet_pct:33.8,internet_year:"2018",mobile_per_100:71.2,mobile_year:"2024",national_population:24672760,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBN",country:"Lebanon",region:"Middle East",clusters:4,people_groups:4,multi:0,internet_access:"yes",internet_pct:80.6,internet_year:"2024",mobile_per_100:74,mobile_year:"2022",national_population:5805962,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MOZ",country:"Mozambique",region:"Africa",clusters:4,people_groups:4,multi:0,internet_access:"no",internet_pct:20.5,internet_year:"2024",mobile_per_100:49.5,mobile_year:"2024",national_population:34631766,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MAR",country:"Morocco",region:"Middle East",clusters:4,people_groups:4,multi:0,internet_access:"yes",internet_pct:91.2,internet_year:"2024",mobile_per_100:153.1,mobile_year:"2024",national_population:38081173,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"QAT",country:"Qatar",region:"Middle East",clusters:1,people_groups:3,multi:1,internet_access:"yes",internet_pct:98.1,internet_year:"2024",mobile_per_100:153.6,mobile_year:"2024",national_population:2857822,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SAU",country:"Saudi Arabia",region:"Middle East",clusters:2,people_groups:3,multi:1,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:159.5,mobile_year:"2024",national_population:35300280,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TUR",country:"Türkiye",region:"Europe",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:87.3,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:85518661,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AZE",country:"Azerbaijan",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:90.4,internet_year:"2024",mobile_per_100:109.5,mobile_year:"2024",national_population:10202830,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GMB",country:"Republic of The Gambia",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:49.5,internet_year:"2024",mobile_per_100:126.2,mobile_year:"2024",national_population:2759988,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JOR",country:"Jordan",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:95.6,internet_year:"2024",mobile_per_100:69.6,mobile_year:"2024",national_population:11552876,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZWE",country:"Zimbabwe",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:94.2,mobile_year:"2024",national_population:16634373,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COM",country:"Comoros",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:32.5,internet_year:"2024",mobile_per_100:109.9,mobile_year:"2023",national_population:866628,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"USA",country:"United States of America",region:"Other",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:94.7,internet_year:"2024",mobile_per_100:113.2,mobile_year:"2024",national_population:340003797,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BGD",country:"Bangladesh",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:53.4,internet_year:"2024",mobile_per_100:108.1,mobile_year:"2024",national_population:173562364,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GNB",country:"Guinea-Bissau",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:29.8,internet_year:"2024",mobile_per_100:147.2,mobile_year:"2024",national_population:2201352,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KOS",country:"KOS",region:"Europe",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MRT",country:"Mauritania",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:45.8,internet_year:"2024",mobile_per_100:92.1,mobile_year:"2024",national_population:5169395,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ESH",country:"Western Sahara",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TJK",country:"Tajikistan",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:55.8,internet_year:"2024",mobile_per_100:76.2,mobile_year:"2023",national_population:10590927,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"EGY",country:"Egypt",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:74.6,internet_year:"2024",mobile_per_100:97.1,mobile_year:"2024",national_population:116538258,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNG",country:"Mongolia",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:85.1,internet_year:"2024",mobile_per_100:140.7,mobile_year:"2024",national_population:3524788,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BHR",country:"Bahrain",region:"Middle East",clusters:1,people_groups:2,multi:1,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:159.5,mobile_year:"2024",national_population:1588670,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SUR",country:"Suriname",region:"North America & Non-Spanish Caribbean",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:142.1,mobile_year:"2024",national_population:634431,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NER",country:"Niger",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:60.6,mobile_year:"2024",national_population:27032412,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZAF",country:"South Africa",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:78.4,internet_year:"2024",mobile_per_100:179.3,mobile_year:"2024",national_population:64007187,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CCK",country:"Cocos (Keeling) Islands",region:"N/A",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COG",country:"Republic of the Congo",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:47.3,internet_year:"2024",mobile_per_100:95.5,mobile_year:"2024",national_population:6332961,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ARE",country:"United Arab Emirates",region:"Middle East",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:203.2,mobile_year:"2024",national_population:10986400,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GAB",country:"Gabon",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:68.7,internet_year:"2024",mobile_per_100:125.3,mobile_year:"2024",national_population:2538952,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUF",country:"French Guiana",region:"N/A",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CIV",country:"Cote d'Ivoire",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:41.4,internet_year:"2024",mobile_per_100:183.9,mobile_year:"2024",national_population:31934230,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KGZ",country:"Kyrgyzstan",region:"Asia",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:92,internet_year:"2024",mobile_per_100:107.5,mobile_year:"2024",national_population:7221868,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBR",country:"Liberia",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:32.2,internet_year:"2024",mobile_per_100:32.1,mobile_year:"2022",national_population:5612817,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SWE",country:"Sweden",region:"Europe",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:140.7,mobile_year:"2024",national_population:10569709,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TUN",country:"Tunisia",region:"Middle East",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:76.5,internet_year:"2024",mobile_per_100:117.6,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SLE",country:"Sierra Leone",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:25.1,internet_year:"2024",mobile_per_100:107.9,mobile_year:"2022",national_population:8642022,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AND",country:"Andorra",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:94.4,internet_year:"2024",mobile_per_100:155.7,mobile_year:"2024",national_population:81938,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SEN",country:"Senegal",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:60.1,internet_year:"2024",mobile_per_100:123.9,mobile_year:"2024",national_population:18501984,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNE",country:"Montenegro",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:88.9,internet_year:"2024",mobile_per_100:221.7,mobile_year:"2024",national_population:623525,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BOL",country:"Bolivia",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:79.7,internet_year:"2024",mobile_per_100:98,mobile_year:"2024",national_population:12413315,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ECU",country:"Ecuador",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:77.2,internet_year:"2024",mobile_per_100:101.6,mobile_year:"2024",national_population:18135478,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VIR",country:"Virgin Islands, U.S.",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:91.5,mobile_year:"2022",national_population:104377,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ATG",country:"Antigua and Barbuda",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.7,internet_year:"2024",mobile_per_100:200.5,mobile_year:"2022",national_population:93772,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ARM",country:"Armenia",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:81.3,internet_year:"2024",mobile_per_100:134.9,mobile_year:"2024",national_population:3033500,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ABW",country:"Aruba",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:130.6,mobile_year:"2022",national_population:107995,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BHS",country:"Bahamas",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:92.5,internet_year:"2024",mobile_per_100:96.7,mobile_year:"2024",national_population:401283,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRB",country:"Barbados",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.4,internet_year:"2024",mobile_per_100:114.6,mobile_year:"2022",national_population:282467,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BLR",country:"Belarus",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:94.3,internet_year:"2024",mobile_per_100:131.1,mobile_year:"2024",national_population:9132629,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BMU",country:"Bermuda",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:96.7,mobile_year:"2024",national_population:64636,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BIH",country:"Bosnia and Herzegovina",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:86.1,internet_year:"2024",mobile_per_100:121.2,mobile_year:"2024",national_population:3164253,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VGB",country:"Virgin Islands, British",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:39471,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BGR",country:"Bulgaria",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:82.4,internet_year:"2024",mobile_per_100:118.1,mobile_year:"2024",national_population:6441421,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KHM",country:"Cambodia",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:68.5,internet_year:"2024",mobile_per_100:116.1,mobile_year:"2024",national_population:17638801,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CYM",country:"Cayman Islands",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:139.3,mobile_year:"2022",national_population:74457,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CAF",country:"Central African Republic",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"no",internet_pct:13.8,internet_year:"2024",mobile_per_100:38.8,mobile_year:"2022",national_population:5330690,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CXR",country:"Christmas Island",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COK",country:"Cook Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CUB",country:"Cuba",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.5,internet_year:"2024",mobile_per_100:72.9,mobile_year:"2024",national_population:10979783,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CUW",country:"Curaçao",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:93.8,mobile_year:"2023",national_population:155967,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CYP",country:"Cyprus",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.6,internet_year:"2024",mobile_per_100:156.2,mobile_year:"2024",national_population:1358282,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DJI",country:"Djibouti",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:65.3,internet_year:"2024",mobile_per_100:48.5,mobile_year:"2023",national_population:1168722,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DMA",country:"Dominica",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:82,internet_year:"2024",mobile_per_100:85.2,mobile_year:"2022",national_population:66205,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GNQ",country:"Equatorial Guinea",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:63.3,internet_year:"2024",mobile_per_100:49.5,mobile_year:"2022",national_population:1892516,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FRO",country:"Faroe Islands",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:105.8,mobile_year:"2022",national_population:54640,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FJI",country:"Fiji",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:74.7,internet_year:"2024",mobile_per_100:574.2,mobile_year:"2024",national_population:928784,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PYF",country:"French Polynesia",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:118.8,mobile_year:"2023",national_population:281807,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GEO",country:"Georgia",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83.8,internet_year:"2024",mobile_per_100:161.2,mobile_year:"2024",national_population:3812518,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GIB",country:"Gibraltar",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:97.6,mobile_year:"2022",national_population:39329,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GRC",country:"Greece",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:86.3,internet_year:"2024",mobile_per_100:113.6,mobile_year:"2024",national_population:10405134,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GRD",country:"Grenada",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.2,internet_year:"2024",mobile_per_100:95.8,mobile_year:"2022",national_population:117207,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GLP",country:"Guadeloupe",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUM",country:"Guam",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:167777,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GGY",country:"Guernsey",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ISL",country:"Iceland",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.2,internet_year:"2024",mobile_per_100:120.9,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KIR",country:"Kiribati",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.4,internet_year:"2024",mobile_per_100:53.5,mobile_year:"2024",national_population:134518,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JAM",country:"Jamaica",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:90.1,internet_year:"2024",mobile_per_100:117.7,mobile_year:"2024",national_population:2839175,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JEY",country:"Jersey",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KAZ",country:"Kazakhstan",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.4,internet_year:"2024",mobile_per_100:127.1,mobile_year:"2024",national_population:20592571,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PRK",country:"North Korea",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:24.1,mobile_year:"2022",national_population:26498823,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KWT",country:"Kuwait",region:"Middle East",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:99.7,internet_year:"2024",mobile_per_100:167.7,mobile_year:"2023",national_population:4897263,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LIE",country:"Liechtenstein",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.3,internet_year:"2024",mobile_per_100:128.9,mobile_year:"2024",national_population:40450,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LUX",country:"Luxembourg",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.8,internet_year:"2024",mobile_per_100:144.5,mobile_year:"2023",national_population:677012,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MYT",country:"Mayotte",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MDV",country:"Maldives",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:85.2,internet_year:"2024",mobile_per_100:148.1,mobile_year:"2024",national_population:527799,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MLT",country:"Malta",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.9,internet_year:"2024",mobile_per_100:142.1,mobile_year:"2024",national_population:568847,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNP",country:"Northern Mariana Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:44278,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MHL",country:"Marshall Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:65.9,internet_year:"2024",mobile_per_100:39.7,mobile_year:"2022",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MUS",country:"Mauritius",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:73.3,internet_year:"2024",mobile_per_100:172.7,mobile_year:"2024",national_population:1245779,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FSM",country:"Micronesia, Federated States of",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:39.5,internet_year:"2024",mobile_per_100:20,mobile_year:"2022",national_population:113160,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MCO",country:"Monaco",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:99,internet_year:"2024",mobile_per_100:107.4,mobile_year:"2024",national_population:38631,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MSR",country:"Montserrat",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NCL",country:"New Caledonia",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:91.7,mobile_year:"2022",national_population:292639,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NIU",country:"Niue",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VUT",country:"Vanuatu",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:89.3,mobile_year:"2023",national_population:327777,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NFK",country:"Norfolk Island",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"HKG",country:"Hong Kong",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:95.8,internet_year:"2024",mobile_per_100:364.8,mobile_year:"2024",national_population:7524100,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MAC",country:"Macao",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.8,internet_year:"2024",mobile_per_100:201.1,mobile_year:"2024",national_population:687e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PLW",country:"Palau",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83.9,internet_year:"2024",mobile_per_100:135.4,mobile_year:"2023",national_population:17695,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PNG",country:"Papua New Guinea",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"no",internet_pct:18.8,internet_year:"2024",mobile_per_100:38.8,mobile_year:"2024",national_population:10576502,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BLM",country:"Saint Barthélemy",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SHN",country:"Saint Helena",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LCA",country:"Saint Lucia",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:68.2,internet_year:"2024",mobile_per_100:98.7,mobile_year:"2022",national_population:179744,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SMR",country:"San Marino",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:97.4,internet_year:"2024",mobile_per_100:120.3,mobile_year:"2022",national_population:33977,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ASM",country:"American Samoa",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:46765,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"WSM",country:"Samoa",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:62.4,mobile_year:"2022",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"STP",country:"Sao Tome and Principe",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:59.1,internet_year:"2024",mobile_per_100:62.4,mobile_year:"2024",national_population:235536,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SXM",country:"Sint Maarten (Dutch part)",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:205.4,mobile_year:"2022",national_population:43350,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SLB",country:"Solomon Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:29,internet_year:"2024",mobile_per_100:62.1,mobile_year:"2022",national_population:819198,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LKA",country:"Sri Lanka",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:54.6,internet_year:"2024",mobile_per_100:132.5,mobile_year:"2024",national_population:21916e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SJM",country:"Svalbard and Jan Mayen",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SWZ",country:"Eswatini",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:63.4,internet_year:"2024",mobile_per_100:139.8,mobile_year:"2024",national_population:1242822,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TKL",country:"Tokelau",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TON",country:"Tonga",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:67.4,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:104175,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TCA",country:"Turks and Caicos Islands",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:46535,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VCT",country:"Saint Vincent and the Grenadines",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:76.2,internet_year:"2024",mobile_per_100:108.4,mobile_year:"2024",national_population:100616,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"WLF",country:"Wallis and Futuna",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PRY",country:"Paraguay",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:81.6,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2023",national_population:6929153,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FIN",country:"Finland",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.7,internet_year:"2024",mobile_per_100:125.9,mobile_year:"2024",national_population:5619911,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ALB",country:"Albania",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:85.9,internet_year:"2024",mobile_per_100:89.1,mobile_year:"2024",national_population:2377128,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PAN",country:"Panama",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.8,internet_year:"2024",mobile_per_100:156.6,mobile_year:"2023",national_population:4515577,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NZL",country:"New Zealand",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:130.1,mobile_year:"2024",national_population:529e4,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CZE",country:"Czech Republic",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:87.7,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2024",national_population:10905028,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GHA",country:"Ghana",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.2,internet_year:"2024",mobile_per_100:113.6,mobile_year:"2024",national_population:34427414,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PHL",country:"Philippines",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:67.3,internet_year:"2024",mobile_per_100:115.3,mobile_year:"2024",national_population:115843670,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ISR",country:"Israel",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:88.2,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:10002200,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUY",country:"Guyana",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83,internet_year:"2024",mobile_per_100:112.6,mobile_year:"2022",national_population:831087,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"UZB",country:"Uzbekistan",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.5,internet_year:"2024",mobile_per_100:110.5,mobile_year:"2024",national_population:36361859,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ESP",country:"Spain",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:95.8,internet_year:"2024",mobile_per_100:130.3,mobile_year:"2024",national_population:48848840,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MWI",country:"Malawi",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:69.3,mobile_year:"2024",national_population:21655286,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}}]},Wg={class:"ci-tot"},Ug={class:"ci-chip"},jg={class:"ci-chip"},Gg={class:"ci-chip"},Yg={class:"ci-chip"},Vg=["onClick"],Hg={class:"sec-name"},qg={class:"sec-meta"},zg={class:"r-name"},Kg={class:"r-sub"},Xg={class:"r-num"},Jg={class:"r-sub"},Zg={class:"r-num"},Qg=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=qe("profileConfig",ce(null)),n=ie(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=ie(()=>Rg.countries||[]),s=ie(()=>{const f=new Map;for(const h of o.value){const _=h.region||"Other";f.has(_)||f.set(_,[]),f.get(_).push(h)}return[...f.entries()].map(([h,_])=>({name:h,items:_.slice().sort((v,k)=>k.people_groups-v.people_groups),groups:_.reduce((v,k)=>v+k.people_groups,0),unknown:_.filter(v=>v.internet_access==="unknown").length})).sort((h,_)=>_.groups-h.groups)}),r=ce({}),i=f=>!!r.value[f],a=f=>{r.value={...r.value,[f]:!r.value[f]}},l=ie(()=>{const f=o.value;return{countries:f.length,resolved:f.filter(h=>h.internet_access!=="unknown").length,unknown:f.filter(h=>h.internet_access==="unknown").length,low:f.filter(h=>h.internet_access==="no").length}}),c=f=>f==="yes"?"ok":f==="partial"?"mid":f==="no"?"low":"unk",u=f=>f==="yes"?"connected":f==="partial"?"partial":f==="no"?"low":"unknown";return Qt(".ci{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ci.is-dark{background:#0a1410;color:#e5e7eb}.ci-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.ci-sub{margin:0 auto 18px;max-width:640px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.ci-tot{display:flex;gap:14px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.ci-chip{font-size:11.5px;padding:4px 11px;border-radius:999px;background:rgba(0,0,0,.06);font-weight:600}.is-dark .ci-chip{background:rgba(255,255,255,.10)}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px 10px 8px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:600}.r-sub{font-size:11px;opacity:.6}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.src{max-width:1080px;margin:8px auto 0;font-size:11px;line-height:1.6;opacity:.6;text-align:center}","doxa-cities-internet"),(f,h)=>(q(),X("div",{class:Ie(["ci",{"is-dark":n.value}])},[h[1]||(h[1]=M("h2",{class:"ci-h"},"Cities with Internet",-1)),h[2]||(h[2]=M("p",{class:"ci-sub"},[$e(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),M("strong",null,"unknown means unmeasured, never assumed"),$e(". ")],-1)),M("div",Wg,[M("span",Ug,Q(l.value.countries)+" countries",1),M("span",jg,Q(l.value.resolved)+" measured",1),M("span",Gg,Q(l.value.unknown)+" unknown",1),M("span",Yg,Q(l.value.low)+" low-connectivity",1)]),(q(!0),X(de,null,lt(s.value,_=>(q(),X("section",{key:_.name,class:"sec"},[M("button",{type:"button",class:"sec-head",onClick:v=>a(_.name)},[M("span",{class:Ie(["sec-caret",{open:!i(_.name)}])},"▶",2),M("h3",Hg,Q(_.name),1),M("span",qg,[$e(Q(_.items.length)+" countries · "+Q(_.groups.toLocaleString())+" people groups ",1),_.unknown?(q(),X(de,{key:0},[$e(" · "+Q(_.unknown)+" unmeasured",1)],64)):Se("",!0)])],8,Vg),Sc(M("div",null,[(q(!0),X(de,null,lt(_.items,v=>(q(),X("div",{key:v.iso3,class:"row"},[M("div",null,[M("div",zg,Q(v.country),1),M("div",Kg,[$e(Q(v.people_groups)+" people groups · "+Q(v.clusters)+" locations ",1),v.multi?(q(),X(de,{key:0},[$e(" · "+Q(v.multi)+" population centres",1)],64)):Se("",!0)])]),M("div",Xg,[v.internet_pct!==null&&v.internet_pct!==void 0?(q(),X(de,{key:0},[$e(Q(v.internet_pct)+"% ",1),M("div",Jg,Q(v.internet_year),1)],64)):(q(),X(de,{key:1},[$e("—")],64))]),M("div",Zg,[v.mobile_per_100!==null&&v.mobile_per_100!==void 0?(q(),X(de,{key:0},[$e(Q(v.mobile_per_100)+" ",1),h[0]||(h[0]=M("div",{class:"r-sub"},"mob/100",-1))],64)):(q(),X(de,{key:1},[$e("—")],64))]),M("span",{class:Ie(["pill",c(v.internet_access)])},Q(u(v.internet_access)),3)]))),128))],512),[[Hu,!i(_.name)]])]))),128)),h[3]||(h[3]=M("p",{class:"src"}," Internet and mobile figures: World Bank Open Data (CC BY 4.0), most recent observation 2018–2024. Banding: connected ≥60% · partial 25–59% · low <25% of population using the internet. Country-resolution — per-city measurements are not publicly available at this scale. ISP names, carrier names and censorship history require per-country cited reporting and are not shown. ",-1))],2))}}},Symbol.toStringTag,{value:"Module"})),_s={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"}};function em(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:n=!0,basemap:o=!0}=t,s=document.createElement("div");s.className="doxa-attribution mapboxgl-ctrl",s.style.cssText=["font:11px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif","background:rgba(255,255,255,.82)","color:#3a4048","padding:2px 6px","border-radius:3px 0 0 0","pointer-events:auto","max-width:min(92vw,420px)"].join(";");const r=[];n&&r.push(_s.boundaries),o&&(r.push(_s.mapbox),r.push(_s.osm)),s.innerHTML=r.map(a=>`${a.label}`).join(" · ");const i={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(i,"bottom-right"),i}const tm={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return Qt(` +`,"pin-hint"),(v,k)=>r.value?(q(),X("div",{key:0,class:Se(["pin-hint",{dark:o.value}]),role:"status"},[M("span",Og,[k[0]||(k[0]=M("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$e(" "+Q(s.value)+" ",1),M("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:h},"×")])],2)):Le("",!0)}};let Cg=0;const Ag=Jr("ui",{state:()=>({_storeInstanceId:++Cg,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:s=null,persistent:r=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(i),!r&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Eg=Jr("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 s=[0,0];if(n.center)s=n.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(s=[r.lng,r.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:s,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()}}}),Tg=Jr("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]=_n({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]=_n({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var 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}}}),Lg={activeSource:"pray-tools"},Sg=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},Ig={class:"profile-loader"},Fg={key:0,class:"profile-error"},xg={key:1,class:"profile-error"},Pg=Sg({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const n=e,o=ie(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),s=ie(()=>{var m;return((m=o.value)==null?void 0:m.profile)||null}),r=ie(()=>{var m;return((m=o.value)==null?void 0:m.tk)||""}),i=ie(()=>{var m;return((m=o.value)==null?void 0:m.dataSource)||Lg.activeSource}),a=ie(()=>{var m;return((m=o.value)==null?void 0:m.colorSet)||"default"}),l=ie(()=>!1),c=ie(()=>{var m;return((m=o.value)==null?void 0:m.pinHint)!==!1}),u=ie(()=>{var A,S;const m=(((A=o.value)==null?void 0:A.locale)||((S=o.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return Pl.includes(m)?m:""}),f=qe("appI18n",null);Pc(()=>{u.value&&f&&(f.global.locale.value=u.value)});const h=ie(()=>{var m,A;return u.value||((A=(m=f==null?void 0:f.global)==null?void 0:m.locale)==null?void 0:A.value)||"en"}),_=ie(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),v=qe("profileModules",null);if(!v)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const k=ie(()=>{if(!s.value)return null;const m=`./${s.value}.vue`;return v[m]?Gc(v[m]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(v)),null)});yt("mapboxToken",r),yt("dataSource",i),yt("colorSet",a),yt("profileConfig",o),yt("instanceId",_),yt("lang",h);const F=Ag(),C=Eg(),L=Tg();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((y=F.setTheme)==null||y.call(F,m))}catch{}return yt("uiStore",F),yt("mapStore",C),yt("dataStore",L),(m,A)=>(q(),X("div",Ig,[o.value?k.value?(q(),Ze(_i(k.value),{key:2})):(q(),X("div",xg,[M("p",null,[A[1]||(A[1]=$e("⚠️ Profile ",-1)),M("strong",null,'"'+Q(s.value)+'"',1),A[2]||(A[2]=$e(" not found.",-1))])])):(q(),X("div",Fg,[...A[0]||(A[0]=[M("p",null,[$e("⚠️ "),M("strong",null,"doxa-map"),$e(": missing or invalid "),M("code",null,"profile-config"),$e(" prop.")],-1),M("p",null,[$e("Example: "),M("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),k.value&&l.value?(q(),Ze(_i(nt(null)),{key:3})):Le("",!0),k.value&&c.value?(q(),Ze(Ng,{key:4})):Le("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),Mg=Object.assign({"./connectivity-list.vue":()=>ar(()=>Promise.resolve().then(()=>Qg),void 0),"./connectivity-map.vue":()=>ar(()=>Promise.resolve().then(()=>jm),void 0),"./data-tables.vue":()=>ar(()=>Promise.resolve().then(()=>p_),void 0)});function Dg(){return up(Pg,{configureApp(e){e.use(yp()),e.use(kg()),e.provide("profileModules",Mg)}})}const Bg=Dg();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Bg));const Rg={countries:[{iso3:"IND",country:"India",region:"Asia",clusters:541,people_groups:856,multi:164,internet_access:"yes",internet_pct:64.9,internet_year:"2024",mobile_per_100:79.4,mobile_year:"2024",national_population:1450935791,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CHN",country:"People's Republic of China",region:"Asia",clusters:130,people_groups:154,multi:19,internet_access:"yes",internet_pct:92,internet_year:"2024",mobile_per_100:131.8,mobile_year:"2024",national_population:1408975e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SDN",country:"Sudan",region:"Middle East",clusters:75,people_groups:105,multi:20,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:70.2,mobile_year:"2022",national_population:50448963,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRA",country:"Brazil",region:"Latin America & Caribbean",clusters:99,people_groups:104,multi:5,internet_access:"yes",internet_pct:84.5,internet_year:"2024",mobile_per_100:101.9,mobile_year:"2024",national_population:211998573,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LAO",country:"Lao People's Democratic Republic",region:"Asia",clusters:65,people_groups:95,multi:24,internet_access:"yes",internet_pct:65.6,internet_year:"2024",mobile_per_100:64.8,mobile_year:"2023",national_population:7769819,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TCD",country:"Chad",region:"Africa",clusters:48,people_groups:54,multi:6,internet_access:"no",internet_pct:12.6,internet_year:"2024",mobile_per_100:72.9,mobile_year:"2024",national_population:20299123,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NGA",country:"Nigeria",region:"Africa",clusters:35,people_groups:38,multi:3,internet_access:"partial",internet_pct:41.2,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:232679478,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IDN",country:"Indonesia",region:"Asia",clusters:35,people_groups:36,multi:1,internet_access:"yes",internet_pct:72.8,internet_year:"2024",mobile_per_100:122.5,mobile_year:"2024",national_population:283487931,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NPL",country:"Nepal",region:"Asia",clusters:25,people_groups:33,multi:5,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:99.8,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ETH",country:"Ethiopia",region:"Africa",clusters:29,people_groups:29,multi:0,internet_access:"no",internet_pct:21.9,internet_year:"2024",mobile_per_100:65.1,mobile_year:"2024",national_population:132059767,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COL",country:"Colombia",region:"Latin America & Caribbean",clusters:26,people_groups:26,multi:0,internet_access:"yes",internet_pct:79.3,internet_year:"2024",mobile_per_100:174.1,mobile_year:"2024",national_population:52886363,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PAK",country:"Pakistan",region:"Asia",clusters:21,people_groups:24,multi:2,internet_access:"partial",internet_pct:57.3,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:251269164,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SSD",country:"South Sudan",region:"Africa",clusters:22,people_groups:22,multi:0,internet_access:"no",internet_pct:6.7,internet_year:"2019",mobile_per_100:46.6,mobile_year:"2023",national_population:11943408,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"RUS",country:"Russian Federation",region:"Europe",clusters:17,people_groups:21,multi:2,internet_access:"yes",internet_pct:94.4,internet_year:"2024",mobile_per_100:186.1,mobile_year:"2024",national_population:143669648,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AFG",country:"Afghanistan",region:"Asia",clusters:15,people_groups:21,multi:5,internet_access:"no",internet_pct:16.1,internet_year:"2024",mobile_per_100:60.1,mobile_year:"2024",national_population:42647492,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IRN",country:"Islamic Republic of Iran",region:"Middle East",clusters:19,people_groups:20,multi:1,internet_access:"yes",internet_pct:85.3,internet_year:"2024",mobile_per_100:174.1,mobile_year:"2024",national_population:91567738,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DZA",country:"Algeria",region:"Middle East",clusters:15,people_groups:17,multi:2,internet_access:"yes",internet_pct:77.4,internet_year:"2024",mobile_per_100:115.5,mobile_year:"2024",national_population:46814308,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VNM",country:"Vietnam",region:"Asia",clusters:15,people_groups:16,multi:1,internet_access:"yes",internet_pct:84.2,internet_year:"2024",mobile_per_100:127.6,mobile_year:"2024",national_population:100987686,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TZA",country:"United Republic of Tanzania",region:"Africa",clusters:16,people_groups:16,multi:0,internet_access:"partial",internet_pct:31.2,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2024",national_population:68560157,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBY",country:"Libya",region:"Middle East",clusters:13,people_groups:15,multi:2,internet_access:"yes",internet_pct:82,internet_year:"2024",mobile_per_100:193,mobile_year:"2022",national_population:7381023,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BTN",country:"Bhutan",region:"Asia",clusters:12,people_groups:13,multi:1,internet_access:"yes",internet_pct:91.3,internet_year:"2024",mobile_per_100:99.8,mobile_year:"2024",national_population:791524,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GIN",country:"Guinea",region:"Africa",clusters:13,people_groups:13,multi:0,internet_access:"partial",internet_pct:33.3,internet_year:"2024",mobile_per_100:97.9,mobile_year:"2023",national_population:14754785,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MLI",country:"Mali",region:"Africa",clusters:13,people_groups:13,multi:0,internet_access:"partial",internet_pct:36.8,internet_year:"2024",mobile_per_100:112.1,mobile_year:"2022",national_population:24478595,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MYS",country:"Malaysia",region:"Asia",clusters:11,people_groups:12,multi:1,internet_access:"yes",internet_pct:98,internet_year:"2024",mobile_per_100:139.7,mobile_year:"2024",national_population:35557673,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AGO",country:"Angola",region:"Africa",clusters:9,people_groups:10,multi:1,internet_access:"partial",internet_pct:40.7,internet_year:"2024",mobile_per_100:69.7,mobile_year:"2024",national_population:37885849,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PER",country:"Peru",region:"Latin America & Caribbean",clusters:10,people_groups:10,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:124.6,mobile_year:"2024",national_population:34217848,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"YEM",country:"Yemen",region:"Middle East",clusters:8,people_groups:9,multi:1,internet_access:"no",internet_pct:17.5,internet_year:"2019",mobile_per_100:50.9,mobile_year:"2023",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COD",country:"Democratic Republic of the Congo",region:"Africa",clusters:8,people_groups:9,multi:1,internet_access:"no",internet_pct:19.7,internet_year:"2024",mobile_per_100:58.5,mobile_year:"2024",national_population:109276265,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BEN",country:"Benin",region:"Africa",clusters:8,people_groups:9,multi:1,internet_access:"partial",internet_pct:34,internet_year:"2024",mobile_per_100:125.9,mobile_year:"2024",national_population:14462724,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SOM",country:"Somalia",region:"Africa",clusters:9,people_groups:9,multi:0,internet_access:"partial",internet_pct:27.9,internet_year:"2024",mobile_per_100:54,mobile_year:"2023",national_population:19009151,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ERI",country:"Eritrea",region:"Africa",clusters:7,people_groups:8,multi:1,internet_access:"no",internet_pct:14.3,internet_year:"2020",mobile_per_100:59.1,mobile_year:"2022",national_population:3535603,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IRQ",country:"Iraq",region:"Middle East",clusters:7,people_groups:8,multi:1,internet_access:"yes",internet_pct:81.5,internet_year:"2024",mobile_per_100:100.1,mobile_year:"2024",national_population:46042015,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BFA",country:"Burkina Faso",region:"Africa",clusters:7,people_groups:8,multi:1,internet_access:"partial",internet_pct:28.3,internet_year:"2024",mobile_per_100:116.6,mobile_year:"2024",national_population:23548781,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"THA",country:"Thailand",region:"Asia",clusters:8,people_groups:8,multi:0,internet_access:"yes",internet_pct:90.9,internet_year:"2024",mobile_per_100:160.6,mobile_year:"2024",national_population:71668011,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PSE",country:"State of Palestine",region:"Middle East",clusters:3,people_groups:7,multi:1,internet_access:"yes",internet_pct:86.6,internet_year:"2023",mobile_per_100:76.7,mobile_year:"2023",national_population:5289152,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"OMN",country:"Oman",region:"Middle East",clusters:7,people_groups:7,multi:0,internet_access:"yes",internet_pct:95.3,internet_year:"2024",mobile_per_100:120.6,mobile_year:"2024",national_population:5281538,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MMR",country:"Myanmar",region:"Asia",clusters:7,people_groups:7,multi:0,internet_access:"partial",internet_pct:45.4,internet_year:"2020",mobile_per_100:114.3,mobile_year:"2024",national_population:54500091,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CMR",country:"Cameroon",region:"Africa",clusters:7,people_groups:7,multi:0,internet_access:"partial",internet_pct:46.3,internet_year:"2024",mobile_per_100:108.2,mobile_year:"2024",national_population:29123744,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TGO",country:"Togo",region:"Africa",clusters:5,people_groups:6,multi:1,internet_access:"partial",internet_pct:39.5,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:8406558,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JPN",country:"Japan",region:"Asia",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:85.5,internet_year:"2024",mobile_per_100:178.4,mobile_year:"2023",national_population:123975371,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"UGA",country:"Uganda",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"no",internet_pct:8.9,internet_year:"2024",mobile_per_100:83.2,mobile_year:"2024",national_population:50015092,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZMB",country:"Zambia",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:108.7,mobile_year:"2024",national_population:21314956,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VEN",country:"Venezuela",region:"Latin America & Caribbean",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:76.7,internet_year:"2024",mobile_per_100:71,mobile_year:"2024",national_population:28405543,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NAM",country:"Namibia",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:64.9,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:3030131,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRN",country:"Brunei Darussalam",region:"Asia",clusters:4,people_groups:5,multi:1,internet_access:"yes",internet_pct:96.3,internet_year:"2024",mobile_per_100:118.1,mobile_year:"2024",national_population:462721,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KEN",country:"Kenya",region:"Africa",clusters:5,people_groups:5,multi:0,internet_access:"partial",internet_pct:35,internet_year:"2024",mobile_per_100:126.5,mobile_year:"2024",national_population:56432944,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SYR",country:"Syrian Arab Republic",region:"Middle East",clusters:5,people_groups:5,multi:0,internet_access:"partial",internet_pct:33.8,internet_year:"2018",mobile_per_100:71.2,mobile_year:"2024",national_population:24672760,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBN",country:"Lebanon",region:"Middle East",clusters:4,people_groups:4,multi:0,internet_access:"yes",internet_pct:80.6,internet_year:"2024",mobile_per_100:74,mobile_year:"2022",national_population:5805962,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MOZ",country:"Mozambique",region:"Africa",clusters:4,people_groups:4,multi:0,internet_access:"no",internet_pct:20.5,internet_year:"2024",mobile_per_100:49.5,mobile_year:"2024",national_population:34631766,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MAR",country:"Morocco",region:"Middle East",clusters:4,people_groups:4,multi:0,internet_access:"yes",internet_pct:91.2,internet_year:"2024",mobile_per_100:153.1,mobile_year:"2024",national_population:38081173,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"QAT",country:"Qatar",region:"Middle East",clusters:1,people_groups:3,multi:1,internet_access:"yes",internet_pct:98.1,internet_year:"2024",mobile_per_100:153.6,mobile_year:"2024",national_population:2857822,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SAU",country:"Saudi Arabia",region:"Middle East",clusters:2,people_groups:3,multi:1,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:159.5,mobile_year:"2024",national_population:35300280,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TUR",country:"Türkiye",region:"Europe",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:87.3,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:85518661,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AZE",country:"Azerbaijan",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:90.4,internet_year:"2024",mobile_per_100:109.5,mobile_year:"2024",national_population:10202830,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GMB",country:"Republic of The Gambia",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:49.5,internet_year:"2024",mobile_per_100:126.2,mobile_year:"2024",national_population:2759988,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JOR",country:"Jordan",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:95.6,internet_year:"2024",mobile_per_100:69.6,mobile_year:"2024",national_population:11552876,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZWE",country:"Zimbabwe",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:94.2,mobile_year:"2024",national_population:16634373,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COM",country:"Comoros",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:32.5,internet_year:"2024",mobile_per_100:109.9,mobile_year:"2023",national_population:866628,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"USA",country:"United States of America",region:"Other",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:94.7,internet_year:"2024",mobile_per_100:113.2,mobile_year:"2024",national_population:340003797,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BGD",country:"Bangladesh",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:53.4,internet_year:"2024",mobile_per_100:108.1,mobile_year:"2024",national_population:173562364,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GNB",country:"Guinea-Bissau",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:29.8,internet_year:"2024",mobile_per_100:147.2,mobile_year:"2024",national_population:2201352,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KOS",country:"KOS",region:"Europe",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MRT",country:"Mauritania",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:45.8,internet_year:"2024",mobile_per_100:92.1,mobile_year:"2024",national_population:5169395,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ESH",country:"Western Sahara",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TJK",country:"Tajikistan",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:55.8,internet_year:"2024",mobile_per_100:76.2,mobile_year:"2023",national_population:10590927,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"EGY",country:"Egypt",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:74.6,internet_year:"2024",mobile_per_100:97.1,mobile_year:"2024",national_population:116538258,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNG",country:"Mongolia",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:85.1,internet_year:"2024",mobile_per_100:140.7,mobile_year:"2024",national_population:3524788,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BHR",country:"Bahrain",region:"Middle East",clusters:1,people_groups:2,multi:1,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:159.5,mobile_year:"2024",national_population:1588670,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SUR",country:"Suriname",region:"North America & Non-Spanish Caribbean",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:142.1,mobile_year:"2024",national_population:634431,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NER",country:"Niger",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:60.6,mobile_year:"2024",national_population:27032412,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZAF",country:"South Africa",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:78.4,internet_year:"2024",mobile_per_100:179.3,mobile_year:"2024",national_population:64007187,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CCK",country:"Cocos (Keeling) Islands",region:"N/A",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COG",country:"Republic of the Congo",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:47.3,internet_year:"2024",mobile_per_100:95.5,mobile_year:"2024",national_population:6332961,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ARE",country:"United Arab Emirates",region:"Middle East",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:203.2,mobile_year:"2024",national_population:10986400,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GAB",country:"Gabon",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:68.7,internet_year:"2024",mobile_per_100:125.3,mobile_year:"2024",national_population:2538952,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUF",country:"French Guiana",region:"N/A",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CIV",country:"Cote d'Ivoire",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:41.4,internet_year:"2024",mobile_per_100:183.9,mobile_year:"2024",national_population:31934230,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KGZ",country:"Kyrgyzstan",region:"Asia",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:92,internet_year:"2024",mobile_per_100:107.5,mobile_year:"2024",national_population:7221868,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBR",country:"Liberia",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:32.2,internet_year:"2024",mobile_per_100:32.1,mobile_year:"2022",national_population:5612817,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SWE",country:"Sweden",region:"Europe",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:140.7,mobile_year:"2024",national_population:10569709,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TUN",country:"Tunisia",region:"Middle East",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:76.5,internet_year:"2024",mobile_per_100:117.6,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SLE",country:"Sierra Leone",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:25.1,internet_year:"2024",mobile_per_100:107.9,mobile_year:"2022",national_population:8642022,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AND",country:"Andorra",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:94.4,internet_year:"2024",mobile_per_100:155.7,mobile_year:"2024",national_population:81938,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SEN",country:"Senegal",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:60.1,internet_year:"2024",mobile_per_100:123.9,mobile_year:"2024",national_population:18501984,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNE",country:"Montenegro",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:88.9,internet_year:"2024",mobile_per_100:221.7,mobile_year:"2024",national_population:623525,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BOL",country:"Bolivia",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:79.7,internet_year:"2024",mobile_per_100:98,mobile_year:"2024",national_population:12413315,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ECU",country:"Ecuador",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:77.2,internet_year:"2024",mobile_per_100:101.6,mobile_year:"2024",national_population:18135478,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VIR",country:"Virgin Islands, U.S.",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:91.5,mobile_year:"2022",national_population:104377,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ATG",country:"Antigua and Barbuda",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.7,internet_year:"2024",mobile_per_100:200.5,mobile_year:"2022",national_population:93772,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ARM",country:"Armenia",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:81.3,internet_year:"2024",mobile_per_100:134.9,mobile_year:"2024",national_population:3033500,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ABW",country:"Aruba",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:130.6,mobile_year:"2022",national_population:107995,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BHS",country:"Bahamas",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:92.5,internet_year:"2024",mobile_per_100:96.7,mobile_year:"2024",national_population:401283,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRB",country:"Barbados",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.4,internet_year:"2024",mobile_per_100:114.6,mobile_year:"2022",national_population:282467,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BLR",country:"Belarus",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:94.3,internet_year:"2024",mobile_per_100:131.1,mobile_year:"2024",national_population:9132629,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BMU",country:"Bermuda",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:96.7,mobile_year:"2024",national_population:64636,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BIH",country:"Bosnia and Herzegovina",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:86.1,internet_year:"2024",mobile_per_100:121.2,mobile_year:"2024",national_population:3164253,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VGB",country:"Virgin Islands, British",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:39471,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BGR",country:"Bulgaria",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:82.4,internet_year:"2024",mobile_per_100:118.1,mobile_year:"2024",national_population:6441421,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KHM",country:"Cambodia",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:68.5,internet_year:"2024",mobile_per_100:116.1,mobile_year:"2024",national_population:17638801,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CYM",country:"Cayman Islands",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:139.3,mobile_year:"2022",national_population:74457,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CAF",country:"Central African Republic",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"no",internet_pct:13.8,internet_year:"2024",mobile_per_100:38.8,mobile_year:"2022",national_population:5330690,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CXR",country:"Christmas Island",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COK",country:"Cook Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CUB",country:"Cuba",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.5,internet_year:"2024",mobile_per_100:72.9,mobile_year:"2024",national_population:10979783,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CUW",country:"Curaçao",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:93.8,mobile_year:"2023",national_population:155967,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CYP",country:"Cyprus",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.6,internet_year:"2024",mobile_per_100:156.2,mobile_year:"2024",national_population:1358282,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DJI",country:"Djibouti",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:65.3,internet_year:"2024",mobile_per_100:48.5,mobile_year:"2023",national_population:1168722,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DMA",country:"Dominica",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:82,internet_year:"2024",mobile_per_100:85.2,mobile_year:"2022",national_population:66205,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GNQ",country:"Equatorial Guinea",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:63.3,internet_year:"2024",mobile_per_100:49.5,mobile_year:"2022",national_population:1892516,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FRO",country:"Faroe Islands",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:105.8,mobile_year:"2022",national_population:54640,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FJI",country:"Fiji",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:74.7,internet_year:"2024",mobile_per_100:574.2,mobile_year:"2024",national_population:928784,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PYF",country:"French Polynesia",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:118.8,mobile_year:"2023",national_population:281807,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GEO",country:"Georgia",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83.8,internet_year:"2024",mobile_per_100:161.2,mobile_year:"2024",national_population:3812518,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GIB",country:"Gibraltar",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:97.6,mobile_year:"2022",national_population:39329,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GRC",country:"Greece",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:86.3,internet_year:"2024",mobile_per_100:113.6,mobile_year:"2024",national_population:10405134,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GRD",country:"Grenada",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.2,internet_year:"2024",mobile_per_100:95.8,mobile_year:"2022",national_population:117207,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GLP",country:"Guadeloupe",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUM",country:"Guam",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:167777,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GGY",country:"Guernsey",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ISL",country:"Iceland",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.2,internet_year:"2024",mobile_per_100:120.9,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KIR",country:"Kiribati",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.4,internet_year:"2024",mobile_per_100:53.5,mobile_year:"2024",national_population:134518,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JAM",country:"Jamaica",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:90.1,internet_year:"2024",mobile_per_100:117.7,mobile_year:"2024",national_population:2839175,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JEY",country:"Jersey",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KAZ",country:"Kazakhstan",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.4,internet_year:"2024",mobile_per_100:127.1,mobile_year:"2024",national_population:20592571,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PRK",country:"North Korea",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:24.1,mobile_year:"2022",national_population:26498823,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KWT",country:"Kuwait",region:"Middle East",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:99.7,internet_year:"2024",mobile_per_100:167.7,mobile_year:"2023",national_population:4897263,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LIE",country:"Liechtenstein",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.3,internet_year:"2024",mobile_per_100:128.9,mobile_year:"2024",national_population:40450,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LUX",country:"Luxembourg",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.8,internet_year:"2024",mobile_per_100:144.5,mobile_year:"2023",national_population:677012,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MYT",country:"Mayotte",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MDV",country:"Maldives",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:85.2,internet_year:"2024",mobile_per_100:148.1,mobile_year:"2024",national_population:527799,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MLT",country:"Malta",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.9,internet_year:"2024",mobile_per_100:142.1,mobile_year:"2024",national_population:568847,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNP",country:"Northern Mariana Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:44278,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MHL",country:"Marshall Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:65.9,internet_year:"2024",mobile_per_100:39.7,mobile_year:"2022",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MUS",country:"Mauritius",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:73.3,internet_year:"2024",mobile_per_100:172.7,mobile_year:"2024",national_population:1245779,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FSM",country:"Micronesia, Federated States of",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:39.5,internet_year:"2024",mobile_per_100:20,mobile_year:"2022",national_population:113160,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MCO",country:"Monaco",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:99,internet_year:"2024",mobile_per_100:107.4,mobile_year:"2024",national_population:38631,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MSR",country:"Montserrat",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NCL",country:"New Caledonia",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:91.7,mobile_year:"2022",national_population:292639,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NIU",country:"Niue",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VUT",country:"Vanuatu",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:89.3,mobile_year:"2023",national_population:327777,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NFK",country:"Norfolk Island",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"HKG",country:"Hong Kong",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:95.8,internet_year:"2024",mobile_per_100:364.8,mobile_year:"2024",national_population:7524100,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MAC",country:"Macao",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.8,internet_year:"2024",mobile_per_100:201.1,mobile_year:"2024",national_population:687e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PLW",country:"Palau",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83.9,internet_year:"2024",mobile_per_100:135.4,mobile_year:"2023",national_population:17695,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PNG",country:"Papua New Guinea",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"no",internet_pct:18.8,internet_year:"2024",mobile_per_100:38.8,mobile_year:"2024",national_population:10576502,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BLM",country:"Saint Barthélemy",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SHN",country:"Saint Helena",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LCA",country:"Saint Lucia",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:68.2,internet_year:"2024",mobile_per_100:98.7,mobile_year:"2022",national_population:179744,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SMR",country:"San Marino",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:97.4,internet_year:"2024",mobile_per_100:120.3,mobile_year:"2022",national_population:33977,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ASM",country:"American Samoa",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:46765,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"WSM",country:"Samoa",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:62.4,mobile_year:"2022",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"STP",country:"Sao Tome and Principe",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:59.1,internet_year:"2024",mobile_per_100:62.4,mobile_year:"2024",national_population:235536,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SXM",country:"Sint Maarten (Dutch part)",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:205.4,mobile_year:"2022",national_population:43350,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SLB",country:"Solomon Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:29,internet_year:"2024",mobile_per_100:62.1,mobile_year:"2022",national_population:819198,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LKA",country:"Sri Lanka",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:54.6,internet_year:"2024",mobile_per_100:132.5,mobile_year:"2024",national_population:21916e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SJM",country:"Svalbard and Jan Mayen",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SWZ",country:"Eswatini",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:63.4,internet_year:"2024",mobile_per_100:139.8,mobile_year:"2024",national_population:1242822,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TKL",country:"Tokelau",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TON",country:"Tonga",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:67.4,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:104175,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TCA",country:"Turks and Caicos Islands",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:46535,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VCT",country:"Saint Vincent and the Grenadines",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:76.2,internet_year:"2024",mobile_per_100:108.4,mobile_year:"2024",national_population:100616,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"WLF",country:"Wallis and Futuna",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PRY",country:"Paraguay",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:81.6,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2023",national_population:6929153,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FIN",country:"Finland",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.7,internet_year:"2024",mobile_per_100:125.9,mobile_year:"2024",national_population:5619911,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ALB",country:"Albania",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:85.9,internet_year:"2024",mobile_per_100:89.1,mobile_year:"2024",national_population:2377128,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PAN",country:"Panama",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.8,internet_year:"2024",mobile_per_100:156.6,mobile_year:"2023",national_population:4515577,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NZL",country:"New Zealand",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:130.1,mobile_year:"2024",national_population:529e4,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CZE",country:"Czech Republic",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:87.7,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2024",national_population:10905028,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GHA",country:"Ghana",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.2,internet_year:"2024",mobile_per_100:113.6,mobile_year:"2024",national_population:34427414,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PHL",country:"Philippines",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:67.3,internet_year:"2024",mobile_per_100:115.3,mobile_year:"2024",national_population:115843670,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ISR",country:"Israel",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:88.2,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:10002200,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUY",country:"Guyana",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83,internet_year:"2024",mobile_per_100:112.6,mobile_year:"2022",national_population:831087,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"UZB",country:"Uzbekistan",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.5,internet_year:"2024",mobile_per_100:110.5,mobile_year:"2024",national_population:36361859,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ESP",country:"Spain",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:95.8,internet_year:"2024",mobile_per_100:130.3,mobile_year:"2024",national_population:48848840,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MWI",country:"Malawi",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:69.3,mobile_year:"2024",national_population:21655286,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}}]},Wg={class:"ci-tot"},Ug={class:"ci-chip"},jg={class:"ci-chip"},Gg={class:"ci-chip"},Yg={class:"ci-chip"},Vg=["onClick"],Hg={class:"sec-name"},qg={class:"sec-meta"},zg={class:"r-name"},Kg={class:"r-sub"},Xg={class:"r-num"},Jg={class:"r-sub"},Zg={class:"r-num"},Qg=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=qe("profileConfig",ce(null)),n=ie(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=ie(()=>Rg.countries||[]),s=ie(()=>{const f=new Map;for(const h of o.value){const _=h.region||"Other";f.has(_)||f.set(_,[]),f.get(_).push(h)}return[...f.entries()].map(([h,_])=>({name:h,items:_.slice().sort((v,k)=>k.people_groups-v.people_groups),groups:_.reduce((v,k)=>v+k.people_groups,0),unknown:_.filter(v=>v.internet_access==="unknown").length})).sort((h,_)=>_.groups-h.groups)}),r=ce({}),i=f=>!!r.value[f],a=f=>{r.value={...r.value,[f]:!r.value[f]}},l=ie(()=>{const f=o.value;return{countries:f.length,resolved:f.filter(h=>h.internet_access!=="unknown").length,unknown:f.filter(h=>h.internet_access==="unknown").length,low:f.filter(h=>h.internet_access==="no").length}}),c=f=>f==="yes"?"ok":f==="partial"?"mid":f==="no"?"low":"unk",u=f=>f==="yes"?"connected":f==="partial"?"partial":f==="no"?"low":"unknown";return Qt(".ci{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ci.is-dark{background:#0a1410;color:#e5e7eb}.ci-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.ci-sub{margin:0 auto 18px;max-width:640px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.ci-tot{display:flex;gap:14px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.ci-chip{font-size:11.5px;padding:4px 11px;border-radius:999px;background:rgba(0,0,0,.06);font-weight:600}.is-dark .ci-chip{background:rgba(255,255,255,.10)}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px 10px 8px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:600}.r-sub{font-size:11px;opacity:.6}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.src{max-width:1080px;margin:8px auto 0;font-size:11px;line-height:1.6;opacity:.6;text-align:center}","doxa-cities-internet"),(f,h)=>(q(),X("div",{class:Se(["ci",{"is-dark":n.value}])},[h[1]||(h[1]=M("h2",{class:"ci-h"},"Cities with Internet",-1)),h[2]||(h[2]=M("p",{class:"ci-sub"},[$e(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),M("strong",null,"unknown means unmeasured, never assumed"),$e(". ")],-1)),M("div",Wg,[M("span",Ug,Q(l.value.countries)+" countries",1),M("span",jg,Q(l.value.resolved)+" measured",1),M("span",Gg,Q(l.value.unknown)+" unknown",1),M("span",Yg,Q(l.value.low)+" low-connectivity",1)]),(q(!0),X(de,null,lt(s.value,_=>(q(),X("section",{key:_.name,class:"sec"},[M("button",{type:"button",class:"sec-head",onClick:v=>a(_.name)},[M("span",{class:Se(["sec-caret",{open:!i(_.name)}])},"▶",2),M("h3",Hg,Q(_.name),1),M("span",qg,[$e(Q(_.items.length)+" countries · "+Q(_.groups.toLocaleString())+" people groups ",1),_.unknown?(q(),X(de,{key:0},[$e(" · "+Q(_.unknown)+" unmeasured",1)],64)):Le("",!0)])],8,Vg),Sc(M("div",null,[(q(!0),X(de,null,lt(_.items,v=>(q(),X("div",{key:v.iso3,class:"row"},[M("div",null,[M("div",zg,Q(v.country),1),M("div",Kg,[$e(Q(v.people_groups)+" people groups · "+Q(v.clusters)+" locations ",1),v.multi?(q(),X(de,{key:0},[$e(" · "+Q(v.multi)+" population centres",1)],64)):Le("",!0)])]),M("div",Xg,[v.internet_pct!==null&&v.internet_pct!==void 0?(q(),X(de,{key:0},[$e(Q(v.internet_pct)+"% ",1),M("div",Jg,Q(v.internet_year),1)],64)):(q(),X(de,{key:1},[$e("—")],64))]),M("div",Zg,[v.mobile_per_100!==null&&v.mobile_per_100!==void 0?(q(),X(de,{key:0},[$e(Q(v.mobile_per_100)+" ",1),h[0]||(h[0]=M("div",{class:"r-sub"},"mob/100",-1))],64)):(q(),X(de,{key:1},[$e("—")],64))]),M("span",{class:Se(["pill",c(v.internet_access)])},Q(u(v.internet_access)),3)]))),128))],512),[[Hu,!i(_.name)]])]))),128)),h[3]||(h[3]=M("p",{class:"src"}," Internet and mobile figures: World Bank Open Data (CC BY 4.0), most recent observation 2018–2024. Banding: connected ≥60% · partial 25–59% · low <25% of population using the internet. Country-resolution — per-city measurements are not publicly available at this scale. ISP names, carrier names and censorship history require per-country cited reporting and are not shown. ",-1))],2))}}},Symbol.toStringTag,{value:"Module"})),_s={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"}};function em(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:n=!0,basemap:o=!0}=t,s=document.createElement("div");s.className="doxa-attribution mapboxgl-ctrl",s.style.cssText=["font:11px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif","background:rgba(255,255,255,.82)","color:#3a4048","padding:2px 6px","border-radius:3px 0 0 0","pointer-events:auto","max-width:min(92vw,420px)"].join(";");const r=[];n&&r.push(_s.boundaries),o&&(r.push(_s.mapbox),r.push(_s.osm)),s.innerHTML=r.map(a=>`${a.label}`).join(" · ");const i={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(i,"bottom-right"),i}const tm={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return Qt(` .map-toolbar { position: absolute; top: 6px; @@ -84,7 +84,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(t,n)=>(q(),X("div",{class:Ie(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[yi(t.$slots,"default")],2))}},nm=["title","disabled"],uo={__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 Qt(` +`,"map-toolbar"),(t,n)=>(q(),X("div",{class:Se(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[yi(t.$slots,"default")],2))}},nm=["title","disabled"],uo={__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 Qt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -108,7 +108,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,n)=>(q(),X("button",{class:Ie(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[yi(t.$slots,"default")],10,nm))}},om={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Zt(),n=e;function o(){var s;(s=n.map)==null||s.zoomIn()}return(s,r)=>(q(),Ze(uo,{"is-dark":e.isDark,title:nt(t)("buttons.zoomIn"),onClick:o},{default:sn(()=>[...r[0]||(r[0]=[M("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},rm={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Zt(),n=e;function o(){var s;(s=n.map)==null||s.zoomOut()}return(s,r)=>(q(),Ze(uo,{"is-dark":e.isDark,title:nt(t)("buttons.zoomOut"),onClick:o},{default:sn(()=>[...r[0]||(r[0]=[M("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},sm={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=Zt(),n=e;function o(){var r;(r=n.map)==null||r.flyTo({center:n.center,zoom:n.zoom,duration:1200})}function s(){if(n.map){if(typeof navigator>"u"||!navigator.geolocation){o();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:i,latitude:a}=r.coords;Number.isFinite(i)&&Number.isFinite(a)?n.map.flyTo({center:[i,a],zoom:n.userZoom,duration:1500}):o()},()=>o(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,i)=>(q(),Ze(uo,{"is-dark":e.isDark,title:nt(t)("buttons.resetView"),onClick:s},{default:sn(()=>[...i[0]||(i[0]=[M("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[M("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},im={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},am={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},lm={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:n}=Zt(),o=e,s=t,r=ce(!1);let i=null,a=null,l=null,c=null,u=null,f=null,h=null,_=null,v=null,k=null,F=null,C=0,L=0,y=null,m=null;function A(){if(typeof document>"u")return!1;const V=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(V)||V.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function S(){var V,R,K;return((K=(R=(V=o.mapContainer)==null?void 0:V.getRootNode)==null?void 0:R.call(V))==null?void 0:K.host)??null}function $(){var R,K;const V=(K=(R=o.mapContainer)==null?void 0:R.getRootNode)==null?void 0:K.call(R);return document.fullscreenElement||document.webkitFullscreenElement||(V&&V instanceof ShadowRoot?V.fullscreenElement:null)||null}function O(V){const R=V.requestFullscreen||V.webkitRequestFullscreen;if(!R)return Promise.reject(new Error("Fullscreen API unavailable"));const K=R.call(V);return K&&typeof K.then=="function"?K:Promise.resolve()}function T(){const V=document.exitFullscreen||document.webkitExitFullscreen;if(!V)return Promise.reject(new Error("Fullscreen API unavailable"));const R=V.call(document);return R&&typeof R.then=="function"?R:Promise.resolve()}function J(){const V=S();if(!V)return!1;if(l=V,a=V.style.cssText,V.style.position="fixed",V.style.top="0",V.style.left="0",V.style.right="0",V.style.bottom="0",V.style.width="100vw",V.style.height="100vh",V.style.height="100dvh",V.style.zIndex="2147483647",V.style.margin="0",V.style.borderRadius="0",V.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){C=window.scrollY||window.pageYOffset||0,L=window.scrollX||window.pageXOffset||0;const R=document.body,K=document.documentElement;c=R?R.style.overflow:null,u=K?K.style.overflow:null,f=R?R.style.position:null,h=R?R.style.top:null,_=R?R.style.left:null,v=R?R.style.width:null,k=R?R.style.touchAction:null,F=K?K.style.touchAction:null,K&&(K.style.overflow="hidden",K.style.touchAction="none"),R&&(R.style.overflow="hidden",R.style.position="fixed",R.style.top=`-${C}px`,R.style.left=`-${L}px`,R.style.width="100%",R.style.touchAction="none"),y=ae=>{if(!l)return;const Ne=ae.target;Ne&&(Ne===l||l.contains&&l.contains(Ne))||ae.cancelable&&ae.preventDefault()},m=ae=>{if(!l)return;const Ne=ae.target;Ne&&(Ne===l||l.contains&&l.contains(Ne))||ae.cancelable&&ae.preventDefault()},document.addEventListener("touchmove",y,{passive:!1,capture:!0}),document.addEventListener("wheel",m,{passive:!1,capture:!0})}return!0}function ee(){if(l){if(l.style.cssText=a||"",l=null,a=null,typeof document<"u"){const V=document.body,R=document.documentElement;V&&(V.style.overflow=c??"",V.style.position=f??"",V.style.top=h??"",V.style.left=_??"",V.style.width=v??"",V.style.touchAction=k??""),R&&(R.style.overflow=u??"",R.style.touchAction=F??""),y&&(document.removeEventListener("touchmove",y,{capture:!0}),y=null),m&&(document.removeEventListener("wheel",m,{capture:!0}),m=null),typeof window<"u"&&(C||L)&&window.scrollTo(L,C)}c=null,u=null,f=null,h=null,_=null,v=null,k=null,F=null,C=0,L=0}}function U(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function Y(){if(!A()){r.value?(ee(),r.value=!1,s("change",!1)):J()&&(r.value=!0,s("change",!0)),U();return}if($())T().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const R=S()??document.documentElement;O(R).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{O(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function oe(){r.value=!!$(),s("change",r.value)}return Vt(()=>{var R,K;document.addEventListener("fullscreenchange",oe),document.addEventListener("webkitfullscreenchange",oe);const V=(K=(R=o.mapContainer)==null?void 0:R.getRootNode)==null?void 0:K.call(R);V instanceof ShadowRoot&&(i=V,V.addEventListener("fullscreenchange",oe),V.addEventListener("webkitfullscreenchange",oe))}),$n(()=>{document.removeEventListener("fullscreenchange",oe),document.removeEventListener("webkitfullscreenchange",oe),i&&(i.removeEventListener("fullscreenchange",oe),i.removeEventListener("webkitfullscreenchange",oe),i=null),l&&ee()}),(V,R)=>(q(),Ze(uo,{"is-dark":e.isDark,active:r.value,title:nt(n)("buttons.toggleFullscreen"),onClick:Y},{default:sn(()=>[r.value?(q(),X("svg",am,[...R[1]||(R[1]=[M("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(q(),X("svg",im,[...R[0]||(R[0]=[M("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},cm=ir&&ir.tagName.toUpperCase()==="SCRIPT"&&ir.src||new URL("cities-internet.js",document.baseURI).href,bs=e=>String(e||"").trim().replace(/\/+$/,"");function um(){try{const t=String(cm||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function pm(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return bs(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return bs(n)}return bs(um()||"")}function dm({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,s=typeof window<"u",r=e||(o==null?void 0:o.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const i=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(i){if(/^https?:\/\//i.test(i))return i;if(i.startsWith("/"))return s?window.location.origin+i:i;const a=pm(o),l=i.replace(/^\.\//,"");if(a)return a+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return s?window.location.origin+window.location.pathname:""}const fm={class:"share-steps"},hm={class:"share-tabs"},gm={key:0,class:"share-body"},mm={class:"share-url-box"},_m={class:"share-url-text"},bm={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ym={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"},vm={key:1,class:"share-body"},wm={class:"share-size-pills"},km=["onClick"],$m={class:"share-code-box"},Om={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Nm={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"},Cm={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Qt(` +`,"map-control-button"),(t,n)=>(q(),X("button",{class:Se(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[yi(t.$slots,"default")],10,nm))}},om={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Zt(),n=e;function o(){var s;(s=n.map)==null||s.zoomIn()}return(s,r)=>(q(),Ze(uo,{"is-dark":e.isDark,title:nt(t)("buttons.zoomIn"),onClick:o},{default:sn(()=>[...r[0]||(r[0]=[M("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},rm={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Zt(),n=e;function o(){var s;(s=n.map)==null||s.zoomOut()}return(s,r)=>(q(),Ze(uo,{"is-dark":e.isDark,title:nt(t)("buttons.zoomOut"),onClick:o},{default:sn(()=>[...r[0]||(r[0]=[M("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},sm={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=Zt(),n=e;function o(){var r;(r=n.map)==null||r.flyTo({center:n.center,zoom:n.zoom,duration:1200})}function s(){if(n.map){if(typeof navigator>"u"||!navigator.geolocation){o();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:i,latitude:a}=r.coords;Number.isFinite(i)&&Number.isFinite(a)?n.map.flyTo({center:[i,a],zoom:n.userZoom,duration:1500}):o()},()=>o(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,i)=>(q(),Ze(uo,{"is-dark":e.isDark,title:nt(t)("buttons.resetView"),onClick:s},{default:sn(()=>[...i[0]||(i[0]=[M("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[M("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},im={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},am={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},lm={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:n}=Zt(),o=e,s=t,r=ce(!1);let i=null,a=null,l=null,c=null,u=null,f=null,h=null,_=null,v=null,k=null,F=null,C=0,L=0,y=null,m=null;function A(){if(typeof document>"u")return!1;const V=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(V)||V.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function S(){var V,R,K;return((K=(R=(V=o.mapContainer)==null?void 0:V.getRootNode)==null?void 0:R.call(V))==null?void 0:K.host)??null}function $(){var R,K;const V=(K=(R=o.mapContainer)==null?void 0:R.getRootNode)==null?void 0:K.call(R);return document.fullscreenElement||document.webkitFullscreenElement||(V&&V instanceof ShadowRoot?V.fullscreenElement:null)||null}function O(V){const R=V.requestFullscreen||V.webkitRequestFullscreen;if(!R)return Promise.reject(new Error("Fullscreen API unavailable"));const K=R.call(V);return K&&typeof K.then=="function"?K:Promise.resolve()}function T(){const V=document.exitFullscreen||document.webkitExitFullscreen;if(!V)return Promise.reject(new Error("Fullscreen API unavailable"));const R=V.call(document);return R&&typeof R.then=="function"?R:Promise.resolve()}function J(){const V=S();if(!V)return!1;if(l=V,a=V.style.cssText,V.style.position="fixed",V.style.top="0",V.style.left="0",V.style.right="0",V.style.bottom="0",V.style.width="100vw",V.style.height="100vh",V.style.height="100dvh",V.style.zIndex="2147483647",V.style.margin="0",V.style.borderRadius="0",V.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){C=window.scrollY||window.pageYOffset||0,L=window.scrollX||window.pageXOffset||0;const R=document.body,K=document.documentElement;c=R?R.style.overflow:null,u=K?K.style.overflow:null,f=R?R.style.position:null,h=R?R.style.top:null,_=R?R.style.left:null,v=R?R.style.width:null,k=R?R.style.touchAction:null,F=K?K.style.touchAction:null,K&&(K.style.overflow="hidden",K.style.touchAction="none"),R&&(R.style.overflow="hidden",R.style.position="fixed",R.style.top=`-${C}px`,R.style.left=`-${L}px`,R.style.width="100%",R.style.touchAction="none"),y=ae=>{if(!l)return;const Ce=ae.target;Ce&&(Ce===l||l.contains&&l.contains(Ce))||ae.cancelable&&ae.preventDefault()},m=ae=>{if(!l)return;const Ce=ae.target;Ce&&(Ce===l||l.contains&&l.contains(Ce))||ae.cancelable&&ae.preventDefault()},document.addEventListener("touchmove",y,{passive:!1,capture:!0}),document.addEventListener("wheel",m,{passive:!1,capture:!0})}return!0}function ee(){if(l){if(l.style.cssText=a||"",l=null,a=null,typeof document<"u"){const V=document.body,R=document.documentElement;V&&(V.style.overflow=c??"",V.style.position=f??"",V.style.top=h??"",V.style.left=_??"",V.style.width=v??"",V.style.touchAction=k??""),R&&(R.style.overflow=u??"",R.style.touchAction=F??""),y&&(document.removeEventListener("touchmove",y,{capture:!0}),y=null),m&&(document.removeEventListener("wheel",m,{capture:!0}),m=null),typeof window<"u"&&(C||L)&&window.scrollTo(L,C)}c=null,u=null,f=null,h=null,_=null,v=null,k=null,F=null,C=0,L=0}}function U(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function Y(){if(!A()){r.value?(ee(),r.value=!1,s("change",!1)):J()&&(r.value=!0,s("change",!0)),U();return}if($())T().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const R=S()??document.documentElement;O(R).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{O(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function re(){r.value=!!$(),s("change",r.value)}return Vt(()=>{var R,K;document.addEventListener("fullscreenchange",re),document.addEventListener("webkitfullscreenchange",re);const V=(K=(R=o.mapContainer)==null?void 0:R.getRootNode)==null?void 0:K.call(R);V instanceof ShadowRoot&&(i=V,V.addEventListener("fullscreenchange",re),V.addEventListener("webkitfullscreenchange",re))}),$n(()=>{document.removeEventListener("fullscreenchange",re),document.removeEventListener("webkitfullscreenchange",re),i&&(i.removeEventListener("fullscreenchange",re),i.removeEventListener("webkitfullscreenchange",re),i=null),l&&ee()}),(V,R)=>(q(),Ze(uo,{"is-dark":e.isDark,active:r.value,title:nt(n)("buttons.toggleFullscreen"),onClick:Y},{default:sn(()=>[r.value?(q(),X("svg",am,[...R[1]||(R[1]=[M("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(q(),X("svg",im,[...R[0]||(R[0]=[M("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},cm=ir&&ir.tagName.toUpperCase()==="SCRIPT"&&ir.src||new URL("cities-internet.js",document.baseURI).href,bs=e=>String(e||"").trim().replace(/\/+$/,"");function um(){try{const t=String(cm||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function pm(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return bs(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return bs(n)}return bs(um()||"")}function dm({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,s=typeof window<"u",r=e||(o==null?void 0:o.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const i=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(i){if(/^https?:\/\//i.test(i))return i;if(i.startsWith("/"))return s?window.location.origin+i:i;const a=pm(o),l=i.replace(/^\.\//,"");if(a)return a+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return s?window.location.origin+window.location.pathname:""}const fm={class:"share-steps"},hm={class:"share-tabs"},gm={key:0,class:"share-body"},mm={class:"share-url-box"},_m={class:"share-url-text"},bm={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ym={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"},vm={key:1,class:"share-body"},wm={class:"share-size-pills"},km=["onClick"],$m={class:"share-code-box"},Om={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Nm={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"},Cm={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Qt(` .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); @@ -418,4 +418,4 @@ z-index:9999; } } -`,"share-button");const{t,tm:n,rt:o}=Zt(),s=e,r=ce(null),i=ce(!1),a=ce(null),l=ce({});function c(){var Ae;const U=a.value,Y=((Ae=h.value)==null?void 0:Ae.$el)||h.value;if(!U||!Y){l.value={};return}const oe=U.getBoundingClientRect(),V=Y.getBoundingClientRect(),R=oe.width<600,K=Math.min(340,R?oe.width-24:oe.width-80),ae=R?12:Math.max(8,oe.right-V.left+8);let Ne=V.top-oe.top;const Qe=f.value;if(Qe){const Le=Qe.offsetHeight;Ne+Le>oe.height-8&&(Ne=Math.max(8,oe.height-8-Le))}l.value={position:"absolute",top:`${Math.round(Ne)}px`,right:`${Math.round(ae)}px`,width:`${Math.round(K)}px`}}vt(i,async U=>{U&&(await Gn(),c(),await Gn(),c())});function u(){i.value&&c()}const f=ce(null),h=ce(null),_=ce("link"),v=ce(!1),k=ce(!1),F=ce("medium"),C={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},L=qe("profileConfig",null),y=ie(()=>dm({embedPath:s.embedPath,profileConfig:nt(L)||null})),m=ie(()=>{const U=C[F.value].height;return''});function A(){i.value=!i.value,i.value&&(_.value="link",v.value=!1,k.value=!1)}function S(){i.value=!1}async function $(U){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(U),!0}catch{}try{const Y=document.createElement("textarea");Y.value=U,Y.setAttribute("readonly",""),Y.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Y),Y.select();const oe=document.execCommand("copy");return document.body.removeChild(Y),oe}catch{return!1}}async function O(){await $(y.value)&&(v.value=!0,setTimeout(()=>{v.value=!1},2e3))}async function T(){await $(m.value)&&(k.value=!0,setTimeout(()=>{k.value=!1},2e3))}function J(U){if(!i.value)return;const Y=U.composedPath?U.composedPath():[U.target];f.value&&Y.some(V=>V===f.value)||h.value&&Y.some(V=>V===h.value||V===h.value.$el)||!Y.some(V=>{var R,K;return(K=(R=V==null?void 0:V.classList)==null?void 0:R.contains)==null?void 0:K.call(R,"mapboxgl-canvas")})||S()}function ee(U){U.key==="Escape"&&i.value&&S()}return Vt(()=>{var U;document.addEventListener("click",J,!0),window.addEventListener("resize",u),a.value=((U=r.value)==null?void 0:U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]"))||null,document.addEventListener("keydown",ee)}),$n(()=>{document.removeEventListener("click",J,!0),window.removeEventListener("resize",u),document.removeEventListener("keydown",ee)}),(U,Y)=>(q(),X("div",{ref_key:"rootEl",ref:r,class:"share-wrap"},[ke(uo,{ref_key:"btnEl",ref:h,"is-dark":e.isDark,active:i.value,title:nt(t)("buttons.shareEmbed"),onClick:A},{default:sn(()=>[...Y[2]||(Y[2]=[M("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"},[M("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),M("polyline",{points:"16 6 12 2 8 6"}),M("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),(q(),Ze(Wc,{to:a.value,disabled:!a.value},[i.value?(q(),X("div",{key:0,ref_key:"popoverEl",ref:f,class:Ie(["share-pop",{light:!e.isDark}]),style:Pn(l.value)},[M("div",{class:"share-header"},[Y[4]||(Y[4]=M("span",{class:"share-title"},"Share",-1)),M("button",{class:"share-close",onClick:S,"aria-label":"Close"},[...Y[3]||(Y[3]=[M("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[M("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),M("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),M("ul",fm,[(q(!0),X(de,null,lt(nt(n)("buttons.shareSteps"),(oe,V)=>(q(),X("li",{key:V},Q(nt(o)(oe)),1))),128))]),M("div",hm,[M("button",{class:Ie(["share-tab",{active:_.value==="link"}]),onClick:Y[0]||(Y[0]=oe=>_.value="link")},"Embed link",2),M("button",{class:Ie(["share-tab",{active:_.value==="embed"}]),onClick:Y[1]||(Y[1]=oe=>_.value="embed")},"Add to Your Website",2)]),_.value==="link"?(q(),X("div",gm,[M("div",mm,[M("div",_m,Q(y.value),1)]),M("button",{class:Ie(["share-primary-btn",{copied:v.value}]),onClick:O},[v.value?(q(),X("svg",ym,[...Y[6]||(Y[6]=[M("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(q(),X("svg",bm,[...Y[5]||(Y[5]=[M("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),M("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Q(v.value?"Copied!":"Copy Link"),1)],2)])):Se("",!0),_.value==="embed"?(q(),X("div",vm,[Y[9]||(Y[9]=M("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),M("div",wm,[(q(),X(de,null,lt(C,(oe,V)=>M("button",{key:V,class:Ie(["share-size-pill",{active:F.value===V}]),onClick:R=>F.value=V},Q(oe.label),11,km)),64))]),M("div",$m,Q(m.value),1),M("button",{class:Ie(["share-secondary-btn",{copied:k.value}]),onClick:T},[k.value?(q(),X("svg",Nm,[...Y[8]||(Y[8]=[M("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(q(),X("svg",Om,[...Y[7]||(Y[7]=[M("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),M("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Q(k.value?"Copied!":"Copy Code"),1)],2)])):Se("",!0)],6)):Se("",!0)],8,["to","disabled"]))],512))}},Am={class:"gm-legend"},Em={class:"gm-keys"},Tm={key:1,class:"gm-err"},Lm={key:2,class:"gm-sheet"},Sm={class:"gm-sh-head"},Im={class:"gm-sh-name"},Fm={key:0,class:"gm-ai"},xm={class:"gm-stat"},Pm={class:"gm-stat"},Mm={class:"gm-stat"},Dm={class:"gm-stat"},Bm={class:"gm-stat"},Rm={key:1,class:"gm-list"},Wm={class:"gm-list-h"},Um={key:2,class:"gm-list"},jm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=qe("profileConfig",ce(null)),n=ie(()=>{var C;return((C=t.value)==null?void 0:C.isDark)===!0}),o=ie(()=>{var C;return((C=t.value)==null?void 0:C.tk)||window.DOXA_TOKEN||""}),s=ie(()=>{var C;return String(((C=t.value)==null?void 0:C.assetsBase)||"./assets").replace(/\/+$/,"")}),r=ce(null),i=To(null),a=ce([]),l=ce(null),c=ce(!0),u=ce(null),f=[{id:"yes",label:"connected 60%+",color:"#10b981"},{id:"partial",label:"partial 25–59%",color:"#e8c15a"},{id:"no",label:"low, under 25%",color:"#b42318"},{id:"unknown",label:"not measured",color:"#9aa2ad"}],h=C=>(f.find(L=>L.id===C)||{}).color||"#9aa2ad",_=ie(()=>{const C={};for(const L of a.value)C[L.iso3]=L;return C});async function v(){const[C,L]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(y=>y.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(y=>y.json())]);return a.value=C.countries||[],L}function k(C,L){const y=_.value,A={type:"FeatureCollection",features:(L.features||[]).map(S=>{var T;const $=(T=S.properties)==null?void 0:T.iso3,O=y[$];return{type:"Feature",properties:{iso3:$,band:(O==null?void 0:O.band)||"none",color:O?h(O.band):"rgba(0,0,0,0)",hasData:!!O},geometry:S.geometry}})};if(C.getSource("ci-src")){C.getSource("ci-src").setData(A);return}C.addSource("ci-src",{type:"geojson",data:A}),C.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),C.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),C.on("click","ci-fill",S=>{var O,T,J;const $=(J=(T=(O=S.features)==null?void 0:O[0])==null?void 0:T.properties)==null?void 0:J.iso3;$&&_.value[$]&&(l.value=_.value[$])}),C.on("mouseenter","ci-fill",()=>{C.getCanvas().style.cursor="pointer"}),C.on("mouseleave","ci-fill",()=>{C.getCanvas().style.cursor=""})}Vt(async()=>{const C=window.mapboxgl;if(!C||!r.value){u.value="mapbox-gl not loaded";return}try{const L=await v(),y=new C.Map({container:r.value,style:n.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11",accessToken:o.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});i.value=_n(y),em(y,{boundaries:!0}),y.once("load",()=>k(y,L))}catch(L){u.value=String(L.message||L)}}),$n(()=>{var C;try{(C=i.value)==null||C.remove()}catch{}});const F=C=>(Number(C)||0).toLocaleString();return Qt(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;right:8px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-connectivity-map"),(C,L)=>(q(),X("div",{class:Ie(["gm",{"is-dark":n.value}])},[M("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),i.value?(q(),Ze(tm,{key:0},{default:sn(()=>[ke(om,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(rm,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(sm,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(lm,{"map-container":r.value,"is-dark":n.value},null,8,["map-container","is-dark"]),ke(Cm,{"is-dark":n.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Se("",!0),M("div",Am,[L[2]||(L[2]=M("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),M("div",Em,[(q(),X(de,null,lt(f,y=>M("span",{key:y.id,class:"gm-key"},[M("i",{class:"gm-sw",style:Pn({background:y.color})},null,4),$e(Q(y.label),1)])),64))]),L[3]||(L[3]=M("div",{class:"gm-caveat"}," NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country. ",-1))]),u.value?(q(),X("div",Tm,Q(u.value),1)):Se("",!0),l.value?(q(),X("div",Lm,[M("div",Sm,[M("span",Im,Q(l.value.country),1),M("button",{type:"button",class:"gm-x",onClick:L[0]||(L[0]=y=>l.value=null)},"Close")]),c.value?(q(),X("div",Fm,[L[4]||(L[4]=M("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),M("button",{type:"button",class:"gm-ai-x",onClick:L[1]||(L[1]=y=>c.value=!1),"aria-label":"Dismiss"},"×")])):Se("",!0),M("div",xm,[L[5]||(L[5]=M("span",null,"Internet users",-1)),M("b",null,Q(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),M("div",Pm,[L[6]||(L[6]=M("span",null,"Measured",-1)),M("b",null,Q(l.value.internet_year||"—"),1)]),M("div",Mm,[L[7]||(L[7]=M("span",null,"Mobile per 100",-1)),M("b",null,Q(l.value.mobile_per_100??"—"),1)]),M("div",Dm,[L[8]||(L[8]=M("span",null,"People groups",-1)),M("b",null,Q(F(l.value.people_groups)),1)]),M("div",Bm,[L[9]||(L[9]=M("span",null,"Top platform",-1)),M("b",null,[$e(Q(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(q(),X(de,{key:0},[$e(" · "+Q(l.value.top_platform_pct)+"%",1)],64)):Se("",!0)])]),l.value.carriers&&l.value.carriers.length?(q(),X("div",Rm,[M("div",Wm,"Carriers & ISPs ("+Q(l.value.carrier_count)+")",1),M("ul",null,[(q(!0),X(de,null,lt(l.value.carriers,(y,m)=>(q(),X("li",{key:m},Q(y),1))),128))])])):Se("",!0),l.value.platforms&&l.value.platforms.length?(q(),X("div",Um,[L[10]||(L[10]=M("div",{class:"gm-list-h"},"Social platforms",-1)),M("ul",null,[(q(!0),X(de,null,lt(l.value.platforms,(y,m)=>(q(),X("li",{key:m},Q(y.name)+" · "+Q(y.pct)+"%",1))),128))])])):Se("",!0),L[11]||(L[11]=M("p",{class:"gm-note"}," National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification. ",-1))])):Se("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Gm={class:"dt-head"},Ym={class:"dt-title"},Vm={class:"dt-count"},Hm={key:0,class:"dt-grain"},qm={class:"dt-actions"},zm={key:0,class:"dt-err"},Km={class:"dt-wrap"},Xm={class:"dt-hint"},Jm={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},Zm={class:"dt-sheet-head"},Qm={class:"dt-dl"},e_=["href"],t_={key:1},n_={key:2},o_={key:2,class:"dt-caveats"},r_={class:"dt-cav-k"},s_={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const n=e,o=t,s=ce(!1),r=ce(null),i=ce(null),a=To(null),l=ce(null),c=ce(!1),u=ie(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),f=ie(()=>{var $;return(($=n.table)==null?void 0:$.meta)||{}}),h=ie(()=>{var $;return((($=n.table)==null?void 0:$.rows)||[]).length}),_=ie(()=>Object.entries(f.value).filter(([$,O])=>typeof O=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test($)).map(([$,O])=>({key:$.replace(/_/g," "),text:O})));let v=null;function k(){return window.Tabulator?Promise.resolve(window.Tabulator):v||(v=new Promise(($,O)=>{const T=document.createElement("script");T.src=`${u.value}/vendor/tabulator/tabulator.min.js`,T.onload=()=>$(window.Tabulator),T.onerror=()=>O(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(T)}),v)}async function F($){if(!(!$||$.querySelector("style[data-tabulator]")))try{const O=await fetch(`${u.value}/vendor/tabulator/tabulator.min.css`);if(!O.ok)return;const T=document.createElement("style");T.setAttribute("data-tabulator",""),T.textContent=await O.text(),$.appendChild(T)}catch{}}function C($){var ee,U;if(!i.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const O=((ee=n.table)==null?void 0:ee.columns)||[],J=(s.value?O.slice(0,3):O).map((Y,oe)=>({title:Y.title,field:Y.field,headerFilter:Y.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:Y.type==="number"?"number":Y.type==="boolean"?"boolean":"string",formatter:Y.type==="boolean"?"tickCross":void 0,.../_url$/.test(Y.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&oe{r.value=oe.getData(),o("row-click",oe.getData())}),a.value.on("tableBuilt",()=>{c.value=!0})}const L=$=>{var O,T;return((T=(((O=n.table)==null?void 0:O.columns)||[]).find(J=>J.field===$))==null?void 0:T.title)||$.replace(/_/g," ")},y=$=>typeof $=="string"&&$.includes(", ")&&$.length>40?$.split(", "):null,m=$=>typeof $=="string"&&/^https?:\/\//.test($),A=ie(()=>r.value?Object.entries(r.value).filter(([,$])=>$!==""&&$!==null&&$!==void 0):[]);function S($){var O;try{(O=a.value)==null||O.download($,`${(f.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${$}`)}catch(T){l.value=String(T.message||T)}}return Vt(async()=>{var $,O;try{await F((O=($=i.value)==null?void 0:$.getRootNode)==null?void 0:O.call($)),C(await k())}catch(T){l.value=String(T.message||T)}}),$n(()=>{var $;try{($=a.value)==null||$.destroy()}catch{}}),vt(()=>n.table,()=>{var $,O;try{(O=a.value)==null||O.replaceData((($=n.table)==null?void 0:$.rows)||[])}catch{}}),Qt(".dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-left:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-left:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-left:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),($,O)=>{var T,J;return q(),X("div",{class:Ie(["dt",{"is-dark":e.isDark}])},[M("div",Gm,[M("h3",Ym,Q(f.value.title||"Data"),1),M("span",Vm,Q(h.value.toLocaleString())+" rows",1),f.value.grain?(q(),X("span",Hm,"· "+Q(f.value.grain),1)):Se("",!0),M("span",qm,[M("button",{type:"button",class:"dt-btn",onClick:O[0]||(O[0]=ee=>S("csv"))},"CSV"),M("button",{type:"button",class:"dt-btn",onClick:O[1]||(O[1]=ee=>S("json"))},"JSON")])]),l.value?(q(),X("div",zm,Q(l.value),1)):Se("",!0),M("div",Km,[M("div",{ref_key:"host",ref:i},null,512)]),M("p",Xm,"Tap any row for its full detail"+Q(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(q(),X("div",{key:1,class:"dt-scrim",onClick:O[3]||(O[3]=hp(ee=>r.value=null,["self"]))},[M("div",Jm,[M("div",Zm,[M("strong",null,Q(r.value[(J=(((T=e.table)==null?void 0:T.columns)||[])[0])==null?void 0:J.field]||"Detail"),1),M("button",{type:"button",class:"dt-close",onClick:O[2]||(O[2]=ee=>r.value=null)},"Close")]),M("dl",Qm,[(q(!0),X(de,null,lt(A.value,([ee,U])=>(q(),X(de,{key:ee},[M("dt",null,Q(L(ee)),1),M("dd",null,[m(U)?(q(),X("a",{key:0,href:U,target:"_blank",rel:"noopener"},Q(U),9,e_)):y(U)?(q(),X("ul",t_,[(q(!0),X(de,null,lt(y(U),(Y,oe)=>(q(),X("li",{key:oe},Q(Y),1))),128))])):(q(),X("span",n_,Q(U===!0?"yes":U===!1?"no":U),1))])],64))),128))])])])):Se("",!0),_.value.length?(q(),X("div",o_,[(q(!0),X(de,null,lt(_.value,ee=>(q(),X("div",{key:ee.key},[M("span",r_,Q(ee.key)+":",1),$e(" "+Q(ee.text),1)]))),128))])):Se("",!0)],2)}}},i_={class:"ct-tabs"},a_=["onClick"],l_={key:0,class:"ct-n"},c_={key:0,class:"ct-err"},u_={key:1,class:"ct-load"},p_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=qe("profileConfig",ce(null)),n=ie(()=>{var h;return((h=t.value)==null?void 0:h.isDark)===!0}),o=ie(()=>{var h;return String(((h=t.value)==null?void 0:h.assetsBase)||"./assets").replace(/\/+$/,"")}),s=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"internet",label:"Connectivity",file:"country-connectivity"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"social",label:"Social Platforms",file:"social-platforms"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],r=ce("cities"),i=ie(()=>s.find(h=>h.id===r.value)||s[0]),a=ce({}),l=ce(!1),c=ce(null);async function u(h){if(!a.value[h]){l.value=!0,c.value=null;try{const _=await fetch(`${o.value}/tables/${h}.json`);if(!_.ok)throw new Error(`table not found (${_.status})`);a.value={...a.value,[h]:await _.json()}}catch(_){c.value=String(_.message||_)}finally{l.value=!1}}}vt(i,h=>h&&u(h.file),{immediate:!0});const f=ie(()=>{var h;return a.value[(h=i.value)==null?void 0:h.file]||null});return Qt(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(h,_)=>(q(),X("div",{class:Ie(["ct",{"is-dark":n.value}])},[_[0]||(_[0]=M("h2",{class:"ct-h"},"Cities Data",-1)),_[1]||(_[1]=M("p",{class:"ct-sub"}," Where the unengaged people groups live — and what reaches them. Sort, filter and export any table; each carries its own sources and limits. ",-1)),M("div",i_,[(q(),X(de,null,lt(s,v=>M("button",{key:v.id,type:"button",class:Ie(["ct-tab",{on:r.value===v.id}]),onClick:k=>r.value=v.id},[$e(Q(v.label),1),a.value[v.file]?(q(),X("span",l_,Q((a.value[v.file].rows||[]).length.toLocaleString()),1)):Se("",!0)],10,a_)),64))]),c.value?(q(),X("div",c_,Q(c.value),1)):f.value?(q(),Ze(s_,{key:i.value.id,table:f.value,"assets-base":o.value,"is-dark":n.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(q(),X("div",u_,"Loading "+Q(i.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"share-button");const{t,tm:n,rt:o}=Zt(),s=e,r=ce(null),i=ce(!1),a=ce(null),l=ce({});function c(){var Qe;const U=a.value,Y=((Qe=h.value)==null?void 0:Qe.$el)||h.value;if(!U||!Y){l.value={};return}const re=U.getBoundingClientRect(),V=Y.getBoundingClientRect(),R=Math.max(8,re.right-V.left+8),K=Math.max(200,Math.min(340,re.width-R-12));let ae=V.top-re.top;const Ce=f.value;if(Ce){const Ae=Ce.offsetHeight;ae+Ae>re.height-8&&(ae=Math.max(8,re.height-8-Ae))}l.value={position:"absolute",top:`${Math.round(ae)}px`,right:`${Math.round(R)}px`,width:`${Math.round(K)}px`}}vt(i,async U=>{U&&(await Gn(),c(),await Gn(),c())});function u(){i.value&&c()}const f=ce(null),h=ce(null),_=ce("link"),v=ce(!1),k=ce(!1),F=ce("medium"),C={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},L=qe("profileConfig",null),y=ie(()=>dm({embedPath:s.embedPath,profileConfig:nt(L)||null})),m=ie(()=>{const U=C[F.value].height;return''});function A(){i.value=!i.value,i.value&&(_.value="link",v.value=!1,k.value=!1)}function S(){i.value=!1}async function $(U){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(U),!0}catch{}try{const Y=document.createElement("textarea");Y.value=U,Y.setAttribute("readonly",""),Y.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Y),Y.select();const re=document.execCommand("copy");return document.body.removeChild(Y),re}catch{return!1}}async function O(){await $(y.value)&&(v.value=!0,setTimeout(()=>{v.value=!1},2e3))}async function T(){await $(m.value)&&(k.value=!0,setTimeout(()=>{k.value=!1},2e3))}function J(U){if(!i.value)return;const Y=U.composedPath?U.composedPath():[U.target];f.value&&Y.some(V=>V===f.value)||h.value&&Y.some(V=>V===h.value||V===h.value.$el)||!Y.some(V=>{var R,K;return(K=(R=V==null?void 0:V.classList)==null?void 0:R.contains)==null?void 0:K.call(R,"mapboxgl-canvas")})||S()}function ee(U){U.key==="Escape"&&i.value&&S()}return Vt(()=>{var U;document.addEventListener("click",J,!0),window.addEventListener("resize",u),a.value=((U=r.value)==null?void 0:U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]"))||null,document.addEventListener("keydown",ee)}),$n(()=>{document.removeEventListener("click",J,!0),window.removeEventListener("resize",u),document.removeEventListener("keydown",ee)}),(U,Y)=>(q(),X("div",{ref_key:"rootEl",ref:r,class:"share-wrap"},[ke(uo,{ref_key:"btnEl",ref:h,"is-dark":e.isDark,active:i.value,title:nt(t)("buttons.shareEmbed"),onClick:A},{default:sn(()=>[...Y[2]||(Y[2]=[M("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"},[M("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),M("polyline",{points:"16 6 12 2 8 6"}),M("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),(q(),Ze(Wc,{to:a.value,disabled:!a.value},[i.value?(q(),X("div",{key:0,ref_key:"popoverEl",ref:f,class:Se(["share-pop",{light:!e.isDark}]),style:Pn(l.value)},[M("div",{class:"share-header"},[Y[4]||(Y[4]=M("span",{class:"share-title"},"Share",-1)),M("button",{class:"share-close",onClick:S,"aria-label":"Close"},[...Y[3]||(Y[3]=[M("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[M("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),M("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),M("ul",fm,[(q(!0),X(de,null,lt(nt(n)("buttons.shareSteps"),(re,V)=>(q(),X("li",{key:V},Q(nt(o)(re)),1))),128))]),M("div",hm,[M("button",{class:Se(["share-tab",{active:_.value==="link"}]),onClick:Y[0]||(Y[0]=re=>_.value="link")},"Embed link",2),M("button",{class:Se(["share-tab",{active:_.value==="embed"}]),onClick:Y[1]||(Y[1]=re=>_.value="embed")},"Add to Your Website",2)]),_.value==="link"?(q(),X("div",gm,[M("div",mm,[M("div",_m,Q(y.value),1)]),M("button",{class:Se(["share-primary-btn",{copied:v.value}]),onClick:O},[v.value?(q(),X("svg",ym,[...Y[6]||(Y[6]=[M("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(q(),X("svg",bm,[...Y[5]||(Y[5]=[M("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),M("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Q(v.value?"Copied!":"Copy Link"),1)],2)])):Le("",!0),_.value==="embed"?(q(),X("div",vm,[Y[9]||(Y[9]=M("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),M("div",wm,[(q(),X(de,null,lt(C,(re,V)=>M("button",{key:V,class:Se(["share-size-pill",{active:F.value===V}]),onClick:R=>F.value=V},Q(re.label),11,km)),64))]),M("div",$m,Q(m.value),1),M("button",{class:Se(["share-secondary-btn",{copied:k.value}]),onClick:T},[k.value?(q(),X("svg",Nm,[...Y[8]||(Y[8]=[M("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(q(),X("svg",Om,[...Y[7]||(Y[7]=[M("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),M("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Q(k.value?"Copied!":"Copy Code"),1)],2)])):Le("",!0)],6)):Le("",!0)],8,["to","disabled"]))],512))}},Am={class:"gm-legend"},Em={class:"gm-keys"},Tm={key:1,class:"gm-err"},Lm={key:2,class:"gm-sheet"},Sm={class:"gm-sh-head"},Im={class:"gm-sh-name"},Fm={key:0,class:"gm-ai"},xm={class:"gm-stat"},Pm={class:"gm-stat"},Mm={class:"gm-stat"},Dm={class:"gm-stat"},Bm={class:"gm-stat"},Rm={key:1,class:"gm-list"},Wm={class:"gm-list-h"},Um={key:2,class:"gm-list"},jm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=qe("profileConfig",ce(null)),n=ie(()=>{var C;return((C=t.value)==null?void 0:C.isDark)===!0}),o=ie(()=>{var C;return((C=t.value)==null?void 0:C.tk)||window.DOXA_TOKEN||""}),s=ie(()=>{var C;return String(((C=t.value)==null?void 0:C.assetsBase)||"./assets").replace(/\/+$/,"")}),r=ce(null),i=To(null),a=ce([]),l=ce(null),c=ce(!0),u=ce(null),f=[{id:"yes",label:"connected 60%+",color:"#10b981"},{id:"partial",label:"partial 25–59%",color:"#e8c15a"},{id:"no",label:"low, under 25%",color:"#b42318"},{id:"unknown",label:"not measured",color:"#9aa2ad"}],h=C=>(f.find(L=>L.id===C)||{}).color||"#9aa2ad",_=ie(()=>{const C={};for(const L of a.value)C[L.iso3]=L;return C});async function v(){const[C,L]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(y=>y.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(y=>y.json())]);return a.value=C.countries||[],L}function k(C,L){const y=_.value,A={type:"FeatureCollection",features:(L.features||[]).map(S=>{var T;const $=(T=S.properties)==null?void 0:T.iso3,O=y[$];return{type:"Feature",properties:{iso3:$,band:(O==null?void 0:O.band)||"none",color:O?h(O.band):"rgba(0,0,0,0)",hasData:!!O},geometry:S.geometry}})};if(C.getSource("ci-src")){C.getSource("ci-src").setData(A);return}C.addSource("ci-src",{type:"geojson",data:A}),C.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),C.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),C.on("click","ci-fill",S=>{var O,T,J;const $=(J=(T=(O=S.features)==null?void 0:O[0])==null?void 0:T.properties)==null?void 0:J.iso3;$&&_.value[$]&&(l.value=_.value[$])}),C.on("mouseenter","ci-fill",()=>{C.getCanvas().style.cursor="pointer"}),C.on("mouseleave","ci-fill",()=>{C.getCanvas().style.cursor=""})}Vt(async()=>{const C=window.mapboxgl;if(!C||!r.value){u.value="mapbox-gl not loaded";return}try{const L=await v(),y=new C.Map({container:r.value,style:n.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11",accessToken:o.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});i.value=_n(y),em(y,{boundaries:!0}),y.once("load",()=>k(y,L))}catch(L){u.value=String(L.message||L)}}),$n(()=>{var C;try{(C=i.value)==null||C.remove()}catch{}});const F=C=>(Number(C)||0).toLocaleString();return Qt(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;right:8px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-connectivity-map"),(C,L)=>(q(),X("div",{class:Se(["gm",{"is-dark":n.value}])},[M("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),i.value?(q(),Ze(tm,{key:0},{default:sn(()=>[ke(om,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(rm,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(sm,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(lm,{"map-container":r.value,"is-dark":n.value},null,8,["map-container","is-dark"]),ke(Cm,{"is-dark":n.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Le("",!0),M("div",Am,[L[2]||(L[2]=M("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),M("div",Em,[(q(),X(de,null,lt(f,y=>M("span",{key:y.id,class:"gm-key"},[M("i",{class:"gm-sw",style:Pn({background:y.color})},null,4),$e(Q(y.label),1)])),64))]),L[3]||(L[3]=M("div",{class:"gm-caveat"}," NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country. ",-1))]),u.value?(q(),X("div",Tm,Q(u.value),1)):Le("",!0),l.value?(q(),X("div",Lm,[M("div",Sm,[M("span",Im,Q(l.value.country),1),M("button",{type:"button",class:"gm-x",onClick:L[0]||(L[0]=y=>l.value=null)},"Close")]),c.value?(q(),X("div",Fm,[L[4]||(L[4]=M("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),M("button",{type:"button",class:"gm-ai-x",onClick:L[1]||(L[1]=y=>c.value=!1),"aria-label":"Dismiss"},"×")])):Le("",!0),M("div",xm,[L[5]||(L[5]=M("span",null,"Internet users",-1)),M("b",null,Q(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),M("div",Pm,[L[6]||(L[6]=M("span",null,"Measured",-1)),M("b",null,Q(l.value.internet_year||"—"),1)]),M("div",Mm,[L[7]||(L[7]=M("span",null,"Mobile per 100",-1)),M("b",null,Q(l.value.mobile_per_100??"—"),1)]),M("div",Dm,[L[8]||(L[8]=M("span",null,"People groups",-1)),M("b",null,Q(F(l.value.people_groups)),1)]),M("div",Bm,[L[9]||(L[9]=M("span",null,"Top platform",-1)),M("b",null,[$e(Q(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(q(),X(de,{key:0},[$e(" · "+Q(l.value.top_platform_pct)+"%",1)],64)):Le("",!0)])]),l.value.carriers&&l.value.carriers.length?(q(),X("div",Rm,[M("div",Wm,"Carriers & ISPs ("+Q(l.value.carrier_count)+")",1),M("ul",null,[(q(!0),X(de,null,lt(l.value.carriers,(y,m)=>(q(),X("li",{key:m},Q(y),1))),128))])])):Le("",!0),l.value.platforms&&l.value.platforms.length?(q(),X("div",Um,[L[10]||(L[10]=M("div",{class:"gm-list-h"},"Social platforms",-1)),M("ul",null,[(q(!0),X(de,null,lt(l.value.platforms,(y,m)=>(q(),X("li",{key:m},Q(y.name)+" · "+Q(y.pct)+"%",1))),128))])])):Le("",!0),L[11]||(L[11]=M("p",{class:"gm-note"}," National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification. ",-1))])):Le("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Gm={class:"dt-head"},Ym={class:"dt-title"},Vm={class:"dt-count"},Hm={key:0,class:"dt-grain"},qm={class:"dt-actions"},zm={key:0,class:"dt-err"},Km={class:"dt-wrap"},Xm={class:"dt-hint"},Jm={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},Zm={class:"dt-sheet-head"},Qm={class:"dt-dl"},e_=["href"],t_={key:1},n_={key:2},o_={key:2,class:"dt-caveats"},r_={class:"dt-cav-k"},s_={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const n=e,o=t,s=ce(!1),r=ce(null),i=ce(null),a=To(null),l=ce(null),c=ce(!1),u=ie(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),f=ie(()=>{var $;return(($=n.table)==null?void 0:$.meta)||{}}),h=ie(()=>{var $;return((($=n.table)==null?void 0:$.rows)||[]).length}),_=ie(()=>Object.entries(f.value).filter(([$,O])=>typeof O=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test($)).map(([$,O])=>({key:$.replace(/_/g," "),text:O})));let v=null;function k(){return window.Tabulator?Promise.resolve(window.Tabulator):v||(v=new Promise(($,O)=>{const T=document.createElement("script");T.src=`${u.value}/vendor/tabulator/tabulator.min.js`,T.onload=()=>$(window.Tabulator),T.onerror=()=>O(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(T)}),v)}async function F($){if(!(!$||$.querySelector("style[data-tabulator]")))try{const O=await fetch(`${u.value}/vendor/tabulator/tabulator.min.css`);if(!O.ok)return;const T=document.createElement("style");T.setAttribute("data-tabulator",""),T.textContent=await O.text(),$.appendChild(T)}catch{}}function C($){var ee,U;if(!i.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const O=((ee=n.table)==null?void 0:ee.columns)||[],J=(s.value?O.slice(0,3):O).map((Y,re)=>({title:Y.title,field:Y.field,headerFilter:Y.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:Y.type==="number"?"number":Y.type==="boolean"?"boolean":"string",formatter:Y.type==="boolean"?"tickCross":void 0,.../_url$/.test(Y.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&re{r.value=re.getData(),o("row-click",re.getData())}),a.value.on("tableBuilt",()=>{c.value=!0})}const L=$=>{var O,T;return((T=(((O=n.table)==null?void 0:O.columns)||[]).find(J=>J.field===$))==null?void 0:T.title)||$.replace(/_/g," ")},y=$=>typeof $=="string"&&$.includes(", ")&&$.length>40?$.split(", "):null,m=$=>typeof $=="string"&&/^https?:\/\//.test($),A=ie(()=>r.value?Object.entries(r.value).filter(([,$])=>$!==""&&$!==null&&$!==void 0):[]);function S($){var O;try{(O=a.value)==null||O.download($,`${(f.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${$}`)}catch(T){l.value=String(T.message||T)}}return Vt(async()=>{var $,O;try{await F((O=($=i.value)==null?void 0:$.getRootNode)==null?void 0:O.call($)),C(await k())}catch(T){l.value=String(T.message||T)}}),$n(()=>{var $;try{($=a.value)==null||$.destroy()}catch{}}),vt(()=>n.table,()=>{var $,O;try{(O=a.value)==null||O.replaceData((($=n.table)==null?void 0:$.rows)||[])}catch{}}),Qt(".dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-left:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-left:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-left:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),($,O)=>{var T,J;return q(),X("div",{class:Se(["dt",{"is-dark":e.isDark}])},[M("div",Gm,[M("h3",Ym,Q(f.value.title||"Data"),1),M("span",Vm,Q(h.value.toLocaleString())+" rows",1),f.value.grain?(q(),X("span",Hm,"· "+Q(f.value.grain),1)):Le("",!0),M("span",qm,[M("button",{type:"button",class:"dt-btn",onClick:O[0]||(O[0]=ee=>S("csv"))},"CSV"),M("button",{type:"button",class:"dt-btn",onClick:O[1]||(O[1]=ee=>S("json"))},"JSON")])]),l.value?(q(),X("div",zm,Q(l.value),1)):Le("",!0),M("div",Km,[M("div",{ref_key:"host",ref:i},null,512)]),M("p",Xm,"Tap any row for its full detail"+Q(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(q(),X("div",{key:1,class:"dt-scrim",onClick:O[3]||(O[3]=hp(ee=>r.value=null,["self"]))},[M("div",Jm,[M("div",Zm,[M("strong",null,Q(r.value[(J=(((T=e.table)==null?void 0:T.columns)||[])[0])==null?void 0:J.field]||"Detail"),1),M("button",{type:"button",class:"dt-close",onClick:O[2]||(O[2]=ee=>r.value=null)},"Close")]),M("dl",Qm,[(q(!0),X(de,null,lt(A.value,([ee,U])=>(q(),X(de,{key:ee},[M("dt",null,Q(L(ee)),1),M("dd",null,[m(U)?(q(),X("a",{key:0,href:U,target:"_blank",rel:"noopener"},Q(U),9,e_)):y(U)?(q(),X("ul",t_,[(q(!0),X(de,null,lt(y(U),(Y,re)=>(q(),X("li",{key:re},Q(Y),1))),128))])):(q(),X("span",n_,Q(U===!0?"yes":U===!1?"no":U),1))])],64))),128))])])])):Le("",!0),_.value.length?(q(),X("div",o_,[(q(!0),X(de,null,lt(_.value,ee=>(q(),X("div",{key:ee.key},[M("span",r_,Q(ee.key)+":",1),$e(" "+Q(ee.text),1)]))),128))])):Le("",!0)],2)}}},i_={class:"ct-tabs"},a_=["onClick"],l_={key:0,class:"ct-n"},c_={key:0,class:"ct-err"},u_={key:1,class:"ct-load"},p_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=qe("profileConfig",ce(null)),n=ie(()=>{var h;return((h=t.value)==null?void 0:h.isDark)===!0}),o=ie(()=>{var h;return String(((h=t.value)==null?void 0:h.assetsBase)||"./assets").replace(/\/+$/,"")}),s=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"internet",label:"Connectivity",file:"country-connectivity"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"social",label:"Social Platforms",file:"social-platforms"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],r=ce("cities"),i=ie(()=>s.find(h=>h.id===r.value)||s[0]),a=ce({}),l=ce(!1),c=ce(null);async function u(h){if(!a.value[h]){l.value=!0,c.value=null;try{const _=await fetch(`${o.value}/tables/${h}.json`);if(!_.ok)throw new Error(`table not found (${_.status})`);a.value={...a.value,[h]:await _.json()}}catch(_){c.value=String(_.message||_)}finally{l.value=!1}}}vt(i,h=>h&&u(h.file),{immediate:!0});const f=ie(()=>{var h;return a.value[(h=i.value)==null?void 0:h.file]||null});return Qt(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(h,_)=>(q(),X("div",{class:Se(["ct",{"is-dark":n.value}])},[_[0]||(_[0]=M("h2",{class:"ct-h"},"Cities Data",-1)),_[1]||(_[1]=M("p",{class:"ct-sub"}," Where the unengaged people groups live — and what reaches them. Sort, filter and export any table; each carries its own sources and limits. ",-1)),M("div",i_,[(q(),X(de,null,lt(s,v=>M("button",{key:v.id,type:"button",class:Se(["ct-tab",{on:r.value===v.id}]),onClick:k=>r.value=v.id},[$e(Q(v.label),1),a.value[v.file]?(q(),X("span",l_,Q((a.value[v.file].rows||[]).length.toLocaleString()),1)):Le("",!0)],10,a_)),64))]),c.value?(q(),X("div",c_,Q(c.value),1)):f.value?(q(),Ze(s_,{key:i.value.id,table:f.value,"assets-base":o.value,"is-dark":n.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(q(),X("div",u_,"Loading "+Q(i.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/embed/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html b/public/embed/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html index bbf435d9..9ad21e4a 100644 --- a/public/embed/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html +++ b/public/embed/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + \n" + "script": "\n" } }, { @@ -59,7 +59,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -71,7 +71,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -80,7 +80,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-xtcEAraryQxVOQsXhEWClhVcK3wx+4rwwYs8Ewn4Yfj/Mf5DPLhCM/YoOMNui5bG", + "integrity": "sha384-fIMbnht1sf/+kNwrAFg83DRA55pIsvsdpKAXyIEZ/j27yKMHKh2b44I3bFJGxfEj", "elements": [ "country-posters-map" ], @@ -94,7 +94,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -106,7 +106,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -115,7 +115,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-Vpbe8mVHBrvYCRH9qIg89Zc+1XIN/XFeMur+PDBv0h0UWZ+CKh40rBCX+nh51ITZ", + "integrity": "sha384-jg5ScRngHrewcs32XqMikxcsAferksjyrX31zX1neQJ4OSpFqO2QhMZ+cY+JYY8z", "elements": [ "demo-map" ], @@ -129,7 +129,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "instances": [ { @@ -156,7 +156,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-i49payB0qDQ2qhvgKugF9RAUVSyYXbtzAXVdd8aewibhwlyeSoKJ0yVu6d/qM5im", + "integrity": "sha384-VuyP/T85ejCw4bzolDsc67H7EX8nfx1e+u2SZdFr2gbp/g4y4O5G5f889o/QwqDy", "elements": [ "doxa-research-map" ], @@ -170,7 +170,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -179,7 +179,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-j74AnEf8iBapy/shWydSmmKd3IkPNofLU65VTTT+4ALNU3VS2XNLiTN8XwULCQri", + "integrity": "sha384-3NC50nEcvVurYb9nbkR7MmfCgmPXBSKzzVzRzrhdx4W+22JXky/Jcio1flr/UHVk", "elements": [ "doxa-map", "doxa-simple-map" @@ -194,7 +194,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "instances": [ { @@ -274,7 +274,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-4sFPMjv3iQqiEQZxylT13hu7bkfC7QwGuaVO96Se9im9gbW5QBWIPH81yb0bET4A", + "integrity": "sha384-vMOUZHe6eXriXcjtnLzgehBSWnTj6HDyDro57KAUw/l6SowCzqT1Puyibj36w7hb", "elements": [ "gospel-resources-map" ], @@ -288,7 +288,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -300,7 +300,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -312,7 +312,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -324,7 +324,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -333,7 +333,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-BBCrt5a5kxgPZLQzNp5MEE5k6kaFxaeq84ZNP1j0I+WQ+p3gHeuxkc6+KIGO+Azo", + "integrity": "sha384-nd+Mr1e1F/8vGje+9UiBU2ryYAEBY1ABGgygyd23ulcVaCu2YBq3EuCBFCb61mLG", "elements": [ "my-upg-100-list-map" ], @@ -347,7 +347,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -359,7 +359,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -371,7 +371,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] diff --git a/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/my-upg-100-list.js index a59e7acb..48dad3ae 100644 --- a/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -14,7 +14,7 @@ **/const Nn=[];let Pr=!1;function Zk(e,...t){if(Pr)return;Pr=!0,Zt();const o=Nn.length?Nn[Nn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=up();if(n)on(n,o,11,[e+t.map(a=>{var s,i;return(i=(s=a.toString)==null?void 0:s.call(a))!=null?i:JSON.stringify(a)}).join(""),o&&o.proxy,r.map(({vnode:a})=>`at <${Rl(o,a.type)}>`).join(` `),r]);else{const a=[`[Vue warn]: ${e}`,...t];r.length&&a.push(` `,...dp(r)),console.warn(...a)}Xt(),Pr=!1}function up(){let e=Nn[Nn.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function dp(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...pp(o))}),t}function pp({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${Rl(e.component,e.type,n)}`,a=">"+o;return e.props?[r,...gp(e.props),a]:[r+a]}function gp(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Fi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Fi(e,t,o){return He(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Je(t)?(t=Fi(e,Pe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ke(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Pe(t),o?t:[`${e}=`,t])}function on(e,t,o,n){try{return n?e(...n):e()}catch(r){In(r,t,o)}}function Ut(e,t,o,n){if(ke(e)){const r=on(e,t,o,n);return r&&ai(r)&&r.catch(a=>{In(a,t,o)}),r}if(_e(e)){const r=[];for(let a=0;a>>1,r=Lt[n],a=Rn(r);a=Rn(o)?Lt.push(e):Lt.splice(hp(t),0,e),e.flags|=1,Di()}}function Di(){Ca||(Ca=Oi.then(Gi))}function mp(e){if(!_e(e))Lo&&e.id===-1?Lo.splice(an+1,0,e):e.flags&1||(nn.push(e),e.flags|=1);else for(let t=0;tRn(o)-Rn(n));if(nn.length=0,Lo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Gi(e){try{for(eo=0;eo{n._d&&Ba(-1);const a=Ta(t),s=bo.length;let i;try{i=e(...r)}finally{for(let l=bo.length;l>s;l--)Jr();Ta(a),n._d&&Ba(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function bp(e,t){if(yt===null)return e;const o=Ka(yt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&ke(t)?t.call(n&&n.proxy):t}}function yp(){return!!(_o()||Ho)}const _p=Symbol.for("v-scx"),vp=()=>Ee(_p);function kp(e,t){return Nr(e,null,t)}function ct(e,t,o){return Nr(e,t,o)}function Nr(e,t,o=Ue){const{immediate:n,deep:r,flush:a,once:s}=o,i=nt({},o),l=t&&n||!t&&a!=="post";let c;if(ln){if(a==="sync"){const w=vp();c=w.__watcherHandles||(w.__watcherHandles=[])}else if(!l){const w=()=>{};return w.stop=Jt,w.resume=Jt,w.pause=Jt,w}}const u=_t;i.call=(w,h,_)=>Ut(w,u,h,_);let d=!1;a==="post"?i.scheduler=w=>{Tt(w,u&&u.suspense)}:a!=="sync"&&(d=!0,i.scheduler=(w,h)=>{h?w():Mr(w)}),i.augmentJob=w=>{t&&(w.flags|=4),d&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const g=cp(e,t,i);return ln&&(c?c.push(g):l&&g()),g}function wp(e,t,o){const n=this.proxy,r=He(e)?e.includes(".")?Ki(n,e):()=>n[e]:e.bind(n,n);let a;ke(t)?a=t:(a=t.handler,o=t);const s=Wn(this),i=Nr(r,a.bind(n),o);return s(),i}function Ki(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ko=e=>e&&(e.disabled||e.disabled===""),xp=e=>e&&(e.defer||e.defer===""),zi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Vi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ir=(e,t)=>{const o=e&&e.to;return He(o)?t?t(o):null:o},Sp={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,a,s,i,l,c){const{mc:u,pc:d,pbc:g,o:{insert:w,querySelector:h,createText:_,createComment:y,parentNode:x}}=c,S=Ko(t.props);let{dynamicChildren:m}=t;const f=(T,N,M)=>{T.shapeFlag&16&&u(T.children,N,M,r,a,s,i,l)},v=(T=t)=>{const N=Ko(T.props),M=T.target=Ir(T.props,h),R=Rr(M,T,_,w);M&&(s!=="svg"&&zi(M)?s="svg":s!=="mathml"&&Vi(M)&&(s="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(M),N||(f(T,M,R),Fn(T,!1)))},L=T=>{const N=()=>{if(Co.get(T)===N){if(Co.delete(T),Ko(T.props)){const M=x(T.el)||o;f(T,M,T.anchor),Fn(T,!0)}v(T)}};Co.set(T,N),Tt(N,a)};if(e==null){const T=t.el=_(""),N=t.anchor=_("");if(w(T,o,n),w(N,o,n),xp(t.props)||a&&a.pendingBranch){L(t);return}S&&(f(t,o,N),Fn(t,!0)),v()}else{t.el=e.el;const T=t.anchor=e.anchor,N=Co.get(e);if(N){N.flags|=8,Co.delete(e),L(t);return}t.targetStart=e.targetStart;const M=t.target=e.target,R=t.targetAnchor=e.targetAnchor,W=Ko(e.props),U=W?o:M,Y=W?T:R;if(s==="svg"||zi(M)?s="svg":(s==="mathml"||Vi(M))&&(s="mathml"),m?(g(e.dynamicChildren,m,U,r,a,s,i),Wr(e,t,!0)):l||d(e,t,U,Y,r,a,s,i,!1),S)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pa(t,o,T,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const O=Ir(t.props,h);O&&(t.target=O,Pa(t,O,null,c,0))}else W&&Pa(t,M,R,c,1);Fn(t,S)}},remove(e,t,o,{um:n,o:{remove:r}},a){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:g}=e,w=Ko(g),h=a||!w,_=Co.get(e);if(_&&(_.flags|=8,Co.delete(e)),d&&(r(c),r(u)),a&&r(l),!_&&(w||d)&&s&16)for(let y=0;y1){for(const o of e)if(o.type!==oo){t=o;break}}return t}function Wi(e){if(!Ia(e))return Ea(e.type)&&e.children?Lp(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&&ke(o.default))return o.default()}}function Or(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Or(Ea(o.type)&&Wi(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 ke(e)?nt({name:e.name},t,{setup:e}):e}function Dr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Yi(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ma=new WeakMap;function Dn(e,t,o,n,r=!1){if(_e(e)){e.forEach((_,y)=>Dn(_,t&&(_e(t)?t[y]:t),o,n,r));return}if(rn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Dn(e,t,o,n.component.subTree);return}const a=n.shapeFlag&4?Ka(n.component):n.el,s=r?null:a,{i,r:l}=e,c=t&&t.r,u=i.refs===Ue?i.refs={}:i.refs,d=i.setupState,g=Pe(d),w=d===Ue?oi:_=>Yi(u,_)?!1:Ne(g,_),h=(_,y)=>!(y&&Yi(u,y));if(c!=null&&c!==l){if(Ji(t),He(c))u[c]=null,w(c)&&(d[c]=null);else if(Je(c)){const _=t;h(c,_.k)&&(c.value=null),_.k&&(u[_.k]=null)}}if(ke(l))on(l,i,12,[s,u]);else{const _=He(l),y=Je(l);if(_||y){const x=()=>{if(e.f){const S=_?w(l)?d[l]:u[l]:h()||!e.k?l.value:u[e.k];if(r)_e(S)&&hr(S,a);else if(_e(S))S.includes(a)||S.push(a);else if(_)u[l]=[a],w(l)&&(d[l]=u[l]);else{const m=[a];h(l,e.k)&&(l.value=m),e.k&&(u[e.k]=m)}}else _?(u[l]=s,w(l)&&(d[l]=s)):y&&(h(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const S=()=>{x(),Ma.delete(e)};S.id=-1,Ma.set(e,S),Tt(S,o)}else Ji(e),x()}}}function Ji(e){const t=Ma.get(e);t&&(t.flags|=8,Ma.delete(e))}const qi=e=>e.nodeType===8;ba().requestIdleCallback,ba().cancelIdleCallback;function Cp(e,t){if(qi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(qi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const rn=e=>!!e.type.__asyncLoader;function Zi(e){ke(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:a,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const g=()=>(d++,c=null,w()),w=()=>{let h;return c||(h=c=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((y,x)=>{l(_,()=>y(g()),()=>x(_),d+1)});throw _}).then(_=>h!==c&&c?c:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),u=_,_)))};return On({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate(h,_,y){const x=h.isConnected;let S=!1;(_.bu||(_.bu=[])).push(()=>S=!0);const m=()=>{S||!h.parentNode||x&&!h.isConnected||y()},f=a?()=>{const v=a(m,L=>Cp(h,L));v&&(_.bum||(_.bum=[])).push(v)}:m;u?f():w().then(()=>!_.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const h=_t;if(Dr(h),u)return()=>Na(u,h);const _=v=>{c=null,In(v,h,13,!n)};if(i&&h.suspense||ln)return w().then(v=>()=>Na(v,h)).catch(v=>(_(v),()=>n?Be(n,{error:v}):null));const y=ue(!1),x=ue(),S=ue(!!r);let m,f;return Fa(()=>{m!=null&&clearTimeout(m),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{h.isUnmounted||(S.value=!1)},r)),s!=null&&(m=setTimeout(()=>{if(!h.isUnmounted&&!y.value&&!x.value){const v=new Error(`Async component timed out after ${s}ms.`);_(v),x.value=v}},s)),w().then(()=>{h.isUnmounted||(y.value=!0,h.parent&&Ia(h.parent.vnode)&&h.parent.update())}).catch(v=>{if(h.isUnmounted){c=null;return}_(v),x.value=v}),()=>{if(y.value&&u)return Na(u,h);if(x.value&&n)return Be(n,{error:x.value});if(o&&!S.value)return Na(o,h)}}})}function Na(e,t){const{ref:o,props:n,children:r,ce:a}=t.vnode,s=Be(e,n,r);return s.ref=o,s.ce=a,delete t.vnode.ce,s}const Ia=e=>e.type.__isKeepAlive;function Tp(e,t){Xi(e,"a",t)}function Ep(e,t){Xi(e,"da",t)}function Xi(e,t,o=_t){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ra(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Ia(r.parent.vnode)&&Pp(n,t,o,r),r=r.parent}}function Pp(e,t,o,n){const r=Ra(t,e,n,!0);Fa(()=>{hr(n[t],r)},o)}function Ra(e,t,o=_t,n=!1){if(o){const r=o[e]||(o[e]=[]),a=t.__weh||(t.__weh=(...s)=>{Zt();const i=Wn(o),l=Ut(t,o,e,s);return i(),Xt(),l});return n?r.unshift(a):r.push(a),a}}const mo=e=>(t,o=_t)=>{(!ln||e==="sp")&&Ra(e,(...n)=>t(...n),o)},Qi=mo("bm"),to=mo("m"),Mp=mo("bu"),Np=mo("u"),To=mo("bum"),Fa=mo("um"),Ip=mo("sp"),Rp=mo("rtg"),Fp=mo("rtc");function Op(e,t=_t){Ra("ec",e,t)}const Dp="components",el=Symbol.for("v-ndc");function tl(e){return He(e)?Bp(Dp,e,!1)||e:e||el}function Bp(e,t,o=!0,n=!1){const r=yt||_t;if(r){const a=r.type;{const i=Il(a,!1);if(i&&(i===t||i===ht(t)||i===ha(ht(t))))return a}const s=ol(r[e]||a[e],t)||ol(r.appContext[e],t);return!s&&n?a:s}}function ol(e,t){return e&&(e[t]||e[ht(t)]||e[ha(ht(t))])}function St(e,t,o,n){let r;const a=o,s=_e(e);if(s||He(e)){const i=s&&po(e);let l=!1,c=!1;i&&(l=!Rt(e),c=go(e),e=va(e)),r=new Array(e.length);for(let u=0,d=e.length;ut(i,l,void 0,a));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),z(),rt(Le,null,[Be("slot",c,n)],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=bo.length;z();let l;try{const c=s&&nl(s(o)),u=o.key||a||c&&c.key;l=rt(Le,{key:(u&&!Nt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=bo.length;u>i;u--)Jr();throw c}finally{s&&s._c&&(s._d=!0)}return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function nl(e){return e.some(t=>Hn(t)?!(t.type===oo||t.type===Le&&!nl(t.children)):!0)?e:null}const Br=e=>e?Pl(e)?Ka(e):Br(e.parent):null,jn=nt(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=>Br(e.parent),$root:e=>Br(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>il(e),$forceUpdate:e=>e.f||(e.f=()=>{Mr(e.update)}),$nextTick:e=>e.n||(e.n=ho.bind(e.proxy)),$watch:e=>wp.bind(e)}),jr=(e,t)=>e!==Ue&&!e.__isScriptSetup&&Ne(e,t),jp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:a,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const g=s[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return a[t]}else{if(jr(n,t))return s[t]=1,n[t];if(r!==Ue&&Ne(r,t))return s[t]=2,r[t];if(Ne(a,t))return s[t]=3,a[t];if(o!==Ue&&Ne(o,t))return s[t]=4,o[t];Gr&&(s[t]=0)}}const c=jn[t];let u,d;if(c)return t==="$attrs"&&xt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ue&&Ne(o,t))return s[t]=4,o[t];if(d=l.config.globalProperties,Ne(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:a}=e;return jr(r,t)?(r[t]=o,!0):n!==Ue&&Ne(n,t)?(n[t]=o,!0):Ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:a,type:s}},i){let l;return!!(o[i]||e!==Ue&&i[0]!=="$"&&Ne(e,i)||jr(t,i)||Ne(a,i)||Ne(n,i)||Ne(jn,i)||Ne(r.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ne(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function al(e){return _e(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Gr=!0;function Gp(e){const t=il(e),o=e.proxy,n=e.ctx;Gr=!1,t.beforeCreate&&rl(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:g,beforeUpdate:w,updated:h,activated:_,deactivated:y,beforeDestroy:x,beforeUnmount:S,destroyed:m,unmounted:f,render:v,renderTracked:L,renderTriggered:T,errorCaptured:N,serverPrefetch:M,expose:R,inheritAttrs:W,components:U,directives:Y,filters:O}=t;if(c&&Up(c,n,null),s)for(const G in s){const re=s[G];ke(re)&&(n[G]=re.bind(o))}if(r){const G=r.call(o,o);De(G)&&(e.data=en(G))}if(Gr=!0,a)for(const G in a){const re=a[G],fe=ke(re)?re.bind(o,o):ke(re.get)?re.get.bind(o,o):Jt,K=!ke(re)&&ke(re.set)?re.set.bind(o):Jt,pe=ee({get:fe,set:K});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>pe.value,set:ge=>pe.value=ge})}if(i)for(const G in i)sl(i[G],n,o,G);if(l){const G=ke(l)?l.call(o):l;Reflect.ownKeys(G).forEach(re=>{Dt(re,G[re])})}u&&rl(u,e,"c");function A(G,re){_e(re)?re.forEach(fe=>G(fe.bind(o))):re&&G(re.bind(o))}if(A(Qi,d),A(to,g),A(Mp,w),A(Np,h),A(Tp,_),A(Ep,y),A(Op,N),A(Fp,L),A(Rp,T),A(To,S),A(Fa,f),A(Ip,M),_e(R))if(R.length){const G=e.exposed||(e.exposed={});R.forEach(re=>{Object.defineProperty(G,re,{get:()=>o[re],set:fe=>o[re]=fe,enumerable:!0})})}else e.exposed||(e.exposed={});v&&e.render===Jt&&(e.render=v),W!=null&&(e.inheritAttrs=W),U&&(e.components=U),Y&&(e.directives=Y),M&&Dr(e)}function Up(e,t,o=Jt){_e(e)&&(e=Ur(e));for(const n in e){const r=e[n];let a;De(r)?"default"in r?a=Ee(r.from||n,r.default,!0):a=Ee(r.from||n):a=Ee(r),Je(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:s=>a.value=s}):t[n]=a}}function rl(e,t,o){Ut(_e(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function sl(e,t,o,n){let r=n.includes(".")?Ki(o,n):()=>o[n];if(He(e)){const a=t[e];ke(a)&&ct(r,a)}else if(ke(e))ct(r,e.bind(o));else if(De(e))if(_e(e))e.forEach(a=>sl(a,t,o,n));else{const a=ke(e.handler)?e.handler.bind(o):t[e.handler];ke(a)&&ct(r,a,e)}}function il(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:s}}=e.appContext,i=a.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Oa(l,c,s,!0)),Oa(l,t,s)),De(t)&&a.set(t,l),l}function Oa(e,t,o,n=!1){const{mixins:r,extends:a}=t;a&&Oa(e,a,o,!0),r&&r.forEach(s=>Oa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=Kp[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Kp={data:ll,props:cl,emits:cl,methods:Gn,computed:Gn,beforeCreate:Ct,created:Ct,beforeMount:Ct,mounted:Ct,beforeUpdate:Ct,updated:Ct,beforeDestroy:Ct,beforeUnmount:Ct,destroyed:Ct,unmounted:Ct,activated:Ct,deactivated:Ct,errorCaptured:Ct,serverPrefetch:Ct,components:Gn,directives:Gn,watch:zp,provide:ll,inject:Hp};function ll(e,t){return t?e?function(){return nt(ke(e)?e.call(this,this):e,ke(t)?t.call(this,this):t)}:t:e}function Hp(e,t){return Gn(Ur(e),Ur(t))}function Ur(e){if(_e(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${It(t)}Modifiers`];function Jp(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ue;let r=o;const a=t.startsWith("update:"),s=a&&Yp(n,t.slice(7));s&&(s.trim&&(r=o.map(u=>He(u)?u.trim():u)),s.number&&(r=r.map(br)));let i,l=n[i=mr(t)]||n[i=mr(ht(t))];!l&&a&&(l=n[i=mr(It(t))]),l&&Ut(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,Ut(c,e,6,r)}}const qp=new WeakMap;function dl(e,t,o=!1){const n=o?qp:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const a=e.emits;let s={},i=!1;if(!ke(e)){const l=c=>{const u=dl(c,t,!0);u&&(i=!0,nt(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?(De(e)&&n.set(e,null),null):(_e(a)?a.forEach(l=>s[l]=null):nt(s,a),De(e)&&n.set(e,s),s)}function Da(e,t){return!e||!ca(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ne(e,t[0].toLowerCase()+t.slice(1))||Ne(e,It(t))||Ne(e,t))}function Xk(){}function pl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[a],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:d,data:g,setupState:w,ctx:h,inheritAttrs:_}=e,y=Ta(e);let x,S;try{if(o.shapeFlag&4){const f=r||n,v=f;x=no(c.call(v,f,u,d,w,g,h)),S=i}else{const f=t;x=no(f.length>1?f(d,{attrs:i,slots:s,emit:l}):f(d,null)),S=t.props?i:Zp(i)}}catch(f){bo.length=0,In(f,e,1),x=Be(oo)}let m=x;if(S&&_!==!1){const f=Object.keys(S),{shapeFlag:v}=m;f.length&&v&7&&(a&&f.some(ua)&&(S=Xp(S,a)),m=sn(m,S,!1,!0))}if(o.dirs&&(m=sn(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(o.dirs):o.dirs),o.transition){const f=Ea(m.type)&&Wi(m)||m;Or(f,o.transition)}return x=m,Ta(y),x}const Zp=e=>{let t;for(const o in e)(o==="class"||o==="style"||ca(o))&&((t||(t={}))[o]=e[o]);return t},Xp=(e,t)=>{const o={};for(const n in e)(!ua(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Qp(e,t,o){const{props:n,children:r,component:a}=e,{props:s,children:i,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?gl(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let d=0;dObject.create(hl),bl=e=>Object.getPrototypeOf(e)===hl;function tg(e,t,o,n=!1){const r={},a=ml();e.propsDefaults=Object.create(null),yl(e,t,r,a);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);o?e.props=n?r:Qd(r):e.type.props?e.props=r:e.props=a,e.attrs=a}function og(e,t,o,n){const{props:r,attrs:a,vnode:{patchFlag:s}}=e,i=Pe(r),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[g,w]=_l(d,t,!0);nt(s,g),w&&i.push(...w)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!a&&!l)return De(e)&&n.set(e,Xo),Xo;if(_e(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",zr=e=>_e(e)?e.map(no):[no(e)],ag=(e,t,o)=>{if(t._n)return t;const n=Kt((...r)=>zr(t(...r)),o);return n._c=!1,n},kl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Hr(r))continue;const a=e[r];if(ke(a))t[r]=ag(r,a,n);else if(a!=null){const s=zr(a);t[r]=()=>s}}},wl=(e,t)=>{const o=zr(t);e.slots.default=()=>o},xl=(e,t,o)=>{for(const n in t)(o||!Hr(n))&&(e[n]=t[n])},rg=(e,t,o)=>{const n=e.slots=ml();if(e.vnode.shapeFlag&32){const r=t._;r?(xl(n,t,o),o&&si(n,"_",r,!0)):kl(t,n)}else t&&wl(e,t)},sg=(e,t,o)=>{const{vnode:n,slots:r}=e;let a=!0,s=Ue;if(n.shapeFlag&32){const i=t._;i?o&&i===1?a=!1:xl(r,t,o):(a=!t.$stable,kl(t,r)),s=t}else t&&(wl(e,t),s={default:1});if(a)for(const i in r)!Hr(i)&&s[i]==null&&delete r[i]},Tt=dg;function ig(e){return lg(e)}function lg(e,t){const o=ba();o.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:g,setScopeId:w=Jt,insertStaticContent:h}=e,_=($,P,C,B=null,J=null,X=null,Q=void 0,q=null,p=!!P.dynamicChildren)=>{if($===P)return;$&&!zn($,P)&&(B=ot($),ge($,J,X,!0),$=null),P.patchFlag===-2&&(p=!1,P.dynamicChildren=null);const{type:b,ref:F,shapeFlag:H}=P;switch(b){case Un:y($,P,C,B);break;case oo:x($,P,C,B);break;case Yr:$==null&&S(P,C,B,Q);break;case Le:U($,P,C,B,J,X,Q,q,p);break;default:H&1?v($,P,C,B,J,X,Q,q,p):H&6?Y($,P,C,B,J,X,Q,q,p):(H&64||H&128)&&b.process($,P,C,B,J,X,Q,q,p,et)}F!=null&&J?Dn(F,$&&$.ref,X,P||$,!P):F==null&&$&&$.ref!=null&&Dn($.ref,null,X,$,!0)},y=($,P,C,B)=>{if($==null)n(P.el=i(P.children),C,B);else{const J=P.el=$.el;P.children!==$.children&&c(J,P.children)}},x=($,P,C,B)=>{$==null?n(P.el=l(P.children||""),C,B):P.el=$.el},S=($,P,C,B)=>{[$.el,$.anchor]=h($.children,P,C,B,$.el,$.anchor)},m=({el:$,anchor:P},C,B)=>{let J;for(;$&&$!==P;)J=g($),n($,C,B),$=J;n(P,C,B)},f=({el:$,anchor:P})=>{let C;for(;$&&$!==P;)C=g($),r($),$=C;r(P)},v=($,P,C,B,J,X,Q,q,p)=>{if(P.type==="svg"?Q="svg":P.type==="math"&&(Q="mathml"),$==null)L(P,C,B,J,X,Q,q,p);else{const b=$.el&&$.el._isVueCE?$.el:null;try{b&&b._beginPatch(),M($,P,J,X,Q,q,p)}finally{b&&b._endPatch()}}},L=($,P,C,B,J,X,Q,q)=>{let p,b;const{props:F,shapeFlag:H,transition:se,dirs:ae}=$;if(p=$.el=s($.type,X,F&&F.is,F),H&8?u(p,$.children):H&16&&N($.children,p,null,B,J,Vr($,X),Q,q),ae&&Uo($,null,B,"created"),T(p,$,$.scopeId,Q,B),F){for(const k in F)k!=="value"&&!$n(k)&&a(p,k,null,F[k],X,B);"value"in F&&a(p,"value",null,F.value,X),(b=F.onVnodeBeforeMount)&&ao(b,B,$)}ae&&Uo($,null,B,"beforeMount");const D=cg(J,se);D&&se.beforeEnter(p),n(p,P,C),((b=F&&F.onVnodeMounted)||D||ae)&&Tt(()=>{try{b&&ao(b,B,$),D&&se.enter(p),ae&&Uo($,null,B,"mounted")}finally{}},J)},T=($,P,C,B,J)=>{if(C&&w($,C),B)for(let X=0;X{for(let b=p;b<$.length;b++){const F=$[b]=q?yo($[b]):no($[b]);_(null,F,P,C,B,J,X,Q,q)}},M=($,P,C,B,J,X,Q)=>{const q=P.el=$.el;let{patchFlag:p,dynamicChildren:b,dirs:F}=P;p|=$.patchFlag&16;const H=$.props||Ue,se=P.props||Ue;let ae;if(C&&zo(C,!1),(ae=se.onVnodeBeforeUpdate)&&ao(ae,C,P,$),F&&Uo(P,$,C,"beforeUpdate"),C&&zo(C,!0),b&&(!$.dynamicChildren||$.dynamicChildren.length!==b.length)&&(p=0,Q=!1,b=null),(H.innerHTML&&se.innerHTML==null||H.textContent&&se.textContent==null)&&u(q,""),b?R($.dynamicChildren,b,q,C,B,Vr(P,J),X):Q||re($,P,q,null,C,B,Vr(P,J),X,!1),p>0){if(p&16)W(q,H,se,C,J);else if(p&2&&H.class!==se.class&&a(q,"class",null,se.class,J),p&4&&a(q,"style",H.style,se.style,J),p&8){const D=P.dynamicProps;for(let k=0;k{ae&&ao(ae,C,P,$),F&&Uo(P,$,C,"updated")},B)},R=($,P,C,B,J,X,Q)=>{for(let q=0;q{if(P!==C){if(P!==Ue)for(const X in P)!$n(X)&&!(X in C)&&a($,X,P[X],null,J,B);for(const X in C){if($n(X))continue;const Q=C[X],q=P[X];Q!==q&&X!=="value"&&a($,X,q,Q,J,B)}"value"in C&&a($,"value",P.value,C.value,J)}},U=($,P,C,B,J,X,Q,q,p)=>{const b=P.el=$?$.el:i(""),F=P.anchor=$?$.anchor:i("");let{patchFlag:H,dynamicChildren:se,slotScopeIds:ae}=P;ae&&(q=q?q.concat(ae):ae),$==null?(n(b,C,B),n(F,C,B),N(P.children||[],C,F,J,X,Q,q,p)):H>0&&H&64&&se&&$.dynamicChildren&&$.dynamicChildren.length===se.length?(R($.dynamicChildren,se,C,J,X,Q,q),(P.key!=null||J&&P===J.subTree)&&Wr($,P,!0)):re($,P,C,F,J,X,Q,q,p)},Y=($,P,C,B,J,X,Q,q,p)=>{P.slotScopeIds=q,$==null?P.shapeFlag&512?J.ctx.activate(P,C,B,Q,p):O(P,C,B,J,X,Q,p):V($,P,p)},O=($,P,C,B,J,X,Q)=>{const q=$.component=bg($,B,J);if(Ia($)&&(q.ctx.renderer=et),yg(q,!1,Q),q.asyncDep){if(J&&J.registerDep(q,A,Q),!$.el){const p=q.subTree=Be(oo);x(null,p,P,C),$.placeholder=p.el}}else A(q,$,P,C,J,X,Q)},V=($,P,C)=>{const B=P.component=$.component;if(Qp($,P,C))if(B.asyncDep&&!B.asyncResolved){G(B,P,C);return}else B.next=P,B.update();else P.el=$.el,B.vnode=P},A=($,P,C,B,J,X,Q)=>{const q=()=>{if($.isMounted){let{next:H,bu:se,u:ae,parent:D,vnode:k}=$;{const Ae=Sl($);if(Ae){H&&(H.el=k.el,G($,H,Q)),Ae.asyncDep.then(()=>{Tt(()=>{$.isUnmounted||b()},J)});return}}let I=H,ne;zo($,!1),H?(H.el=k.el,G($,H,Q)):H=k,se&&ma(se),(ne=H.props&&H.props.onVnodeBeforeUpdate)&&ao(ne,D,H,k),zo($,!0);const le=pl($),he=$.subTree;$.subTree=le,_(he,le,d(he.el),ot(he),$,J,X),H.el=le.el,I===null&&eg($,le.el),ae&&Tt(ae,J),(ne=H.props&&H.props.onVnodeUpdated)&&Tt(()=>ao(ne,D,H,k),J)}else{let H;const{el:se,props:ae}=P,{bm:D,m:k,parent:I,root:ne,type:le}=$,he=rn(P);zo($,!1),D&&ma(D),!he&&(H=ae&&ae.onVnodeBeforeMount)&&ao(H,I,P),zo($,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(le,$.parent?$.parent.type:void 0);const Ae=$.subTree=pl($);_(null,Ae,C,B,$,J,X),P.el=Ae.el}if(k&&Tt(k,J),!he&&(H=ae&&ae.onVnodeMounted)){const Ae=P;Tt(()=>ao(H,I,Ae),J)}(P.shapeFlag&256||I&&rn(I.vnode)&&I.vnode.shapeFlag&256)&&$.a&&Tt($.a,J),$.isMounted=!0,P=C=B=null}};$.scope.on();const p=$.effect=new hi(q);$.scope.off();const b=$.update=p.run.bind(p),F=$.job=p.runIfDirty.bind(p);F.i=$,F.id=$.uid,p.scheduler=()=>Mr(F),zo($,!0),b()},G=($,P,C)=>{P.component=$;const B=$.vnode.props;$.vnode=P,$.next=null,og($,P.props,B,C),sg($,P.children,C),Zt(),Bi($),Xt()},re=($,P,C,B,J,X,Q,q,p=!1)=>{const b=$&&$.children,F=$?$.shapeFlag:0,H=P.children,{patchFlag:se,shapeFlag:ae}=P;if(se>0){if(se&128){K(b,H,C,B,J,X,Q,q,p);return}else if(se&256){fe(b,H,C,B,J,X,Q,q,p);return}}ae&8?(F&16&&Xe(b,J,X),H!==b&&u(C,H)):F&16?ae&16?K(b,H,C,B,J,X,Q,q,p):Xe(b,J,X,!0):(F&8&&u(C,""),ae&16&&N(H,C,B,J,X,Q,q,p))},fe=($,P,C,B,J,X,Q,q,p)=>{$=$||Xo,P=P||Xo;const b=$.length,F=P.length,H=Math.min(b,F);let se;for(se=0;seF?Xe($,J,X,!0,!1,H):N(P,C,B,J,X,Q,q,p,H)},K=($,P,C,B,J,X,Q,q,p)=>{let b=0;const F=P.length;let H=$.length-1,se=F-1;for(;b<=H&&b<=se;){const ae=$[b],D=P[b]=p?yo(P[b]):no(P[b]);if(zn(ae,D))_(ae,D,C,null,J,X,Q,q,p);else break;b++}for(;b<=H&&b<=se;){const ae=$[H],D=P[se]=p?yo(P[se]):no(P[se]);if(zn(ae,D))_(ae,D,C,null,J,X,Q,q,p);else break;H--,se--}if(b>H){if(b<=se){const ae=se+1,D=aese)for(;b<=H;)ge($[b],J,X,!0),b++;else{const ae=b,D=b,k=new Map;for(b=D;b<=se;b++){const Ie=P[b]=p?yo(P[b]):no(P[b]);Ie.key!=null&&k.set(Ie.key,b)}let I,ne=0;const le=se-D+1;let he=!1,Ae=0;const we=new Array(le);for(b=0;b=le){ge(Ie,J,X,!0);continue}let Ke;if(Ie.key!=null)Ke=k.get(Ie.key);else for(I=D;I<=se;I++)if(we[I-D]===0&&zn(Ie,P[I])){Ke=I;break}Ke===void 0?ge(Ie,J,X,!0):(we[Ke-D]=b+1,Ke>=Ae?Ae=Ke:he=!0,_(Ie,P[Ke],C,null,J,X,Q,q,p),ne++)}const ft=he?ug(we):Xo;for(I=ft.length-1,b=le-1;b>=0;b--){const Ie=D+b,Ke=P[Ie],kn=P[Ie+1],ia=Ie+1{const{el:X,type:Q,transition:q,children:p,shapeFlag:b}=$;if(b&6){pe($.component.subTree,P,C,B);return}if(b&128){$.suspense.move(P,C,B);return}if(b&64){Q.move($,P,C,et);return}if(Q===Le){n(X,P,C);for(let H=0;Hq.enter(X),J));else{const{leave:H,delayLeave:se,afterLeave:ae}=q,D=()=>{$.ctx.isUnmounted?r(X):n(X,P,C)},k=()=>{const I=X._isLeaving||!!X[Fr];X._isLeaving&&X[Fr](!0),q.persisted&&!I?D():H(X,()=>{D(),ae&&ae()})};se?se(X,D,k):k()}else n(X,P,C)},ge=($,P,C,B=!1,J=!1)=>{const{type:X,props:Q,ref:q,children:p,dynamicChildren:b,shapeFlag:F,patchFlag:H,dirs:se,cacheIndex:ae,memo:D}=$;if(H===-2&&(J=!1),q!=null&&(Zt(),Dn(q,null,C,$,!0),Xt()),ae!=null&&(P.renderCache[ae]=void 0),F&256){P.ctx.deactivate($);return}const k=F&1&&se,I=!rn($);let ne;if(I&&(ne=Q&&Q.onVnodeBeforeUnmount)&&ao(ne,P,$),F&6)Ze($.component,C,B);else{if(F&128){$.suspense.unmount(C,B);return}k&&Uo($,null,P,"beforeUnmount"),F&64?$.type.remove($,P,C,et,B):b&&!b.hasOnce&&(X!==Le||H>0&&H&64)?Xe(b,P,C,!1,!0):(X===Le&&H&384||!J&&F&16)&&Xe(p,P,C),B&&Ge($)}const le=D!=null&&ae==null;(I&&(ne=Q&&Q.onVnodeUnmounted)||k||le)&&Tt(()=>{ne&&ao(ne,P,$),k&&Uo($,null,P,"unmounted"),le&&($.el=null)},C)},Ge=$=>{const{type:P,el:C,anchor:B,transition:J}=$;if(P===Le){We(C,B);return}if(P===Yr){f($);return}const X=()=>{r(C),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if($.shapeFlag&1&&J&&!J.persisted){const{leave:Q,delayLeave:q}=J,p=()=>Q(C,X);q?q($.el,X,p):p()}else X()},We=($,P)=>{let C;for(;$!==P;)C=g($),r($),$=C;r(P)},Ze=($,P,C)=>{const{bum:B,scope:J,job:X,subTree:Q,um:q,m:p,a:b}=$;Al(p),Al(b),B&&ma(B),J.stop(),X&&(X.flags|=8,ge(Q,$,P,C)),q&&Tt(q,P),Tt(()=>{$.isUnmounted=!0},P)},Xe=($,P,C,B=!1,J=!1,X=0)=>{for(let Q=X;Q<$.length;Q++)ge($[Q],P,C,B,J)},ot=$=>{if($.shapeFlag&6)return ot($.component.subTree);if($.shapeFlag&128)return $.suspense.next();const P=g($.anchor||$.el),C=P&&P[Hi];return C?g(C):P};let Qe=!1;const gt=($,P,C)=>{let B;$==null?P._vnode&&(ge(P._vnode,null,null,!0),B=P._vnode.component):_(P._vnode||null,$,P,null,null,null,C),P._vnode=$,Qe||(Qe=!0,Bi(B),ji(),Qe=!1)},et={p:_,um:ge,m:pe,r:Ge,mt:O,mc:N,pc:re,pbc:R,n:ot,o:e};return{render:gt,hydrate:void 0,createApp:Wp(gt)}}function Vr({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 zo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function cg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Wr(e,t,o=!1){const n=e.children,r=t.children;if(_e(n)&&_e(r))for(let a=0;a>1,e[o[i]]0&&(t[n]=o[a-1]),o[a]=n)}}for(a=o.length,s=o[a-1];a-- >0;)o[a]=s,s=t[s];return o}function Sl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Sl(t)}function Al(e){if(e)for(let t=0;te.__isSuspense;function dg(e,t){t&&t.pendingBranch?_e(e)?t.effects.push(...e):t.effects.push(e):mp(e)}const Le=Symbol.for("v-fgt"),Un=Symbol.for("v-txt"),oo=Symbol.for("v-cmt"),Yr=Symbol.for("v-stc"),bo=[];let Ft=null;function z(e=!1){bo.push(Ft=e?null:[])}function Jr(){bo.pop(),Ft=bo[bo.length-1]||null}let Kn=1;function Ba(e,t=!1){Kn+=e,e<0&&Ft&&t&&(Ft.hasOnce=!0)}function Cl(e){return e.dynamicChildren=Kn>0?Ft||Xo:null,Jr(),Kn>0&&Ft&&Ft.push(e),e}function te(e,t,o,n,r,a){return Cl(E(e,t,o,n,r,a,!0))}function rt(e,t,o,n,r){return Cl(Be(e,t,o,n,r,!0))}function Hn(e){return e?e.__v_isVNode===!0:!1}function zn(e,t){return e.type===t.type&&e.key===t.key}const Tl=({key:e})=>e??null,ja=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?He(e)||Je(e)||ke(e)?{i:yt,r:e,k:t,f:!!o}:e:null);function E(e,t=null,o=null,n=0,r=null,a=e===Le?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Tl(t),ref:t&&ja(t),scopeId:Ui,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:yt};return i?(Ga(l,o),a&128&&e.normalize(l)):o&&(l.shapeFlag|=He(o)?8:16),Kn>0&&!s&&Ft&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&Ft.push(l),l}const Be=pg;function pg(e,t=null,o=null,n=0,r=null,a=!1){if((!e||e===el)&&(e=oo),Hn(e)){const i=sn(e,t,!0);return o&&Ga(i,o),Kn>0&&!a&&Ft&&(i.shapeFlag&6?Ft[Ft.indexOf(e)]=i:Ft.push(i)),i.patchFlag=-2,i}if(Sg(e)&&(e=e.__vccOpts),t){t=gg(t);let{class:i,style:l}=t;i&&!He(i)&&(t.class=Ce(i)),De(l)&&(Aa(l)&&!_e(l)&&(l=nt({},l)),t.style=tt(l))}const s=He(e)?1:Ll(e)?128:Ea(e)?64:De(e)?4:ke(e)?2:0;return E(e,t,o,n,r,s,a,!0)}function gg(e){return e?Aa(e)||bl(e)?nt({},e):e:null}function sn(e,t,o=!1,n=!1){const{props:r,ref:a,patchFlag:s,children:i,transition:l}=e,c=t?fg(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Tl(c),ref:t&&t.ref?o&&a?_e(a)?a.concat(ja(t)):[a,ja(t)]:ja(t):a,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!==Le?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&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 l&&n&&Or(u,l.clone(u)),u}function dt(e=" ",t=0){return Be(Un,null,e,t)}function be(e="",t=!1){return t?(z(),rt(oo,null,e)):Be(oo,null,e)}function no(e){return e==null||typeof e=="boolean"?Be(oo):_e(e)?Be(Le,null,e.slice()):Hn(e)?yo(e):Be(Un,null,String(e))}function yo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Ga(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(_e(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ga(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!bl(t)?t._ctx=yt:r===3&&yt&&(yt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ke(t)){if(n&65){Ga(e,{default:t});return}t={default:t,_ctx:yt},o=32}else t=String(t),n&64?(o=16,t=[dt(t)]):o=8;e.children=t,e.shapeFlag|=o}function fg(...e){const t={};for(let o=0;o_t||yt;let Ua,Vn;{const e=ba(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),a=>{r.length>1?r.forEach(s=>s(a)):r[0](a)}};Ua=t("__VUE_INSTANCE_SETTERS__",o=>_t=o),Vn=t("__VUE_SSR_SETTERS__",o=>ln=o)}const Wn=e=>{const t=_t;return Ua(e),e.scope.on(),()=>{e.scope.off(),Ua(t)}},El=()=>{_t&&_t.scope.off(),Ua(null)};function Pl(e){return e.vnode.shapeFlag&4}let ln=!1;function yg(e,t=!1,o=!1){t&&Vn(t);const{props:n,children:r}=e.vnode,a=Pl(e);tg(e,n,a,t),rg(e,r,o||t);const s=a?_g(e,t):void 0;return t&&Vn(!1),s}function _g(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jp);const{setup:n}=o;if(n){Zt();const r=e.setupContext=n.length>1?kg(e):null,a=Wn(e),s=on(n,e,0,[e.props,r]),i=ai(s);if(Xt(),a(),(i||e.sp)&&!rn(e)&&Dr(e),i){if(s.then(El,El),t)return s.then(l=>{Vn(!0);try{Ml(e,l,t)}finally{Vn(!1)}}).catch(l=>{In(l,e,0)});e.asyncDep=s}else Ml(e,s)}else Nl(e)}function Ml(e,t,o){ke(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:De(t)&&(e.setupState=Ii(t)),Nl(e)}function Nl(e,t,o){const n=e.type;e.render||(e.render=n.render||Jt);{const r=Wn(e);Zt();try{Gp(e)}finally{Xt(),r()}}}const vg={get(e,t){return xt(e,"get",""),e[t]}};function kg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,vg),slots:e.slots,emit:e.emit,expose:t}}function Ka(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ii(jo(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 wg=/(?:^|[-_])\w/g,xg=e=>e.replace(wg,t=>t.toUpperCase()).replace(/[-_]/g,"");function Il(e,t=!0){return ke(e)?e.displayName||e.name:e.name||t&&e.__name}function Rl(e,t,o=!1){let n=Il(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=a=>{for(const s in a)if(a[s]===t)return s};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?xg(n):o?"App":"Anonymous"}function Sg(e){return ke(e)&&"__vccOpts"in e}const ee=(e,t)=>ip(e,t,ln);function Fl(e,t,o){try{Ba(-1);const n=arguments.length;return n===2?De(t)&&!_e(t)?Hn(t)?Be(e,null,[t]):Be(e,t):Be(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Hn(o)&&(o=[o]),Be(e,t,o))}finally{Ba(1)}}const Ag="3.5.42";/** +`],...pp(o))}),t}function pp({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${Rl(e.component,e.type,n)}`,a=">"+o;return e.props?[r,...gp(e.props),a]:[r+a]}function gp(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Fi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Fi(e,t,o){return He(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Je(t)?(t=Fi(e,Pe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ke(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Pe(t),o?t:[`${e}=`,t])}function on(e,t,o,n){try{return n?e(...n):e()}catch(r){In(r,t,o)}}function Ut(e,t,o,n){if(ke(e)){const r=on(e,t,o,n);return r&&ai(r)&&r.catch(a=>{In(a,t,o)}),r}if(_e(e)){const r=[];for(let a=0;a>>1,r=Lt[n],a=Rn(r);a=Rn(o)?Lt.push(e):Lt.splice(hp(t),0,e),e.flags|=1,Di()}}function Di(){Ca||(Ca=Oi.then(Gi))}function mp(e){if(!_e(e))Lo&&e.id===-1?Lo.splice(an+1,0,e):e.flags&1||(nn.push(e),e.flags|=1);else for(let t=0;tRn(o)-Rn(n));if(nn.length=0,Lo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Gi(e){try{for(eo=0;eo{n._d&&Ba(-1);const a=Ta(t),s=bo.length;let i;try{i=e(...r)}finally{for(let l=bo.length;l>s;l--)Jr();Ta(a),n._d&&Ba(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function bp(e,t){if(yt===null)return e;const o=Ka(yt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&ke(t)?t.call(n&&n.proxy):t}}function yp(){return!!(_o()||Ho)}const _p=Symbol.for("v-scx"),vp=()=>Ee(_p);function kp(e,t){return Nr(e,null,t)}function ct(e,t,o){return Nr(e,t,o)}function Nr(e,t,o=Ue){const{immediate:n,deep:r,flush:a,once:s}=o,i=nt({},o),l=t&&n||!t&&a!=="post";let c;if(ln){if(a==="sync"){const w=vp();c=w.__watcherHandles||(w.__watcherHandles=[])}else if(!l){const w=()=>{};return w.stop=Jt,w.resume=Jt,w.pause=Jt,w}}const u=_t;i.call=(w,h,_)=>Ut(w,u,h,_);let d=!1;a==="post"?i.scheduler=w=>{Tt(w,u&&u.suspense)}:a!=="sync"&&(d=!0,i.scheduler=(w,h)=>{h?w():Mr(w)}),i.augmentJob=w=>{t&&(w.flags|=4),d&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const g=cp(e,t,i);return ln&&(c?c.push(g):l&&g()),g}function wp(e,t,o){const n=this.proxy,r=He(e)?e.includes(".")?Ki(n,e):()=>n[e]:e.bind(n,n);let a;ke(t)?a=t:(a=t.handler,o=t);const s=Wn(this),i=Nr(r,a.bind(n),o);return s(),i}function Ki(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ko=e=>e&&(e.disabled||e.disabled===""),xp=e=>e&&(e.defer||e.defer===""),zi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Vi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ir=(e,t)=>{const o=e&&e.to;return He(o)?t?t(o):null:o},Sp={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,a,s,i,l,c){const{mc:u,pc:d,pbc:g,o:{insert:w,querySelector:h,createText:_,createComment:y,parentNode:x}}=c,S=Ko(t.props);let{dynamicChildren:m}=t;const f=(T,N,M)=>{T.shapeFlag&16&&u(T.children,N,M,r,a,s,i,l)},v=(T=t)=>{const N=Ko(T.props),M=T.target=Ir(T.props,h),R=Rr(M,T,_,w);M&&(s!=="svg"&&zi(M)?s="svg":s!=="mathml"&&Vi(M)&&(s="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(M),N||(f(T,M,R),Fn(T,!1)))},L=T=>{const N=()=>{if(Co.get(T)===N){if(Co.delete(T),Ko(T.props)){const M=x(T.el)||o;f(T,M,T.anchor),Fn(T,!0)}v(T)}};Co.set(T,N),Tt(N,a)};if(e==null){const T=t.el=_(""),N=t.anchor=_("");if(w(T,o,n),w(N,o,n),xp(t.props)||a&&a.pendingBranch){L(t);return}S&&(f(t,o,N),Fn(t,!0)),v()}else{t.el=e.el;const T=t.anchor=e.anchor,N=Co.get(e);if(N){N.flags|=8,Co.delete(e),L(t);return}t.targetStart=e.targetStart;const M=t.target=e.target,R=t.targetAnchor=e.targetAnchor,W=Ko(e.props),U=W?o:M,Y=W?T:R;if(s==="svg"||zi(M)?s="svg":(s==="mathml"||Vi(M))&&(s="mathml"),m?(g(e.dynamicChildren,m,U,r,a,s,i),Wr(e,t,!0)):l||d(e,t,U,Y,r,a,s,i,!1),S)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pa(t,o,T,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const O=Ir(t.props,h);O&&(t.target=O,Pa(t,O,null,c,0))}else W&&Pa(t,M,R,c,1);Fn(t,S)}},remove(e,t,o,{um:n,o:{remove:r}},a){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:g}=e,w=Ko(g),h=a||!w,_=Co.get(e);if(_&&(_.flags|=8,Co.delete(e)),d&&(r(c),r(u)),a&&r(l),!_&&(w||d)&&s&16)for(let y=0;y1){for(const o of e)if(o.type!==oo){t=o;break}}return t}function Wi(e){if(!Ia(e))return Ea(e.type)&&e.children?Lp(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&&ke(o.default))return o.default()}}function Or(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Or(Ea(o.type)&&Wi(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 ke(e)?nt({name:e.name},t,{setup:e}):e}function Dr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Yi(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ma=new WeakMap;function Dn(e,t,o,n,r=!1){if(_e(e)){e.forEach((_,y)=>Dn(_,t&&(_e(t)?t[y]:t),o,n,r));return}if(rn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Dn(e,t,o,n.component.subTree);return}const a=n.shapeFlag&4?Ka(n.component):n.el,s=r?null:a,{i,r:l}=e,c=t&&t.r,u=i.refs===Ue?i.refs={}:i.refs,d=i.setupState,g=Pe(d),w=d===Ue?oi:_=>Yi(u,_)?!1:Ne(g,_),h=(_,y)=>!(y&&Yi(u,y));if(c!=null&&c!==l){if(Ji(t),He(c))u[c]=null,w(c)&&(d[c]=null);else if(Je(c)){const _=t;h(c,_.k)&&(c.value=null),_.k&&(u[_.k]=null)}}if(ke(l))on(l,i,12,[s,u]);else{const _=He(l),y=Je(l);if(_||y){const x=()=>{if(e.f){const S=_?w(l)?d[l]:u[l]:h()||!e.k?l.value:u[e.k];if(r)_e(S)&&hr(S,a);else if(_e(S))S.includes(a)||S.push(a);else if(_)u[l]=[a],w(l)&&(d[l]=u[l]);else{const m=[a];h(l,e.k)&&(l.value=m),e.k&&(u[e.k]=m)}}else _?(u[l]=s,w(l)&&(d[l]=s)):y&&(h(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const S=()=>{x(),Ma.delete(e)};S.id=-1,Ma.set(e,S),Tt(S,o)}else Ji(e),x()}}}function Ji(e){const t=Ma.get(e);t&&(t.flags|=8,Ma.delete(e))}const qi=e=>e.nodeType===8;ba().requestIdleCallback,ba().cancelIdleCallback;function Cp(e,t){if(qi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(qi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const rn=e=>!!e.type.__asyncLoader;function Zi(e){ke(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:a,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const g=()=>(d++,c=null,w()),w=()=>{let h;return c||(h=c=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((y,x)=>{l(_,()=>y(g()),()=>x(_),d+1)});throw _}).then(_=>h!==c&&c?c:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),u=_,_)))};return On({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate(h,_,y){const x=h.isConnected;let S=!1;(_.bu||(_.bu=[])).push(()=>S=!0);const m=()=>{S||!h.parentNode||x&&!h.isConnected||y()},f=a?()=>{const v=a(m,L=>Cp(h,L));v&&(_.bum||(_.bum=[])).push(v)}:m;u?f():w().then(()=>!_.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const h=_t;if(Dr(h),u)return()=>Na(u,h);const _=v=>{c=null,In(v,h,13,!n)};if(i&&h.suspense||ln)return w().then(v=>()=>Na(v,h)).catch(v=>(_(v),()=>n?Be(n,{error:v}):null));const y=ue(!1),x=ue(),S=ue(!!r);let m,f;return Fa(()=>{m!=null&&clearTimeout(m),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{h.isUnmounted||(S.value=!1)},r)),s!=null&&(m=setTimeout(()=>{if(!h.isUnmounted&&!y.value&&!x.value){const v=new Error(`Async component timed out after ${s}ms.`);_(v),x.value=v}},s)),w().then(()=>{h.isUnmounted||(y.value=!0,h.parent&&Ia(h.parent.vnode)&&h.parent.update())}).catch(v=>{if(h.isUnmounted){c=null;return}_(v),x.value=v}),()=>{if(y.value&&u)return Na(u,h);if(x.value&&n)return Be(n,{error:x.value});if(o&&!S.value)return Na(o,h)}}})}function Na(e,t){const{ref:o,props:n,children:r,ce:a}=t.vnode,s=Be(e,n,r);return s.ref=o,s.ce=a,delete t.vnode.ce,s}const Ia=e=>e.type.__isKeepAlive;function Tp(e,t){Xi(e,"a",t)}function Ep(e,t){Xi(e,"da",t)}function Xi(e,t,o=_t){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ra(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Ia(r.parent.vnode)&&Pp(n,t,o,r),r=r.parent}}function Pp(e,t,o,n){const r=Ra(t,e,n,!0);Fa(()=>{hr(n[t],r)},o)}function Ra(e,t,o=_t,n=!1){if(o){const r=o[e]||(o[e]=[]),a=t.__weh||(t.__weh=(...s)=>{Zt();const i=Wn(o),l=Ut(t,o,e,s);return i(),Xt(),l});return n?r.unshift(a):r.push(a),a}}const mo=e=>(t,o=_t)=>{(!ln||e==="sp")&&Ra(e,(...n)=>t(...n),o)},Qi=mo("bm"),to=mo("m"),Mp=mo("bu"),Np=mo("u"),To=mo("bum"),Fa=mo("um"),Ip=mo("sp"),Rp=mo("rtg"),Fp=mo("rtc");function Op(e,t=_t){Ra("ec",e,t)}const Dp="components",el=Symbol.for("v-ndc");function tl(e){return He(e)?Bp(Dp,e,!1)||e:e||el}function Bp(e,t,o=!0,n=!1){const r=yt||_t;if(r){const a=r.type;{const i=Il(a,!1);if(i&&(i===t||i===ht(t)||i===ha(ht(t))))return a}const s=ol(r[e]||a[e],t)||ol(r.appContext[e],t);return!s&&n?a:s}}function ol(e,t){return e&&(e[t]||e[ht(t)]||e[ha(ht(t))])}function St(e,t,o,n){let r;const a=o,s=_e(e);if(s||He(e)){const i=s&&po(e);let l=!1,c=!1;i&&(l=!Rt(e),c=go(e),e=va(e)),r=new Array(e.length);for(let u=0,d=e.length;ut(i,l,void 0,a));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),z(),rt(Le,null,[Be("slot",c,n)],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=bo.length;z();let l;try{const c=s&&nl(s(o)),u=o.key||a||c&&c.key;l=rt(Le,{key:(u&&!Nt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=bo.length;u>i;u--)Jr();throw c}finally{s&&s._c&&(s._d=!0)}return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function nl(e){return e.some(t=>Hn(t)?!(t.type===oo||t.type===Le&&!nl(t.children)):!0)?e:null}const Br=e=>e?Pl(e)?Ka(e):Br(e.parent):null,jn=nt(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=>Br(e.parent),$root:e=>Br(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>il(e),$forceUpdate:e=>e.f||(e.f=()=>{Mr(e.update)}),$nextTick:e=>e.n||(e.n=ho.bind(e.proxy)),$watch:e=>wp.bind(e)}),jr=(e,t)=>e!==Ue&&!e.__isScriptSetup&&Ne(e,t),jp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:a,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const g=s[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return a[t]}else{if(jr(n,t))return s[t]=1,n[t];if(r!==Ue&&Ne(r,t))return s[t]=2,r[t];if(Ne(a,t))return s[t]=3,a[t];if(o!==Ue&&Ne(o,t))return s[t]=4,o[t];Gr&&(s[t]=0)}}const c=jn[t];let u,d;if(c)return t==="$attrs"&&xt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ue&&Ne(o,t))return s[t]=4,o[t];if(d=l.config.globalProperties,Ne(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:a}=e;return jr(r,t)?(r[t]=o,!0):n!==Ue&&Ne(n,t)?(n[t]=o,!0):Ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:a,type:s}},i){let l;return!!(o[i]||e!==Ue&&i[0]!=="$"&&Ne(e,i)||jr(t,i)||Ne(a,i)||Ne(n,i)||Ne(jn,i)||Ne(r.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ne(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function al(e){return _e(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Gr=!0;function Gp(e){const t=il(e),o=e.proxy,n=e.ctx;Gr=!1,t.beforeCreate&&rl(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:g,beforeUpdate:w,updated:h,activated:_,deactivated:y,beforeDestroy:x,beforeUnmount:S,destroyed:m,unmounted:f,render:v,renderTracked:L,renderTriggered:T,errorCaptured:N,serverPrefetch:M,expose:R,inheritAttrs:W,components:U,directives:Y,filters:O}=t;if(c&&Up(c,n,null),s)for(const G in s){const re=s[G];ke(re)&&(n[G]=re.bind(o))}if(r){const G=r.call(o,o);De(G)&&(e.data=en(G))}if(Gr=!0,a)for(const G in a){const re=a[G],be=ke(re)?re.bind(o,o):ke(re.get)?re.get.bind(o,o):Jt,K=!ke(re)&&ke(re.set)?re.set.bind(o):Jt,pe=ee({get:be,set:K});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>pe.value,set:ge=>pe.value=ge})}if(i)for(const G in i)sl(i[G],n,o,G);if(l){const G=ke(l)?l.call(o):l;Reflect.ownKeys(G).forEach(re=>{Dt(re,G[re])})}u&&rl(u,e,"c");function A(G,re){_e(re)?re.forEach(be=>G(be.bind(o))):re&&G(re.bind(o))}if(A(Qi,d),A(to,g),A(Mp,w),A(Np,h),A(Tp,_),A(Ep,y),A(Op,N),A(Fp,L),A(Rp,T),A(To,S),A(Fa,f),A(Ip,M),_e(R))if(R.length){const G=e.exposed||(e.exposed={});R.forEach(re=>{Object.defineProperty(G,re,{get:()=>o[re],set:be=>o[re]=be,enumerable:!0})})}else e.exposed||(e.exposed={});v&&e.render===Jt&&(e.render=v),W!=null&&(e.inheritAttrs=W),U&&(e.components=U),Y&&(e.directives=Y),M&&Dr(e)}function Up(e,t,o=Jt){_e(e)&&(e=Ur(e));for(const n in e){const r=e[n];let a;De(r)?"default"in r?a=Ee(r.from||n,r.default,!0):a=Ee(r.from||n):a=Ee(r),Je(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:s=>a.value=s}):t[n]=a}}function rl(e,t,o){Ut(_e(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function sl(e,t,o,n){let r=n.includes(".")?Ki(o,n):()=>o[n];if(He(e)){const a=t[e];ke(a)&&ct(r,a)}else if(ke(e))ct(r,e.bind(o));else if(De(e))if(_e(e))e.forEach(a=>sl(a,t,o,n));else{const a=ke(e.handler)?e.handler.bind(o):t[e.handler];ke(a)&&ct(r,a,e)}}function il(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:s}}=e.appContext,i=a.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Oa(l,c,s,!0)),Oa(l,t,s)),De(t)&&a.set(t,l),l}function Oa(e,t,o,n=!1){const{mixins:r,extends:a}=t;a&&Oa(e,a,o,!0),r&&r.forEach(s=>Oa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=Kp[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Kp={data:ll,props:cl,emits:cl,methods:Gn,computed:Gn,beforeCreate:Ct,created:Ct,beforeMount:Ct,mounted:Ct,beforeUpdate:Ct,updated:Ct,beforeDestroy:Ct,beforeUnmount:Ct,destroyed:Ct,unmounted:Ct,activated:Ct,deactivated:Ct,errorCaptured:Ct,serverPrefetch:Ct,components:Gn,directives:Gn,watch:zp,provide:ll,inject:Hp};function ll(e,t){return t?e?function(){return nt(ke(e)?e.call(this,this):e,ke(t)?t.call(this,this):t)}:t:e}function Hp(e,t){return Gn(Ur(e),Ur(t))}function Ur(e){if(_e(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${It(t)}Modifiers`];function Jp(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ue;let r=o;const a=t.startsWith("update:"),s=a&&Yp(n,t.slice(7));s&&(s.trim&&(r=o.map(u=>He(u)?u.trim():u)),s.number&&(r=r.map(br)));let i,l=n[i=mr(t)]||n[i=mr(ht(t))];!l&&a&&(l=n[i=mr(It(t))]),l&&Ut(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,Ut(c,e,6,r)}}const qp=new WeakMap;function dl(e,t,o=!1){const n=o?qp:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const a=e.emits;let s={},i=!1;if(!ke(e)){const l=c=>{const u=dl(c,t,!0);u&&(i=!0,nt(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?(De(e)&&n.set(e,null),null):(_e(a)?a.forEach(l=>s[l]=null):nt(s,a),De(e)&&n.set(e,s),s)}function Da(e,t){return!e||!ca(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ne(e,t[0].toLowerCase()+t.slice(1))||Ne(e,It(t))||Ne(e,t))}function Xk(){}function pl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[a],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:d,data:g,setupState:w,ctx:h,inheritAttrs:_}=e,y=Ta(e);let x,S;try{if(o.shapeFlag&4){const f=r||n,v=f;x=no(c.call(v,f,u,d,w,g,h)),S=i}else{const f=t;x=no(f.length>1?f(d,{attrs:i,slots:s,emit:l}):f(d,null)),S=t.props?i:Zp(i)}}catch(f){bo.length=0,In(f,e,1),x=Be(oo)}let m=x;if(S&&_!==!1){const f=Object.keys(S),{shapeFlag:v}=m;f.length&&v&7&&(a&&f.some(ua)&&(S=Xp(S,a)),m=sn(m,S,!1,!0))}if(o.dirs&&(m=sn(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(o.dirs):o.dirs),o.transition){const f=Ea(m.type)&&Wi(m)||m;Or(f,o.transition)}return x=m,Ta(y),x}const Zp=e=>{let t;for(const o in e)(o==="class"||o==="style"||ca(o))&&((t||(t={}))[o]=e[o]);return t},Xp=(e,t)=>{const o={};for(const n in e)(!ua(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Qp(e,t,o){const{props:n,children:r,component:a}=e,{props:s,children:i,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?gl(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let d=0;dObject.create(hl),bl=e=>Object.getPrototypeOf(e)===hl;function tg(e,t,o,n=!1){const r={},a=ml();e.propsDefaults=Object.create(null),yl(e,t,r,a);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);o?e.props=n?r:Qd(r):e.type.props?e.props=r:e.props=a,e.attrs=a}function og(e,t,o,n){const{props:r,attrs:a,vnode:{patchFlag:s}}=e,i=Pe(r),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[g,w]=_l(d,t,!0);nt(s,g),w&&i.push(...w)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!a&&!l)return De(e)&&n.set(e,Xo),Xo;if(_e(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",zr=e=>_e(e)?e.map(no):[no(e)],ag=(e,t,o)=>{if(t._n)return t;const n=Kt((...r)=>zr(t(...r)),o);return n._c=!1,n},kl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Hr(r))continue;const a=e[r];if(ke(a))t[r]=ag(r,a,n);else if(a!=null){const s=zr(a);t[r]=()=>s}}},wl=(e,t)=>{const o=zr(t);e.slots.default=()=>o},xl=(e,t,o)=>{for(const n in t)(o||!Hr(n))&&(e[n]=t[n])},rg=(e,t,o)=>{const n=e.slots=ml();if(e.vnode.shapeFlag&32){const r=t._;r?(xl(n,t,o),o&&si(n,"_",r,!0)):kl(t,n)}else t&&wl(e,t)},sg=(e,t,o)=>{const{vnode:n,slots:r}=e;let a=!0,s=Ue;if(n.shapeFlag&32){const i=t._;i?o&&i===1?a=!1:xl(r,t,o):(a=!t.$stable,kl(t,r)),s=t}else t&&(wl(e,t),s={default:1});if(a)for(const i in r)!Hr(i)&&s[i]==null&&delete r[i]},Tt=dg;function ig(e){return lg(e)}function lg(e,t){const o=ba();o.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:g,setScopeId:w=Jt,insertStaticContent:h}=e,_=($,P,C,B=null,J=null,X=null,Q=void 0,q=null,p=!!P.dynamicChildren)=>{if($===P)return;$&&!zn($,P)&&(B=ot($),ge($,J,X,!0),$=null),P.patchFlag===-2&&(p=!1,P.dynamicChildren=null);const{type:b,ref:F,shapeFlag:H}=P;switch(b){case Un:y($,P,C,B);break;case oo:x($,P,C,B);break;case Yr:$==null&&S(P,C,B,Q);break;case Le:U($,P,C,B,J,X,Q,q,p);break;default:H&1?v($,P,C,B,J,X,Q,q,p):H&6?Y($,P,C,B,J,X,Q,q,p):(H&64||H&128)&&b.process($,P,C,B,J,X,Q,q,p,et)}F!=null&&J?Dn(F,$&&$.ref,X,P||$,!P):F==null&&$&&$.ref!=null&&Dn($.ref,null,X,$,!0)},y=($,P,C,B)=>{if($==null)n(P.el=i(P.children),C,B);else{const J=P.el=$.el;P.children!==$.children&&c(J,P.children)}},x=($,P,C,B)=>{$==null?n(P.el=l(P.children||""),C,B):P.el=$.el},S=($,P,C,B)=>{[$.el,$.anchor]=h($.children,P,C,B,$.el,$.anchor)},m=({el:$,anchor:P},C,B)=>{let J;for(;$&&$!==P;)J=g($),n($,C,B),$=J;n(P,C,B)},f=({el:$,anchor:P})=>{let C;for(;$&&$!==P;)C=g($),r($),$=C;r(P)},v=($,P,C,B,J,X,Q,q,p)=>{if(P.type==="svg"?Q="svg":P.type==="math"&&(Q="mathml"),$==null)L(P,C,B,J,X,Q,q,p);else{const b=$.el&&$.el._isVueCE?$.el:null;try{b&&b._beginPatch(),M($,P,J,X,Q,q,p)}finally{b&&b._endPatch()}}},L=($,P,C,B,J,X,Q,q)=>{let p,b;const{props:F,shapeFlag:H,transition:se,dirs:ae}=$;if(p=$.el=s($.type,X,F&&F.is,F),H&8?u(p,$.children):H&16&&N($.children,p,null,B,J,Vr($,X),Q,q),ae&&Uo($,null,B,"created"),T(p,$,$.scopeId,Q,B),F){for(const k in F)k!=="value"&&!$n(k)&&a(p,k,null,F[k],X,B);"value"in F&&a(p,"value",null,F.value,X),(b=F.onVnodeBeforeMount)&&ao(b,B,$)}ae&&Uo($,null,B,"beforeMount");const D=cg(J,se);D&&se.beforeEnter(p),n(p,P,C),((b=F&&F.onVnodeMounted)||D||ae)&&Tt(()=>{try{b&&ao(b,B,$),D&&se.enter(p),ae&&Uo($,null,B,"mounted")}finally{}},J)},T=($,P,C,B,J)=>{if(C&&w($,C),B)for(let X=0;X{for(let b=p;b<$.length;b++){const F=$[b]=q?yo($[b]):no($[b]);_(null,F,P,C,B,J,X,Q,q)}},M=($,P,C,B,J,X,Q)=>{const q=P.el=$.el;let{patchFlag:p,dynamicChildren:b,dirs:F}=P;p|=$.patchFlag&16;const H=$.props||Ue,se=P.props||Ue;let ae;if(C&&zo(C,!1),(ae=se.onVnodeBeforeUpdate)&&ao(ae,C,P,$),F&&Uo(P,$,C,"beforeUpdate"),C&&zo(C,!0),b&&(!$.dynamicChildren||$.dynamicChildren.length!==b.length)&&(p=0,Q=!1,b=null),(H.innerHTML&&se.innerHTML==null||H.textContent&&se.textContent==null)&&u(q,""),b?R($.dynamicChildren,b,q,C,B,Vr(P,J),X):Q||re($,P,q,null,C,B,Vr(P,J),X,!1),p>0){if(p&16)W(q,H,se,C,J);else if(p&2&&H.class!==se.class&&a(q,"class",null,se.class,J),p&4&&a(q,"style",H.style,se.style,J),p&8){const D=P.dynamicProps;for(let k=0;k{ae&&ao(ae,C,P,$),F&&Uo(P,$,C,"updated")},B)},R=($,P,C,B,J,X,Q)=>{for(let q=0;q{if(P!==C){if(P!==Ue)for(const X in P)!$n(X)&&!(X in C)&&a($,X,P[X],null,J,B);for(const X in C){if($n(X))continue;const Q=C[X],q=P[X];Q!==q&&X!=="value"&&a($,X,q,Q,J,B)}"value"in C&&a($,"value",P.value,C.value,J)}},U=($,P,C,B,J,X,Q,q,p)=>{const b=P.el=$?$.el:i(""),F=P.anchor=$?$.anchor:i("");let{patchFlag:H,dynamicChildren:se,slotScopeIds:ae}=P;ae&&(q=q?q.concat(ae):ae),$==null?(n(b,C,B),n(F,C,B),N(P.children||[],C,F,J,X,Q,q,p)):H>0&&H&64&&se&&$.dynamicChildren&&$.dynamicChildren.length===se.length?(R($.dynamicChildren,se,C,J,X,Q,q),(P.key!=null||J&&P===J.subTree)&&Wr($,P,!0)):re($,P,C,F,J,X,Q,q,p)},Y=($,P,C,B,J,X,Q,q,p)=>{P.slotScopeIds=q,$==null?P.shapeFlag&512?J.ctx.activate(P,C,B,Q,p):O(P,C,B,J,X,Q,p):V($,P,p)},O=($,P,C,B,J,X,Q)=>{const q=$.component=bg($,B,J);if(Ia($)&&(q.ctx.renderer=et),yg(q,!1,Q),q.asyncDep){if(J&&J.registerDep(q,A,Q),!$.el){const p=q.subTree=Be(oo);x(null,p,P,C),$.placeholder=p.el}}else A(q,$,P,C,J,X,Q)},V=($,P,C)=>{const B=P.component=$.component;if(Qp($,P,C))if(B.asyncDep&&!B.asyncResolved){G(B,P,C);return}else B.next=P,B.update();else P.el=$.el,B.vnode=P},A=($,P,C,B,J,X,Q)=>{const q=()=>{if($.isMounted){let{next:H,bu:se,u:ae,parent:D,vnode:k}=$;{const Ae=Sl($);if(Ae){H&&(H.el=k.el,G($,H,Q)),Ae.asyncDep.then(()=>{Tt(()=>{$.isUnmounted||b()},J)});return}}let I=H,ne;zo($,!1),H?(H.el=k.el,G($,H,Q)):H=k,se&&ma(se),(ne=H.props&&H.props.onVnodeBeforeUpdate)&&ao(ne,D,H,k),zo($,!0);const le=pl($),fe=$.subTree;$.subTree=le,_(fe,le,d(fe.el),ot(fe),$,J,X),H.el=le.el,I===null&&eg($,le.el),ae&&Tt(ae,J),(ne=H.props&&H.props.onVnodeUpdated)&&Tt(()=>ao(ne,D,H,k),J)}else{let H;const{el:se,props:ae}=P,{bm:D,m:k,parent:I,root:ne,type:le}=$,fe=rn(P);zo($,!1),D&&ma(D),!fe&&(H=ae&&ae.onVnodeBeforeMount)&&ao(H,I,P),zo($,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(le,$.parent?$.parent.type:void 0);const Ae=$.subTree=pl($);_(null,Ae,C,B,$,J,X),P.el=Ae.el}if(k&&Tt(k,J),!fe&&(H=ae&&ae.onVnodeMounted)){const Ae=P;Tt(()=>ao(H,I,Ae),J)}(P.shapeFlag&256||I&&rn(I.vnode)&&I.vnode.shapeFlag&256)&&$.a&&Tt($.a,J),$.isMounted=!0,P=C=B=null}};$.scope.on();const p=$.effect=new hi(q);$.scope.off();const b=$.update=p.run.bind(p),F=$.job=p.runIfDirty.bind(p);F.i=$,F.id=$.uid,p.scheduler=()=>Mr(F),zo($,!0),b()},G=($,P,C)=>{P.component=$;const B=$.vnode.props;$.vnode=P,$.next=null,og($,P.props,B,C),sg($,P.children,C),Zt(),Bi($),Xt()},re=($,P,C,B,J,X,Q,q,p=!1)=>{const b=$&&$.children,F=$?$.shapeFlag:0,H=P.children,{patchFlag:se,shapeFlag:ae}=P;if(se>0){if(se&128){K(b,H,C,B,J,X,Q,q,p);return}else if(se&256){be(b,H,C,B,J,X,Q,q,p);return}}ae&8?(F&16&&Xe(b,J,X),H!==b&&u(C,H)):F&16?ae&16?K(b,H,C,B,J,X,Q,q,p):Xe(b,J,X,!0):(F&8&&u(C,""),ae&16&&N(H,C,B,J,X,Q,q,p))},be=($,P,C,B,J,X,Q,q,p)=>{$=$||Xo,P=P||Xo;const b=$.length,F=P.length,H=Math.min(b,F);let se;for(se=0;seF?Xe($,J,X,!0,!1,H):N(P,C,B,J,X,Q,q,p,H)},K=($,P,C,B,J,X,Q,q,p)=>{let b=0;const F=P.length;let H=$.length-1,se=F-1;for(;b<=H&&b<=se;){const ae=$[b],D=P[b]=p?yo(P[b]):no(P[b]);if(zn(ae,D))_(ae,D,C,null,J,X,Q,q,p);else break;b++}for(;b<=H&&b<=se;){const ae=$[H],D=P[se]=p?yo(P[se]):no(P[se]);if(zn(ae,D))_(ae,D,C,null,J,X,Q,q,p);else break;H--,se--}if(b>H){if(b<=se){const ae=se+1,D=aese)for(;b<=H;)ge($[b],J,X,!0),b++;else{const ae=b,D=b,k=new Map;for(b=D;b<=se;b++){const Ie=P[b]=p?yo(P[b]):no(P[b]);Ie.key!=null&&k.set(Ie.key,b)}let I,ne=0;const le=se-D+1;let fe=!1,Ae=0;const we=new Array(le);for(b=0;b=le){ge(Ie,J,X,!0);continue}let Ke;if(Ie.key!=null)Ke=k.get(Ie.key);else for(I=D;I<=se;I++)if(we[I-D]===0&&zn(Ie,P[I])){Ke=I;break}Ke===void 0?ge(Ie,J,X,!0):(we[Ke-D]=b+1,Ke>=Ae?Ae=Ke:fe=!0,_(Ie,P[Ke],C,null,J,X,Q,q,p),ne++)}const ft=fe?ug(we):Xo;for(I=ft.length-1,b=le-1;b>=0;b--){const Ie=D+b,Ke=P[Ie],kn=P[Ie+1],ia=Ie+1{const{el:X,type:Q,transition:q,children:p,shapeFlag:b}=$;if(b&6){pe($.component.subTree,P,C,B);return}if(b&128){$.suspense.move(P,C,B);return}if(b&64){Q.move($,P,C,et);return}if(Q===Le){n(X,P,C);for(let H=0;Hq.enter(X),J));else{const{leave:H,delayLeave:se,afterLeave:ae}=q,D=()=>{$.ctx.isUnmounted?r(X):n(X,P,C)},k=()=>{const I=X._isLeaving||!!X[Fr];X._isLeaving&&X[Fr](!0),q.persisted&&!I?D():H(X,()=>{D(),ae&&ae()})};se?se(X,D,k):k()}else n(X,P,C)},ge=($,P,C,B=!1,J=!1)=>{const{type:X,props:Q,ref:q,children:p,dynamicChildren:b,shapeFlag:F,patchFlag:H,dirs:se,cacheIndex:ae,memo:D}=$;if(H===-2&&(J=!1),q!=null&&(Zt(),Dn(q,null,C,$,!0),Xt()),ae!=null&&(P.renderCache[ae]=void 0),F&256){P.ctx.deactivate($);return}const k=F&1&&se,I=!rn($);let ne;if(I&&(ne=Q&&Q.onVnodeBeforeUnmount)&&ao(ne,P,$),F&6)Ze($.component,C,B);else{if(F&128){$.suspense.unmount(C,B);return}k&&Uo($,null,P,"beforeUnmount"),F&64?$.type.remove($,P,C,et,B):b&&!b.hasOnce&&(X!==Le||H>0&&H&64)?Xe(b,P,C,!1,!0):(X===Le&&H&384||!J&&F&16)&&Xe(p,P,C),B&&Ge($)}const le=D!=null&&ae==null;(I&&(ne=Q&&Q.onVnodeUnmounted)||k||le)&&Tt(()=>{ne&&ao(ne,P,$),k&&Uo($,null,P,"unmounted"),le&&($.el=null)},C)},Ge=$=>{const{type:P,el:C,anchor:B,transition:J}=$;if(P===Le){We(C,B);return}if(P===Yr){f($);return}const X=()=>{r(C),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if($.shapeFlag&1&&J&&!J.persisted){const{leave:Q,delayLeave:q}=J,p=()=>Q(C,X);q?q($.el,X,p):p()}else X()},We=($,P)=>{let C;for(;$!==P;)C=g($),r($),$=C;r(P)},Ze=($,P,C)=>{const{bum:B,scope:J,job:X,subTree:Q,um:q,m:p,a:b}=$;Al(p),Al(b),B&&ma(B),J.stop(),X&&(X.flags|=8,ge(Q,$,P,C)),q&&Tt(q,P),Tt(()=>{$.isUnmounted=!0},P)},Xe=($,P,C,B=!1,J=!1,X=0)=>{for(let Q=X;Q<$.length;Q++)ge($[Q],P,C,B,J)},ot=$=>{if($.shapeFlag&6)return ot($.component.subTree);if($.shapeFlag&128)return $.suspense.next();const P=g($.anchor||$.el),C=P&&P[Hi];return C?g(C):P};let Qe=!1;const gt=($,P,C)=>{let B;$==null?P._vnode&&(ge(P._vnode,null,null,!0),B=P._vnode.component):_(P._vnode||null,$,P,null,null,null,C),P._vnode=$,Qe||(Qe=!0,Bi(B),ji(),Qe=!1)},et={p:_,um:ge,m:pe,r:Ge,mt:O,mc:N,pc:re,pbc:R,n:ot,o:e};return{render:gt,hydrate:void 0,createApp:Wp(gt)}}function Vr({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 zo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function cg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Wr(e,t,o=!1){const n=e.children,r=t.children;if(_e(n)&&_e(r))for(let a=0;a>1,e[o[i]]0&&(t[n]=o[a-1]),o[a]=n)}}for(a=o.length,s=o[a-1];a-- >0;)o[a]=s,s=t[s];return o}function Sl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Sl(t)}function Al(e){if(e)for(let t=0;te.__isSuspense;function dg(e,t){t&&t.pendingBranch?_e(e)?t.effects.push(...e):t.effects.push(e):mp(e)}const Le=Symbol.for("v-fgt"),Un=Symbol.for("v-txt"),oo=Symbol.for("v-cmt"),Yr=Symbol.for("v-stc"),bo=[];let Ft=null;function z(e=!1){bo.push(Ft=e?null:[])}function Jr(){bo.pop(),Ft=bo[bo.length-1]||null}let Kn=1;function Ba(e,t=!1){Kn+=e,e<0&&Ft&&t&&(Ft.hasOnce=!0)}function Cl(e){return e.dynamicChildren=Kn>0?Ft||Xo:null,Jr(),Kn>0&&Ft&&Ft.push(e),e}function te(e,t,o,n,r,a){return Cl(E(e,t,o,n,r,a,!0))}function rt(e,t,o,n,r){return Cl(Be(e,t,o,n,r,!0))}function Hn(e){return e?e.__v_isVNode===!0:!1}function zn(e,t){return e.type===t.type&&e.key===t.key}const Tl=({key:e})=>e??null,ja=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?He(e)||Je(e)||ke(e)?{i:yt,r:e,k:t,f:!!o}:e:null);function E(e,t=null,o=null,n=0,r=null,a=e===Le?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Tl(t),ref:t&&ja(t),scopeId:Ui,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:yt};return i?(Ga(l,o),a&128&&e.normalize(l)):o&&(l.shapeFlag|=He(o)?8:16),Kn>0&&!s&&Ft&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&Ft.push(l),l}const Be=pg;function pg(e,t=null,o=null,n=0,r=null,a=!1){if((!e||e===el)&&(e=oo),Hn(e)){const i=sn(e,t,!0);return o&&Ga(i,o),Kn>0&&!a&&Ft&&(i.shapeFlag&6?Ft[Ft.indexOf(e)]=i:Ft.push(i)),i.patchFlag=-2,i}if(Sg(e)&&(e=e.__vccOpts),t){t=gg(t);let{class:i,style:l}=t;i&&!He(i)&&(t.class=Ce(i)),De(l)&&(Aa(l)&&!_e(l)&&(l=nt({},l)),t.style=tt(l))}const s=He(e)?1:Ll(e)?128:Ea(e)?64:De(e)?4:ke(e)?2:0;return E(e,t,o,n,r,s,a,!0)}function gg(e){return e?Aa(e)||bl(e)?nt({},e):e:null}function sn(e,t,o=!1,n=!1){const{props:r,ref:a,patchFlag:s,children:i,transition:l}=e,c=t?fg(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Tl(c),ref:t&&t.ref?o&&a?_e(a)?a.concat(ja(t)):[a,ja(t)]:ja(t):a,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!==Le?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&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 l&&n&&Or(u,l.clone(u)),u}function dt(e=" ",t=0){return Be(Un,null,e,t)}function me(e="",t=!1){return t?(z(),rt(oo,null,e)):Be(oo,null,e)}function no(e){return e==null||typeof e=="boolean"?Be(oo):_e(e)?Be(Le,null,e.slice()):Hn(e)?yo(e):Be(Un,null,String(e))}function yo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Ga(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(_e(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ga(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!bl(t)?t._ctx=yt:r===3&&yt&&(yt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ke(t)){if(n&65){Ga(e,{default:t});return}t={default:t,_ctx:yt},o=32}else t=String(t),n&64?(o=16,t=[dt(t)]):o=8;e.children=t,e.shapeFlag|=o}function fg(...e){const t={};for(let o=0;o_t||yt;let Ua,Vn;{const e=ba(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),a=>{r.length>1?r.forEach(s=>s(a)):r[0](a)}};Ua=t("__VUE_INSTANCE_SETTERS__",o=>_t=o),Vn=t("__VUE_SSR_SETTERS__",o=>ln=o)}const Wn=e=>{const t=_t;return Ua(e),e.scope.on(),()=>{e.scope.off(),Ua(t)}},El=()=>{_t&&_t.scope.off(),Ua(null)};function Pl(e){return e.vnode.shapeFlag&4}let ln=!1;function yg(e,t=!1,o=!1){t&&Vn(t);const{props:n,children:r}=e.vnode,a=Pl(e);tg(e,n,a,t),rg(e,r,o||t);const s=a?_g(e,t):void 0;return t&&Vn(!1),s}function _g(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jp);const{setup:n}=o;if(n){Zt();const r=e.setupContext=n.length>1?kg(e):null,a=Wn(e),s=on(n,e,0,[e.props,r]),i=ai(s);if(Xt(),a(),(i||e.sp)&&!rn(e)&&Dr(e),i){if(s.then(El,El),t)return s.then(l=>{Vn(!0);try{Ml(e,l,t)}finally{Vn(!1)}}).catch(l=>{In(l,e,0)});e.asyncDep=s}else Ml(e,s)}else Nl(e)}function Ml(e,t,o){ke(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:De(t)&&(e.setupState=Ii(t)),Nl(e)}function Nl(e,t,o){const n=e.type;e.render||(e.render=n.render||Jt);{const r=Wn(e);Zt();try{Gp(e)}finally{Xt(),r()}}}const vg={get(e,t){return xt(e,"get",""),e[t]}};function kg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,vg),slots:e.slots,emit:e.emit,expose:t}}function Ka(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ii(jo(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 wg=/(?:^|[-_])\w/g,xg=e=>e.replace(wg,t=>t.toUpperCase()).replace(/[-_]/g,"");function Il(e,t=!0){return ke(e)?e.displayName||e.name:e.name||t&&e.__name}function Rl(e,t,o=!1){let n=Il(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=a=>{for(const s in a)if(a[s]===t)return s};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?xg(n):o?"App":"Anonymous"}function Sg(e){return ke(e)&&"__vccOpts"in e}const ee=(e,t)=>ip(e,t,ln);function Fl(e,t,o){try{Ba(-1);const n=arguments.length;return n===2?De(t)&&!_e(t)?Hn(t)?Be(e,null,[t]):Be(e,t):Be(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Hn(o)&&(o=[o]),Be(e,t,o))}finally{Ba(1)}}const Ag="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -32,7 +32,7 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function pm(e,t,o){return{line:e,column:t,offset:o}}function Qa(e,t,o){return{start:e,end:t}}const gm=/\{([0-9a-zA-Z]+)\}/g;function uc(e,...t){return t.length===1&&fm(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(gm,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const dc=Object.assign,pc=e=>typeof e=="string",fm=e=>e!==null&&typeof e=="object";function gc(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const rs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},hm={[rs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function mm(e,t,...o){const n=uc(hm[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const ve={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},bm={[ve.EXPECTED_TOKEN]:"Expected token: '{0}'",[ve.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ve.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ve.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ve.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ve.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ve.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ve.EMPTY_PLACEHOLDER]:"Empty placeholder",[ve.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ve.INVALID_LINKED_FORMAT]:"Invalid linked format",[ve.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ve.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ve.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ve.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ve.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ve.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function dn(e,t,o={}){const{domain:n,messages:r,args:a}=o,s=uc((r||bm)[e]||"",...a||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function ym(e){throw e}const wo=" ",_m="\r",Et=` -`,vm="\u2028",km="\u2029";function wm(e){const t=e;let o=0,n=1,r=1,a=0;const s=T=>t[T]===_m&&t[T+1]===Et,i=T=>t[T]===Et,l=T=>t[T]===km,c=T=>t[T]===vm,u=T=>s(T)||i(T)||l(T)||c(T),d=()=>o,g=()=>n,w=()=>r,h=()=>a,_=T=>s(T)||l(T)||c(T)?Et:t[T],y=()=>_(o),x=()=>_(o+a);function S(){return a=0,u(o)&&(n++,r=0),s(o)&&o++,o++,r++,t[o]}function m(){return s(o+a)&&a++,a++,t[o+a]}function f(){o=0,n=1,r=1,a=0}function v(T=0){a=T}function L(){const T=o+a;for(;T!==o;)S();a=0}return{index:d,line:g,column:w,peekOffset:h,charAt:_,currentChar:y,currentPeek:x,next:S,peek:m,reset:f,resetPeek:v,skipToPeek:L}}const No=void 0,xm=".",fc="'",Sm="tokenizer";function Am(e,t={}){const o=t.location!==!1,n=wm(e),r=()=>n.index(),a=()=>pm(n.line(),n.column(),n.index()),s=a(),i=r(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(p,b,F,...H){const se=c();if(b.column+=F,b.offset+=F,u){const ae=o?Qa(se.startLoc,b):null,D=dn(p,ae,{domain:Sm,args:H});u(D)}}function g(p,b,F){p.endLoc=a(),p.currentType=b;const H={type:b};return o&&(H.loc=Qa(p.startLoc,p.endLoc)),F!=null&&(H.value=F),H}const w=p=>g(p,14);function h(p,b){return p.currentChar()===b?(p.next(),b):(d(ve.EXPECTED_TOKEN,a(),0,b),"")}function _(p){let b="";for(;p.currentPeek()===wo||p.currentPeek()===Et;)b+=p.currentPeek(),p.peek();return b}function y(p){const b=_(p);return p.skipToPeek(),b}function x(p){if(p===No)return!1;const b=p.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function S(p){if(p===No)return!1;const b=p.charCodeAt(0);return b>=48&&b<=57}function m(p,b){const{currentType:F}=b;if(F!==2)return!1;_(p);const H=x(p.currentPeek());return p.resetPeek(),H}function f(p,b){const{currentType:F}=b;if(F!==2)return!1;_(p);const H=p.currentPeek()==="-"?p.peek():p.currentPeek(),se=S(H);return p.resetPeek(),se}function v(p,b){const{currentType:F}=b;if(F!==2)return!1;_(p);const H=p.currentPeek()===fc;return p.resetPeek(),H}function L(p,b){const{currentType:F}=b;if(F!==8)return!1;_(p);const H=p.currentPeek()===".";return p.resetPeek(),H}function T(p,b){const{currentType:F}=b;if(F!==9)return!1;_(p);const H=x(p.currentPeek());return p.resetPeek(),H}function N(p,b){const{currentType:F}=b;if(!(F===8||F===12))return!1;_(p);const H=p.currentPeek()===":";return p.resetPeek(),H}function M(p,b){const{currentType:F}=b;if(F!==10)return!1;const H=()=>{const ae=p.currentPeek();return ae==="{"?x(p.peek()):ae==="@"||ae==="%"||ae==="|"||ae===":"||ae==="."||ae===wo||!ae?!1:ae===Et?(p.peek(),H()):U(p,!1)},se=H();return p.resetPeek(),se}function R(p){_(p);const b=p.currentPeek()==="|";return p.resetPeek(),b}function W(p){const b=_(p),F=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:F,hasSpace:b.length>0}}function U(p,b=!0){const F=(se=!1,ae="",D=!1)=>{const k=p.currentPeek();return k==="{"?ae==="%"?!1:se:k==="@"||!k?ae==="%"?!0:se:k==="%"?(p.peek(),F(se,"%",!0)):k==="|"?ae==="%"||D?!0:!(ae===wo||ae===Et):k===wo?(p.peek(),F(!0,wo,D)):k===Et?(p.peek(),F(!0,Et,D)):!0},H=F();return b&&p.resetPeek(),H}function Y(p,b){const F=p.currentChar();return F===No?No:b(F)?(p.next(),F):null}function O(p){const b=p.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function V(p){return Y(p,O)}function A(p){const b=p.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function G(p){return Y(p,A)}function re(p){const b=p.charCodeAt(0);return b>=48&&b<=57}function fe(p){return Y(p,re)}function K(p){const b=p.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function pe(p){return Y(p,K)}function ge(p){let b="",F="";for(;b=fe(p);)F+=b;return F}function Ge(p){y(p);const b=p.currentChar();return b!=="%"&&d(ve.EXPECTED_TOKEN,a(),0,b),p.next(),"%"}function We(p){let b="";for(;;){const F=p.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(U(p))b+=F,p.next();else break;else if(F===wo||F===Et)if(U(p))b+=F,p.next();else{if(R(p))break;b+=F,p.next()}else b+=F,p.next()}return b}function Ze(p){y(p);let b="",F="";for(;b=G(p);)F+=b;return p.currentChar()===No&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),F}function Xe(p){y(p);let b="";return p.currentChar()==="-"?(p.next(),b+=`-${ge(p)}`):b+=ge(p),p.currentChar()===No&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),b}function ot(p){return p!==fc&&p!==Et}function Qe(p){y(p),h(p,"'");let b="",F="";for(;b=Y(p,ot);)b==="\\"?F+=gt(p):F+=b;const H=p.currentChar();return H===Et||H===No?(d(ve.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),H===Et&&(p.next(),h(p,"'")),F):(h(p,"'"),F)}function gt(p){const b=p.currentChar();switch(b){case"\\":case"'":return p.next(),`\\${b}`;case"u":return et(p,b,4);case"U":return et(p,b,6);default:return d(ve.UNKNOWN_ESCAPE_SEQUENCE,a(),0,b),""}}function et(p,b,F){h(p,b);let H="";for(let se=0;se{const H=p.currentChar();return H==="{"||H==="%"||H==="@"||H==="|"||H==="("||H===")"||!H||H===wo?F:(F+=H,p.next(),b(F))};return b("")}function B(p){y(p);const b=h(p,"|");return y(p),b}function J(p,b){let F=null;switch(p.currentChar()){case"{":return b.braceNest>=1&&d(ve.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),p.next(),F=g(b,2,"{"),y(p),b.braceNest++,F;case"}":return b.braceNest>0&&b.currentType===2&&d(ve.EMPTY_PLACEHOLDER,a(),0),p.next(),F=g(b,3,"}"),b.braceNest--,b.braceNest>0&&y(p),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),F;case"@":return b.braceNest>0&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),F=X(p,b)||w(b),b.braceNest=0,F;default:{let se=!0,ae=!0,D=!0;if(R(p))return b.braceNest>0&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),F=g(b,1,B(p)),b.braceNest=0,b.inLinked=!1,F;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),b.braceNest=0,Q(p,b);if(se=m(p,b))return F=g(b,5,Ze(p)),y(p),F;if(ae=f(p,b))return F=g(b,6,Xe(p)),y(p),F;if(D=v(p,b))return F=g(b,7,Qe(p)),y(p),F;if(!se&&!ae&&!D)return F=g(b,13,$(p)),d(ve.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,F.value),y(p),F;break}}return F}function X(p,b){const{currentType:F}=b;let H=null;const se=p.currentChar();switch((F===8||F===9||F===12||F===10)&&(se===Et||se===wo)&&d(ve.INVALID_LINKED_FORMAT,a(),0),se){case"@":return p.next(),H=g(b,8,"@"),b.inLinked=!0,H;case".":return y(p),p.next(),g(b,9,".");case":":return y(p),p.next(),g(b,10,":");default:return R(p)?(H=g(b,1,B(p)),b.braceNest=0,b.inLinked=!1,H):L(p,b)||N(p,b)?(y(p),X(p,b)):T(p,b)?(y(p),g(b,12,P(p))):M(p,b)?(y(p),se==="{"?J(p,b)||H:g(b,11,C(p))):(F===8&&d(ve.INVALID_LINKED_FORMAT,a(),0),b.braceNest=0,b.inLinked=!1,Q(p,b))}}function Q(p,b){let F={type:14};if(b.braceNest>0)return J(p,b)||w(b);if(b.inLinked)return X(p,b)||w(b);switch(p.currentChar()){case"{":return J(p,b)||w(b);case"}":return d(ve.UNBALANCED_CLOSING_BRACE,a(),0),p.next(),g(b,3,"}");case"@":return X(p,b)||w(b);default:{if(R(p))return F=g(b,1,B(p)),b.braceNest=0,b.inLinked=!1,F;const{isModulo:se,hasSpace:ae}=W(p);if(se)return ae?g(b,0,We(p)):g(b,4,Ge(p));if(U(p))return g(b,0,We(p));break}}return F}function q(){const{currentType:p,offset:b,startLoc:F,endLoc:H}=l;return l.lastType=p,l.lastOffset=b,l.lastStartLoc=F,l.lastEndLoc=H,l.offset=r(),l.startLoc=a(),n.currentChar()===No?g(l,14):Q(n,l)}return{nextToken:q,currentOffset:r,currentPosition:a,context:c}}const $m="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 Tm(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(m,f,v,L,...T){const N=m.currentPosition();if(N.offset+=L,N.column+=L,o){const M=t?Qa(v,N):null,R=dn(f,M,{domain:$m,args:T});o(R)}}function a(m,f,v,L,...T){const N=m.currentPosition();if(N.offset+=L,N.column+=L,n){const M=t?Qa(v,N):null;n(mm(f,M,T))}}function s(m,f,v){const L={type:m};return t&&(L.start=f,L.end=f,L.loc={start:v,end:v}),L}function i(m,f,v,L){t&&(m.end=f,m.loc&&(m.loc.end=v))}function l(m,f){const v=m.context(),L=s(3,v.offset,v.startLoc);return L.value=f,i(L,m.currentOffset(),m.currentPosition()),L}function c(m,f){const v=m.context(),{lastOffset:L,lastStartLoc:T}=v,N=s(5,L,T);return N.index=parseInt(f,10),m.nextToken(),i(N,m.currentOffset(),m.currentPosition()),N}function u(m,f,v){const L=m.context(),{lastOffset:T,lastStartLoc:N}=L,M=s(4,T,N);return M.key=f,v===!0&&(M.modulo=!0),m.nextToken(),i(M,m.currentOffset(),m.currentPosition()),M}function d(m,f){const v=m.context(),{lastOffset:L,lastStartLoc:T}=v,N=s(9,L,T);return N.value=f.replace(Lm,Cm),m.nextToken(),i(N,m.currentOffset(),m.currentPosition()),N}function g(m){const f=m.nextToken(),v=m.context(),{lastOffset:L,lastStartLoc:T}=v,N=s(8,L,T);return f.type!==12?(r(m,ve.UNEXPECTED_EMPTY_LINKED_MODIFIER,v.lastStartLoc,0),N.value="",i(N,L,T),{nextConsumeToken:f,node:N}):(f.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Vt(f)),N.value=f.value||"",i(N,m.currentOffset(),m.currentPosition()),{node:N})}function w(m,f){const v=m.context(),L=s(7,v.offset,v.startLoc);return L.value=f,i(L,m.currentOffset(),m.currentPosition()),L}function h(m){const f=m.context(),v=s(6,f.offset,f.startLoc);let L=m.nextToken();if(L.type===9){const T=g(m);v.modifier=T.node,L=T.nextConsumeToken||m.nextToken()}switch(L.type!==10&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),L=m.nextToken(),L.type===2&&(L=m.nextToken()),L.type){case 11:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=w(m,L.value||"");break;case 5:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=u(m,L.value||"");break;case 6:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=c(m,L.value||"");break;case 7:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=d(m,L.value||"");break;default:{r(m,ve.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const T=m.context(),N=s(7,T.offset,T.startLoc);return N.value="",i(N,T.offset,T.startLoc),v.key=N,i(v,T.offset,T.startLoc),{nextConsumeToken:L,node:v}}}return i(v,m.currentOffset(),m.currentPosition()),{node:v}}function _(m){const f=m.context(),v=f.currentType===1?m.currentOffset():f.offset,L=f.currentType===1?f.endLoc:f.startLoc,T=s(2,v,L);T.items=[];let N=null,M=null;do{const U=N||m.nextToken();switch(N=null,U.type){case 0:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(l(m,U.value||""));break;case 6:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(c(m,U.value||""));break;case 4:M=!0;break;case 5:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(u(m,U.value||"",!!M)),M&&(a(m,rs.USE_MODULO_SYNTAX,f.lastStartLoc,0,Vt(U)),M=null);break;case 7:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(d(m,U.value||""));break;case 8:{const Y=h(m);T.items.push(Y.node),N=Y.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const R=f.currentType===1?f.lastOffset:m.currentOffset(),W=f.currentType===1?f.lastEndLoc:m.currentPosition();return i(T,R,W),T}function y(m,f,v,L){const T=m.context();let N=L.items.length===0;const M=s(1,f,v);M.cases=[],M.cases.push(L);do{const R=_(m);N||(N=R.items.length===0),M.cases.push(R)}while(T.currentType!==14);return N&&r(m,ve.MUST_HAVE_MESSAGES_IN_PLURAL,v,0),i(M,m.currentOffset(),m.currentPosition()),M}function x(m){const f=m.context(),{offset:v,startLoc:L}=f,T=_(m);return f.currentType===14?T:y(m,v,L,T)}function S(m){const f=Am(m,dc({},e)),v=f.context(),L=s(0,v.offset,v.startLoc);return t&&L.loc&&(L.loc.source=m),L.body=x(f),e.onCacheKey&&(L.cacheKey=e.onCacheKey(m)),v.currentType!==14&&r(f,ve.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,m[v.offset]||""),i(L,f.currentOffset(),f.currentPosition()),L}return{parse:S}}function Vt(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 Em(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:a=>(o.helpers.add(a),a)}}function hc(e,t){for(let o=0;omc(o)),e}function mc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(_,y){s.code+=_}function c(_,y=!0){const x=y?n:"";l(r?x+" ".repeat(_):x)}function u(_=!0){const y=++s.indentLevel;_&&c(y)}function d(_=!0){const y=--s.indentLevel;_&&c(y)}function g(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:g,helper:_=>`_${_}`,needIndent:()=>s.needIndent}}function Fm(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 Om(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let a=0;a1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let a=0;a{const o=pc(t.mode)?t.mode:"normal",n=pc(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,vm="\u2028",km="\u2029";function wm(e){const t=e;let o=0,n=1,r=1,a=0;const s=T=>t[T]===_m&&t[T+1]===Et,i=T=>t[T]===Et,l=T=>t[T]===km,c=T=>t[T]===vm,u=T=>s(T)||i(T)||l(T)||c(T),d=()=>o,g=()=>n,w=()=>r,h=()=>a,_=T=>s(T)||l(T)||c(T)?Et:t[T],y=()=>_(o),x=()=>_(o+a);function S(){return a=0,u(o)&&(n++,r=0),s(o)&&o++,o++,r++,t[o]}function m(){return s(o+a)&&a++,a++,t[o+a]}function f(){o=0,n=1,r=1,a=0}function v(T=0){a=T}function L(){const T=o+a;for(;T!==o;)S();a=0}return{index:d,line:g,column:w,peekOffset:h,charAt:_,currentChar:y,currentPeek:x,next:S,peek:m,reset:f,resetPeek:v,skipToPeek:L}}const No=void 0,xm=".",fc="'",Sm="tokenizer";function Am(e,t={}){const o=t.location!==!1,n=wm(e),r=()=>n.index(),a=()=>pm(n.line(),n.column(),n.index()),s=a(),i=r(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(p,b,F,...H){const se=c();if(b.column+=F,b.offset+=F,u){const ae=o?Qa(se.startLoc,b):null,D=dn(p,ae,{domain:Sm,args:H});u(D)}}function g(p,b,F){p.endLoc=a(),p.currentType=b;const H={type:b};return o&&(H.loc=Qa(p.startLoc,p.endLoc)),F!=null&&(H.value=F),H}const w=p=>g(p,14);function h(p,b){return p.currentChar()===b?(p.next(),b):(d(ve.EXPECTED_TOKEN,a(),0,b),"")}function _(p){let b="";for(;p.currentPeek()===wo||p.currentPeek()===Et;)b+=p.currentPeek(),p.peek();return b}function y(p){const b=_(p);return p.skipToPeek(),b}function x(p){if(p===No)return!1;const b=p.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function S(p){if(p===No)return!1;const b=p.charCodeAt(0);return b>=48&&b<=57}function m(p,b){const{currentType:F}=b;if(F!==2)return!1;_(p);const H=x(p.currentPeek());return p.resetPeek(),H}function f(p,b){const{currentType:F}=b;if(F!==2)return!1;_(p);const H=p.currentPeek()==="-"?p.peek():p.currentPeek(),se=S(H);return p.resetPeek(),se}function v(p,b){const{currentType:F}=b;if(F!==2)return!1;_(p);const H=p.currentPeek()===fc;return p.resetPeek(),H}function L(p,b){const{currentType:F}=b;if(F!==8)return!1;_(p);const H=p.currentPeek()===".";return p.resetPeek(),H}function T(p,b){const{currentType:F}=b;if(F!==9)return!1;_(p);const H=x(p.currentPeek());return p.resetPeek(),H}function N(p,b){const{currentType:F}=b;if(!(F===8||F===12))return!1;_(p);const H=p.currentPeek()===":";return p.resetPeek(),H}function M(p,b){const{currentType:F}=b;if(F!==10)return!1;const H=()=>{const ae=p.currentPeek();return ae==="{"?x(p.peek()):ae==="@"||ae==="%"||ae==="|"||ae===":"||ae==="."||ae===wo||!ae?!1:ae===Et?(p.peek(),H()):U(p,!1)},se=H();return p.resetPeek(),se}function R(p){_(p);const b=p.currentPeek()==="|";return p.resetPeek(),b}function W(p){const b=_(p),F=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:F,hasSpace:b.length>0}}function U(p,b=!0){const F=(se=!1,ae="",D=!1)=>{const k=p.currentPeek();return k==="{"?ae==="%"?!1:se:k==="@"||!k?ae==="%"?!0:se:k==="%"?(p.peek(),F(se,"%",!0)):k==="|"?ae==="%"||D?!0:!(ae===wo||ae===Et):k===wo?(p.peek(),F(!0,wo,D)):k===Et?(p.peek(),F(!0,Et,D)):!0},H=F();return b&&p.resetPeek(),H}function Y(p,b){const F=p.currentChar();return F===No?No:b(F)?(p.next(),F):null}function O(p){const b=p.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function V(p){return Y(p,O)}function A(p){const b=p.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function G(p){return Y(p,A)}function re(p){const b=p.charCodeAt(0);return b>=48&&b<=57}function be(p){return Y(p,re)}function K(p){const b=p.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function pe(p){return Y(p,K)}function ge(p){let b="",F="";for(;b=be(p);)F+=b;return F}function Ge(p){y(p);const b=p.currentChar();return b!=="%"&&d(ve.EXPECTED_TOKEN,a(),0,b),p.next(),"%"}function We(p){let b="";for(;;){const F=p.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(U(p))b+=F,p.next();else break;else if(F===wo||F===Et)if(U(p))b+=F,p.next();else{if(R(p))break;b+=F,p.next()}else b+=F,p.next()}return b}function Ze(p){y(p);let b="",F="";for(;b=G(p);)F+=b;return p.currentChar()===No&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),F}function Xe(p){y(p);let b="";return p.currentChar()==="-"?(p.next(),b+=`-${ge(p)}`):b+=ge(p),p.currentChar()===No&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),b}function ot(p){return p!==fc&&p!==Et}function Qe(p){y(p),h(p,"'");let b="",F="";for(;b=Y(p,ot);)b==="\\"?F+=gt(p):F+=b;const H=p.currentChar();return H===Et||H===No?(d(ve.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),H===Et&&(p.next(),h(p,"'")),F):(h(p,"'"),F)}function gt(p){const b=p.currentChar();switch(b){case"\\":case"'":return p.next(),`\\${b}`;case"u":return et(p,b,4);case"U":return et(p,b,6);default:return d(ve.UNKNOWN_ESCAPE_SEQUENCE,a(),0,b),""}}function et(p,b,F){h(p,b);let H="";for(let se=0;se{const H=p.currentChar();return H==="{"||H==="%"||H==="@"||H==="|"||H==="("||H===")"||!H||H===wo?F:(F+=H,p.next(),b(F))};return b("")}function B(p){y(p);const b=h(p,"|");return y(p),b}function J(p,b){let F=null;switch(p.currentChar()){case"{":return b.braceNest>=1&&d(ve.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),p.next(),F=g(b,2,"{"),y(p),b.braceNest++,F;case"}":return b.braceNest>0&&b.currentType===2&&d(ve.EMPTY_PLACEHOLDER,a(),0),p.next(),F=g(b,3,"}"),b.braceNest--,b.braceNest>0&&y(p),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),F;case"@":return b.braceNest>0&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),F=X(p,b)||w(b),b.braceNest=0,F;default:{let se=!0,ae=!0,D=!0;if(R(p))return b.braceNest>0&&d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),F=g(b,1,B(p)),b.braceNest=0,b.inLinked=!1,F;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return d(ve.UNTERMINATED_CLOSING_BRACE,a(),0),b.braceNest=0,Q(p,b);if(se=m(p,b))return F=g(b,5,Ze(p)),y(p),F;if(ae=f(p,b))return F=g(b,6,Xe(p)),y(p),F;if(D=v(p,b))return F=g(b,7,Qe(p)),y(p),F;if(!se&&!ae&&!D)return F=g(b,13,$(p)),d(ve.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,F.value),y(p),F;break}}return F}function X(p,b){const{currentType:F}=b;let H=null;const se=p.currentChar();switch((F===8||F===9||F===12||F===10)&&(se===Et||se===wo)&&d(ve.INVALID_LINKED_FORMAT,a(),0),se){case"@":return p.next(),H=g(b,8,"@"),b.inLinked=!0,H;case".":return y(p),p.next(),g(b,9,".");case":":return y(p),p.next(),g(b,10,":");default:return R(p)?(H=g(b,1,B(p)),b.braceNest=0,b.inLinked=!1,H):L(p,b)||N(p,b)?(y(p),X(p,b)):T(p,b)?(y(p),g(b,12,P(p))):M(p,b)?(y(p),se==="{"?J(p,b)||H:g(b,11,C(p))):(F===8&&d(ve.INVALID_LINKED_FORMAT,a(),0),b.braceNest=0,b.inLinked=!1,Q(p,b))}}function Q(p,b){let F={type:14};if(b.braceNest>0)return J(p,b)||w(b);if(b.inLinked)return X(p,b)||w(b);switch(p.currentChar()){case"{":return J(p,b)||w(b);case"}":return d(ve.UNBALANCED_CLOSING_BRACE,a(),0),p.next(),g(b,3,"}");case"@":return X(p,b)||w(b);default:{if(R(p))return F=g(b,1,B(p)),b.braceNest=0,b.inLinked=!1,F;const{isModulo:se,hasSpace:ae}=W(p);if(se)return ae?g(b,0,We(p)):g(b,4,Ge(p));if(U(p))return g(b,0,We(p));break}}return F}function q(){const{currentType:p,offset:b,startLoc:F,endLoc:H}=l;return l.lastType=p,l.lastOffset=b,l.lastStartLoc=F,l.lastEndLoc=H,l.offset=r(),l.startLoc=a(),n.currentChar()===No?g(l,14):Q(n,l)}return{nextToken:q,currentOffset:r,currentPosition:a,context:c}}const $m="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 Tm(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(m,f,v,L,...T){const N=m.currentPosition();if(N.offset+=L,N.column+=L,o){const M=t?Qa(v,N):null,R=dn(f,M,{domain:$m,args:T});o(R)}}function a(m,f,v,L,...T){const N=m.currentPosition();if(N.offset+=L,N.column+=L,n){const M=t?Qa(v,N):null;n(mm(f,M,T))}}function s(m,f,v){const L={type:m};return t&&(L.start=f,L.end=f,L.loc={start:v,end:v}),L}function i(m,f,v,L){t&&(m.end=f,m.loc&&(m.loc.end=v))}function l(m,f){const v=m.context(),L=s(3,v.offset,v.startLoc);return L.value=f,i(L,m.currentOffset(),m.currentPosition()),L}function c(m,f){const v=m.context(),{lastOffset:L,lastStartLoc:T}=v,N=s(5,L,T);return N.index=parseInt(f,10),m.nextToken(),i(N,m.currentOffset(),m.currentPosition()),N}function u(m,f,v){const L=m.context(),{lastOffset:T,lastStartLoc:N}=L,M=s(4,T,N);return M.key=f,v===!0&&(M.modulo=!0),m.nextToken(),i(M,m.currentOffset(),m.currentPosition()),M}function d(m,f){const v=m.context(),{lastOffset:L,lastStartLoc:T}=v,N=s(9,L,T);return N.value=f.replace(Lm,Cm),m.nextToken(),i(N,m.currentOffset(),m.currentPosition()),N}function g(m){const f=m.nextToken(),v=m.context(),{lastOffset:L,lastStartLoc:T}=v,N=s(8,L,T);return f.type!==12?(r(m,ve.UNEXPECTED_EMPTY_LINKED_MODIFIER,v.lastStartLoc,0),N.value="",i(N,L,T),{nextConsumeToken:f,node:N}):(f.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Vt(f)),N.value=f.value||"",i(N,m.currentOffset(),m.currentPosition()),{node:N})}function w(m,f){const v=m.context(),L=s(7,v.offset,v.startLoc);return L.value=f,i(L,m.currentOffset(),m.currentPosition()),L}function h(m){const f=m.context(),v=s(6,f.offset,f.startLoc);let L=m.nextToken();if(L.type===9){const T=g(m);v.modifier=T.node,L=T.nextConsumeToken||m.nextToken()}switch(L.type!==10&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),L=m.nextToken(),L.type===2&&(L=m.nextToken()),L.type){case 11:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=w(m,L.value||"");break;case 5:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=u(m,L.value||"");break;case 6:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=c(m,L.value||"");break;case 7:L.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(L)),v.key=d(m,L.value||"");break;default:{r(m,ve.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const T=m.context(),N=s(7,T.offset,T.startLoc);return N.value="",i(N,T.offset,T.startLoc),v.key=N,i(v,T.offset,T.startLoc),{nextConsumeToken:L,node:v}}}return i(v,m.currentOffset(),m.currentPosition()),{node:v}}function _(m){const f=m.context(),v=f.currentType===1?m.currentOffset():f.offset,L=f.currentType===1?f.endLoc:f.startLoc,T=s(2,v,L);T.items=[];let N=null,M=null;do{const U=N||m.nextToken();switch(N=null,U.type){case 0:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(l(m,U.value||""));break;case 6:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(c(m,U.value||""));break;case 4:M=!0;break;case 5:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(u(m,U.value||"",!!M)),M&&(a(m,rs.USE_MODULO_SYNTAX,f.lastStartLoc,0,Vt(U)),M=null);break;case 7:U.value==null&&r(m,ve.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Vt(U)),T.items.push(d(m,U.value||""));break;case 8:{const Y=h(m);T.items.push(Y.node),N=Y.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const R=f.currentType===1?f.lastOffset:m.currentOffset(),W=f.currentType===1?f.lastEndLoc:m.currentPosition();return i(T,R,W),T}function y(m,f,v,L){const T=m.context();let N=L.items.length===0;const M=s(1,f,v);M.cases=[],M.cases.push(L);do{const R=_(m);N||(N=R.items.length===0),M.cases.push(R)}while(T.currentType!==14);return N&&r(m,ve.MUST_HAVE_MESSAGES_IN_PLURAL,v,0),i(M,m.currentOffset(),m.currentPosition()),M}function x(m){const f=m.context(),{offset:v,startLoc:L}=f,T=_(m);return f.currentType===14?T:y(m,v,L,T)}function S(m){const f=Am(m,dc({},e)),v=f.context(),L=s(0,v.offset,v.startLoc);return t&&L.loc&&(L.loc.source=m),L.body=x(f),e.onCacheKey&&(L.cacheKey=e.onCacheKey(m)),v.currentType!==14&&r(f,ve.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,m[v.offset]||""),i(L,f.currentOffset(),f.currentPosition()),L}return{parse:S}}function Vt(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 Em(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:a=>(o.helpers.add(a),a)}}function hc(e,t){for(let o=0;omc(o)),e}function mc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(_,y){s.code+=_}function c(_,y=!0){const x=y?n:"";l(r?x+" ".repeat(_):x)}function u(_=!0){const y=++s.indentLevel;_&&c(y)}function d(_=!0){const y=--s.indentLevel;_&&c(y)}function g(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:g,helper:_=>`_${_}`,needIndent:()=>s.needIndent}}function Fm(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 Om(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let a=0;a1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let a=0;a{const o=pc(t.mode)?t.mode:"normal",n=pc(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,a=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=Rm(e,{filename:n,breakLineCode:r,needIndent:a});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(a),s.length>0&&(i.push(`const { ${gc(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),gn(i,e),i.deindent(a),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Gm(e,t={}){const o=dc({},t),n=!!o.jit,r=!!o.minify,a=o.optimize==null?!0:o.optimize,i=Tm(o).parse(e);return n?(a&&Mm(i),r&&pn(i),{ast:i,code:""}):(Pm(i,o),jm(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi @@ -41,7 +41,7 @@ * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Ob="9.14.5";function Db(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(ko().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(ko().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ko().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ko().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ko().__INTLIFY_PROD_DEVTOOLS__=!1)}const Bb=mb.__EXTEND_POINT__,xo=qa(Bb);xo(),xo(),xo(),xo(),xo(),xo(),xo(),xo(),xo();const tu=Wt.__EXTEND_POINT__,Pt=qa(tu),pt={UNEXPECTED_RETURN_TYPE:tu,INVALID_ARGUMENT:Pt(),MUST_BE_CALL_SETUP_TOP:Pt(),NOT_INSTALLED:Pt(),NOT_AVAILABLE_IN_LEGACY_MODE:Pt(),REQUIRED_VALUE:Pt(),INVALID_VALUE:Pt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Pt(),NOT_INSTALLED_WITH_PROVIDE:Pt(),UNEXPECTED_ERROR:Pt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Pt(),BRIDGE_SUPPORT_VUE_2_ONLY:Pt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Pt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Pt(),__EXTEND_POINT__:Pt()};function mt(e,...t){return dn(e,null,void 0)}const bs=Po("__translateVNode"),ys=Po("__datetimeParts"),_s=Po("__numberParts"),ou=Po("__setPluralRules"),nu=Po("__injectWithOption"),vs=Po("__dispose");function Qn(e){if(!Me(e)||ro(e))return e;for(const t in e)if(zt(e,t))if(!t.includes("."))Me(e[t])&&Qn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,a=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||je(),Xa(c,s[l])):Xa(c,s)}else de(i)&&Xa(JSON.parse(i),s)}),r==null&&a)for(const i in s)zt(s,i)&&Qn(s[i]);return s}function au(e){return e.type}function ru(e,t,o){let n=Me(t.messages)?t.messages:je();"__i18nGlobal"in o&&(n=or(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(Me(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Me(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function su(e){return Be(Un,null,e,0)}const iu="__INTLIFY_META__",lu=()=>[],jb=()=>!1;let cu=0;function uu(e){return(t,o,n,r)=>e(o,n,_o()||void 0,r)}const Gb=()=>{const e=_o();let t=null;return e&&(t=au(e)[iu])?{[iu]:t}:null};function ks(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,a=e.flatJson,s=Ya?ue:Mn,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:de(e.locale)?e.locale:fn),u=s(o&&l?o.fallbackLocale.value:de(e.fallbackLocale)||qe(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=s(or(c.value,e)),g=s(Se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),w=s(Se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let h=o?o.missingWarn:Te(e.missingWarn)||Mo(e.missingWarn)?e.missingWarn:!0,_=o?o.fallbackWarn:Te(e.fallbackWarn)||Mo(e.fallbackWarn)?e.fallbackWarn:!0,y=o?o.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,x=!!e.fallbackFormat,S=Ve(e.missing)?e.missing:null,m=Ve(e.missing)?uu(e.missing):null,f=Ve(e.postTranslation)?e.postTranslation:null,v=o?o.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const T=o?o.modifiers:Se(e.modifiers)?e.modifiers:{};let N=e.pluralRules||o&&o.pluralRules,M;M=(()=>{r&&jc(null);const D={version:Ob,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:T,pluralRules:N,missing:m===null?void 0:m,missingWarn:h,fallbackWarn:_,fallbackFormat:x,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:v,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};D.datetimeFormats=g.value,D.numberFormats=w.value,D.__datetimeFormatters=Se(M)?M.__datetimeFormatters:void 0,D.__numberFormatters=Se(M)?M.__numberFormatters:void 0;const k=Lb(D);return r&&jc(k),k})(),Xn(M,c.value,u.value);function W(){return[c.value,u.value,d.value,g.value,w.value]}const U=ee({get:()=>c.value,set:D=>{c.value=D,M.locale=c.value}}),Y=ee({get:()=>u.value,set:D=>{u.value=D,M.fallbackLocale=u.value,Xn(M,c.value,D)}}),O=ee(()=>d.value),V=ee(()=>g.value),A=ee(()=>w.value);function G(){return Ve(f)?f:null}function re(D){f=D,M.postTranslation=D}function fe(){return S}function K(D){D!==null&&(m=uu(D)),S=D,M.missing=m}const pe=(D,k,I,ne,le,he)=>{W();let Ae;try{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=o?$b():void 0),Ae=D(M)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=void 0)}if(I!=="translate exists"&&st(Ae)&&Ae===tr||I==="translate exists"&&!Ae){const[we,ft]=k();return o&&y?ne(o):le(we)}else{if(he(Ae))return Ae;throw mt(pt.UNEXPECTED_RETURN_TYPE)}};function ge(...D){return pe(k=>Reflect.apply(Vc,null,[k,...D]),()=>fs(...D),"translate",k=>Reflect.apply(k.t,k,[...D]),k=>k,k=>de(k))}function Ge(...D){const[k,I,ne]=D;if(ne&&!Me(ne))throw mt(pt.INVALID_ARGUMENT);return ge(k,I,vt({resolvedMessage:!0},ne||{}))}function We(...D){return pe(k=>Reflect.apply(Jc,null,[k,...D]),()=>hs(...D),"datetime format",k=>Reflect.apply(k.d,k,[...D]),()=>Mc,k=>de(k))}function Ze(...D){return pe(k=>Reflect.apply(Xc,null,[k,...D]),()=>ms(...D),"number format",k=>Reflect.apply(k.n,k,[...D]),()=>Mc,k=>de(k))}function Xe(D){return D.map(k=>de(k)||st(k)||Te(k)?su(String(k)):k)}const Qe={normalize:Xe,interpolate:D=>D,type:"vnode"};function gt(...D){return pe(k=>{let I;const ne=k;try{ne.processor=Qe,I=Reflect.apply(Vc,null,[ne,...D])}finally{ne.processor=null}return I},()=>fs(...D),"translate",k=>k[bs](...D),k=>[su(k)],k=>qe(k))}function et(...D){return pe(k=>Reflect.apply(Xc,null,[k,...D]),()=>ms(...D),"number format",k=>k[_s](...D),lu,k=>de(k)||qe(k))}function wt(...D){return pe(k=>Reflect.apply(Jc,null,[k,...D]),()=>hs(...D),"datetime format",k=>k[ys](...D),lu,k=>de(k)||qe(k))}function $(D){N=D,M.pluralRules=N}function P(D,k){return pe(()=>{if(!D)return!1;const I=de(k)?k:c.value,ne=J(I),le=M.messageResolver(ne,D);return i?le!=null:ro(le)||Bt(le)||de(le)},()=>[D],"translate exists",I=>Reflect.apply(I.te,I,[D,k]),jb,I=>Te(I))}function C(D){let k=null;const I=Ec(M,u.value,c.value);for(let ne=0;ne{l&&(c.value=D,M.locale=D,Xn(M,c.value,u.value))}),ct(o.fallbackLocale,D=>{l&&(u.value=D,M.fallbackLocale=D,Xn(M,c.value,u.value))}));const ae={id:cu,locale:U,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(D){l=D,D&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Xn(M,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:O,get modifiers(){return T},get pluralRules(){return N||{}},get isGlobal(){return r},get missingWarn(){return h},set missingWarn(D){h=D,M.missingWarn=h},get fallbackWarn(){return _},set fallbackWarn(D){_=D,M.fallbackWarn=_},get fallbackRoot(){return y},set fallbackRoot(D){y=D},get fallbackFormat(){return x},set fallbackFormat(D){x=D,M.fallbackFormat=x},get warnHtmlMessage(){return v},set warnHtmlMessage(D){v=D,M.warnHtmlMessage=D},get escapeParameter(){return L},set escapeParameter(D){L=D,M.escapeParameter=D},t:ge,getLocaleMessage:J,setLocaleMessage:X,mergeLocaleMessage:Q,getPostTranslationHandler:G,setPostTranslationHandler:re,getMissingHandler:fe,setMissingHandler:K,[ou]:$};return ae.datetimeFormats=V,ae.numberFormats=A,ae.rt=Ge,ae.te=P,ae.tm=B,ae.d=We,ae.n=Ze,ae.getDateTimeFormat=q,ae.setDateTimeFormat=p,ae.mergeDateTimeFormat=b,ae.getNumberFormat=F,ae.setNumberFormat=H,ae.mergeNumberFormat=se,ae[nu]=n,ae[bs]=gt,ae[ys]=wt,ae[_s]=et,ae}function Ub(e){const t=de(e.locale)?e.locale:fn,o=de(e.fallbackLocale)||qe(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ve(e.missing)?e.missing:void 0,r=Te(e.silentTranslationWarn)||Mo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=Te(e.silentFallbackWarn)||Mo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ve(e.postTranslation)?e.postTranslation:void 0,d=de(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,w=Te(e.sync)?e.sync:!0;let h=e.messages;if(Se(e.sharedMessages)){const L=e.sharedMessages;h=Object.keys(L).reduce((N,M)=>{const R=N[M]||(N[M]={});return vt(R,L[M]),N},h||{})}const{__i18n:_,__root:y,__injectWithOption:x}=e,S=e.datetimeFormats,m=e.numberFormats,f=e.flatJson,v=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:h,flatJson:f,datetimeFormats:S,numberFormats:m,missing:n,missingWarn:r,fallbackWarn:a,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:w,translateExistCompatible:v,__i18n:_,__root:y,__injectWithOption:x}}function ws(e={},t){{const o=ks(Ub(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(a){o.locale.value=a},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(a){o.fallbackLocale.value=a},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(a){},get missing(){return o.getMissingHandler()},set missing(a){o.setMissingHandler(a)},get silentTranslationWarn(){return Te(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(a){o.missingWarn=Te(a)?!a:a},get silentFallbackWarn(){return Te(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(a){o.fallbackWarn=Te(a)?!a:a},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(a){o.fallbackFormat=a},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(a){o.setPostTranslationHandler(a)},get sync(){return o.inheritLocale},set sync(a){o.inheritLocale=a},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){o.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(a){o.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...a){const[s,i,l]=a,c={};let u=null,d=null;if(!de(s))throw mt(pt.INVALID_ARGUMENT);const g=s;return de(i)?c.locale=i:qe(i)?u=i:Se(i)&&(d=i),qe(l)?u=l:Se(l)&&(d=l),Reflect.apply(o.t,o,[g,u||d||{},c])},rt(...a){return Reflect.apply(o.rt,o,[...a])},tc(...a){const[s,i,l]=a,c={plural:1};let u=null,d=null;if(!de(s))throw mt(pt.INVALID_ARGUMENT);const g=s;return de(i)?c.locale=i:st(i)?c.plural=i:qe(i)?u=i:Se(i)&&(d=i),de(l)?c.locale=l:qe(l)?u=l:Se(l)&&(d=l),Reflect.apply(o.t,o,[g,u||d||{},c])},te(a,s){return o.te(a,s)},tm(a){return o.tm(a)},getLocaleMessage(a){return o.getLocaleMessage(a)},setLocaleMessage(a,s){o.setLocaleMessage(a,s)},mergeLocaleMessage(a,s){o.mergeLocaleMessage(a,s)},d(...a){return Reflect.apply(o.d,o,[...a])},getDateTimeFormat(a){return o.getDateTimeFormat(a)},setDateTimeFormat(a,s){o.setDateTimeFormat(a,s)},mergeDateTimeFormat(a,s){o.mergeDateTimeFormat(a,s)},n(...a){return Reflect.apply(o.n,o,[...a])},getNumberFormat(a){return o.getNumberFormat(a)},setNumberFormat(a,s){o.setNumberFormat(a,s)},mergeNumberFormat(a,s){o.mergeNumberFormat(a,s)},getChoiceIndex(a,s){return-1}};return r.__extender=n,r}}const xs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Kb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Le?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},je())}function du(e){return Le}const pu=On({name:"i18n-t",props:vt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},xs),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||kt({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(o).filter(d=>d!=="_"),s=je();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=de(e.plural)?+e.plural:e.plural);const i=Kb(t,a),l=r[bs](e.keypath,i,s),c=vt(je(),n),u=de(e.tag)||Me(e.tag)?e.tag:du();return Fl(u,c,l)}}});function Hb(e){return qe(e)&&!de(e[0])}function gu(e,t,o,n){const{slots:r,attrs:a}=t;return()=>{const s={part:!0};let i=je();e.locale&&(s.locale=e.locale),de(e.format)?s.key=e.format:Me(e.format)&&(de(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,w)=>o.includes(w)?vt(je(),g,{[w]:e.format[w]}):g,je()));const l=n(e.value,s,i);let c=[s.key];qe(l)?c=l.map((g,w)=>{const h=r[g.type],_=h?h({[g.type]:g.value,index:w,parts:l}):[g.value];return Hb(_)&&(_[0].key=`${g.type}-${w}`),_}):de(l)&&(c=[l]);const u=vt(je(),a),d=de(e.tag)||Me(e.tag)?e.tag:du();return Fl(d,u,c)}}const fu=On({name:"i18n-n",props:vt({value:{type:Number,required:!0},format:{type:[String,Object]}},xs),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return gu(e,t,Qc,(...n)=>o[_s](...n))}}),hu=On({name:"i18n-d",props:vt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},xs),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return gu(e,t,qc,(...n)=>o[ys](...n))}});function zb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Vb(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw mt(pt.UNEXPECTED_ERROR);const u=zb(e,i.$),d=mu(c);return[Reflect.apply(u.t,u,[...bu(d)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Ya&&e.global===c&&(s.__i18nWatcher=ct(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Ya&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=mu(i);s.textContent=Reflect.apply(l.t,l,[...bu(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function mu(e){if(de(e))return{path:e};if(Se(e)){if(!("path"in e))throw mt(pt.REQUIRED_VALUE,"path");return e}else throw mt(pt.INVALID_VALUE)}function bu(e){const{path:t,locale:o,args:n,choice:r,plural:a}=e,s={},i=n||{};return de(o)&&(s.locale=o),st(r)&&(s.plural=r),st(a)&&(s.plural=a),[t,i,s]}function Wb(e,t,...o){const n=Se(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Te(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":pu.name,"I18nT"].forEach(s=>e.component(s,pu)),[fu.name,"I18nN"].forEach(s=>e.component(s,fu)),[hu.name,"I18nD"].forEach(s=>e.component(s,hu))),e.directive("t",Vb(t))}function Yb(e,t,o){return{beforeCreate(){const n=_o();if(!n)throw mt(pt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=yu(e,a);else{a.__injectWithOption=!0,a.__extender=o.__vueI18nExtend,this.$i18n=ws(a);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=yu(e,r);else{this.$i18n=ws({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&ru(t,r,r),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,s)=>this.$i18n.te(a,s),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=_o();if(!n)throw mt(pt.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 yu(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[ou](t.pluralizationRules||e.pluralizationRules);const o=or(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Jb=Po("global-vue-i18n");function qb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Te(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,a=new Map,[s,i]=Zb(e,o),l=Po("");function c(g){return a.get(g)||null}function u(g,w){a.set(g,w)}function d(g){a.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(w,...h){if(w.__VUE_I18N_SYMBOL__=l,w.provide(w.__VUE_I18N_SYMBOL__,g),Se(h[0])){const x=h[0];g.__composerExtend=x.__composerExtend,g.__vueI18nExtend=x.__vueI18nExtend}let _=null;!o&&n&&(_=sy(w,g.global)),__VUE_I18N_FULL_INSTALL__&&Wb(w,g,...h),__VUE_I18N_LEGACY_API__&&o&&w.mixin(Yb(i,i.__composer,g));const y=w.unmount;w.unmount=()=>{_&&_(),g.dispose(),y()}},get global(){return i},dispose(){s.stop()},__instances:a,__getInstance:c,__setInstance:u,__deleteInstance:d};return g}}function kt(e={}){const t=_o();if(t==null)throw mt(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw mt(pt.NOT_INSTALLED);const o=Xb(t),n=ey(o),r=au(t),a=Qb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw mt(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return ay(t,a,n,e)}if(a==="global")return ru(n,e,r),n;if(a==="parent"){let l=ty(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=vt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=ks(l),s.__composerExtend&&(i[vs]=s.__composerExtend(i)),ny(s,t,i),s.__setInstance(t,i)}return i}function Zb(e,t,o){const n=_r();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ws(e)):n.run(()=>ks(e));if(r==null)throw mt(pt.UNEXPECTED_ERROR);return[n,r]}}function Xb(e){{const t=Ee(e.isCE?Jb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw mt(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function Qb(e,t){return Ja(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function ey(e){return e.mode==="composition"?e.global:e.global.__composer}function ty(e,t,o=!1){let n=null;const r=t.root;let a=oy(t,o);for(;a!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(a);i!=null&&(n=i.__composer,o&&n&&!n[nu]&&(n=null))}if(n!=null||r===a)break;a=a.parent}return n}function oy(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ny(e,t,o){to(()=>{},t),Fa(()=>{const n=o;e.__deleteInstance(t);const r=n[vs];r&&(r(),delete n[vs])},t)}function ay(e,t,o,n={}){const r=t==="local",a=Mn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw mt(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Te(n.inheritLocale)?n.inheritLocale:!de(n.locale),i=ue(!r||s?o.locale.value:de(n.locale)?n.locale:fn),l=ue(!r||s?o.fallbackLocale.value:de(n.fallbackLocale)||qe(n.fallbackLocale)||Se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(or(i.value,n)),u=ue(Se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=ue(Se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=r?o.missingWarn:Te(n.missingWarn)||Mo(n.missingWarn)?n.missingWarn:!0,w=r?o.fallbackWarn:Te(n.fallbackWarn)||Mo(n.fallbackWarn)?n.fallbackWarn:!0,h=r?o.fallbackRoot:Te(n.fallbackRoot)?n.fallbackRoot:!0,_=!!n.fallbackFormat,y=Ve(n.missing)?n.missing:null,x=Ve(n.postTranslation)?n.postTranslation:null,S=r?o.warnHtmlMessage:Te(n.warnHtmlMessage)?n.warnHtmlMessage:!0,m=!!n.escapeParameter,f=r?o.modifiers:Se(n.modifiers)?n.modifiers:{},v=n.pluralRules||r&&o.pluralRules;function L(){return[i.value,l.value,c.value,u.value,d.value]}const T=ee({get:()=>a.value?a.value.locale.value:i.value,set:C=>{a.value&&(a.value.locale.value=C),i.value=C}}),N=ee({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:C=>{a.value&&(a.value.fallbackLocale.value=C),l.value=C}}),M=ee(()=>a.value?a.value.messages.value:c.value),R=ee(()=>u.value),W=ee(()=>d.value);function U(){return a.value?a.value.getPostTranslationHandler():x}function Y(C){a.value&&a.value.setPostTranslationHandler(C)}function O(){return a.value?a.value.getMissingHandler():y}function V(C){a.value&&a.value.setMissingHandler(C)}function A(C){return L(),C()}function G(...C){return a.value?A(()=>Reflect.apply(a.value.t,null,[...C])):A(()=>"")}function re(...C){return a.value?Reflect.apply(a.value.rt,null,[...C]):""}function fe(...C){return a.value?A(()=>Reflect.apply(a.value.d,null,[...C])):A(()=>"")}function K(...C){return a.value?A(()=>Reflect.apply(a.value.n,null,[...C])):A(()=>"")}function pe(C){return a.value?a.value.tm(C):{}}function ge(C,B){return a.value?a.value.te(C,B):!1}function Ge(C){return a.value?a.value.getLocaleMessage(C):{}}function We(C,B){a.value&&(a.value.setLocaleMessage(C,B),c.value[C]=B)}function Ze(C,B){a.value&&a.value.mergeLocaleMessage(C,B)}function Xe(C){return a.value?a.value.getDateTimeFormat(C):{}}function ot(C,B){a.value&&(a.value.setDateTimeFormat(C,B),u.value[C]=B)}function Qe(C,B){a.value&&a.value.mergeDateTimeFormat(C,B)}function gt(C){return a.value?a.value.getNumberFormat(C):{}}function et(C,B){a.value&&(a.value.setNumberFormat(C,B),d.value[C]=B)}function wt(C,B){a.value&&a.value.mergeNumberFormat(C,B)}const $={get id(){return a.value?a.value.id:-1},locale:T,fallbackLocale:N,messages:M,datetimeFormats:R,numberFormats:W,get inheritLocale(){return a.value?a.value.inheritLocale:s},set inheritLocale(C){a.value&&(a.value.inheritLocale=C)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:f},get pluralRules(){return a.value?a.value.pluralRules:v},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:g},set missingWarn(C){a.value&&(a.value.missingWarn=C)},get fallbackWarn(){return a.value?a.value.fallbackWarn:w},set fallbackWarn(C){a.value&&(a.value.missingWarn=C)},get fallbackRoot(){return a.value?a.value.fallbackRoot:h},set fallbackRoot(C){a.value&&(a.value.fallbackRoot=C)},get fallbackFormat(){return a.value?a.value.fallbackFormat:_},set fallbackFormat(C){a.value&&(a.value.fallbackFormat=C)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:S},set warnHtmlMessage(C){a.value&&(a.value.warnHtmlMessage=C)},get escapeParameter(){return a.value?a.value.escapeParameter:m},set escapeParameter(C){a.value&&(a.value.escapeParameter=C)},t:G,getPostTranslationHandler:U,setPostTranslationHandler:Y,getMissingHandler:O,setMissingHandler:V,rt:re,d:fe,n:K,tm:pe,te:ge,getLocaleMessage:Ge,setLocaleMessage:We,mergeLocaleMessage:Ze,getDateTimeFormat:Xe,setDateTimeFormat:ot,mergeDateTimeFormat:Qe,getNumberFormat:gt,setNumberFormat:et,mergeNumberFormat:wt};function P(C){C.locale.value=i.value,C.fallbackLocale.value=l.value,Object.keys(c.value).forEach(B=>{C.mergeLocaleMessage(B,c.value[B])}),Object.keys(u.value).forEach(B=>{C.mergeDateTimeFormat(B,u.value[B])}),Object.keys(d.value).forEach(B=>{C.mergeNumberFormat(B,d.value[B])}),C.escapeParameter=m,C.fallbackFormat=_,C.fallbackRoot=h,C.fallbackWarn=w,C.missingWarn=g,C.warnHtmlMessage=S}return Qi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw mt(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const C=a.value=e.proxy.$i18n.__composer;t==="global"?(i.value=C.locale.value,l.value=C.fallbackLocale.value,c.value=C.messages.value,u.value=C.datetimeFormats.value,d.value=C.numberFormats.value):r&&P(C)}),$}const ry=["locale","fallbackLocale","availableLocales"],_u=["t","rt","d","n","tm","te"];function sy(e,t){const o=Object.create(null);return ry.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a)throw mt(pt.UNEXPECTED_ERROR);const s=Je(a.value)?{get(){return a.value.value},set(i){a.value.value=i}}:{get(){return a.get&&a.get()}};Object.defineProperty(o,r,s)}),e.config.globalProperties.$i18n=o,_u.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a||!a.value)throw mt(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,a)}),()=>{delete e.config.globalProperties.$i18n,_u.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(Db(),__INTLIFY_JIT_COMPILATION__?Rc(Mb):Rc(Pb),wb(ob),xb(Ec),__INTLIFY_PROD_DEVTOOLS__){const e=ko();e.__INTLIFY__=!0,db(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const iy=Object.assign({"./locales/ar/aria.json":gf,"./locales/ar/buttons.json":ff,"./locales/ar/detail.json":hf,"./locales/ar/legend.json":mf,"./locales/ar/messages.json":bf,"./locales/ar/options.json":yf,"./locales/ar/prayerLaps.json":_f,"./locales/ar/search.json":vf,"./locales/ar/tabs.json":kf,"./locales/de/aria.json":wf,"./locales/de/buttons.json":xf,"./locales/de/detail.json":Sf,"./locales/de/legend.json":Af,"./locales/de/messages.json":$f,"./locales/de/options.json":Lf,"./locales/de/prayerLaps.json":Cf,"./locales/de/search.json":Tf,"./locales/de/tabs.json":Ef,"./locales/en/aria.json":Pf,"./locales/en/buttons.json":Mf,"./locales/en/detail.json":Nf,"./locales/en/legend.json":If,"./locales/en/messages.json":Rf,"./locales/en/options.json":Ff,"./locales/en/popup.json":Of,"./locales/en/prayerLaps.json":Df,"./locales/en/search.json":Bf,"./locales/en/tabs.json":jf,"./locales/es/aria.json":Gf,"./locales/es/buttons.json":Uf,"./locales/es/detail.json":Kf,"./locales/es/legend.json":Hf,"./locales/es/messages.json":zf,"./locales/es/options.json":Vf,"./locales/es/prayerLaps.json":Wf,"./locales/es/search.json":Yf,"./locales/es/tabs.json":Jf,"./locales/fr/aria.json":qf,"./locales/fr/buttons.json":Zf,"./locales/fr/detail.json":Xf,"./locales/fr/legend.json":Qf,"./locales/fr/messages.json":eh,"./locales/fr/options.json":th,"./locales/fr/popup.json":oh,"./locales/fr/prayerLaps.json":nh,"./locales/fr/search.json":ah,"./locales/fr/tabs.json":rh,"./locales/hi/aria.json":sh,"./locales/hi/buttons.json":ih,"./locales/hi/detail.json":lh,"./locales/hi/legend.json":ch,"./locales/hi/messages.json":uh,"./locales/hi/options.json":dh,"./locales/hi/prayerLaps.json":ph,"./locales/hi/search.json":gh,"./locales/it/aria.json":fh,"./locales/it/buttons.json":hh,"./locales/it/detail.json":mh,"./locales/it/legend.json":bh,"./locales/it/messages.json":yh,"./locales/it/options.json":_h,"./locales/it/prayerLaps.json":vh,"./locales/it/search.json":kh,"./locales/pt/aria.json":wh,"./locales/pt/buttons.json":xh,"./locales/pt/detail.json":Sh,"./locales/pt/legend.json":Ah,"./locales/pt/messages.json":$h,"./locales/pt/options.json":Lh,"./locales/pt/prayerLaps.json":Ch,"./locales/pt/search.json":Th,"./locales/pt/tabs.json":Eh,"./locales/ro/aria.json":Ph,"./locales/ro/buttons.json":Mh,"./locales/ro/detail.json":Nh,"./locales/ro/legend.json":Ih,"./locales/ro/messages.json":Rh,"./locales/ro/options.json":Fh,"./locales/ro/prayerLaps.json":Oh,"./locales/ro/search.json":Dh,"./locales/ru/aria.json":Bh,"./locales/ru/buttons.json":jh,"./locales/ru/detail.json":Gh,"./locales/ru/legend.json":Uh,"./locales/ru/messages.json":Kh,"./locales/ru/options.json":Hh,"./locales/ru/prayerLaps.json":zh,"./locales/ru/search.json":Vh,"./locales/ru/tabs.json":Wh,"./locales/zh/aria.json":Yh,"./locales/zh/buttons.json":Jh,"./locales/zh/detail.json":qh,"./locales/zh/legend.json":Zh,"./locales/zh/messages.json":Xh,"./locales/zh/options.json":Qh,"./locales/zh/prayerLaps.json":em,"./locales/zh/search.json":tm}),ea={};for(const[e,t]of Object.entries(iy)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;ea[n]??(ea[n]={}),ea[n][r]=t}const vu=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ly(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return vu.includes(t)?t:"en"}function cy(){return qb({legacy:!1,globalInjection:!0,locale:ly(),fallbackLocale:"en",messages:ea,missingWarn:!1,fallbackWarn:!1})}function At(e,t){const o=t||uy(e);to(()=>{var i;const n=_o();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const a=r.getRootNode();if(!(a instanceof ShadowRoot)||a.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,a.appendChild(s)})}function uy(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=ee(()=>{var h;return((h=o==null?void 0:o.value)==null?void 0:h.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),a=ue(!1);let s=null,i=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function d(){try{sessionStorage.setItem(c(),"1")}catch{}}function g(){a.value&&(a.value=!1,d(),l&&(l.removeEventListener("pointerdown",w,!0),l=null),s&&(clearTimeout(s),s=null))}function w(){g()}return to(()=>{var x,S,m;if(u())return;const h=_o(),_=(m=(S=(x=h==null?void 0:h.proxy)==null?void 0:x.$el)==null?void 0:S.getRootNode)==null?void 0:m.call(S);if(!_||typeof _.querySelector!="function")return;let y=0;i=setInterval(()=>{y++,_.querySelector("canvas")?(clearInterval(i),i=null,a.value=!0,l=_,_.addEventListener("pointerdown",w,!0),s=setTimeout(g,14e3)):y>40&&(clearInterval(i),i=null)},300)}),To(()=>{i&&clearInterval(i),s&&clearTimeout(s),l&&l.removeEventListener("pointerdown",w,!0)}),At(` + */const Ob="9.14.5";function Db(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(ko().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(ko().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ko().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ko().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ko().__INTLIFY_PROD_DEVTOOLS__=!1)}const Bb=mb.__EXTEND_POINT__,xo=qa(Bb);xo(),xo(),xo(),xo(),xo(),xo(),xo(),xo(),xo();const tu=Wt.__EXTEND_POINT__,Pt=qa(tu),pt={UNEXPECTED_RETURN_TYPE:tu,INVALID_ARGUMENT:Pt(),MUST_BE_CALL_SETUP_TOP:Pt(),NOT_INSTALLED:Pt(),NOT_AVAILABLE_IN_LEGACY_MODE:Pt(),REQUIRED_VALUE:Pt(),INVALID_VALUE:Pt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Pt(),NOT_INSTALLED_WITH_PROVIDE:Pt(),UNEXPECTED_ERROR:Pt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Pt(),BRIDGE_SUPPORT_VUE_2_ONLY:Pt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Pt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Pt(),__EXTEND_POINT__:Pt()};function mt(e,...t){return dn(e,null,void 0)}const bs=Po("__translateVNode"),ys=Po("__datetimeParts"),_s=Po("__numberParts"),ou=Po("__setPluralRules"),nu=Po("__injectWithOption"),vs=Po("__dispose");function Qn(e){if(!Me(e)||ro(e))return e;for(const t in e)if(zt(e,t))if(!t.includes("."))Me(e[t])&&Qn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,a=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||je(),Xa(c,s[l])):Xa(c,s)}else de(i)&&Xa(JSON.parse(i),s)}),r==null&&a)for(const i in s)zt(s,i)&&Qn(s[i]);return s}function au(e){return e.type}function ru(e,t,o){let n=Me(t.messages)?t.messages:je();"__i18nGlobal"in o&&(n=or(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(Me(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Me(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function su(e){return Be(Un,null,e,0)}const iu="__INTLIFY_META__",lu=()=>[],jb=()=>!1;let cu=0;function uu(e){return(t,o,n,r)=>e(o,n,_o()||void 0,r)}const Gb=()=>{const e=_o();let t=null;return e&&(t=au(e)[iu])?{[iu]:t}:null};function ks(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,a=e.flatJson,s=Ya?ue:Mn,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:de(e.locale)?e.locale:fn),u=s(o&&l?o.fallbackLocale.value:de(e.fallbackLocale)||qe(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=s(or(c.value,e)),g=s(Se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),w=s(Se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let h=o?o.missingWarn:Te(e.missingWarn)||Mo(e.missingWarn)?e.missingWarn:!0,_=o?o.fallbackWarn:Te(e.fallbackWarn)||Mo(e.fallbackWarn)?e.fallbackWarn:!0,y=o?o.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,x=!!e.fallbackFormat,S=Ve(e.missing)?e.missing:null,m=Ve(e.missing)?uu(e.missing):null,f=Ve(e.postTranslation)?e.postTranslation:null,v=o?o.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const T=o?o.modifiers:Se(e.modifiers)?e.modifiers:{};let N=e.pluralRules||o&&o.pluralRules,M;M=(()=>{r&&jc(null);const D={version:Ob,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:T,pluralRules:N,missing:m===null?void 0:m,missingWarn:h,fallbackWarn:_,fallbackFormat:x,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:v,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};D.datetimeFormats=g.value,D.numberFormats=w.value,D.__datetimeFormatters=Se(M)?M.__datetimeFormatters:void 0,D.__numberFormatters=Se(M)?M.__numberFormatters:void 0;const k=Lb(D);return r&&jc(k),k})(),Xn(M,c.value,u.value);function W(){return[c.value,u.value,d.value,g.value,w.value]}const U=ee({get:()=>c.value,set:D=>{c.value=D,M.locale=c.value}}),Y=ee({get:()=>u.value,set:D=>{u.value=D,M.fallbackLocale=u.value,Xn(M,c.value,D)}}),O=ee(()=>d.value),V=ee(()=>g.value),A=ee(()=>w.value);function G(){return Ve(f)?f:null}function re(D){f=D,M.postTranslation=D}function be(){return S}function K(D){D!==null&&(m=uu(D)),S=D,M.missing=m}const pe=(D,k,I,ne,le,fe)=>{W();let Ae;try{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=o?$b():void 0),Ae=D(M)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=void 0)}if(I!=="translate exists"&&st(Ae)&&Ae===tr||I==="translate exists"&&!Ae){const[we,ft]=k();return o&&y?ne(o):le(we)}else{if(fe(Ae))return Ae;throw mt(pt.UNEXPECTED_RETURN_TYPE)}};function ge(...D){return pe(k=>Reflect.apply(Vc,null,[k,...D]),()=>fs(...D),"translate",k=>Reflect.apply(k.t,k,[...D]),k=>k,k=>de(k))}function Ge(...D){const[k,I,ne]=D;if(ne&&!Me(ne))throw mt(pt.INVALID_ARGUMENT);return ge(k,I,vt({resolvedMessage:!0},ne||{}))}function We(...D){return pe(k=>Reflect.apply(Jc,null,[k,...D]),()=>hs(...D),"datetime format",k=>Reflect.apply(k.d,k,[...D]),()=>Mc,k=>de(k))}function Ze(...D){return pe(k=>Reflect.apply(Xc,null,[k,...D]),()=>ms(...D),"number format",k=>Reflect.apply(k.n,k,[...D]),()=>Mc,k=>de(k))}function Xe(D){return D.map(k=>de(k)||st(k)||Te(k)?su(String(k)):k)}const Qe={normalize:Xe,interpolate:D=>D,type:"vnode"};function gt(...D){return pe(k=>{let I;const ne=k;try{ne.processor=Qe,I=Reflect.apply(Vc,null,[ne,...D])}finally{ne.processor=null}return I},()=>fs(...D),"translate",k=>k[bs](...D),k=>[su(k)],k=>qe(k))}function et(...D){return pe(k=>Reflect.apply(Xc,null,[k,...D]),()=>ms(...D),"number format",k=>k[_s](...D),lu,k=>de(k)||qe(k))}function wt(...D){return pe(k=>Reflect.apply(Jc,null,[k,...D]),()=>hs(...D),"datetime format",k=>k[ys](...D),lu,k=>de(k)||qe(k))}function $(D){N=D,M.pluralRules=N}function P(D,k){return pe(()=>{if(!D)return!1;const I=de(k)?k:c.value,ne=J(I),le=M.messageResolver(ne,D);return i?le!=null:ro(le)||Bt(le)||de(le)},()=>[D],"translate exists",I=>Reflect.apply(I.te,I,[D,k]),jb,I=>Te(I))}function C(D){let k=null;const I=Ec(M,u.value,c.value);for(let ne=0;ne{l&&(c.value=D,M.locale=D,Xn(M,c.value,u.value))}),ct(o.fallbackLocale,D=>{l&&(u.value=D,M.fallbackLocale=D,Xn(M,c.value,u.value))}));const ae={id:cu,locale:U,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(D){l=D,D&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Xn(M,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:O,get modifiers(){return T},get pluralRules(){return N||{}},get isGlobal(){return r},get missingWarn(){return h},set missingWarn(D){h=D,M.missingWarn=h},get fallbackWarn(){return _},set fallbackWarn(D){_=D,M.fallbackWarn=_},get fallbackRoot(){return y},set fallbackRoot(D){y=D},get fallbackFormat(){return x},set fallbackFormat(D){x=D,M.fallbackFormat=x},get warnHtmlMessage(){return v},set warnHtmlMessage(D){v=D,M.warnHtmlMessage=D},get escapeParameter(){return L},set escapeParameter(D){L=D,M.escapeParameter=D},t:ge,getLocaleMessage:J,setLocaleMessage:X,mergeLocaleMessage:Q,getPostTranslationHandler:G,setPostTranslationHandler:re,getMissingHandler:be,setMissingHandler:K,[ou]:$};return ae.datetimeFormats=V,ae.numberFormats=A,ae.rt=Ge,ae.te=P,ae.tm=B,ae.d=We,ae.n=Ze,ae.getDateTimeFormat=q,ae.setDateTimeFormat=p,ae.mergeDateTimeFormat=b,ae.getNumberFormat=F,ae.setNumberFormat=H,ae.mergeNumberFormat=se,ae[nu]=n,ae[bs]=gt,ae[ys]=wt,ae[_s]=et,ae}function Ub(e){const t=de(e.locale)?e.locale:fn,o=de(e.fallbackLocale)||qe(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ve(e.missing)?e.missing:void 0,r=Te(e.silentTranslationWarn)||Mo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=Te(e.silentFallbackWarn)||Mo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ve(e.postTranslation)?e.postTranslation:void 0,d=de(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,w=Te(e.sync)?e.sync:!0;let h=e.messages;if(Se(e.sharedMessages)){const L=e.sharedMessages;h=Object.keys(L).reduce((N,M)=>{const R=N[M]||(N[M]={});return vt(R,L[M]),N},h||{})}const{__i18n:_,__root:y,__injectWithOption:x}=e,S=e.datetimeFormats,m=e.numberFormats,f=e.flatJson,v=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:h,flatJson:f,datetimeFormats:S,numberFormats:m,missing:n,missingWarn:r,fallbackWarn:a,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:w,translateExistCompatible:v,__i18n:_,__root:y,__injectWithOption:x}}function ws(e={},t){{const o=ks(Ub(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(a){o.locale.value=a},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(a){o.fallbackLocale.value=a},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(a){},get missing(){return o.getMissingHandler()},set missing(a){o.setMissingHandler(a)},get silentTranslationWarn(){return Te(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(a){o.missingWarn=Te(a)?!a:a},get silentFallbackWarn(){return Te(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(a){o.fallbackWarn=Te(a)?!a:a},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(a){o.fallbackFormat=a},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(a){o.setPostTranslationHandler(a)},get sync(){return o.inheritLocale},set sync(a){o.inheritLocale=a},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){o.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(a){o.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...a){const[s,i,l]=a,c={};let u=null,d=null;if(!de(s))throw mt(pt.INVALID_ARGUMENT);const g=s;return de(i)?c.locale=i:qe(i)?u=i:Se(i)&&(d=i),qe(l)?u=l:Se(l)&&(d=l),Reflect.apply(o.t,o,[g,u||d||{},c])},rt(...a){return Reflect.apply(o.rt,o,[...a])},tc(...a){const[s,i,l]=a,c={plural:1};let u=null,d=null;if(!de(s))throw mt(pt.INVALID_ARGUMENT);const g=s;return de(i)?c.locale=i:st(i)?c.plural=i:qe(i)?u=i:Se(i)&&(d=i),de(l)?c.locale=l:qe(l)?u=l:Se(l)&&(d=l),Reflect.apply(o.t,o,[g,u||d||{},c])},te(a,s){return o.te(a,s)},tm(a){return o.tm(a)},getLocaleMessage(a){return o.getLocaleMessage(a)},setLocaleMessage(a,s){o.setLocaleMessage(a,s)},mergeLocaleMessage(a,s){o.mergeLocaleMessage(a,s)},d(...a){return Reflect.apply(o.d,o,[...a])},getDateTimeFormat(a){return o.getDateTimeFormat(a)},setDateTimeFormat(a,s){o.setDateTimeFormat(a,s)},mergeDateTimeFormat(a,s){o.mergeDateTimeFormat(a,s)},n(...a){return Reflect.apply(o.n,o,[...a])},getNumberFormat(a){return o.getNumberFormat(a)},setNumberFormat(a,s){o.setNumberFormat(a,s)},mergeNumberFormat(a,s){o.mergeNumberFormat(a,s)},getChoiceIndex(a,s){return-1}};return r.__extender=n,r}}const xs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Kb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Le?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},je())}function du(e){return Le}const pu=On({name:"i18n-t",props:vt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},xs),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||kt({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(o).filter(d=>d!=="_"),s=je();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=de(e.plural)?+e.plural:e.plural);const i=Kb(t,a),l=r[bs](e.keypath,i,s),c=vt(je(),n),u=de(e.tag)||Me(e.tag)?e.tag:du();return Fl(u,c,l)}}});function Hb(e){return qe(e)&&!de(e[0])}function gu(e,t,o,n){const{slots:r,attrs:a}=t;return()=>{const s={part:!0};let i=je();e.locale&&(s.locale=e.locale),de(e.format)?s.key=e.format:Me(e.format)&&(de(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,w)=>o.includes(w)?vt(je(),g,{[w]:e.format[w]}):g,je()));const l=n(e.value,s,i);let c=[s.key];qe(l)?c=l.map((g,w)=>{const h=r[g.type],_=h?h({[g.type]:g.value,index:w,parts:l}):[g.value];return Hb(_)&&(_[0].key=`${g.type}-${w}`),_}):de(l)&&(c=[l]);const u=vt(je(),a),d=de(e.tag)||Me(e.tag)?e.tag:du();return Fl(d,u,c)}}const fu=On({name:"i18n-n",props:vt({value:{type:Number,required:!0},format:{type:[String,Object]}},xs),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return gu(e,t,Qc,(...n)=>o[_s](...n))}}),hu=On({name:"i18n-d",props:vt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},xs),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return gu(e,t,qc,(...n)=>o[ys](...n))}});function zb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Vb(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw mt(pt.UNEXPECTED_ERROR);const u=zb(e,i.$),d=mu(c);return[Reflect.apply(u.t,u,[...bu(d)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Ya&&e.global===c&&(s.__i18nWatcher=ct(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Ya&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=mu(i);s.textContent=Reflect.apply(l.t,l,[...bu(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function mu(e){if(de(e))return{path:e};if(Se(e)){if(!("path"in e))throw mt(pt.REQUIRED_VALUE,"path");return e}else throw mt(pt.INVALID_VALUE)}function bu(e){const{path:t,locale:o,args:n,choice:r,plural:a}=e,s={},i=n||{};return de(o)&&(s.locale=o),st(r)&&(s.plural=r),st(a)&&(s.plural=a),[t,i,s]}function Wb(e,t,...o){const n=Se(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Te(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":pu.name,"I18nT"].forEach(s=>e.component(s,pu)),[fu.name,"I18nN"].forEach(s=>e.component(s,fu)),[hu.name,"I18nD"].forEach(s=>e.component(s,hu))),e.directive("t",Vb(t))}function Yb(e,t,o){return{beforeCreate(){const n=_o();if(!n)throw mt(pt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=yu(e,a);else{a.__injectWithOption=!0,a.__extender=o.__vueI18nExtend,this.$i18n=ws(a);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=yu(e,r);else{this.$i18n=ws({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&ru(t,r,r),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,s)=>this.$i18n.te(a,s),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=_o();if(!n)throw mt(pt.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 yu(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[ou](t.pluralizationRules||e.pluralizationRules);const o=or(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Jb=Po("global-vue-i18n");function qb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Te(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,a=new Map,[s,i]=Zb(e,o),l=Po("");function c(g){return a.get(g)||null}function u(g,w){a.set(g,w)}function d(g){a.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(w,...h){if(w.__VUE_I18N_SYMBOL__=l,w.provide(w.__VUE_I18N_SYMBOL__,g),Se(h[0])){const x=h[0];g.__composerExtend=x.__composerExtend,g.__vueI18nExtend=x.__vueI18nExtend}let _=null;!o&&n&&(_=sy(w,g.global)),__VUE_I18N_FULL_INSTALL__&&Wb(w,g,...h),__VUE_I18N_LEGACY_API__&&o&&w.mixin(Yb(i,i.__composer,g));const y=w.unmount;w.unmount=()=>{_&&_(),g.dispose(),y()}},get global(){return i},dispose(){s.stop()},__instances:a,__getInstance:c,__setInstance:u,__deleteInstance:d};return g}}function kt(e={}){const t=_o();if(t==null)throw mt(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw mt(pt.NOT_INSTALLED);const o=Xb(t),n=ey(o),r=au(t),a=Qb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw mt(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return ay(t,a,n,e)}if(a==="global")return ru(n,e,r),n;if(a==="parent"){let l=ty(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=vt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=ks(l),s.__composerExtend&&(i[vs]=s.__composerExtend(i)),ny(s,t,i),s.__setInstance(t,i)}return i}function Zb(e,t,o){const n=_r();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ws(e)):n.run(()=>ks(e));if(r==null)throw mt(pt.UNEXPECTED_ERROR);return[n,r]}}function Xb(e){{const t=Ee(e.isCE?Jb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw mt(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function Qb(e,t){return Ja(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function ey(e){return e.mode==="composition"?e.global:e.global.__composer}function ty(e,t,o=!1){let n=null;const r=t.root;let a=oy(t,o);for(;a!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(a);i!=null&&(n=i.__composer,o&&n&&!n[nu]&&(n=null))}if(n!=null||r===a)break;a=a.parent}return n}function oy(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ny(e,t,o){to(()=>{},t),Fa(()=>{const n=o;e.__deleteInstance(t);const r=n[vs];r&&(r(),delete n[vs])},t)}function ay(e,t,o,n={}){const r=t==="local",a=Mn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw mt(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Te(n.inheritLocale)?n.inheritLocale:!de(n.locale),i=ue(!r||s?o.locale.value:de(n.locale)?n.locale:fn),l=ue(!r||s?o.fallbackLocale.value:de(n.fallbackLocale)||qe(n.fallbackLocale)||Se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(or(i.value,n)),u=ue(Se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=ue(Se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=r?o.missingWarn:Te(n.missingWarn)||Mo(n.missingWarn)?n.missingWarn:!0,w=r?o.fallbackWarn:Te(n.fallbackWarn)||Mo(n.fallbackWarn)?n.fallbackWarn:!0,h=r?o.fallbackRoot:Te(n.fallbackRoot)?n.fallbackRoot:!0,_=!!n.fallbackFormat,y=Ve(n.missing)?n.missing:null,x=Ve(n.postTranslation)?n.postTranslation:null,S=r?o.warnHtmlMessage:Te(n.warnHtmlMessage)?n.warnHtmlMessage:!0,m=!!n.escapeParameter,f=r?o.modifiers:Se(n.modifiers)?n.modifiers:{},v=n.pluralRules||r&&o.pluralRules;function L(){return[i.value,l.value,c.value,u.value,d.value]}const T=ee({get:()=>a.value?a.value.locale.value:i.value,set:C=>{a.value&&(a.value.locale.value=C),i.value=C}}),N=ee({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:C=>{a.value&&(a.value.fallbackLocale.value=C),l.value=C}}),M=ee(()=>a.value?a.value.messages.value:c.value),R=ee(()=>u.value),W=ee(()=>d.value);function U(){return a.value?a.value.getPostTranslationHandler():x}function Y(C){a.value&&a.value.setPostTranslationHandler(C)}function O(){return a.value?a.value.getMissingHandler():y}function V(C){a.value&&a.value.setMissingHandler(C)}function A(C){return L(),C()}function G(...C){return a.value?A(()=>Reflect.apply(a.value.t,null,[...C])):A(()=>"")}function re(...C){return a.value?Reflect.apply(a.value.rt,null,[...C]):""}function be(...C){return a.value?A(()=>Reflect.apply(a.value.d,null,[...C])):A(()=>"")}function K(...C){return a.value?A(()=>Reflect.apply(a.value.n,null,[...C])):A(()=>"")}function pe(C){return a.value?a.value.tm(C):{}}function ge(C,B){return a.value?a.value.te(C,B):!1}function Ge(C){return a.value?a.value.getLocaleMessage(C):{}}function We(C,B){a.value&&(a.value.setLocaleMessage(C,B),c.value[C]=B)}function Ze(C,B){a.value&&a.value.mergeLocaleMessage(C,B)}function Xe(C){return a.value?a.value.getDateTimeFormat(C):{}}function ot(C,B){a.value&&(a.value.setDateTimeFormat(C,B),u.value[C]=B)}function Qe(C,B){a.value&&a.value.mergeDateTimeFormat(C,B)}function gt(C){return a.value?a.value.getNumberFormat(C):{}}function et(C,B){a.value&&(a.value.setNumberFormat(C,B),d.value[C]=B)}function wt(C,B){a.value&&a.value.mergeNumberFormat(C,B)}const $={get id(){return a.value?a.value.id:-1},locale:T,fallbackLocale:N,messages:M,datetimeFormats:R,numberFormats:W,get inheritLocale(){return a.value?a.value.inheritLocale:s},set inheritLocale(C){a.value&&(a.value.inheritLocale=C)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:f},get pluralRules(){return a.value?a.value.pluralRules:v},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:g},set missingWarn(C){a.value&&(a.value.missingWarn=C)},get fallbackWarn(){return a.value?a.value.fallbackWarn:w},set fallbackWarn(C){a.value&&(a.value.missingWarn=C)},get fallbackRoot(){return a.value?a.value.fallbackRoot:h},set fallbackRoot(C){a.value&&(a.value.fallbackRoot=C)},get fallbackFormat(){return a.value?a.value.fallbackFormat:_},set fallbackFormat(C){a.value&&(a.value.fallbackFormat=C)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:S},set warnHtmlMessage(C){a.value&&(a.value.warnHtmlMessage=C)},get escapeParameter(){return a.value?a.value.escapeParameter:m},set escapeParameter(C){a.value&&(a.value.escapeParameter=C)},t:G,getPostTranslationHandler:U,setPostTranslationHandler:Y,getMissingHandler:O,setMissingHandler:V,rt:re,d:be,n:K,tm:pe,te:ge,getLocaleMessage:Ge,setLocaleMessage:We,mergeLocaleMessage:Ze,getDateTimeFormat:Xe,setDateTimeFormat:ot,mergeDateTimeFormat:Qe,getNumberFormat:gt,setNumberFormat:et,mergeNumberFormat:wt};function P(C){C.locale.value=i.value,C.fallbackLocale.value=l.value,Object.keys(c.value).forEach(B=>{C.mergeLocaleMessage(B,c.value[B])}),Object.keys(u.value).forEach(B=>{C.mergeDateTimeFormat(B,u.value[B])}),Object.keys(d.value).forEach(B=>{C.mergeNumberFormat(B,d.value[B])}),C.escapeParameter=m,C.fallbackFormat=_,C.fallbackRoot=h,C.fallbackWarn=w,C.missingWarn=g,C.warnHtmlMessage=S}return Qi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw mt(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const C=a.value=e.proxy.$i18n.__composer;t==="global"?(i.value=C.locale.value,l.value=C.fallbackLocale.value,c.value=C.messages.value,u.value=C.datetimeFormats.value,d.value=C.numberFormats.value):r&&P(C)}),$}const ry=["locale","fallbackLocale","availableLocales"],_u=["t","rt","d","n","tm","te"];function sy(e,t){const o=Object.create(null);return ry.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a)throw mt(pt.UNEXPECTED_ERROR);const s=Je(a.value)?{get(){return a.value.value},set(i){a.value.value=i}}:{get(){return a.get&&a.get()}};Object.defineProperty(o,r,s)}),e.config.globalProperties.$i18n=o,_u.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a||!a.value)throw mt(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,a)}),()=>{delete e.config.globalProperties.$i18n,_u.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(Db(),__INTLIFY_JIT_COMPILATION__?Rc(Mb):Rc(Pb),wb(ob),xb(Ec),__INTLIFY_PROD_DEVTOOLS__){const e=ko();e.__INTLIFY__=!0,db(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const iy=Object.assign({"./locales/ar/aria.json":gf,"./locales/ar/buttons.json":ff,"./locales/ar/detail.json":hf,"./locales/ar/legend.json":mf,"./locales/ar/messages.json":bf,"./locales/ar/options.json":yf,"./locales/ar/prayerLaps.json":_f,"./locales/ar/search.json":vf,"./locales/ar/tabs.json":kf,"./locales/de/aria.json":wf,"./locales/de/buttons.json":xf,"./locales/de/detail.json":Sf,"./locales/de/legend.json":Af,"./locales/de/messages.json":$f,"./locales/de/options.json":Lf,"./locales/de/prayerLaps.json":Cf,"./locales/de/search.json":Tf,"./locales/de/tabs.json":Ef,"./locales/en/aria.json":Pf,"./locales/en/buttons.json":Mf,"./locales/en/detail.json":Nf,"./locales/en/legend.json":If,"./locales/en/messages.json":Rf,"./locales/en/options.json":Ff,"./locales/en/popup.json":Of,"./locales/en/prayerLaps.json":Df,"./locales/en/search.json":Bf,"./locales/en/tabs.json":jf,"./locales/es/aria.json":Gf,"./locales/es/buttons.json":Uf,"./locales/es/detail.json":Kf,"./locales/es/legend.json":Hf,"./locales/es/messages.json":zf,"./locales/es/options.json":Vf,"./locales/es/prayerLaps.json":Wf,"./locales/es/search.json":Yf,"./locales/es/tabs.json":Jf,"./locales/fr/aria.json":qf,"./locales/fr/buttons.json":Zf,"./locales/fr/detail.json":Xf,"./locales/fr/legend.json":Qf,"./locales/fr/messages.json":eh,"./locales/fr/options.json":th,"./locales/fr/popup.json":oh,"./locales/fr/prayerLaps.json":nh,"./locales/fr/search.json":ah,"./locales/fr/tabs.json":rh,"./locales/hi/aria.json":sh,"./locales/hi/buttons.json":ih,"./locales/hi/detail.json":lh,"./locales/hi/legend.json":ch,"./locales/hi/messages.json":uh,"./locales/hi/options.json":dh,"./locales/hi/prayerLaps.json":ph,"./locales/hi/search.json":gh,"./locales/it/aria.json":fh,"./locales/it/buttons.json":hh,"./locales/it/detail.json":mh,"./locales/it/legend.json":bh,"./locales/it/messages.json":yh,"./locales/it/options.json":_h,"./locales/it/prayerLaps.json":vh,"./locales/it/search.json":kh,"./locales/pt/aria.json":wh,"./locales/pt/buttons.json":xh,"./locales/pt/detail.json":Sh,"./locales/pt/legend.json":Ah,"./locales/pt/messages.json":$h,"./locales/pt/options.json":Lh,"./locales/pt/prayerLaps.json":Ch,"./locales/pt/search.json":Th,"./locales/pt/tabs.json":Eh,"./locales/ro/aria.json":Ph,"./locales/ro/buttons.json":Mh,"./locales/ro/detail.json":Nh,"./locales/ro/legend.json":Ih,"./locales/ro/messages.json":Rh,"./locales/ro/options.json":Fh,"./locales/ro/prayerLaps.json":Oh,"./locales/ro/search.json":Dh,"./locales/ru/aria.json":Bh,"./locales/ru/buttons.json":jh,"./locales/ru/detail.json":Gh,"./locales/ru/legend.json":Uh,"./locales/ru/messages.json":Kh,"./locales/ru/options.json":Hh,"./locales/ru/prayerLaps.json":zh,"./locales/ru/search.json":Vh,"./locales/ru/tabs.json":Wh,"./locales/zh/aria.json":Yh,"./locales/zh/buttons.json":Jh,"./locales/zh/detail.json":qh,"./locales/zh/legend.json":Zh,"./locales/zh/messages.json":Xh,"./locales/zh/options.json":Qh,"./locales/zh/prayerLaps.json":em,"./locales/zh/search.json":tm}),ea={};for(const[e,t]of Object.entries(iy)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;ea[n]??(ea[n]={}),ea[n][r]=t}const vu=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ly(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return vu.includes(t)?t:"en"}function cy(){return qb({legacy:!1,globalInjection:!0,locale:ly(),fallbackLocale:"en",messages:ea,missingWarn:!1,fallbackWarn:!1})}function At(e,t){const o=t||uy(e);to(()=>{var i;const n=_o();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const a=r.getRootNode();if(!(a instanceof ShadowRoot)||a.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,a.appendChild(s)})}function uy(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=ee(()=>{var h;return((h=o==null?void 0:o.value)==null?void 0:h.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),a=ue(!1);let s=null,i=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function d(){try{sessionStorage.setItem(c(),"1")}catch{}}function g(){a.value&&(a.value=!1,d(),l&&(l.removeEventListener("pointerdown",w,!0),l=null),s&&(clearTimeout(s),s=null))}function w(){g()}return to(()=>{var x,S,m;if(u())return;const h=_o(),_=(m=(S=(x=h==null?void 0:h.proxy)==null?void 0:x.$el)==null?void 0:S.getRootNode)==null?void 0:m.call(S);if(!_||typeof _.querySelector!="function")return;let y=0;i=setInterval(()=>{y++,_.querySelector("canvas")?(clearInterval(i),i=null,a.value=!0,l=_,_.addEventListener("pointerdown",w,!0),s=setTimeout(g,14e3)):y>40&&(clearInterval(i),i=null)},300)}),To(()=>{i&&clearInterval(i),s&&clearTimeout(s),l&&l.removeEventListener("pointerdown",w,!0)}),At(` .pin-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 2147482000; pointer-events: none; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; @@ -68,7 +68,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(h,_)=>a.value?(z(),te("div",{key:0,class:Ce(["pin-hint",{dark:n.value}]),role:"status"},[E("span",dy,[_[0]||(_[0]=E("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),dt(" "+ce(r.value)+" ",1),E("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):be("",!0)}},gy=!1;let fy=0;const hy=as("ui",{state:()=>({_storeInstanceId:++fy,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:a=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:a,createdAt:Date.now()};return this.toasts.push(s),!a&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),my=as("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 a=t.getCenter();a&&(r=[a.lng,a.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()}}}),by=as("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]=jo({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]=jo({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}}}),ta={_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","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}}},mn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},yy={class:"profile-loader"},_y={key:0,class:"profile-error"},vy={key:1,class:"profile-error"},ky=mn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var m;const o=e,n=ee(()=>{if(!o.profileConfig)return null;try{return JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}}),r=ee(()=>{var f;return((f=n.value)==null?void 0:f.profile)||null}),a=ee(()=>{var f;return((f=n.value)==null?void 0:f.tk)||""}),s=ee(()=>{var f;return((f=n.value)==null?void 0:f.dataSource)||ta.activeSource}),i=ee(()=>{var f;return((f=n.value)==null?void 0:f.colorSet)||"default"}),l=ee(()=>!1),c=ee(()=>{var f;return((f=n.value)==null?void 0:f.pinHint)!==!1}),u=ee(()=>{var v,L;const f=(((v=n.value)==null?void 0:v.locale)||((L=n.value)==null?void 0:L.lang)||"").split("-")[0].toLowerCase();return vu.includes(f)?f:""}),d=Ee("appI18n",null);kp(()=>{u.value&&d&&(d.global.locale.value=u.value)});const g=ee(()=>{var f,v;return u.value||((v=(f=d==null?void 0:d.global)==null?void 0:f.locale)==null?void 0:v.value)||"en"}),w=ee(()=>{var f;return((f=n.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),h=Ee("profileModules",null);if(!h)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const _=ee(()=>{if(!r.value)return null;const f=`./${r.value}.vue`;return h[f]?Zi(h[f]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(h)),null)});Dt("mapboxToken",a),Dt("dataSource",s),Dt("colorSet",i),Dt("profileConfig",n),Dt("instanceId",w),Dt("lang",g);const y=hy(),x=my(),S=by();try{const f=typeof localStorage<"u"?localStorage.getItem("theme"):null;f&&((m=y.setTheme)==null||m.call(y,f))}catch{}return Dt("uiStore",y),Dt("mapStore",x),Dt("dataStore",S),(f,v)=>(z(),te("div",yy,[n.value?_.value?(z(),rt(tl(_.value),{key:2})):(z(),te("div",vy,[E("p",null,[v[1]||(v[1]=dt("⚠️ Profile ",-1)),E("strong",null,'"'+ce(r.value)+'"',1),v[2]||(v[2]=dt(" not found.",-1))])])):(z(),te("div",_y,[...v[0]||(v[0]=[E("p",null,[dt("⚠️ "),E("strong",null,"doxa-map"),dt(": missing or invalid "),E("code",null,"profile-config"),dt(" prop.")],-1),E("p",null,[dt("Example: "),E("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),_.value&&l.value?(z(),rt(tl(ye(null)),{key:3})):be("",!0),_.value&&c.value?(z(),rt(py,{key:4})):be("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),wy=Object.assign({"./poster-wall.vue":()=>Sn(()=>Promise.resolve().then(()=>Wy),void 0),"./upg-100-list.vue":()=>Sn(()=>Promise.resolve().then(()=>Ek),void 0),"./upg-100-mfe.vue":()=>Sn(()=>Promise.resolve().then(()=>Bk),void 0)});if(typeof window<"u"&&((wd=window.mapboxgl)!=null&&wd.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function xy(){return Yg(ky,{configureApp(e){e.use(sf()),e.use(cy()),e.provide("profileModules",wy)}})}const Sy=xy();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",Sy));const ku=[{id:"west-africa",label:"West Africa",count:118,selector:{type:"wagf_block",value:"west_africa"},bbox:[-21.3926,4.2189,27.2705,17.4735]},{id:"sudan",label:"Sudan",count:105,selector:{type:"country_code",value:"SDN"},bbox:[20.1672,9.0707,39.723,20.499]},{id:"brazil",label:"Brazil",count:103,selector:{type:"country_code",value:"BRA"},bbox:[-77.9152,-25.4802,-32.2913,7.3352]},{id:"east-africa",label:"East Africa",count:96,selector:{type:"wagf_block",value:"east_africa"},bbox:[22.3455,-14.3059,47.7947,20.0984]},{id:"laos",label:"Laos",count:95,selector:{type:"country_code",value:"LAO"},bbox:[99.8741,13.6759,108.2843,23.2186]},{id:"middle-east-core",label:"Middle East Core",count:71,selector:{type:"country_codes",values:["IRN","YEM","IRQ","OMN","SYR","LBN","PSE","QAT","SAU","JOR","BHR","ARE","KWT"]},bbox:[31.1468,9.3265,63.7915,42.0085]},{id:"andean-caribbean",label:"Andean + Caribbean",count:63,selector:{type:"country_codes",values:["COL","PER","VEN","ECU","BOL","PRY","PAN","CUB","SUR","ATG","ABW","BHS","BRB","CYM","CUW","GRD","JAM","LCA","SXM","TCA","VCT","GUY"]},bbox:[-85.7034,-31.2233,-51.7537,31.0655]},{id:"central-africa",label:"Central Africa",count:61,selector:{type:"wagf_block",value:"central_africa"},bbox:[.6063,-11.2806,32.2325,15.7303]},{id:"europe",label:"Europe",count:55,selector:{type:"wagf_region",value:"europe"},bbox:[-42.2659,-27.2213,168.5645,85]},{id:"oceania-indonesia",label:"Oceania + Indonesia",count:53,selector:{type:"union",selectors:[{type:"wagf_region",value:"oceania"},{type:"country_code",value:"IDN"}]},bbox:[83.9392,-43.091,-136.017,21.4266]},{id:"mainland-se-asia-philippines",label:"Mainland SE Asia + Philippines",count:50,selector:{type:"country_codes",values:["VNM","MYS","THA","MMR","BRN","KHM","PHL"]},bbox:[88.6434,.084,129.7854,26.789]},{id:"maghreb-egypt",label:"Maghreb + Egypt",count:47,selector:{type:"country_codes",values:["DZA","LBY","MAR","MRT","ESH","EGY","TUN"]},bbox:[-21.8716,14.0878,37.0339,39.1426]},{id:"southern-africa-islands",label:"Southern Africa + Islands of East Africa",count:39,selector:{type:"union",selectors:[{type:"wagf_block",value:"southern_africa"},{type:"wagf_block",value:"islands_of_east_africa"}]},bbox:[.638,-38.0929,63.5885,4.4534]}],wu=[{id:"asia-india-rajasthan",label:"Northwest India",count:116,selector:{type:"pg_slugs",values:["arain-dogri","arain-punjabi","badi-marwari","bania-dogri","bania-kashmiri","baret","bargi","bhand-kashmiri","bhojki","bhopa","bhutta","bomba","brukpa","budhan","campa","cejara","chadwa","cheintz","chheepi","chobdar","chopan","chungar","cudigar","dadupanthi","damami","daoli","daule","dhaki","dhobi-dogri","dhola","dhyar","dokhpa","domal","dosali","gagra","galwan","ganz","gardi","ghihara","gorkun","gosain-kangri","gosain-rajasthani","gurru","hadi","hajjam-haryanvi","hajjam-kashmiri","hesi","hiranbaj","kawoj","khadim","kharol","khatik-chambeali","khatik-punjabi","kraal","kriyagar","kucband","lakhera-haryanvi","laskari","lohar-dogri","malaneese","mangnyar-muslims","manhas","manjygur-muslims","masku","moghol-dogri","moghol-marwari","mogia","mon-india","murhid","nagbansi-dogri","nagda","nai-mewari","najjar","namdagur","naqqas","nar","nicar","nyaria","pajabgar","pakhimara","pangwal-buddhists","pangwala","pinjara-punjabi","pohul","purig-pa","racband","rajkumhar","rajpurohit","ratal","rath","rehar","runwalas","sain","sanchia","sanhai","sansoi","santia","saraogi","sayyid-pahari","seok","shaksaz","shikari","shina-india","singiwala","sofi","sorgars","sudhan","sunga","swangla","tak","thavi","usta","van-baoriya","ved","vijabargiya","waza"]},bbox:[69.9484,22.3586,79.972,35.9424],provinceLabel:"Rājasthān + Haryāna + Himāchal Pradesh + Jammu and Kashmīr + Punjab + Chandīgarh + Ladākh"},{id:"asia-india-andhra-pradesh",label:"South-Central India",count:107,selector:{type:"pg_slugs",values:["accukattavandlu","aguru","aiyarakulu","andhra-vaisnawa","ansari-momin-telugu","arakala","are-bondili","are-kapu","are-katika","atollu","attagara","bandollu","bania-agarwal-telegu","bayita-kammara","berad","bhatrajulu","bhondari","bindla","bolla","budakukkala","cakketakare","camadollu","cippollu","cundollu","dammali","dasari","gandalla","gandla","gangireddula","ganta-sayebulu","garadi","gavara","godagali","godari","gosangi","guddi-eluguwallu","gurika","hajjam-telugu","hatgar","jains-telugu","jakkula","jandra","jethi","kachi","kaikali","karnam","karnibhakthulu","katipamula","khatik-telugu","kommu-dasari","konda-kammara","kuliya","kurakula","lakkamari-kapu","madiga-dasu","majjula","mala-masti","malis","mandula","manna-dhora","matangi","medari","mitha-ayyalavar","moghal-telugu","mondivogula","muchi-chamar","muli","musti-chenchu","nagavamsam","nakhasa","neyyala","ontaris","padigarajulu","pagativeshagallu","paky","pambala","pamidi","pamula","pancaratra-srivaisnavas-brahmans","pariki-muggula","patkars","rajannalu","reddi-dora","reddika","runjalavallu","sadaru","sadhu-chetty","sakunapaksollu","samayavallu","saradagallu","senapathi","silavantulu","sindhollu","swakulasali-koshti","tamboli-telugu","thogataveera-kshatriya","tirugatigantla","tolakari","udupula","uppara","vaikhanasa-brahmans","verra-musti","vipravinodulu","yata","yatagiri","yatla","yite"]},bbox:[76.462,12.5091,84.8294,19.785],provinceLabel:"Andhra Pradesh + Telangāna"},{id:"asia-india-odisha",label:"East India",count:88,selector:{type:"pg_slugs",values:["badhai-chhattisgarhi","baha-i","bairagi-chhattisgarhi","bairagi-odia","bangti","banka","bargah","bari-odia","bauti","bavuri","beldar-chhattisgarhi","bhangi-chhattisgarhi","bharewa","bharia-bhumia-chhattisgarhi","bhattra-bhatri","bhoi-odia","bhunjia","bondo","brahman-jyoti","candhai-maru","chaikwa","chatarkheya","cherua","citrakar","daitapati","damla","darji-odia","dhakad-halbi","dhera","didayi","dom-chhattisgarhi","eneti-dora","ghadwa","ghantarghada","ghogia","ghusuria","godra","gosain-chhattisgarhi","guna","irika","janughanta","jogi-halbi","jogi-odia","kachchi-alia","kalal-sadri","kamila","kapasiya","kasar-odia","khadura","khairwar-chhattisgarhi","khandwal","khati-odia","khatik-chhattisgarhi","kobari","kol-chhattisgarhi","koraga","kuda","kuli","kurunga","kusta","liari","maghia","mahuria","malia","markande-kanjia","mundapotta","munnewar","nai-odia","naksia","noliya","oriya","panara","pando","panka-odia","parenga","radhi","rana","sabakhia","samasi","sanei","sayyid-chhattisgarhi","sayyid-odia","sinduria","son-koli","suda","thanapati","tharua","tula-vina"]},bbox:[80.3325,17.5357,87.6538,23.9578],provinceLabel:"Odisha + Chhattīsgarh"},{id:"asia-india-gujarat",label:"West India",count:90,selector:{type:"pg_slugs",values:["agaria","agri","anjana-patel-gujarati","bafan","bairagi-gujarati","baloch","bamcha","banjania","barot","barthari","bhodala","borpi","caki","champta","cunara","dafer","dangasiya","dasnami-bawa","depala","dudhwala","gadhai","galiara","garmatan","garvi","gavli","ghantiya","golarana","gosain-gujarati","hajjam-gujarati","halaypotra","hingora","hingorza","jat-muslim","juneja","kahar-gujarati","kamalia","kambodia-bhagat","kapadi","kasar-gujarati","kasbati","kathi","ker","khalpa","khaskeli","khatik-gujarati","langa","machhiyara","majothi","makrani","mandali-muslims","mer","mir","miyana","moghol-gujarati","mujavar","muslim-khatri","muslim-lakhera","muslim-patel","mutwa","narsinghpura","nayak-muslims","node","padhar","panar","paradhi","patanwadia","patni-jamat","patni-vankars","pomla","rathodia","raysipotra","royma","sagar","sandhai-muslims","saranias","sayyid-gujarati","shravan","siddi","sompura-salat","tai","targala","theba","tirgar","turi-barot","vadi","vahivanca-barot","vayati","vyapari","wagheri","wandharo"]},bbox:[68.1752,20.1033,74.3448,24.7906],provinceLabel:"Gujarāt"},{id:"asia-india-karnataka",label:"Southwest India",count:86,selector:{type:"pg_slugs",values:["adiyan","agasa","ansari-momin-kannada","arasu","ayri","bagga","baira","balasantoshi","bandi","bania-kannada","bania-konkani","batada","bayil-kammara","bayil-pattar","bellara","bestha","chaptegar","charodi","chenna-dasar","dombi-dasa","durga-murga","gabit","galada-kokani","ganti-chores","gatti","gauli","ghadi","godda","gomantak-maratha","gond-kannada","gudikara","guraw","hajjam-kannada","halleer","harkantra","hasalaru","helawa","holeya-dasari","jatigar","jaweri","jogi-telugu","jogi-tulu","khakar","kolari","komara-panta","koosa","koraga-korra","kottari","koyava","kudiya","kudubi","kummara-kumbara","kurahina-setti","ladar","maila","malaikudi","maleru","manser","meda","mhalo","mith-gauda","mogaveera","mundala","nadors","nai-kannada","nairy","natua","nawaiyat","padarthis","padiyar","pambada","pattegar","pendar","pinjara-kannada","rachavar","raddi","rajapuri","raneyar","raval","raya-rawat","sapalyas","sayyid-kannada","soligaru","sudir","thammadi","vilyagaras"]},bbox:[73.2695,11.4418,78.7305,18.4466],provinceLabel:"Karnātaka + Goa"},{id:"asia-india-kerala",label:"Malabar Coast",count:78,selector:{type:"pg_slugs",values:["allar","ambalavasi","anthur-nair","arayavati","ayyanavar","bakuda","bania-malayalam","bowis-mogeyar","cakkala","cakkyar-nambiyar","chakkiyar","chamar-muchi-malayalam","chengazhi-nambiar","cingatanmar","dheevara","erawallan","ezhavathi","ilayatu","indo-french","indo-vietnamese","kakkalan","kalanadies","kalladi","kallattu-kurup","karimpalan","kavara","kavuthiyan","kidaran","kocu-wellan","kollan","kootan","kumar-kshatriya","kummara-kusuvan","kunduvadian","kurukkal","laccadive","malai-pandaram","malayalar","maran-nairs","marasari","mavilan","moger-malayalam","moothan","mukkari","musari","muttatu","nalkadaya","nambutiris","narsanna","nasuvan","nayadi","otans","padannan","palakad-tandans","pandithar","pathinaickans","pathiyan","pisaroti","poduval","pulisari","puspakan-unni","reddi","samanthan","sonavar","thachanad-moopan","tiyattunni","urindavan","vadugan","valinjiyar","vetan","vettalaikarans","vettiyan","vilkurup","visavan","wainadan-cetti","wainadan-kader","wainadan-pulayan","wayanad-pathiyan"]},bbox:[72.8992,7.9875,80.5765,13.0102],provinceLabel:"Kerala + Puducherry + Lakshadweep"},{id:"asia-india-tamil-nadu",label:"Southeast India + Andaman Islands",count:73,selector:{type:"pg_slugs",values:["alavan","andamanese","ansari-momin-tamil","anuppan","aranadan","baig","bhatu-andamani","bondili","brahmin-andamani","cekkala","chamar-muchi-tamil","chayakkaran","coorgi-andamanese","dasa-palanjika","dayare","dhobi-tamil","gangawar","great-andamanese","gudugudupandi","gurukkal","jains-tamil","jarawas","jati-pillai","kambalattan","kambar","kannada-naicker","kannada-saineegar","karaiyar","karlar","karna-sale","katesar","kattiakaran","kayalar","kepmari","koliyan","kongu-vaisnawa","kongu-vellala-gounder","kota","krishnavaka","kudumi","kuluvan","kummara-kummari","kunnuva-vellalar","malai-vellala","maleyan","maniyattikkaran","mudugar","nakkala","namdeo-maratha","nanjil-mudali","onge","pannadi","panniandi","parkavakulam","parvatarajakulam","pattanavan","perumkollar","salivahanam","savalakkarar","sayyid-tamil","semman","senaithalaivar","sentinelese","siviar","tambiran","telengi","tholuva-naicker","thoraiyar","tondman","uppillian","urikkar-naicker","vellaiyan-kuppam-padaiyaci","vettaikkaran"]},bbox:[74.7588,7.4577,94.7701,13.968],provinceLabel:"Tamil Nādu + Andaman and Nicobar Islands"},{id:"asia-india-madhya-pradesh",label:"Central India",count:88,selector:{type:"pg_slugs",values:["anjana","attar-saibulu","baharupi","banchada","baraua","barda","bari-hindi","bari-marathi","basudeva","berar","bhanumati","bharwad","bhoi-marathi","bhurtia","chari","chitari","citrakathi","dhawad","dhed","dom-marathi","gachha","garodi","garpagari","gondhali","gopal","hajjam-hindi","hardas","hatkar","jadam","jains-hindi","jhadi","kachchi-kushwaha","kachera-bagheli","kaghzi","kandera","kapewar","kasar-hindi","kasikapadi","kathar","kharvi","khatik-marathi","kokaniz","kolhati","kudimahan","ladia","ladsi","lahangir","lajjhar","lodha-marathi","lonar","mana","manbhav","mankar","mitna","mondiwar","muskhan","muslim-gond","muslim-kachera","nahal","naikpod","naita","namdeo","nandiwala","naoda","nat-bagheli","neeli","nema","nilkanth","pangul","phularis","pinjara-marathi","pochammalollu","prabhu-patane","rujjhar","sagharias","sahi","sais","sanghar","sarodi","sikligar","sisgars","soria","sutar-mistry","takari","velip","waidu","yelmar","zamral"]},bbox:[69.6832,14.969,83.1757,26.995],provinceLabel:"Madhya Pradesh + Mahārāshtra + Dādra and Nagar Haveli and Damān and Diu"},{id:"asia-india-uttarakhand",label:"North India + Nepal",count:92,selector:{type:"pg_slugs",values:["ahmadiya","anwal","arain-kannauji","badhik","badi","balahar","banpar","bargala","bargujar","bhuiyar","bisati","camma","charwaha","chaudangsi","dhamin","dhekaro","gadhia","gadihar","gandharv","habura","hijra","hindu-santarash","jadupetia","jains-maithili","jarkhandi-hajjam","jarkhandi-julaha","jharkhandi-nai","jimdar","jogi-angika","kadar","kankali","khangar-bundeli","khatbune","kuthliya-bora","modaks","mujavir","mukeri","nagbansi","nalband","pankhiya","patari","puran","putliwale","rai-bhat-muslims","rajdhop","raji-india","rastogi","rave","sahisia","sayyid-garhwali","sheikhzade","shershabadia","sukiyar","tagewale","thakurai","tikulhara","tilli","turuk-pasi","baniya","barae","bhand","bhediyar","bodo","byangsi","chidmar","churaute","dhobi","dhunia","dura","gangai","gyasumdoba","halkhor","haluwai","jaine","kaike","kamar","kanu","kayastha","lodha","makalu-sherpa","mali","mallah","marwadi","nurang","pahari-nagarkotis","puma","rajbhar","raji-nepal","shaikh-bhojpuri","sudhi","surel","tseku"]},extraCountryCodes:["NPL"],bbox:[76.0644,22.1727,88.8858,31.2428],adm0:["NPL"],provinces:["Uttarākhand","Uttar Pradesh","Bihār","Jhārkhand","Delhi"],provinceLabel:"North India + Nepal"},{id:"asia-india-west-bengal",label:"Northeast India + Bangladesh + Bhutan",count:87,selector:{type:"pg_slugs",values:["aiton","angarok","ansari-momin-bengali","bagti","baida","baisya","bajandar","banai","banik-bania","barua","bhakta","bhalla","bhujel","bilaspuri","byadh","chamar-assamese","chunari","dalu-india","dhal-kstriya","dhimal","ghazi","hajjam-assamese","hajjam-bengali","haluadas","jains-bengali","kakmara","kanda","kapuria","kasar-bengali","khairwar-bengali","khalifa","khamba","khamyang","khatik-bengali","khowa","koiren","kumhar-assamese","kurol","lois","mahisyadas","malakar","man","maria-muslims","matak","mirshikar","momba","mukhi","na","nai-assamese","namasudra-assamese","paharia","pangans","pinjara-dhunia-bengali","sabar","saha","serdukpen","shabdakar","siyalgar","sudra-das","sunuwar","sutradhar","taiphake","tamboli-bengali","teli-assamese","thanga","tripuri-kumhar","tripuri-namasudra","turun","yakha","yatibi","zakhrin","brokkat","chali","dalu-bangladesh","deaf-bhutanese","doya","dzalakha","gongduk","koda","kurtop","lakha","lunape","matpa","nupbi","nyenpa","ole","ushoi"]},extraCountryCodes:["BGD","BTN"],bbox:[84.6438,21.028,98.3478,29.4168],provinceLabel:"West Bengal + Sikkim + Meghālaya + Assam + Arunāchal Pradesh + Manipur + Tripura + Bangladesh + Bhutan",adm0:["BGD","BTN"]},{id:"asia-china-yunnan-province",label:"Southern China",count:109,selector:{type:"pg_slugs",values:["a-ou","ai-cham","akeu","aling","alu","angku","ani","aoka","apu","baonuo","beidongnuo","bit-china","black-thai","bugan","buyang","cai","changpao","chesu","dianbao","diao","doupo","eastern-samadu","eastern-xiangxi-miao","ga-mong","gao","gelao","guaigun","ha-li","hagei","hongjin-tai","hu","huishui-miao","jiamao-li","jiasou","jino","khmu","kong-ge","kucong","laba","labapo","laowu","lati-china","lawu","liang-e","linghua","liping-baheng","liude","liujia","longjia","lu","lupanshui-miao","mang-china","manmet","mashan-miao","meifu-li","mengwu","mishaba-laluo","mo","mosuo","mozhihei","muda","muzi","naheng","nanjingren","northern-awu","northern-dong","northern-muji","numao","palyu","panxian-nasu","pingdi-yao","popei","pubiao","puman","pusha","qanu","qiubei-zhuang","qixingmin","rao","rumai-de-ang","sanda","sanqiao","shenzhou","sichuan-mongols","ta-er","tagu","tai-lu","tai-pong","tulao","tusu","wenma-zhuang","western-gaisu","western-samadu","wopu","wunai","xi","xialusi","xiaoliangshan-nosu","xijima","xinping-lalu","xuzhang-lalu","ya","yanghuang","yerong","yizi","youmai","younuo-bunu","yunnan-mongol","yunnan-shui"]},bbox:[96.3204,17.3374,113.2066,29.9169],provinceLabel:"Yunnan Province + Guizhou Province + Guangxi Zhuang Autonomous Region + Hunan Province + Hainan Province",provinces:["Yunnan Province","Guizhou Province","Guangxi Zhuang Autonomous Region","Hunan Province","Hainan Province"]},{id:"asia-china-tibet-autonomous-region",label:"Mainland China + Mongolia",count:53,selector:{type:"pg_slugs",values:["adi","ainu-china","alxa-mongols","bogar-lhoba","bogol","boyu-tibetans","bunan","buryat","butuo-nosu","cona-monba","darang-deng","enger-yugur","ersu","geman-deng","heishui","henan-mongols","keji","kyrgyz","luzu","manyak","medog-monba","miguba","ming","minyak","naju","namuyi","nghari-tibetans","olot","ongkor","puroik","saman","saragh-yugur","sarikoli-tajiks","shixing","suodi-nosu","tongren-bonan","uzbeks","wakhi-china","western-xibe","wutun","yidu-lhoba","yinuo-nosu","za"]},extraCountryCodes:["MNG","PRK","JPN"],bbox:[69.2237,24.2385,130.4094,51.3865],provinceLabel:"Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur Autonomous Region + Gansu Province + Inner Mongolia Autonomous Region + Qinghai Province + Heilongjiang Province + Mongolia + Japan + North Korea",provinces:["Tibet Autonomous Region","Sichuan Province","Xinjiang Uyghur Autonomous Region","Gansu Province","Inner Mongolia Autonomous Region","Qinghai Province","Heilongjiang Province"],adm0:["MNG"]}],xu=[{id:"uncovered-scatter",label:"Scattered / Diaspora",count:8,contiguous:!1,contiguityExempt:!0,flag:"allowed non-contiguous bucket (S5-D3) — diaspora/island/micro-territory strays + 2 unstamped CHN border PGs",selector:{type:"country_codes",values:["AND","CCK","GUF","USA"]},extra_slugs:["jing","pana-china"],bbox:[-150.7534,-18.855,123.4288,50.0639]},{id:"uncovered-nas-a",label:"Central Asia + Pakistan",count:55,contiguous:!0,contiguityExempt:!1,flag:"NAS-A real frontier zone (09b-asia-contiguity-v2 N-D6): MERGE of the former uncovered-sa-west (AFG+PAK) + uncovered-central-asia (AZE/KGZ/TJK/UZB) into ONE zone owning BOTH the legend count AND the ADM0 render coverage. AFG-PAK-UZB-TJK-KGZ form one contiguous land-border core; AZE is the flagged Caspian-separated near-member (S5-D2). KAZ stays deaf-only (its only PG is deaf-kazakhstanis). Target coverage 55 (design directive; uncovered coverage counts are carried through, not recomputable from admin-membership — NOTE-COUNT). ID kept in the uncovered-* family (NOT asia-frontier-nas-a) because zone-geometry.isAsiaZone() routes any asia-*-prefixed id down the ADM1 listId path — an asia-* id would resolve 0 ADM0 polys and render NOTHING. uncovered-* keeps it on the country_codes/ADM0 render path; re-prefixing is the render-layer's NEXT slice, not this one.",selector:{type:"country_codes",values:["AFG","AZE","KGZ","PAK","TJK","UZB"]},bbox:[42.6538,23.2204,79.3424,44.9954],provinceLabel:"Pakistan + Afghanistan + Uzbekistan + Tajikistan + Kyrgyzstan + Kazakhstan + Azerbaijan"}],Ay={class:"sec-head"},$y={class:"sec-name"},Ly={class:"sec-count"},Cy={class:"grid"},Ty=["data-list-id"],Ey=["aria-label","onClick"],Py={class:"hcount"},My={class:"main"},Ny=["src","alt","onError"],Iy={key:1,class:"ph"},Ry={class:"ph-label"},Fy={key:0,class:"ph-count"},Oy={class:"tape pfs"},Dy=["onClick"],By=["onClick"],jy={class:"modal",role:"dialog","aria-live":"polite"},Gy={class:"modal-kind"},Uy={class:"modal-title"},Ky={class:"modal-err"},Hy={class:"modal-soon"},zy={class:"bar"},Vy={class:"modal-phase"},Wy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"poster-wall",setup(e){const t={lists:ku,asia_lists:wu,uncovered_lists:xu},o=Ee("profileConfig",ue(null)),n=ee(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"upg-100-wall"}),r=ee(()=>{var m;return((m=o.value)==null?void 0:m.isDark)===!0}),a=ee(()=>{var m;return String(((m=o.value)==null?void 0:m.assetsBase)||"./assets").replace(/\/+$/,"")}),s={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe"},i=m=>s[m]?s[m]:m.startsWith("asia-india-")?"India":m.startsWith("asia-china-")?"China + Mongolia":"Other",l=ee(()=>[...t.lists||[],...t.asia_lists||[],...t.uncovered_lists||[]].filter(m=>m&&m.id)),c=ee(()=>{const m=new Map;for(const f of l.value){const v=i(f.id);m.has(v)||m.set(v,[]),m.get(v).push(f)}return[...m.entries()].map(([f,v])=>({name:f,items:v.slice().sort((L,T)=>(T.count||0)-(L.count||0)),total:v.reduce((L,T)=>L+(T.count||0),0)})).sort((f,v)=>v.total-f.total)}),u=ue(null);function d(m){const f=u.value===m.id;u.value=f?null:m.id,window.dispatchEvent(new CustomEvent("doxa-upg-100-list:show-on-map",{detail:{instanceId:n.value,listId:f?null:m.id,label:f?null:m.label}}))}const g=m=>`${a.value}/previews/${m}.webp`,w=ue({}),h=ue(null);async function _(m){if(!h.value){h.value={label:m.label,kind:"Poster",phase:"fetch",message:"fetching poster",pct:20};try{const f=`${a.value}/posters/${m.id}.webp`,v=await fetch(f);if(!v.ok)throw new Error(`poster not found (${v.status})`);h.value={...h.value,phase:"save",message:"saving",pct:80};const L=await v.blob();x(L,`doxa-upg-100-${m.id}-poster.webp`),h.value={...h.value,phase:"done",message:"saved",pct:100},setTimeout(()=>{h.value=null},900)}catch(f){h.value={label:m.label,kind:"Poster",phase:"error",message:String((f==null?void 0:f.message)||f).slice(0,140),pct:0}}}}function y(m){h.value={label:m.label,kind:"Prayer List",phase:"soon",message:"Coming soon — the prayer list for each people group is in build.",pct:0}}function x(m,f){const v=document.createElement("a");v.href=URL.createObjectURL(m),v.download=f,document.body.appendChild(v),v.click(),v.remove(),setTimeout(()=>URL.revokeObjectURL(v.href),4e3)}function S(){h.value=null}return At(`.wall{position:absolute;inset:0;overflow-y:auto;padding:22px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.wall.is-dark{background:#0a1410;color:#e5e7eb}.wall-h{margin:0 0 6px;font-size:19px;font-weight:700;text-align:center}.wall-tag{margin:0 auto 12px;width:fit-content;padding:3px 11px;border-radius:999px;background:rgba(16,185,129,.13);color:#0b7a5b;border:1px solid rgba(16,185,129,.28);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.is-dark .wall-tag{background:rgba(16,185,129,.16);color:#6ee7b7;border-color:rgba(110,231,183,.32)}.wall-sub{margin:0 auto 22px;max-width:620px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.wall-sub strong{font-weight:700;opacity:1;color:inherit}.grid{display:grid;gap:64px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-width:1180px;margin:0 auto}.card{position:relative;background:#fff;border:1px solid #e3e6ea;border-radius:3px;padding:24px 12px 26px;box-shadow:0 1px 3px rgba(0,0,0,.10),0 6px 18px rgba(0,0,0,.07);transition:transform .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-3px);box-shadow:0 3px 8px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.10)}.is-dark .card{background:#132019;border-color:rgba(110,231,183,.20)}.tape{box-sizing:border-box;position:absolute;left:50%;transform:translateX(-50%);z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid rgba(0,0,0,.08);background:#eef2f6;color:#23303c}.is-dark .tape{background:#1d2b23;color:#cfe9d9;border-color:rgba(255,255,255,.10)}.tape-h{top:-11px;width:82%;padding:4px 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:5px}.tape-h:hover{background:#e2e8ee}.hcount{font-weight:800;font-variant-numeric:tabular-nums}.hsep{opacity:.45}.hlabel{font-weight:600}.card.is-last{box-shadow:0 0 0 2px #10b981,0 6px 18px rgba(0,0,0,.10)}.card.is-last .tape-h{background:#10b981;color:#04241a;border-color:#10b981}.pfs{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);width:82%;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);border-radius:2px;background:#fff;display:flex;gap:2px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:#8a93a0}.is-dark .pfs > legend{color:#7f9c8c}.pbtn{position:relative;flex:1;border:0;background:none;color:#5b6672;font:inherit;font-size:10.5px;font-weight:600;padding:2px 6px 3px;cursor:pointer;white-space:nowrap;transition:color .15s}.pbtn::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background .15s}.pbtn:hover{color:#10b981}.pbtn:hover::after{background:#10b981}.is-dark .pbtn{color:#9fb3a8}.sec{max-width:1180px;margin:0 auto 56px}.sec-head{display:flex;align-items:baseline;gap:10px;margin:0 2px 14px;padding-bottom:7px;border-bottom:1px solid rgba(0,0,0,.10)}.is-dark .sec-head{border-bottom-color:rgba(255,255,255,.12)}.sec-name{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em}.sec-count{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.main{position:relative;aspect-ratio:1/1;border:1px solid #dfe3e7;overflow:hidden;background:#fbfcfd;display:flex;align-items:center;justify-content:center}.is-dark .main{background:#0c1712;border-color:rgba(255,255,255,.08)}.img{width:100%;height:100%;object-fit:contain;display:block}.ph{padding:14px 10px;text-align:center}.ph-label{font-size:12.5px;font-weight:700;line-height:1.3}.ph-count{margin-top:5px;font-size:11px;opacity:.7}.ph-note{margin-top:10px;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.45}.spinner{width:22px;height:22px;margin:0 auto 8px;border:2px solid rgba(0,0,0,.12);border-top-color:rgba(0,0,0,.45);border-radius:50%;animation:upgspin .8s linear infinite}.is-dark .spinner{border-color:rgba(255,255,255,.16);border-top-color:rgba(255,255,255,.55)}@keyframes upgspin{to{transform:rotate(360deg)}}.modal-scrim{position:fixed;inset:0;z-index:1000;background:rgba(8,12,16,.55);display:grid;place-items:center;padding:22px}.modal{width:min(340px,100%);background:#fff;color:#0f1419;border-radius:14px;padding:20px 22px;box-shadow:0 10px 40px rgba(0,0,0,.35);text-align:center}.is-dark .modal{background:#132019;color:#e5e7eb}.modal-kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.modal-title{margin:3px 0 14px;font-size:15px;font-weight:700;line-height:1.3}.bar{height:5px;border-radius:99px;background:rgba(0,0,0,.10);overflow:hidden}.is-dark .bar{background:rgba(255,255,255,.12)}.bar-fill{height:100%;background:#10b981;border-radius:99px;transition:width .25s ease}.modal-phase{margin-top:10px;font-size:12.5px;font-weight:600}.modal-hint{margin-top:6px;font-size:11px;line-height:1.5;opacity:.62}.modal-soon{font-size:13px;line-height:1.5;color:#5f5849;margin:6px 0 14px}.modal-err{font-size:12.5px;line-height:1.55;color:#b42318;margin-bottom:14px}.is-dark .modal-err{color:#fda29b}.modal-btn{border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit;font:inherit;font-size:12.5px;padding:6px 18px;border-radius:8px;cursor:pointer}.modal-btn:hover{background:rgba(0,0,0,.06)}`,"upg-poster-wall"),(m,f)=>(z(),te("div",{class:Ce(["wall",{"is-dark":r.value}])},[f[6]||(f[6]=E("h2",{class:"wall-h"},"My UPG 100 List — Prayer Lists & Posters",-1)),f[7]||(f[7]=E("div",{class:"wall-tag"},"Prayer Mobilization",-1)),f[8]||(f[8]=E("p",{class:"wall-sub"},[dt(" Hand away the prayer task in clusters of fifties and hundreds — the way Jesus fed the 5,000 (Luke 9:14). Each poster is a 100-list you can pray, print, and put on a wall — praying for them "),E("strong",null,"by their people group name"),dt(". ")],-1)),(z(!0),te(Le,null,St(c.value,v=>(z(),te("section",{key:v.name,class:"sec"},[E("div",Ay,[E("h3",$y,ce(v.name),1),E("span",Ly,ce(v.total.toLocaleString())+" people groups · "+ce(v.items.length)+" "+ce(v.items.length===1?"list":"lists"),1)]),E("div",Cy,[(z(!0),te(Le,null,St(v.items,L=>(z(),te("div",{key:L.id,class:Ce(["card",{"is-last":u.value===L.id}]),"data-list-id":L.id},[E("button",{type:"button",class:"tape tape-h","aria-label":`Show ${L.label} on the map`,onClick:T=>d(L)},[E("span",Py,ce(L.count)+" UPG",1),f[1]||(f[1]=E("span",{class:"hsep"},"·",-1)),f[2]||(f[2]=E("span",{class:"hlabel"},"Show on map",-1))],8,Ey),E("div",My,[w.value[L.id]?(z(),te("div",Iy,[E("div",Ry,ce(L.label),1),L.count?(z(),te("div",Fy,ce(L.count)+" people groups",1)):be("",!0),f[3]||(f[3]=E("div",{class:"ph-note"},"poster not generated yet",-1))])):(z(),te("img",{key:0,class:"img",src:g(L.id),alt:`${L.label} — UPG 100 list prayer poster`,loading:"lazy",decoding:"async",onError:T=>w.value[L.id]=!0},null,40,Ny))]),E("fieldset",Oy,[f[4]||(f[4]=E("legend",null,"Print Options",-1)),E("button",{type:"button",class:"pbtn",onClick:T=>y(L)},"Prayer List",8,Dy),E("button",{type:"button",class:"pbtn",onClick:T=>_(L)},"Poster Map",8,By)])],10,Ty))),128))])]))),128)),h.value?(z(),te("div",{key:0,class:"modal-scrim",onClick:f[0]||(f[0]=Ht(v=>h.value.phase==="error"&&S(),["self"]))},[E("div",jy,[E("div",Gy,ce(h.value.kind),1),E("div",Uy,ce(h.value.label),1),h.value.phase==="error"?(z(),te(Le,{key:0},[E("div",Ky,ce(h.value.message),1),E("button",{type:"button",class:"modal-btn",onClick:S},"Close")],64)):h.value.phase==="soon"?(z(),te(Le,{key:1},[E("div",Hy,ce(h.value.message),1),E("button",{type:"button",class:"modal-btn",onClick:S},"Close")],64)):(z(),te(Le,{key:2},[E("div",zy,[E("div",{class:"bar-fill",style:tt({width:h.value.pct+"%"})},null,4)]),E("div",Vy,ce(h.value.message),1),f[5]||(f[5]=E("div",{class:"modal-hint"}," Rendering a print-quality image in your browser — nothing is uploaded. ",-1))],64))])])):be("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Su="pplrInstance";function Yy(e){return{instanceId:e,selection:ue(null),activeTab:ue(0),isSearching:ue(!1),geocoderText:ue(""),pinDetail:ue(null),theme:ue("dark")}}function Jy(e){Dt(Su,e)}function qy(){return Ee(Su,null)}const Zy=["data-covered","data-total","data-pct"],Xy={class:"lpb-track"},Qy=["data-span-pct"],e_=["data-seg","data-count","aria-label","onMouseenter","onFocus","onClick"],t_=["data-seg","data-count","aria-label"],o_=["aria-valuenow","aria-valuemax","aria-valuetext","aria-label","title"],Au=mn({__name:"LegendProgressBar",props:{covered:{type:Number,default:0},total:{type:Number,default:0},segments:{type:Array,default:()=>[]},isDark:{type:Boolean,default:!1},label:{type:String,default:""},fmtCount:{type:Function,default:e=>(Number(e)||0).toLocaleString()},compact:{type:Boolean,default:!1},stacked:{type:Boolean,default:!1},showText:{type:Boolean,default:!0}},emits:["select-segment"],setup(e,{emit:t}){const{t:o}=kt();At(` +`,"pin-hint"),(h,_)=>a.value?(z(),te("div",{key:0,class:Ce(["pin-hint",{dark:n.value}]),role:"status"},[E("span",dy,[_[0]||(_[0]=E("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),dt(" "+ce(r.value)+" ",1),E("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):me("",!0)}},gy=!1;let fy=0;const hy=as("ui",{state:()=>({_storeInstanceId:++fy,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:a=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:a,createdAt:Date.now()};return this.toasts.push(s),!a&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),my=as("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 a=t.getCenter();a&&(r=[a.lng,a.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()}}}),by=as("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]=jo({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]=jo({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}}}),ta={_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","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}}},mn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},yy={class:"profile-loader"},_y={key:0,class:"profile-error"},vy={key:1,class:"profile-error"},ky=mn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var m;const o=e,n=ee(()=>{if(!o.profileConfig)return null;try{return JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}}),r=ee(()=>{var f;return((f=n.value)==null?void 0:f.profile)||null}),a=ee(()=>{var f;return((f=n.value)==null?void 0:f.tk)||""}),s=ee(()=>{var f;return((f=n.value)==null?void 0:f.dataSource)||ta.activeSource}),i=ee(()=>{var f;return((f=n.value)==null?void 0:f.colorSet)||"default"}),l=ee(()=>!1),c=ee(()=>{var f;return((f=n.value)==null?void 0:f.pinHint)!==!1}),u=ee(()=>{var v,L;const f=(((v=n.value)==null?void 0:v.locale)||((L=n.value)==null?void 0:L.lang)||"").split("-")[0].toLowerCase();return vu.includes(f)?f:""}),d=Ee("appI18n",null);kp(()=>{u.value&&d&&(d.global.locale.value=u.value)});const g=ee(()=>{var f,v;return u.value||((v=(f=d==null?void 0:d.global)==null?void 0:f.locale)==null?void 0:v.value)||"en"}),w=ee(()=>{var f;return((f=n.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),h=Ee("profileModules",null);if(!h)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const _=ee(()=>{if(!r.value)return null;const f=`./${r.value}.vue`;return h[f]?Zi(h[f]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(h)),null)});Dt("mapboxToken",a),Dt("dataSource",s),Dt("colorSet",i),Dt("profileConfig",n),Dt("instanceId",w),Dt("lang",g);const y=hy(),x=my(),S=by();try{const f=typeof localStorage<"u"?localStorage.getItem("theme"):null;f&&((m=y.setTheme)==null||m.call(y,f))}catch{}return Dt("uiStore",y),Dt("mapStore",x),Dt("dataStore",S),(f,v)=>(z(),te("div",yy,[n.value?_.value?(z(),rt(tl(_.value),{key:2})):(z(),te("div",vy,[E("p",null,[v[1]||(v[1]=dt("⚠️ Profile ",-1)),E("strong",null,'"'+ce(r.value)+'"',1),v[2]||(v[2]=dt(" not found.",-1))])])):(z(),te("div",_y,[...v[0]||(v[0]=[E("p",null,[dt("⚠️ "),E("strong",null,"doxa-map"),dt(": missing or invalid "),E("code",null,"profile-config"),dt(" prop.")],-1),E("p",null,[dt("Example: "),E("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),_.value&&l.value?(z(),rt(tl(ye(null)),{key:3})):me("",!0),_.value&&c.value?(z(),rt(py,{key:4})):me("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),wy=Object.assign({"./poster-wall.vue":()=>Sn(()=>Promise.resolve().then(()=>Wy),void 0),"./upg-100-list.vue":()=>Sn(()=>Promise.resolve().then(()=>Ek),void 0),"./upg-100-mfe.vue":()=>Sn(()=>Promise.resolve().then(()=>Bk),void 0)});if(typeof window<"u"&&((wd=window.mapboxgl)!=null&&wd.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function xy(){return Yg(ky,{configureApp(e){e.use(sf()),e.use(cy()),e.provide("profileModules",wy)}})}const Sy=xy();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",Sy));const ku=[{id:"west-africa",label:"West Africa",count:118,selector:{type:"wagf_block",value:"west_africa"},bbox:[-21.3926,4.2189,27.2705,17.4735]},{id:"sudan",label:"Sudan",count:105,selector:{type:"country_code",value:"SDN"},bbox:[20.1672,9.0707,39.723,20.499]},{id:"brazil",label:"Brazil",count:103,selector:{type:"country_code",value:"BRA"},bbox:[-77.9152,-25.4802,-32.2913,7.3352]},{id:"east-africa",label:"East Africa",count:96,selector:{type:"wagf_block",value:"east_africa"},bbox:[22.3455,-14.3059,47.7947,20.0984]},{id:"laos",label:"Laos",count:95,selector:{type:"country_code",value:"LAO"},bbox:[99.8741,13.6759,108.2843,23.2186]},{id:"middle-east-core",label:"Middle East Core",count:71,selector:{type:"country_codes",values:["IRN","YEM","IRQ","OMN","SYR","LBN","PSE","QAT","SAU","JOR","BHR","ARE","KWT"]},bbox:[31.1468,9.3265,63.7915,42.0085]},{id:"andean-caribbean",label:"Andean + Caribbean",count:63,selector:{type:"country_codes",values:["COL","PER","VEN","ECU","BOL","PRY","PAN","CUB","SUR","ATG","ABW","BHS","BRB","CYM","CUW","GRD","JAM","LCA","SXM","TCA","VCT","GUY"]},bbox:[-85.7034,-31.2233,-51.7537,31.0655]},{id:"central-africa",label:"Central Africa",count:61,selector:{type:"wagf_block",value:"central_africa"},bbox:[.6063,-11.2806,32.2325,15.7303]},{id:"europe",label:"Europe",count:55,selector:{type:"wagf_region",value:"europe"},bbox:[-42.2659,-27.2213,168.5645,85]},{id:"oceania-indonesia",label:"Oceania + Indonesia",count:53,selector:{type:"union",selectors:[{type:"wagf_region",value:"oceania"},{type:"country_code",value:"IDN"}]},bbox:[83.9392,-43.091,-136.017,21.4266]},{id:"mainland-se-asia-philippines",label:"Mainland SE Asia + Philippines",count:50,selector:{type:"country_codes",values:["VNM","MYS","THA","MMR","BRN","KHM","PHL"]},bbox:[88.6434,.084,129.7854,26.789]},{id:"maghreb-egypt",label:"Maghreb + Egypt",count:47,selector:{type:"country_codes",values:["DZA","LBY","MAR","MRT","ESH","EGY","TUN"]},bbox:[-21.8716,14.0878,37.0339,39.1426]},{id:"southern-africa-islands",label:"Southern Africa + Islands of East Africa",count:39,selector:{type:"union",selectors:[{type:"wagf_block",value:"southern_africa"},{type:"wagf_block",value:"islands_of_east_africa"}]},bbox:[.638,-38.0929,63.5885,4.4534]}],wu=[{id:"asia-india-rajasthan",label:"Northwest India",count:116,selector:{type:"pg_slugs",values:["arain-dogri","arain-punjabi","badi-marwari","bania-dogri","bania-kashmiri","baret","bargi","bhand-kashmiri","bhojki","bhopa","bhutta","bomba","brukpa","budhan","campa","cejara","chadwa","cheintz","chheepi","chobdar","chopan","chungar","cudigar","dadupanthi","damami","daoli","daule","dhaki","dhobi-dogri","dhola","dhyar","dokhpa","domal","dosali","gagra","galwan","ganz","gardi","ghihara","gorkun","gosain-kangri","gosain-rajasthani","gurru","hadi","hajjam-haryanvi","hajjam-kashmiri","hesi","hiranbaj","kawoj","khadim","kharol","khatik-chambeali","khatik-punjabi","kraal","kriyagar","kucband","lakhera-haryanvi","laskari","lohar-dogri","malaneese","mangnyar-muslims","manhas","manjygur-muslims","masku","moghol-dogri","moghol-marwari","mogia","mon-india","murhid","nagbansi-dogri","nagda","nai-mewari","najjar","namdagur","naqqas","nar","nicar","nyaria","pajabgar","pakhimara","pangwal-buddhists","pangwala","pinjara-punjabi","pohul","purig-pa","racband","rajkumhar","rajpurohit","ratal","rath","rehar","runwalas","sain","sanchia","sanhai","sansoi","santia","saraogi","sayyid-pahari","seok","shaksaz","shikari","shina-india","singiwala","sofi","sorgars","sudhan","sunga","swangla","tak","thavi","usta","van-baoriya","ved","vijabargiya","waza"]},bbox:[69.9484,22.3586,79.972,35.9424],provinceLabel:"Rājasthān + Haryāna + Himāchal Pradesh + Jammu and Kashmīr + Punjab + Chandīgarh + Ladākh"},{id:"asia-india-andhra-pradesh",label:"South-Central India",count:107,selector:{type:"pg_slugs",values:["accukattavandlu","aguru","aiyarakulu","andhra-vaisnawa","ansari-momin-telugu","arakala","are-bondili","are-kapu","are-katika","atollu","attagara","bandollu","bania-agarwal-telegu","bayita-kammara","berad","bhatrajulu","bhondari","bindla","bolla","budakukkala","cakketakare","camadollu","cippollu","cundollu","dammali","dasari","gandalla","gandla","gangireddula","ganta-sayebulu","garadi","gavara","godagali","godari","gosangi","guddi-eluguwallu","gurika","hajjam-telugu","hatgar","jains-telugu","jakkula","jandra","jethi","kachi","kaikali","karnam","karnibhakthulu","katipamula","khatik-telugu","kommu-dasari","konda-kammara","kuliya","kurakula","lakkamari-kapu","madiga-dasu","majjula","mala-masti","malis","mandula","manna-dhora","matangi","medari","mitha-ayyalavar","moghal-telugu","mondivogula","muchi-chamar","muli","musti-chenchu","nagavamsam","nakhasa","neyyala","ontaris","padigarajulu","pagativeshagallu","paky","pambala","pamidi","pamula","pancaratra-srivaisnavas-brahmans","pariki-muggula","patkars","rajannalu","reddi-dora","reddika","runjalavallu","sadaru","sadhu-chetty","sakunapaksollu","samayavallu","saradagallu","senapathi","silavantulu","sindhollu","swakulasali-koshti","tamboli-telugu","thogataveera-kshatriya","tirugatigantla","tolakari","udupula","uppara","vaikhanasa-brahmans","verra-musti","vipravinodulu","yata","yatagiri","yatla","yite"]},bbox:[76.462,12.5091,84.8294,19.785],provinceLabel:"Andhra Pradesh + Telangāna"},{id:"asia-india-odisha",label:"East India",count:88,selector:{type:"pg_slugs",values:["badhai-chhattisgarhi","baha-i","bairagi-chhattisgarhi","bairagi-odia","bangti","banka","bargah","bari-odia","bauti","bavuri","beldar-chhattisgarhi","bhangi-chhattisgarhi","bharewa","bharia-bhumia-chhattisgarhi","bhattra-bhatri","bhoi-odia","bhunjia","bondo","brahman-jyoti","candhai-maru","chaikwa","chatarkheya","cherua","citrakar","daitapati","damla","darji-odia","dhakad-halbi","dhera","didayi","dom-chhattisgarhi","eneti-dora","ghadwa","ghantarghada","ghogia","ghusuria","godra","gosain-chhattisgarhi","guna","irika","janughanta","jogi-halbi","jogi-odia","kachchi-alia","kalal-sadri","kamila","kapasiya","kasar-odia","khadura","khairwar-chhattisgarhi","khandwal","khati-odia","khatik-chhattisgarhi","kobari","kol-chhattisgarhi","koraga","kuda","kuli","kurunga","kusta","liari","maghia","mahuria","malia","markande-kanjia","mundapotta","munnewar","nai-odia","naksia","noliya","oriya","panara","pando","panka-odia","parenga","radhi","rana","sabakhia","samasi","sanei","sayyid-chhattisgarhi","sayyid-odia","sinduria","son-koli","suda","thanapati","tharua","tula-vina"]},bbox:[80.3325,17.5357,87.6538,23.9578],provinceLabel:"Odisha + Chhattīsgarh"},{id:"asia-india-gujarat",label:"West India",count:90,selector:{type:"pg_slugs",values:["agaria","agri","anjana-patel-gujarati","bafan","bairagi-gujarati","baloch","bamcha","banjania","barot","barthari","bhodala","borpi","caki","champta","cunara","dafer","dangasiya","dasnami-bawa","depala","dudhwala","gadhai","galiara","garmatan","garvi","gavli","ghantiya","golarana","gosain-gujarati","hajjam-gujarati","halaypotra","hingora","hingorza","jat-muslim","juneja","kahar-gujarati","kamalia","kambodia-bhagat","kapadi","kasar-gujarati","kasbati","kathi","ker","khalpa","khaskeli","khatik-gujarati","langa","machhiyara","majothi","makrani","mandali-muslims","mer","mir","miyana","moghol-gujarati","mujavar","muslim-khatri","muslim-lakhera","muslim-patel","mutwa","narsinghpura","nayak-muslims","node","padhar","panar","paradhi","patanwadia","patni-jamat","patni-vankars","pomla","rathodia","raysipotra","royma","sagar","sandhai-muslims","saranias","sayyid-gujarati","shravan","siddi","sompura-salat","tai","targala","theba","tirgar","turi-barot","vadi","vahivanca-barot","vayati","vyapari","wagheri","wandharo"]},bbox:[68.1752,20.1033,74.3448,24.7906],provinceLabel:"Gujarāt"},{id:"asia-india-karnataka",label:"Southwest India",count:86,selector:{type:"pg_slugs",values:["adiyan","agasa","ansari-momin-kannada","arasu","ayri","bagga","baira","balasantoshi","bandi","bania-kannada","bania-konkani","batada","bayil-kammara","bayil-pattar","bellara","bestha","chaptegar","charodi","chenna-dasar","dombi-dasa","durga-murga","gabit","galada-kokani","ganti-chores","gatti","gauli","ghadi","godda","gomantak-maratha","gond-kannada","gudikara","guraw","hajjam-kannada","halleer","harkantra","hasalaru","helawa","holeya-dasari","jatigar","jaweri","jogi-telugu","jogi-tulu","khakar","kolari","komara-panta","koosa","koraga-korra","kottari","koyava","kudiya","kudubi","kummara-kumbara","kurahina-setti","ladar","maila","malaikudi","maleru","manser","meda","mhalo","mith-gauda","mogaveera","mundala","nadors","nai-kannada","nairy","natua","nawaiyat","padarthis","padiyar","pambada","pattegar","pendar","pinjara-kannada","rachavar","raddi","rajapuri","raneyar","raval","raya-rawat","sapalyas","sayyid-kannada","soligaru","sudir","thammadi","vilyagaras"]},bbox:[73.2695,11.4418,78.7305,18.4466],provinceLabel:"Karnātaka + Goa"},{id:"asia-india-kerala",label:"Malabar Coast",count:78,selector:{type:"pg_slugs",values:["allar","ambalavasi","anthur-nair","arayavati","ayyanavar","bakuda","bania-malayalam","bowis-mogeyar","cakkala","cakkyar-nambiyar","chakkiyar","chamar-muchi-malayalam","chengazhi-nambiar","cingatanmar","dheevara","erawallan","ezhavathi","ilayatu","indo-french","indo-vietnamese","kakkalan","kalanadies","kalladi","kallattu-kurup","karimpalan","kavara","kavuthiyan","kidaran","kocu-wellan","kollan","kootan","kumar-kshatriya","kummara-kusuvan","kunduvadian","kurukkal","laccadive","malai-pandaram","malayalar","maran-nairs","marasari","mavilan","moger-malayalam","moothan","mukkari","musari","muttatu","nalkadaya","nambutiris","narsanna","nasuvan","nayadi","otans","padannan","palakad-tandans","pandithar","pathinaickans","pathiyan","pisaroti","poduval","pulisari","puspakan-unni","reddi","samanthan","sonavar","thachanad-moopan","tiyattunni","urindavan","vadugan","valinjiyar","vetan","vettalaikarans","vettiyan","vilkurup","visavan","wainadan-cetti","wainadan-kader","wainadan-pulayan","wayanad-pathiyan"]},bbox:[72.8992,7.9875,80.5765,13.0102],provinceLabel:"Kerala + Puducherry + Lakshadweep"},{id:"asia-india-tamil-nadu",label:"Southeast India + Andaman Islands",count:73,selector:{type:"pg_slugs",values:["alavan","andamanese","ansari-momin-tamil","anuppan","aranadan","baig","bhatu-andamani","bondili","brahmin-andamani","cekkala","chamar-muchi-tamil","chayakkaran","coorgi-andamanese","dasa-palanjika","dayare","dhobi-tamil","gangawar","great-andamanese","gudugudupandi","gurukkal","jains-tamil","jarawas","jati-pillai","kambalattan","kambar","kannada-naicker","kannada-saineegar","karaiyar","karlar","karna-sale","katesar","kattiakaran","kayalar","kepmari","koliyan","kongu-vaisnawa","kongu-vellala-gounder","kota","krishnavaka","kudumi","kuluvan","kummara-kummari","kunnuva-vellalar","malai-vellala","maleyan","maniyattikkaran","mudugar","nakkala","namdeo-maratha","nanjil-mudali","onge","pannadi","panniandi","parkavakulam","parvatarajakulam","pattanavan","perumkollar","salivahanam","savalakkarar","sayyid-tamil","semman","senaithalaivar","sentinelese","siviar","tambiran","telengi","tholuva-naicker","thoraiyar","tondman","uppillian","urikkar-naicker","vellaiyan-kuppam-padaiyaci","vettaikkaran"]},bbox:[74.7588,7.4577,94.7701,13.968],provinceLabel:"Tamil Nādu + Andaman and Nicobar Islands"},{id:"asia-india-madhya-pradesh",label:"Central India",count:88,selector:{type:"pg_slugs",values:["anjana","attar-saibulu","baharupi","banchada","baraua","barda","bari-hindi","bari-marathi","basudeva","berar","bhanumati","bharwad","bhoi-marathi","bhurtia","chari","chitari","citrakathi","dhawad","dhed","dom-marathi","gachha","garodi","garpagari","gondhali","gopal","hajjam-hindi","hardas","hatkar","jadam","jains-hindi","jhadi","kachchi-kushwaha","kachera-bagheli","kaghzi","kandera","kapewar","kasar-hindi","kasikapadi","kathar","kharvi","khatik-marathi","kokaniz","kolhati","kudimahan","ladia","ladsi","lahangir","lajjhar","lodha-marathi","lonar","mana","manbhav","mankar","mitna","mondiwar","muskhan","muslim-gond","muslim-kachera","nahal","naikpod","naita","namdeo","nandiwala","naoda","nat-bagheli","neeli","nema","nilkanth","pangul","phularis","pinjara-marathi","pochammalollu","prabhu-patane","rujjhar","sagharias","sahi","sais","sanghar","sarodi","sikligar","sisgars","soria","sutar-mistry","takari","velip","waidu","yelmar","zamral"]},bbox:[69.6832,14.969,83.1757,26.995],provinceLabel:"Madhya Pradesh + Mahārāshtra + Dādra and Nagar Haveli and Damān and Diu"},{id:"asia-india-uttarakhand",label:"North India + Nepal",count:92,selector:{type:"pg_slugs",values:["ahmadiya","anwal","arain-kannauji","badhik","badi","balahar","banpar","bargala","bargujar","bhuiyar","bisati","camma","charwaha","chaudangsi","dhamin","dhekaro","gadhia","gadihar","gandharv","habura","hijra","hindu-santarash","jadupetia","jains-maithili","jarkhandi-hajjam","jarkhandi-julaha","jharkhandi-nai","jimdar","jogi-angika","kadar","kankali","khangar-bundeli","khatbune","kuthliya-bora","modaks","mujavir","mukeri","nagbansi","nalband","pankhiya","patari","puran","putliwale","rai-bhat-muslims","rajdhop","raji-india","rastogi","rave","sahisia","sayyid-garhwali","sheikhzade","shershabadia","sukiyar","tagewale","thakurai","tikulhara","tilli","turuk-pasi","baniya","barae","bhand","bhediyar","bodo","byangsi","chidmar","churaute","dhobi","dhunia","dura","gangai","gyasumdoba","halkhor","haluwai","jaine","kaike","kamar","kanu","kayastha","lodha","makalu-sherpa","mali","mallah","marwadi","nurang","pahari-nagarkotis","puma","rajbhar","raji-nepal","shaikh-bhojpuri","sudhi","surel","tseku"]},extraCountryCodes:["NPL"],bbox:[76.0644,22.1727,88.8858,31.2428],adm0:["NPL"],provinces:["Uttarākhand","Uttar Pradesh","Bihār","Jhārkhand","Delhi"],provinceLabel:"North India + Nepal"},{id:"asia-india-west-bengal",label:"Northeast India + Bangladesh + Bhutan",count:87,selector:{type:"pg_slugs",values:["aiton","angarok","ansari-momin-bengali","bagti","baida","baisya","bajandar","banai","banik-bania","barua","bhakta","bhalla","bhujel","bilaspuri","byadh","chamar-assamese","chunari","dalu-india","dhal-kstriya","dhimal","ghazi","hajjam-assamese","hajjam-bengali","haluadas","jains-bengali","kakmara","kanda","kapuria","kasar-bengali","khairwar-bengali","khalifa","khamba","khamyang","khatik-bengali","khowa","koiren","kumhar-assamese","kurol","lois","mahisyadas","malakar","man","maria-muslims","matak","mirshikar","momba","mukhi","na","nai-assamese","namasudra-assamese","paharia","pangans","pinjara-dhunia-bengali","sabar","saha","serdukpen","shabdakar","siyalgar","sudra-das","sunuwar","sutradhar","taiphake","tamboli-bengali","teli-assamese","thanga","tripuri-kumhar","tripuri-namasudra","turun","yakha","yatibi","zakhrin","brokkat","chali","dalu-bangladesh","deaf-bhutanese","doya","dzalakha","gongduk","koda","kurtop","lakha","lunape","matpa","nupbi","nyenpa","ole","ushoi"]},extraCountryCodes:["BGD","BTN"],bbox:[84.6438,21.028,98.3478,29.4168],provinceLabel:"West Bengal + Sikkim + Meghālaya + Assam + Arunāchal Pradesh + Manipur + Tripura + Bangladesh + Bhutan",adm0:["BGD","BTN"]},{id:"asia-china-yunnan-province",label:"Southern China",count:109,selector:{type:"pg_slugs",values:["a-ou","ai-cham","akeu","aling","alu","angku","ani","aoka","apu","baonuo","beidongnuo","bit-china","black-thai","bugan","buyang","cai","changpao","chesu","dianbao","diao","doupo","eastern-samadu","eastern-xiangxi-miao","ga-mong","gao","gelao","guaigun","ha-li","hagei","hongjin-tai","hu","huishui-miao","jiamao-li","jiasou","jino","khmu","kong-ge","kucong","laba","labapo","laowu","lati-china","lawu","liang-e","linghua","liping-baheng","liude","liujia","longjia","lu","lupanshui-miao","mang-china","manmet","mashan-miao","meifu-li","mengwu","mishaba-laluo","mo","mosuo","mozhihei","muda","muzi","naheng","nanjingren","northern-awu","northern-dong","northern-muji","numao","palyu","panxian-nasu","pingdi-yao","popei","pubiao","puman","pusha","qanu","qiubei-zhuang","qixingmin","rao","rumai-de-ang","sanda","sanqiao","shenzhou","sichuan-mongols","ta-er","tagu","tai-lu","tai-pong","tulao","tusu","wenma-zhuang","western-gaisu","western-samadu","wopu","wunai","xi","xialusi","xiaoliangshan-nosu","xijima","xinping-lalu","xuzhang-lalu","ya","yanghuang","yerong","yizi","youmai","younuo-bunu","yunnan-mongol","yunnan-shui"]},bbox:[96.3204,17.3374,113.2066,29.9169],provinceLabel:"Yunnan Province + Guizhou Province + Guangxi Zhuang Autonomous Region + Hunan Province + Hainan Province",provinces:["Yunnan Province","Guizhou Province","Guangxi Zhuang Autonomous Region","Hunan Province","Hainan Province"]},{id:"asia-china-tibet-autonomous-region",label:"Mainland China + Mongolia",count:53,selector:{type:"pg_slugs",values:["adi","ainu-china","alxa-mongols","bogar-lhoba","bogol","boyu-tibetans","bunan","buryat","butuo-nosu","cona-monba","darang-deng","enger-yugur","ersu","geman-deng","heishui","henan-mongols","keji","kyrgyz","luzu","manyak","medog-monba","miguba","ming","minyak","naju","namuyi","nghari-tibetans","olot","ongkor","puroik","saman","saragh-yugur","sarikoli-tajiks","shixing","suodi-nosu","tongren-bonan","uzbeks","wakhi-china","western-xibe","wutun","yidu-lhoba","yinuo-nosu","za"]},extraCountryCodes:["MNG","PRK","JPN"],bbox:[69.2237,24.2385,130.4094,51.3865],provinceLabel:"Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur Autonomous Region + Gansu Province + Inner Mongolia Autonomous Region + Qinghai Province + Heilongjiang Province + Mongolia + Japan + North Korea",provinces:["Tibet Autonomous Region","Sichuan Province","Xinjiang Uyghur Autonomous Region","Gansu Province","Inner Mongolia Autonomous Region","Qinghai Province","Heilongjiang Province"],adm0:["MNG"]}],xu=[{id:"uncovered-scatter",label:"Scattered / Diaspora",count:8,contiguous:!1,contiguityExempt:!0,flag:"allowed non-contiguous bucket (S5-D3) — diaspora/island/micro-territory strays + 2 unstamped CHN border PGs",selector:{type:"country_codes",values:["AND","CCK","GUF","USA"]},extra_slugs:["jing","pana-china"],bbox:[-150.7534,-18.855,123.4288,50.0639]},{id:"uncovered-nas-a",label:"Central Asia + Pakistan",count:55,contiguous:!0,contiguityExempt:!1,flag:"NAS-A real frontier zone (09b-asia-contiguity-v2 N-D6): MERGE of the former uncovered-sa-west (AFG+PAK) + uncovered-central-asia (AZE/KGZ/TJK/UZB) into ONE zone owning BOTH the legend count AND the ADM0 render coverage. AFG-PAK-UZB-TJK-KGZ form one contiguous land-border core; AZE is the flagged Caspian-separated near-member (S5-D2). KAZ stays deaf-only (its only PG is deaf-kazakhstanis). Target coverage 55 (design directive; uncovered coverage counts are carried through, not recomputable from admin-membership — NOTE-COUNT). ID kept in the uncovered-* family (NOT asia-frontier-nas-a) because zone-geometry.isAsiaZone() routes any asia-*-prefixed id down the ADM1 listId path — an asia-* id would resolve 0 ADM0 polys and render NOTHING. uncovered-* keeps it on the country_codes/ADM0 render path; re-prefixing is the render-layer's NEXT slice, not this one.",selector:{type:"country_codes",values:["AFG","AZE","KGZ","PAK","TJK","UZB"]},bbox:[42.6538,23.2204,79.3424,44.9954],provinceLabel:"Pakistan + Afghanistan + Uzbekistan + Tajikistan + Kyrgyzstan + Kazakhstan + Azerbaijan"}],Ay={class:"sec-head"},$y={class:"sec-name"},Ly={class:"sec-count"},Cy={class:"grid"},Ty=["data-list-id"],Ey=["aria-label","onClick"],Py={class:"hcount"},My={class:"main"},Ny=["src","alt","onError"],Iy={key:1,class:"ph"},Ry={class:"ph-label"},Fy={key:0,class:"ph-count"},Oy={class:"tape pfs"},Dy=["onClick"],By=["onClick"],jy={class:"modal",role:"dialog","aria-live":"polite"},Gy={class:"modal-kind"},Uy={class:"modal-title"},Ky={class:"modal-err"},Hy={class:"modal-soon"},zy={class:"bar"},Vy={class:"modal-phase"},Wy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"poster-wall",setup(e){const t={lists:ku,asia_lists:wu,uncovered_lists:xu},o=Ee("profileConfig",ue(null)),n=ee(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"upg-100-wall"}),r=ee(()=>{var m;return((m=o.value)==null?void 0:m.isDark)===!0}),a=ee(()=>{var m;return String(((m=o.value)==null?void 0:m.assetsBase)||"./assets").replace(/\/+$/,"")}),s={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe"},i=m=>s[m]?s[m]:m.startsWith("asia-india-")?"India":m.startsWith("asia-china-")?"China + Mongolia":"Other",l=ee(()=>[...t.lists||[],...t.asia_lists||[],...t.uncovered_lists||[]].filter(m=>m&&m.id)),c=ee(()=>{const m=new Map;for(const f of l.value){const v=i(f.id);m.has(v)||m.set(v,[]),m.get(v).push(f)}return[...m.entries()].map(([f,v])=>({name:f,items:v.slice().sort((L,T)=>(T.count||0)-(L.count||0)),total:v.reduce((L,T)=>L+(T.count||0),0)})).sort((f,v)=>v.total-f.total)}),u=ue(null);function d(m){const f=u.value===m.id;u.value=f?null:m.id,window.dispatchEvent(new CustomEvent("doxa-upg-100-list:show-on-map",{detail:{instanceId:n.value,listId:f?null:m.id,label:f?null:m.label}}))}const g=m=>`${a.value}/previews/${m}.webp`,w=ue({}),h=ue(null);async function _(m){if(!h.value){h.value={label:m.label,kind:"Poster",phase:"fetch",message:"fetching poster",pct:20};try{const f=`${a.value}/posters/${m.id}.webp`,v=await fetch(f);if(!v.ok)throw new Error(`poster not found (${v.status})`);h.value={...h.value,phase:"save",message:"saving",pct:80};const L=await v.blob();x(L,`doxa-upg-100-${m.id}-poster.webp`),h.value={...h.value,phase:"done",message:"saved",pct:100},setTimeout(()=>{h.value=null},900)}catch(f){h.value={label:m.label,kind:"Poster",phase:"error",message:String((f==null?void 0:f.message)||f).slice(0,140),pct:0}}}}function y(m){h.value={label:m.label,kind:"Prayer List",phase:"soon",message:"Coming soon — the prayer list for each people group is in build.",pct:0}}function x(m,f){const v=document.createElement("a");v.href=URL.createObjectURL(m),v.download=f,document.body.appendChild(v),v.click(),v.remove(),setTimeout(()=>URL.revokeObjectURL(v.href),4e3)}function S(){h.value=null}return At(`.wall{position:absolute;inset:0;overflow-y:auto;padding:22px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.wall.is-dark{background:#0a1410;color:#e5e7eb}.wall-h{margin:0 0 6px;font-size:19px;font-weight:700;text-align:center}.wall-tag{margin:0 auto 12px;width:fit-content;padding:3px 11px;border-radius:999px;background:rgba(16,185,129,.13);color:#0b7a5b;border:1px solid rgba(16,185,129,.28);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.is-dark .wall-tag{background:rgba(16,185,129,.16);color:#6ee7b7;border-color:rgba(110,231,183,.32)}.wall-sub{margin:0 auto 22px;max-width:620px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.wall-sub strong{font-weight:700;opacity:1;color:inherit}.grid{display:grid;gap:64px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-width:1180px;margin:0 auto}.card{position:relative;background:#fff;border:1px solid #e3e6ea;border-radius:3px;padding:24px 12px 26px;box-shadow:0 1px 3px rgba(0,0,0,.10),0 6px 18px rgba(0,0,0,.07);transition:transform .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-3px);box-shadow:0 3px 8px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.10)}.is-dark .card{background:#132019;border-color:rgba(110,231,183,.20)}.tape{box-sizing:border-box;position:absolute;left:50%;transform:translateX(-50%);z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid rgba(0,0,0,.08);background:#eef2f6;color:#23303c}.is-dark .tape{background:#1d2b23;color:#cfe9d9;border-color:rgba(255,255,255,.10)}.tape-h{top:-11px;width:82%;padding:4px 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:5px}.tape-h:hover{background:#e2e8ee}.hcount{font-weight:800;font-variant-numeric:tabular-nums}.hsep{opacity:.45}.hlabel{font-weight:600}.card.is-last{box-shadow:0 0 0 2px #10b981,0 6px 18px rgba(0,0,0,.10)}.card.is-last .tape-h{background:#10b981;color:#04241a;border-color:#10b981}.pfs{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);width:82%;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);border-radius:2px;background:#fff;display:flex;gap:2px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:#8a93a0}.is-dark .pfs > legend{color:#7f9c8c}.pbtn{position:relative;flex:1;border:0;background:none;color:#5b6672;font:inherit;font-size:10.5px;font-weight:600;padding:2px 6px 3px;cursor:pointer;white-space:nowrap;transition:color .15s}.pbtn::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background .15s}.pbtn:hover{color:#10b981}.pbtn:hover::after{background:#10b981}.is-dark .pbtn{color:#9fb3a8}.sec{max-width:1180px;margin:0 auto 56px}.sec-head{display:flex;align-items:baseline;gap:10px;margin:0 2px 14px;padding-bottom:7px;border-bottom:1px solid rgba(0,0,0,.10)}.is-dark .sec-head{border-bottom-color:rgba(255,255,255,.12)}.sec-name{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em}.sec-count{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.main{position:relative;aspect-ratio:1/1;border:1px solid #dfe3e7;overflow:hidden;background:#fbfcfd;display:flex;align-items:center;justify-content:center}.is-dark .main{background:#0c1712;border-color:rgba(255,255,255,.08)}.img{width:100%;height:100%;object-fit:contain;display:block}.ph{padding:14px 10px;text-align:center}.ph-label{font-size:12.5px;font-weight:700;line-height:1.3}.ph-count{margin-top:5px;font-size:11px;opacity:.7}.ph-note{margin-top:10px;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.45}.spinner{width:22px;height:22px;margin:0 auto 8px;border:2px solid rgba(0,0,0,.12);border-top-color:rgba(0,0,0,.45);border-radius:50%;animation:upgspin .8s linear infinite}.is-dark .spinner{border-color:rgba(255,255,255,.16);border-top-color:rgba(255,255,255,.55)}@keyframes upgspin{to{transform:rotate(360deg)}}.modal-scrim{position:fixed;inset:0;z-index:1000;background:rgba(8,12,16,.55);display:grid;place-items:center;padding:22px}.modal{width:min(340px,100%);background:#fff;color:#0f1419;border-radius:14px;padding:20px 22px;box-shadow:0 10px 40px rgba(0,0,0,.35);text-align:center}.is-dark .modal{background:#132019;color:#e5e7eb}.modal-kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.modal-title{margin:3px 0 14px;font-size:15px;font-weight:700;line-height:1.3}.bar{height:5px;border-radius:99px;background:rgba(0,0,0,.10);overflow:hidden}.is-dark .bar{background:rgba(255,255,255,.12)}.bar-fill{height:100%;background:#10b981;border-radius:99px;transition:width .25s ease}.modal-phase{margin-top:10px;font-size:12.5px;font-weight:600}.modal-hint{margin-top:6px;font-size:11px;line-height:1.5;opacity:.62}.modal-soon{font-size:13px;line-height:1.5;color:#5f5849;margin:6px 0 14px}.modal-err{font-size:12.5px;line-height:1.55;color:#b42318;margin-bottom:14px}.is-dark .modal-err{color:#fda29b}.modal-btn{border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit;font:inherit;font-size:12.5px;padding:6px 18px;border-radius:8px;cursor:pointer}.modal-btn:hover{background:rgba(0,0,0,.06)}`,"upg-poster-wall"),(m,f)=>(z(),te("div",{class:Ce(["wall",{"is-dark":r.value}])},[f[6]||(f[6]=E("h2",{class:"wall-h"},"My UPG 100 List — Prayer Lists & Posters",-1)),f[7]||(f[7]=E("div",{class:"wall-tag"},"Prayer Mobilization",-1)),f[8]||(f[8]=E("p",{class:"wall-sub"},[dt(" Hand away the prayer task in clusters of fifties and hundreds — the way Jesus fed the 5,000 (Luke 9:14). Each poster is a 100-list you can pray, print, and put on a wall — praying for them "),E("strong",null,"by their people group name"),dt(". ")],-1)),(z(!0),te(Le,null,St(c.value,v=>(z(),te("section",{key:v.name,class:"sec"},[E("div",Ay,[E("h3",$y,ce(v.name),1),E("span",Ly,ce(v.total.toLocaleString())+" people groups · "+ce(v.items.length)+" "+ce(v.items.length===1?"list":"lists"),1)]),E("div",Cy,[(z(!0),te(Le,null,St(v.items,L=>(z(),te("div",{key:L.id,class:Ce(["card",{"is-last":u.value===L.id}]),"data-list-id":L.id},[E("button",{type:"button",class:"tape tape-h","aria-label":`Show ${L.label} on the map`,onClick:T=>d(L)},[E("span",Py,ce(L.count)+" UPG",1),f[1]||(f[1]=E("span",{class:"hsep"},"·",-1)),f[2]||(f[2]=E("span",{class:"hlabel"},"Show on map",-1))],8,Ey),E("div",My,[w.value[L.id]?(z(),te("div",Iy,[E("div",Ry,ce(L.label),1),L.count?(z(),te("div",Fy,ce(L.count)+" people groups",1)):me("",!0),f[3]||(f[3]=E("div",{class:"ph-note"},"poster not generated yet",-1))])):(z(),te("img",{key:0,class:"img",src:g(L.id),alt:`${L.label} — UPG 100 list prayer poster`,loading:"lazy",decoding:"async",onError:T=>w.value[L.id]=!0},null,40,Ny))]),E("fieldset",Oy,[f[4]||(f[4]=E("legend",null,"Print Options",-1)),E("button",{type:"button",class:"pbtn",onClick:T=>y(L)},"Prayer List",8,Dy),E("button",{type:"button",class:"pbtn",onClick:T=>_(L)},"Poster Map",8,By)])],10,Ty))),128))])]))),128)),h.value?(z(),te("div",{key:0,class:"modal-scrim",onClick:f[0]||(f[0]=Ht(v=>h.value.phase==="error"&&S(),["self"]))},[E("div",jy,[E("div",Gy,ce(h.value.kind),1),E("div",Uy,ce(h.value.label),1),h.value.phase==="error"?(z(),te(Le,{key:0},[E("div",Ky,ce(h.value.message),1),E("button",{type:"button",class:"modal-btn",onClick:S},"Close")],64)):h.value.phase==="soon"?(z(),te(Le,{key:1},[E("div",Hy,ce(h.value.message),1),E("button",{type:"button",class:"modal-btn",onClick:S},"Close")],64)):(z(),te(Le,{key:2},[E("div",zy,[E("div",{class:"bar-fill",style:tt({width:h.value.pct+"%"})},null,4)]),E("div",Vy,ce(h.value.message),1),f[5]||(f[5]=E("div",{class:"modal-hint"}," Rendering a print-quality image in your browser — nothing is uploaded. ",-1))],64))])])):me("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Su="pplrInstance";function Yy(e){return{instanceId:e,selection:ue(null),activeTab:ue(0),isSearching:ue(!1),geocoderText:ue(""),pinDetail:ue(null),theme:ue("dark")}}function Jy(e){Dt(Su,e)}function qy(){return Ee(Su,null)}const Zy=["data-covered","data-total","data-pct"],Xy={class:"lpb-track"},Qy=["data-span-pct"],e_=["data-seg","data-count","aria-label","onMouseenter","onFocus","onClick"],t_=["data-seg","data-count","aria-label"],o_=["aria-valuenow","aria-valuemax","aria-valuetext","aria-label","title"],Au=mn({__name:"LegendProgressBar",props:{covered:{type:Number,default:0},total:{type:Number,default:0},segments:{type:Array,default:()=>[]},isDark:{type:Boolean,default:!1},label:{type:String,default:""},fmtCount:{type:Function,default:e=>(Number(e)||0).toLocaleString()},compact:{type:Boolean,default:!1},stacked:{type:Boolean,default:!1},showText:{type:Boolean,default:!0}},emits:["select-segment"],setup(e,{emit:t}){const{t:o}=kt();At(` .lpb{position:relative;display:flex;align-items:center;gap:8px;min-width:0;width:100%;box-sizing:border-box;} .lpb-track{position:relative;flex:1 1 auto;min-width:60px;display:flex;height:10px;border-radius:5px;overflow:hidden;background:rgba(110,118,129,0.25);} .lpb-span{display:flex;height:100%;min-width:0;flex:0 0 auto;} @@ -86,7 +86,7 @@ .lpb-light .lpb-pop{background:#f6f8fa;border-color:#d0d7de;color:#1f2328;box-shadow:0 8px 24px rgba(31,35,40,0.18);} .lpb-pop-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,0.4);} .legend-mobile-sheet.collapsed .lpb{display:none!important;} -`,"legend-progress-bar");const n=e,r=t,a=ee(()=>n.total>0?Math.round(n.covered/n.total*100):0),s=ee(()=>n.total>0?Math.min(100,Math.max(0,n.covered/n.total*100)):0),i=ee(()=>n.segments.slice(0,-1)),l=ee(()=>n.segments.length?n.segments[n.segments.length-1]:null);function c(T){return n.covered>0?Math.min(100,Math.max(0,(T.count||0)/n.covered*100)):0}function u(T){return n.total>0?Math.round((T.count||0)/n.total*100):0}const d=ee(()=>n.label||o("legend.progress.covered",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:a.value})),g=ee(()=>o("legend.progress.short",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:a.value}));function w(T){return o("legend.progress.segment",{label:T.label,count:n.fmtCount(T.count||0),pct:u(T)})}const h=ue(null),_=ue(null),y={},x=ue(null),S=ue(0),m=ee(()=>n.segments.find(T=>T.key===x.value)||null);function f(T,N){N?y[T]=N:delete y[T]}async function v(T){x.value=T,await ho();const N=h.value,M=y[T],R=_.value;if(!N||!M||!R)return;const W=N.getBoundingClientRect(),U=M.getBoundingClientRect(),Y=Math.max(0,W.width-R.offsetWidth);S.value=Math.min(Math.max(0,U.left-W.left),Y)}function L(){x.value=null}return(T,N)=>(z(),te("div",{ref_key:"rootEl",ref:h,class:Ce(["lpb",[e.isDark?"lpb-dark":"lpb-light",{"lpb-stacked":e.stacked}]]),"data-covered":e.covered,"data-total":e.total,"data-pct":a.value,onMouseleave:L},[E("div",Xy,[E("span",{class:"lpb-span",style:tt({width:s.value+"%"}),"data-span-pct":s.value.toFixed(2)},[(z(!0),te(Le,null,St(i.value,M=>(z(),te("button",{key:M.key,type:"button",class:Ce(["lpb-seg",{active:x.value===M.key}]),style:tt({width:c(M)+"%",background:M.color}),"data-seg":M.key,"data-count":M.count||0,"aria-label":w(M),ref_for:!0,ref:R=>f(M.key,R),onMouseenter:R=>v(M.key),onFocus:R=>v(M.key),onBlur:L,onClick:Ht(R=>r("select-segment",M.key),["stop"])},null,46,e_))),128))],12,Qy),l.value?(z(),te("button",{key:0,type:"button",class:Ce(["lpb-seg lpb-seg-rest",{active:x.value===l.value.key}]),style:tt({background:l.value.color}),"data-seg":l.value.key,"data-count":l.value.count||0,"aria-label":w(l.value),ref:M=>f(l.value.key,M),onMouseenter:N[0]||(N[0]=M=>v(l.value.key)),onFocus:N[1]||(N[1]=M=>v(l.value.key)),onBlur:L,onClick:N[2]||(N[2]=Ht(M=>r("select-segment",l.value.key),["stop"]))},null,46,t_)):be("",!0)]),e.showText?(z(),te("span",{key:0,class:"lpb-text",role:"progressbar","aria-valuenow":e.covered,"aria-valuemin":"0","aria-valuemax":e.total,"aria-valuetext":g.value,"aria-label":d.value,title:d.value},ce(e.compact?a.value+"%":g.value),9,o_)):be("",!0),m.value?(z(),te("div",{key:1,ref_key:"popEl",ref:_,class:"lpb-pop",role:"tooltip",style:tt({left:S.value+"px"})},[E("span",{class:"lpb-pop-dot",style:tt({background:m.value.color})},null,4),dt(ce(w(m.value)),1)],4)):be("",!0)],42,Zy))}},[["__scopeId","data-v-acafdbf6"]]),n_=["data-theme"],a_={class:"stl-inner"},r_={class:"stl-tb-caret-slot"},s_=["title"],i_={class:"stl-tb-eyebrow"},l_=["title","aria-label"],c_=["title"],u_={key:2,class:"stl-tb-title"},d_={key:0,class:"stl-tabs-wrap"},p_={class:"stl-tabs"},g_=["onClick"],f_=["title","onClick"],h_={key:0,class:"stl-info-pop"},m_={class:"stl-col-hdr"},b_={class:"stl-hdr-name"},y_=["title"],__={key:0,class:"stl-sort-arrow"},v_=["title"],k_={key:0,class:"stl-sort-arrow"},w_=["data-stl-node-id","onClick"],x_=["onClick"],S_={key:1,class:"stl-caret-sp"},A_={key:3,class:"stl-dot-sp"},$_={class:"stl-name"},L_={key:4,class:"stl-num"},C_={key:5,class:"stl-num"},T_={class:"stl-x-slot"},E_={key:0,class:"stl-empty stl-loading"},P_={key:1,class:"stl-empty"},M_={key:2,class:"stl-empty"},N_={key:3,class:"stl-overflow"},I_=["data-theme"],R_={class:"stl-reopen-label"},$u=mn({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},defaultTab:{type:Number,default:0},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},exportEnabled:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["select","update:open","export"],setup(e,{emit:t}){const{t:o,te:n}=kt();function r(k){const I="tabs."+((k==null?void 0:k.i18nKey)||(k==null?void 0:k.id));return k&&n(I)?o(I):(k==null?void 0:k.label)??""}const a=e,s=t,i=qy(),l=Ee("legendProgress",null),c=ee(()=>a.progress??ye(l)??null),u=ee(()=>c.value?o("legend.progress.title"):a.title),d=ee(()=>((i==null?void 0:i.theme.value)||"dark")==="dark");function g(k,I){var ne;for(const le of k||[]){if((le==null?void 0:le.id)===I)return le;const he=(ne=le==null?void 0:le.children)!=null&&ne.length?g(le.children,I):null;if(he)return he}return null}function w(k){const I=g(m.value,k);I&&J(I)}function h(k,I=0){return k!=null&&k.length?Math.max(...k.map(ne=>h(ne.children??[],I+1))):I}function _(k,I,ne=0){return ne===I?k.slice():k.flatMap(le=>_(le.children??[],I,ne+1))}function y(k,I,ne=[]){var le;for(const he of k){if(he.id===I)return ne;if((le=he.children)!=null&&le.length){const Ae=y(he.children,I,[...ne,he]);if(Ae)return Ae}}return null}function x(k,I=new Set){var ne;if(!((ne=k==null?void 0:k.children)!=null&&ne.length))return I;for(const le of k.children)I.add(le.id),x(le,I);return I}function S(k,I="root"){var le;if(!Array.isArray(k))return[];const ne=[];for(const he of k){if(!he||typeof he!="object"){try{console.warn("[SemanticTreeLegend] dropped null node under",I)}catch{}continue}ne.push((le=he.children)!=null&&le.length?{...he,children:S(he.children,he.label||he.id||I)}:he)}return ne}const m=ee(()=>S(a.nodes)),f=ee(()=>h(m.value)),v=ee(()=>{const k=a.tabs??[],I=k.length||f.value+1;return Array.from({length:I},(ne,le)=>k[le]??{id:`gen${le+1}`,label:`Generation ${le+1}`})}),L=ue(Math.max(0,a.defaultTab|0)),T=ue(new Set),N=ue(null),M=ue(a.open!==null?a.open:!0),R=ue(null),W=ue(!1),U=ue(null),Y=ue("desc"),O=ee({get:()=>a.hideTabs?0:i?i.activeTab.value:L.value,set:k=>{a.hideTabs||(i?i.activeTab.value=k:L.value=k)}}),V=ee({get:()=>i?i.selection.value:N.value,set:k=>{i?i.selection.value=k:N.value=k}}),A=ee(()=>{var k;return((k=V.value)==null?void 0:k.id)||null}),G=ue(null);ct(()=>a.open,k=>{k!==null&&(M.value=k)}),ct(()=>m.value,()=>{const k=i==null?void 0:i.activeTab.value,I=Math.min(Math.max(0,a.defaultTab|0),Math.max(0,v.value.length-1));O.value=typeof k=="number"&&k>=0?k:I,T.value=new Set,V.value=null,s("select",null)},{deep:!1});let re=null;i&&ct(()=>i.selection.value,k=>{if((k==null?void 0:k.id)===re)return;if(!k){re=null;return}re=k.id;const I=y(m.value,k.id)||[];typeof k.depth=="number"&&(O.value=Math.min(k.depth,v.value.length-1));const ne=new Set;I.forEach(le=>ne.add(le.id)),T.value=ne,s("select",k)});function fe(k,I){const ne=(I.pop??0)-(k.pop??0);return ne!==0?ne:(I.count??0)-(k.count??0)}const K=ee(()=>{if(!U.value)return fe;const k=U.value,I=Y.value==="asc"?1:-1;return(ne,le)=>((ne[k]??0)-(le[k]??0))*I});function pe(k){U.value===k?Y.value==="desc"?Y.value="asc":(U.value=null,Y.value="desc"):(U.value=k,Y.value="desc")}const ge=ue([]),Ge=ue(!1);let We=-1;function Ze(k){if(ge.value[k]){Ge.value=!1;return}Ge.value=!0,We=k,setTimeout(()=>{if(We!==k)return;const I=[..._(m.value,k)].sort(K.value),ne=[...ge.value];ne[k]=I,ge.value=ne,Ge.value=!1},0)}ct(O,k=>Ze(k),{immediate:!0}),ct(()=>[m.value,U.value,Y.value],()=>{ge.value=[],Ze(O.value)},{deep:!1});const Xe=ee(()=>ge.value[O.value]||[]),ot=ee(()=>{var I;const k=(I=v.value[O.value])==null?void 0:I.topLimit;return k?Xe.value.slice(0,k):Xe.value}),Qe=ee(()=>{var I;const k=(I=v.value[O.value])==null?void 0:I.topLimit;return k?Math.max(0,Xe.value.length-k):0});function gt(k,I,ne,le,he){var Ae;for(const we of I)we&&(k.push({node:we,relDepth:ne,parent:le,ancestors:he}),T.value.has(we.id)&&((Ae=we.children)!=null&&Ae.length)&>(k,[...we.children].sort(K.value),ne+1,we,[...he,we]))}const et=ee(()=>{const k=[];gt(k,ot.value,0,null,[]);for(let I=0;Ihe+1&&Ie.ancestors[he]}if(he===ne.relDepth-1){let ft=!1;for(let Ie=I+1;IeA.value!==null),$=ee(()=>a.columns.includes("count")),P=ee(()=>a.columns.includes("pop")),C=ee(()=>V.value?x(V.value):new Set),B=ee(()=>{var Ae;const k=V.value;if(!k)return null;const I=y(m.value,k.id);if(!I||!I.length)return null;const ne=I[I.length-1],le=I.length-1,he=((Ae=v.value[le])==null?void 0:Ae.label)||"Parent";return{node:ne,tabName:he,depth:le}});function J(k){A.value===k.id?(re=null,V.value=null,s("select",null)):(re=k.id,V.value=k,s("select",k))}function X(k,I){I==null||I.stopPropagation();const ne=new Set(T.value),le=ne.has(k);if(le?ne.delete(k):ne.add(k),T.value=ne,le&&V.value){const he=y(m.value,V.value.id);he&&he.some(Ae=>Ae.id===k)&&(re=null,V.value=null,s("select",null))}}function Q(){const k=B.value;k!=null&&k.node&&(!a.hideTabs&&typeof k.depth=="number"&&(O.value=k.depth),T.value=new Set,J(k.node))}function q(k){if(O.value===k){R.value=R.value===k?null:k;return}O.value=k,T.value=new Set,re=null,V.value=null,R.value=null,s("select",null)}function p(k){k==null||k.stopPropagation(),re=null,V.value=null,s("select",null)}function b(k,I){I==null||I.stopPropagation(),R.value=R.value===k?null:k}ct(A,k=>{k||(W.value=!1)});function F(k){let I=k.parentElement;for(;I;){const ne=getComputedStyle(I).overflowY;if((ne==="auto"||ne==="scroll")&&I.scrollHeight>I.clientHeight+1){const le=k.getBoundingClientRect(),he=I.getBoundingClientRect();I.scrollTop+=le.top-he.top-8}I=I.parentElement}}let H=0;ct(A,async k=>{if(!k)return;const I=++H,ne=G.value;if(!ne)return;await ho();const le=(he=0)=>{if(I!==H)return;const Ae=ne.querySelector(`[data-stl-node-id="${CSS.escape(String(k))}"]`);Ae&&F(Ae),he<6&&setTimeout(()=>le(he+1),70)};le(0)});function se(k){return k?k>=1e6?(k/1e6).toFixed(1)+"M":k>=1e3?Math.round(k/1e3)+"k":k.toLocaleString():"—"}function ae(k){return k!=null?k.toLocaleString():"—"}function D(k){var I;return{selected:A.value===k.node.id,descendant:wt.value&&C.value.has(k.node.id),child:k.relDepth>0,leaf:!((I=k.node.children)!=null&&I.length)}}return At(` +`,"legend-progress-bar");const n=e,r=t,a=ee(()=>n.total>0?Math.round(n.covered/n.total*100):0),s=ee(()=>n.total>0?Math.min(100,Math.max(0,n.covered/n.total*100)):0),i=ee(()=>n.segments.slice(0,-1)),l=ee(()=>n.segments.length?n.segments[n.segments.length-1]:null);function c(T){return n.covered>0?Math.min(100,Math.max(0,(T.count||0)/n.covered*100)):0}function u(T){return n.total>0?Math.round((T.count||0)/n.total*100):0}const d=ee(()=>n.label||o("legend.progress.covered",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:a.value})),g=ee(()=>o("legend.progress.short",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:a.value}));function w(T){return o("legend.progress.segment",{label:T.label,count:n.fmtCount(T.count||0),pct:u(T)})}const h=ue(null),_=ue(null),y={},x=ue(null),S=ue(0),m=ee(()=>n.segments.find(T=>T.key===x.value)||null);function f(T,N){N?y[T]=N:delete y[T]}async function v(T){x.value=T,await ho();const N=h.value,M=y[T],R=_.value;if(!N||!M||!R)return;const W=N.getBoundingClientRect(),U=M.getBoundingClientRect(),Y=Math.max(0,W.width-R.offsetWidth);S.value=Math.min(Math.max(0,U.left-W.left),Y)}function L(){x.value=null}return(T,N)=>(z(),te("div",{ref_key:"rootEl",ref:h,class:Ce(["lpb",[e.isDark?"lpb-dark":"lpb-light",{"lpb-stacked":e.stacked}]]),"data-covered":e.covered,"data-total":e.total,"data-pct":a.value,onMouseleave:L},[E("div",Xy,[E("span",{class:"lpb-span",style:tt({width:s.value+"%"}),"data-span-pct":s.value.toFixed(2)},[(z(!0),te(Le,null,St(i.value,M=>(z(),te("button",{key:M.key,type:"button",class:Ce(["lpb-seg",{active:x.value===M.key}]),style:tt({width:c(M)+"%",background:M.color}),"data-seg":M.key,"data-count":M.count||0,"aria-label":w(M),ref_for:!0,ref:R=>f(M.key,R),onMouseenter:R=>v(M.key),onFocus:R=>v(M.key),onBlur:L,onClick:Ht(R=>r("select-segment",M.key),["stop"])},null,46,e_))),128))],12,Qy),l.value?(z(),te("button",{key:0,type:"button",class:Ce(["lpb-seg lpb-seg-rest",{active:x.value===l.value.key}]),style:tt({background:l.value.color}),"data-seg":l.value.key,"data-count":l.value.count||0,"aria-label":w(l.value),ref:M=>f(l.value.key,M),onMouseenter:N[0]||(N[0]=M=>v(l.value.key)),onFocus:N[1]||(N[1]=M=>v(l.value.key)),onBlur:L,onClick:N[2]||(N[2]=Ht(M=>r("select-segment",l.value.key),["stop"]))},null,46,t_)):me("",!0)]),e.showText?(z(),te("span",{key:0,class:"lpb-text",role:"progressbar","aria-valuenow":e.covered,"aria-valuemin":"0","aria-valuemax":e.total,"aria-valuetext":g.value,"aria-label":d.value,title:d.value},ce(e.compact?a.value+"%":g.value),9,o_)):me("",!0),m.value?(z(),te("div",{key:1,ref_key:"popEl",ref:_,class:"lpb-pop",role:"tooltip",style:tt({left:S.value+"px"})},[E("span",{class:"lpb-pop-dot",style:tt({background:m.value.color})},null,4),dt(ce(w(m.value)),1)],4)):me("",!0)],42,Zy))}},[["__scopeId","data-v-acafdbf6"]]),n_=["data-theme"],a_={class:"stl-inner"},r_={class:"stl-tb-caret-slot"},s_=["title"],i_={class:"stl-tb-eyebrow"},l_=["title","aria-label"],c_=["title"],u_={key:2,class:"stl-tb-title"},d_={key:0,class:"stl-tabs-wrap"},p_={class:"stl-tabs"},g_=["onClick"],f_=["title","onClick"],h_={key:0,class:"stl-info-pop"},m_={class:"stl-col-hdr"},b_={class:"stl-hdr-name"},y_=["title"],__={key:0,class:"stl-sort-arrow"},v_=["title"],k_={key:0,class:"stl-sort-arrow"},w_=["data-stl-node-id","onClick"],x_=["onClick"],S_={key:1,class:"stl-caret-sp"},A_={key:3,class:"stl-dot-sp"},$_={class:"stl-name"},L_={key:4,class:"stl-num"},C_={key:5,class:"stl-num"},T_={class:"stl-x-slot"},E_={key:0,class:"stl-empty stl-loading"},P_={key:1,class:"stl-empty"},M_={key:2,class:"stl-empty"},N_={key:3,class:"stl-overflow"},I_=["data-theme"],R_={class:"stl-reopen-label"},$u=mn({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},defaultTab:{type:Number,default:0},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},exportEnabled:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["select","update:open","export"],setup(e,{emit:t}){const{t:o,te:n}=kt();function r(k){const I="tabs."+((k==null?void 0:k.i18nKey)||(k==null?void 0:k.id));return k&&n(I)?o(I):(k==null?void 0:k.label)??""}const a=e,s=t,i=qy(),l=Ee("legendProgress",null),c=ee(()=>a.progress??ye(l)??null),u=ee(()=>c.value?o("legend.progress.title"):a.title),d=ee(()=>((i==null?void 0:i.theme.value)||"dark")==="dark");function g(k,I){var ne;for(const le of k||[]){if((le==null?void 0:le.id)===I)return le;const fe=(ne=le==null?void 0:le.children)!=null&&ne.length?g(le.children,I):null;if(fe)return fe}return null}function w(k){const I=g(m.value,k);I&&J(I)}function h(k,I=0){return k!=null&&k.length?Math.max(...k.map(ne=>h(ne.children??[],I+1))):I}function _(k,I,ne=0){return ne===I?k.slice():k.flatMap(le=>_(le.children??[],I,ne+1))}function y(k,I,ne=[]){var le;for(const fe of k){if(fe.id===I)return ne;if((le=fe.children)!=null&&le.length){const Ae=y(fe.children,I,[...ne,fe]);if(Ae)return Ae}}return null}function x(k,I=new Set){var ne;if(!((ne=k==null?void 0:k.children)!=null&&ne.length))return I;for(const le of k.children)I.add(le.id),x(le,I);return I}function S(k,I="root"){var le;if(!Array.isArray(k))return[];const ne=[];for(const fe of k){if(!fe||typeof fe!="object"){try{console.warn("[SemanticTreeLegend] dropped null node under",I)}catch{}continue}ne.push((le=fe.children)!=null&&le.length?{...fe,children:S(fe.children,fe.label||fe.id||I)}:fe)}return ne}const m=ee(()=>S(a.nodes)),f=ee(()=>h(m.value)),v=ee(()=>{const k=a.tabs??[],I=k.length||f.value+1;return Array.from({length:I},(ne,le)=>k[le]??{id:`gen${le+1}`,label:`Generation ${le+1}`})}),L=ue(Math.max(0,a.defaultTab|0)),T=ue(new Set),N=ue(null),M=ue(a.open!==null?a.open:!0),R=ue(null),W=ue(!1),U=ue(null),Y=ue("desc"),O=ee({get:()=>a.hideTabs?0:i?i.activeTab.value:L.value,set:k=>{a.hideTabs||(i?i.activeTab.value=k:L.value=k)}}),V=ee({get:()=>i?i.selection.value:N.value,set:k=>{i?i.selection.value=k:N.value=k}}),A=ee(()=>{var k;return((k=V.value)==null?void 0:k.id)||null}),G=ue(null);ct(()=>a.open,k=>{k!==null&&(M.value=k)}),ct(()=>m.value,()=>{const k=i==null?void 0:i.activeTab.value,I=Math.min(Math.max(0,a.defaultTab|0),Math.max(0,v.value.length-1));O.value=typeof k=="number"&&k>=0?k:I,T.value=new Set,V.value=null,s("select",null)},{deep:!1});let re=null;i&&ct(()=>i.selection.value,k=>{if((k==null?void 0:k.id)===re)return;if(!k){re=null;return}re=k.id;const I=y(m.value,k.id)||[];typeof k.depth=="number"&&(O.value=Math.min(k.depth,v.value.length-1));const ne=new Set;I.forEach(le=>ne.add(le.id)),T.value=ne,s("select",k)});function be(k,I){const ne=(I.pop??0)-(k.pop??0);return ne!==0?ne:(I.count??0)-(k.count??0)}const K=ee(()=>{if(!U.value)return be;const k=U.value,I=Y.value==="asc"?1:-1;return(ne,le)=>((ne[k]??0)-(le[k]??0))*I});function pe(k){U.value===k?Y.value==="desc"?Y.value="asc":(U.value=null,Y.value="desc"):(U.value=k,Y.value="desc")}const ge=ue([]),Ge=ue(!1);let We=-1;function Ze(k){if(ge.value[k]){Ge.value=!1;return}Ge.value=!0,We=k,setTimeout(()=>{if(We!==k)return;const I=[..._(m.value,k)].sort(K.value),ne=[...ge.value];ne[k]=I,ge.value=ne,Ge.value=!1},0)}ct(O,k=>Ze(k),{immediate:!0}),ct(()=>[m.value,U.value,Y.value],()=>{ge.value=[],Ze(O.value)},{deep:!1});const Xe=ee(()=>ge.value[O.value]||[]),ot=ee(()=>{var I;const k=(I=v.value[O.value])==null?void 0:I.topLimit;return k?Xe.value.slice(0,k):Xe.value}),Qe=ee(()=>{var I;const k=(I=v.value[O.value])==null?void 0:I.topLimit;return k?Math.max(0,Xe.value.length-k):0});function gt(k,I,ne,le,fe){var Ae;for(const we of I)we&&(k.push({node:we,relDepth:ne,parent:le,ancestors:fe}),T.value.has(we.id)&&((Ae=we.children)!=null&&Ae.length)&>(k,[...we.children].sort(K.value),ne+1,we,[...fe,we]))}const et=ee(()=>{const k=[];gt(k,ot.value,0,null,[]);for(let I=0;Ife+1&&Ie.ancestors[fe]}if(fe===ne.relDepth-1){let ft=!1;for(let Ie=I+1;IeA.value!==null),$=ee(()=>a.columns.includes("count")),P=ee(()=>a.columns.includes("pop")),C=ee(()=>V.value?x(V.value):new Set),B=ee(()=>{var Ae;const k=V.value;if(!k)return null;const I=y(m.value,k.id);if(!I||!I.length)return null;const ne=I[I.length-1],le=I.length-1,fe=((Ae=v.value[le])==null?void 0:Ae.label)||"Parent";return{node:ne,tabName:fe,depth:le}});function J(k){A.value===k.id?(re=null,V.value=null,s("select",null)):(re=k.id,V.value=k,s("select",k))}function X(k,I){I==null||I.stopPropagation();const ne=new Set(T.value),le=ne.has(k);if(le?ne.delete(k):ne.add(k),T.value=ne,le&&V.value){const fe=y(m.value,V.value.id);fe&&fe.some(Ae=>Ae.id===k)&&(re=null,V.value=null,s("select",null))}}function Q(){const k=B.value;k!=null&&k.node&&(!a.hideTabs&&typeof k.depth=="number"&&(O.value=k.depth),T.value=new Set,J(k.node))}function q(k){if(O.value===k){R.value=R.value===k?null:k;return}O.value=k,T.value=new Set,re=null,V.value=null,R.value=null,s("select",null)}function p(k){k==null||k.stopPropagation(),re=null,V.value=null,s("select",null)}function b(k,I){I==null||I.stopPropagation(),R.value=R.value===k?null:k}ct(A,k=>{k||(W.value=!1)});function F(k){let I=k.parentElement;for(;I;){const ne=getComputedStyle(I).overflowY;if((ne==="auto"||ne==="scroll")&&I.scrollHeight>I.clientHeight+1){const le=k.getBoundingClientRect(),fe=I.getBoundingClientRect();I.scrollTop+=le.top-fe.top-8}I=I.parentElement}}let H=0;ct(A,async k=>{if(!k)return;const I=++H,ne=G.value;if(!ne)return;await ho();const le=(fe=0)=>{if(I!==H)return;const Ae=ne.querySelector(`[data-stl-node-id="${CSS.escape(String(k))}"]`);Ae&&F(Ae),fe<6&&setTimeout(()=>le(fe+1),70)};le(0)});function se(k){return k?k>=1e6?(k/1e6).toFixed(1)+"M":k>=1e3?Math.round(k/1e3)+"k":k.toLocaleString():"—"}function ae(k){return k!=null?k.toLocaleString():"—"}function D(k){var I;return{selected:A.value===k.node.id,descendant:wt.value&&C.value.has(k.node.id),child:k.relDepth>0,leaf:!((I=k.node.children)!=null&&I.length)}}return At(` .stl-inner { --stl-pad-x: 10px; --stl-gap: 6px; @@ -538,7 +538,7 @@ .stl-panel:not(.legend-mobile-sheet *) .stl-info-pop { font-size: 13px; } .stl-panel:not(.legend-mobile-sheet *) .stl-empty, .stl-panel:not(.legend-mobile-sheet *) .stl-overflow { font-size: 12.5px; } -`,"semantic-tree-legend"),(k,I)=>{var ne,le,he,Ae;return z(),te(Le,null,[E("div",{class:Ce(["stl-panel",{closed:!M.value,"fit-content":e.hideTabs}]),"data-theme":((ne=ye(i))==null?void 0:ne.theme.value)||"dark"},[E("div",a_,[E("div",{class:Ce(["stl-titlebar",{"has-progress":!!c.value}])},[E("span",r_,[Bn(k.$slots,"title-caret",{},void 0,!0)]),k.$slots["title-caret"]?be("",!0):(z(),te("button",{key:0,class:Ce(["stl-collapse-btn",{closed:!M.value}]),title:M.value?"Collapse legend":"Expand legend",onClick:I[0]||(I[0]=we=>{M.value=!M.value,s("update:open",M.value)})},[...I[8]||(I[8]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,s_)),B.value&&V.value?(z(),te(Le,{key:1},[E("span",i_,ce(B.value.tabName),1),E("button",{type:"button",class:"stl-tb-up",title:`Go up to ${B.value.node.label}`,"aria-label":`Go up to ${B.value.tabName} ${B.value.node.label}`,onClick:Ht(Q,["stop"])},[I[9]||(I[9]=E("svg",{class:"stl-tb-up-icon",width:"9",height:"9",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true"},[E("path",{d:"M3 7.5L6 4.5L9 7.5",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),B.value.node.color?(z(),te("span",{key:0,class:"stl-tb-dot",style:tt({background:B.value.node.color})},null,4)):be("",!0),E("span",{class:"stl-tb-text",title:B.value.node.label},ce(B.value.node.label),9,c_)],8,l_)],64)):(z(),te("span",u_,ce(u.value),1)),be("",!0),c.value?(z(),rt(Au,{key:4,class:"stl-progress","show-text":!1,covered:c.value.covered,total:c.value.total,segments:c.value.segments,"is-dark":d.value,"fmt-count":ae,onSelectSegment:w},null,8,["covered","total","segments","is-dark"])):be("",!0)],2),e.hideTabs?be("",!0):(z(),te("div",d_,[E("div",p_,[(z(!0),te(Le,null,St(v.value,(we,ft)=>(z(),te("div",{key:we.id,class:Ce(["stl-tab-chip",{active:O.value===ft}])},[E("button",{class:"stl-tab",onClick:Ie=>q(ft)},ce(r(we)),9,g_),we.info?(z(),te("button",{key:0,class:"stl-tab-info",title:we.info,onClick:Ie=>b(ft,Ie)},"i",8,f_)):be("",!0)],2))),128))]),R.value!==null&&((le=v.value[R.value])!=null&&le.info)?(z(),te("div",h_,ce(v.value[R.value].info),1)):be("",!0)])),E("div",m_,[I[13]||(I[13]=E("span",{class:"stl-caret-sp"},null,-1)),I[14]||(I[14]=E("span",{class:"stl-dot-sp"},null,-1)),E("span",b_,ce(e.columnLabel||(e.hideTabs?e.title:r(v.value[O.value])||ye(o)("legend.columns.name"))),1),$.value?(z(),te("button",{key:0,class:Ce(["stl-hdr-num",{active:U.value==="count"}]),title:ye(o)("legend.sortByUpgs"),onClick:I[4]||(I[4]=we=>pe("count"))},[dt(ce(ye(o)("legend.columns.upgs"))+" ",1),U.value==="count"?(z(),te("span",__,ce(Y.value==="desc"?"▼":"▲"),1)):be("",!0)],10,y_)):be("",!0),P.value?(z(),te("button",{key:1,class:Ce(["stl-hdr-num",{active:U.value==="pop"}]),title:ye(o)("legend.sortByPop"),onClick:I[5]||(I[5]=we=>pe("pop"))},[dt(ce(ye(o)("legend.columns.population"))+" ",1),U.value==="pop"?(z(),te("span",k_,ce(Y.value==="desc"?"▼":"▲"),1)):be("",!0)],10,v_)):be("",!0),I[15]||(I[15]=E("span",{class:"stl-x-slot"},null,-1))]),E("div",{class:Ce(["stl-rows",{"has-sel":wt.value}]),ref_key:"rowsContainer",ref:G},[(z(!0),te(Le,null,St(et.value,we=>{var ft,Ie;return z(),te("div",{key:we.node.id,class:Ce(["stl-row",D(we)]),"data-stl-node-id":we.node.id,style:tt({"--trunk-color":((ft=we.parent)==null?void 0:ft.color)||"#6e7681","--row-color":we.node.color||"#73A17F"}),onClick:Ke=>J(we.node)},[(z(!0),te(Le,null,St(we.trunks,(Ke,kn)=>(z(),te("span",{key:`tr${kn}`,class:Ce(["stl-trunk",`stl-trunk-${Ke}`])},null,2))),128)),(Ie=we.node.children)!=null&&Ie.length?(z(),te("button",{key:0,class:Ce(["stl-caret",{open:T.value.has(we.node.id)}]),onClick:Ht(Ke=>X(we.node.id,Ke),["stop"])},[...I[16]||(I[16]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,x_)):(z(),te("span",S_)),we.node.color?(z(),te("span",{key:2,class:"stl-dot",style:tt({background:we.node.color})},null,4)):(z(),te("span",A_)),E("span",$_,ce(we.node.label),1),$.value?(z(),te("span",L_,ce(ae(we.node.count)),1)):be("",!0),P.value?(z(),te("span",C_,ce(se(we.node.pop)),1)):be("",!0),E("span",T_,[A.value===we.node.id?(z(),te("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:I[6]||(I[6]=Ht(Ke=>p(Ke),["stop"]))},[...I[17]||(I[17]=[E("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):be("",!0)])],14,w_)}),128)),Ge.value&&!et.value.length?(z(),te("div",E_,[I[18]||(I[18]=E("span",{class:"stl-spinner"},null,-1)),E("span",null,"Loading "+ce(((he=v.value[O.value])==null?void 0:he.label)||"rows")+"…",1)])):!et.value.length&&e.nodes.length===0?(z(),te("div",P_,"Loading data…")):et.value.length?be("",!0):(z(),te("div",M_,"No data at this level")),Qe.value>0?(z(),te("div",N_,[dt(" Showing top "+ce(v.value[O.value].topLimit.toLocaleString())+" of "+ce(Xe.value.length.toLocaleString())+" — ",1),I[19]||(I[19]=E("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):be("",!0)],2)])],10,n_),M.value?be("",!0):(z(),te("button",{key:0,class:"stl-reopen","data-theme":((Ae=ye(i))==null?void 0:Ae.theme.value)||"dark",title:"Expand legend",onClick:I[7]||(I[7]=we=>{M.value=!0,s("update:open",!0)})},[I[20]||(I[20]=E("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),E("span",R_,[V.value?(z(),te(Le,{key:0},[V.value.color?(z(),te("span",{key:0,class:"stl-reopen-dot",style:tt({background:V.value.color})},null,4)):be("",!0),dt(" "+ce(V.value.label),1)],64)):(z(),te(Le,{key:1},[dt(ce(u.value),1)],64))]),I[21]||(I[21]=E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,I_))],64)}}},[["__scopeId","data-v-78a7a96e"]]),Lu="peoplePraying",nr=144,Fo={noPrayer:"#e74c3c",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Yo=Fo,Ss={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},F_=Ss;function ar(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>=nr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function As(e){return Fo[ar(e)]}function Cu(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 Tu(e){return ar(e)==="fullPrayer"}function Eu(e){return As(e)}function $s({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,nr],Fo.fullPrayer,[">",t,0],Fo.hasPrayer,Fo.noPrayer]}const Pu=$s,O_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:nr,LABELS:Ss,PALETTE:Fo,PRAYER_COLORS:Yo,PRAYER_LABELS:F_,PROPERTY_KEY:Lu,applyColor:$s,buildColorExpression:Pu,checkHasFullPrayer:Tu,checkHasPrayer:Cu,default:{name:"Prayer Progress",propertyKey:Lu,palette:Fo,colors:Fo,labels:Ss,threshold:nr,getColor:Eu,applyColor:$s,buildColorExpression:Pu,getPrayerLevel:ar,getPrayerColor:As,checkHasPrayer:Cu,checkHasFullPrayer:Tu},getColor:Eu,getPrayerColor:As,getPrayerLevel:ar},Symbol.toStringTag,{value:"Module"}));function Mu(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Zo&&Zo.tagName.toUpperCase()==="SCRIPT"&&Zo.src||new URL("my-upg-100-list.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const Ls=ue(0),rr=ue(0),sr=ue(0),Cs=ue(!1),Ts=ue(!1),Es=ue(null);let oa=null;async function D_(){if(!Cs.value)return oa||(Ts.value=!0,Es.value=null,oa=(async()=>{var e,t;try{const o=((e=ta==null?void 0:ta.sources)==null?void 0:e[ta.activeSource])||{},n=Mu(),r=((t=o.endpoints)==null?void 0:t.statistics)||"/api/people-groups/statistics",a=await fetch(`${n}${r}`,{cache:"no-store"});if(!a.ok)throw new Error(`statistics HTTP ${a.status}`);const s=await a.json();Ls.value=Number(s.total||0),rr.value=Number(s.total_with_prayer_committed??s.total_with_prayer??0),sr.value=Number(s.total_with_100_committed??s.total_with_full_prayer??0),Cs.value=!0}catch(o){Es.value=o&&o.message?o.message:String(o)}finally{Ts.value=!1,oa=null}})(),oa)}function B_(){return{total:Ls,withPrayer:rr,withFullPrayer:sr,loaded:Cs,loading:Ts,error:Es,load:D_,noPrayerCount:()=>Math.max(0,Ls.value-rr.value),hasPrayerCount:()=>Math.max(0,rr.value-sr.value),fullPrayerCount:()=>sr.value}}const Nu="engagementStatus",So={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Ps=So,Ms={notEngaged:"Unengaged",hasEngagement:"Engaged"},j_=Ms;function Iu(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)?So.hasEngagement:So.notEngaged}function Ns({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],So.hasEngagement,["==",t,1],So.hasEngagement,So.notEngaged]}const Ru=Ns,G_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Ps,ENGAGEMENT_LABELS:j_,LABELS:Ms,PALETTE:So,PROPERTY_KEY:Nu,applyColor:Ns,buildColorExpression:Ru,default:{name:"Engagement Progress",propertyKey:Nu,palette:So,colors:So,labels:Ms,getColor:Iu,applyColor:Ns,buildColorExpression:Ru},getColor:Iu},Symbol.toStringTag,{value:"Module"})),Fu="adoptionStatus",Ao={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},Is=Ao,Rs={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},U_=Rs;function Ou(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)?Ao.hasAdoption:Ao.notAdopted}function Fs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Ao.hasAdoption,["==",t,1],Ao.hasAdoption,Ao.notAdopted]}const Du=Fs,K_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Is,ADOPTION_LABELS:U_,LABELS:Rs,PALETTE:Ao,PROPERTY_KEY:Fu,applyColor:Fs,buildColorExpression:Du,default:{name:"Adoption Progress",propertyKey:Fu,palette:Ao,colors:Ao,labels:Rs,getColor:Ou,applyColor:Fs,buildColorExpression:Du},getColor:Ou},Symbol.toStringTag,{value:"Module"})),Os="languageFamily",H_="#000000",Oo={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Bu=Oo;function Yt(e){return Oo[e]||H_}const z_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Oo))t[e(o)]=o;return t})();function Ds(e){if(!e)return"Unknown";const t=String(e).trim();return z_[t.toLowerCase()]||t}function ju(e){var t;return Yt(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Bs(){const e=["match",["get",Os]];return Object.entries(Oo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Gu=Bs,V_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Bu,PALETTE:Oo,PROPERTY_KEY:Os,applyColor:Bs,buildColorExpression:Gu,canonicalFamilyName:Ds,default:{name:"Language Family",propertyKey:Os,palette:Oo,colors:Oo,getColor:ju,applyColor:Bs,buildColorExpression:Gu,getLanguageFamilyColor:Yt,canonicalFamilyName:Ds},defaultFamilyColor:"#95a5a6",getColor:ju,getLanguageFamilyColor:Yt,languageFamilyColors:Oo},Symbol.toStringTag,{value:"Module"})),Uu="religion",js="#94a3b8",na={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Ot={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function aa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return na[t]?t:"U"}function Ku(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 Ot[aa(t)]||js}function Gs(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Ot.C,"M",Ot.M,"H",Ot.H,"B",Ot.B,"E",Ot.E,"J",Ot.J,"S",Ot.S,"N",Ot.N,"O",Ot.O,js]}const Hu=Gs,W_=Object.assign({"./adoption.js":K_,"./engagement.js":G_,"./language-family.js":V_,"./prayer-progress.js":O_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ot,PROPERTY_KEY:Uu,RELIGION_FAMILIES:na,applyColor:Gs,buildColorExpression:Hu,default:{name:"Religion",propertyKey:Uu,palette:Ot,families:na,getColor:Ku,applyColor:Gs,buildColorExpression:Hu,fallback:js},getColor:Ku,getReligionFamily:aa},Symbol.toStringTag,{value:"Module"}))}),Y_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),J_=e=>e.replace(/-/g,"_").toUpperCase(),bn={...{STATUS:"status",CUSTOM:"custom"}},Us={};function q_(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=Y_(o);bn[J_(o)]=r,Us[r]=n}}q_(W_);function ir(e){return Us[e]||Us[bn.LANGUAGE_FAMILY]}const $t={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"};function Z_(e){return(e==null?void 0:e.properties)||e||{}}function lr(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function X_(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if($t[n])return $t[n];if(t.length>=3){const r=[t[1],t[0]].join(" ");if($t[r])return $t[r]}}if($t[e])return $t[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&$t[o]?$t[o]:null}const Q_=[[/ sign language$/i,"Sign Language"]];function e0(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function t0(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function o0(e){var s,i,l,c;const t=e.language_family??e.languageFamily??((s=e._raw)==null?void 0:s.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=lr(t),n=Ds(o);if(n&&n!=="Unknown")return n;const r=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),a=lr(r);if(a){const u=String(a).trim(),d=X_(u);if(d)return d;for(const[g,w]of Q_)if(g.test(u))return w}return"Unknown"}function n0(e){var r,a;const t=((r=e._raw)==null?void 0:r.primary_language)??((a=e._raw)==null?void 0:a.PrimaryLanguage);if(t){const s=lr(t);if(s)return String(s).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=lr(o);return n&&String(n).trim()||"— Unknown —"}function a0(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function r0(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function s0(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function i0(e,t){var r,a,s,i;const o=parseFloat(t.latitude??t.lat??((r=t._raw)==null?void 0:r.Latitude)??((a=t._raw)==null?void 0:a.latitude)),n=parseFloat(t.longitude??t.lng??((s=t._raw)==null?void 0:s.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function l0(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function cr(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function zu(e,t={}){t.aggregator;const o=en({});function n(_){return!!o[_]}function r(_){o[_]=!o[_]}function a(_){const y=new Set(Array.isArray(_)?_:[]);for(const x of Object.keys(o))y.has(x)||(o[x]=!1);for(const x of y)o[x]=!0}const s=ee(()=>{const _=(e==null?void 0:e.value)||[],y=new Map;for(const x of _){const S=Z_(x),m=o0(S),f=n0(S),v=e0(f),L=t0(f),T=a0(S),N=r0(x,S),M=s0(x,S),R=i0(x,S);let W=y.get(m);W||(W={key:m,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},y.set(m,W)),W.peopleGroupCount+=1,W.population+=T,N!=null&&W.pinIds.push(N),R&&W.coords.push(R),M&&!W.clusterId&&(W.clusterId=M);let U=W.languages.get(v);if(U||(U={key:v,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},W.languages.set(v,U)),U.peopleGroupCount+=1,U.population+=T,N!=null&&U.pinIds.push(N),R&&U.coords.push(R),M&&!U.clusterId&&(U.clusterId=M),L){let Y=U.dialects.get(L);Y?Y.originalLabels.add(f):(Y={key:L,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([f])},U.dialects.set(L,Y)),Y.peopleGroupCount+=1,Y.population+=T,N!=null&&Y.pinIds.push(N),R&&Y.coords.push(R)}}return y}),i=t.showAllKnown!==!1,l=ee(()=>{const _=s.value,y=[],x=new Set;for(const S of _.values())y.push({key:S.key,label:S.key,color:Yt(S.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"family",clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords}),x.add(S.key);if(i)for(const S of Object.keys(Bu))x.has(S)||y.push({key:S,label:S,color:Yt(S),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return y.sort(l0),y});function c(_){const y=s.value.get(_);if(!y)return[];const x=[];for(const S of y.languages.values())x.push({key:`${_}__${S.key}`,label:S.key,color:Yt(_),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:_,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return x.sort(cr),x}function u(_){const y=_.indexOf("__");if(y<0)return[];const x=_.slice(0,y),S=_.slice(y+2),m=s.value.get(x);if(!m)return[];const f=m.languages.get(S);if(!f)return[];const v=[];for(const L of f.dialects.values())v.push({key:`${_}__${L.key}`,label:`${S}, ${L.key}`,dialectOnly:L.key,color:Yt(x),peopleGroupCount:L.peopleGroupCount,population:L.population,kind:"dialect",languageKey:S,familyKey:x,pinIds:L.pinIds,coords:L.coords,originalLabels:Array.from(L.originalLabels)});return v.sort(cr),v}const d=ee(()=>{const _=s.value,y=[];for(const x of _.values())for(const S of x.languages.values())y.push({key:`${x.key}__${S.key}`,label:S.key,color:Yt(x.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:x.key,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return y.sort(cr),y}),g=ee(()=>{const _=s.value,y=[];for(const x of _.values())for(const S of x.languages.values())for(const m of S.dialects.values())y.push({key:`${x.key}__${S.key}__${m.key}`,label:`${S.key}, ${m.key}`,dialectOnly:m.key,color:Yt(x.key),peopleGroupCount:m.peopleGroupCount,population:m.population,kind:"dialect",languageKey:S.key,familyKey:x.key,pinIds:m.pinIds,coords:m.coords,originalLabels:Array.from(m.originalLabels)});return y.sort(cr),y});function w(_){let y=_;if(typeof _=="string"&&(y=l.value.find(S=>S.key===_),!y))return;const x={kind:y.kind,pinIds:y.pinIds||[],coords:y.coords||[]};y.kind==="family"&&(x.familyKey=y.label),y.kind==="language"&&(x.languageKey=y.label,x.familyKey=y.familyKey),y.kind==="dialect"&&(x.dialectKey=y.key,x.dialectOnly=y.dialectOnly||y.label,x.languageKey=y.languageKey,x.familyKey=y.familyKey,x.originalLabels=y.originalLabels||[]),y.kind==="cluster"&&(x.clusterId=y.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:x}))}const h=ee(()=>{const _=s.value,y=[];for(const x of _.values()){const S=Yt(x.key),m=[];for(const v of x.languages.values()){v.key&&v.key!=="— Unknown —"&&m.push(v.key);for(const L of v.dialects.values())for(const T of L.originalLabels)T&&m.push(T)}const f={id:`fam:${x.key}`,label:x.key,color:S,count:x.peopleGroupCount,pop:x.population,filter:m.length>0?["any",["==",["get","languageFamily"],x.key],["in",["get","language"],["literal",Array.from(new Set(m))]]]:["==",["get","languageFamily"],x.key],children:[]};for(const v of x.languages.values()){const L=v.key,T={id:`lang:${x.key}__${L}`,label:L,color:S,count:v.peopleGroupCount,pop:v.population,filter:["any",["==",["get","language"],L],["==",["slice",["get","language"],0,L.length+1],L+","],["in"," "+L,["get","language"]]],children:[]};for(const N of v.dialects.values()){const M=Array.from(N.originalLabels);T.children.push({id:`dial:${x.key}__${L}__${N.key}`,label:`${L}, ${N.key}`,color:S,count:N.peopleGroupCount,pop:N.population,filter:M.length===1?["==",["get","language"],M[0]]:["in",["get","language"],["literal",M]],originalLabels:M,children:[]})}f.children.push(T)}y.push(f)}return y.sort((x,S)=>S.pop-x.pop||S.count-x.count),y});return{rows:l,languageRows:d,dialectRows:g,langTree:h,toggle:r,isExpanded:n,setExpansionToOnly:a,childRowsFor:c,dialectRowsFor:u,highlight:w}}const c0=[];function u0(){const e=ir(bn.RESOURCE);return e&&e.propertyKey==="resourceType"?e:null}function d0(){const e=ir(bn.DOXA_REGION);return e&&e.propertyKey==="doxaRegion"?e.palette||{}:{}}function p0(){const e=ir(bn.AFFINITY_BLOCK);if(!e||e.propertyKey!=="affinityBlock")return{};const t=e.names||{},o=e.palette||{},n={};for(const r of Object.keys(t))n[t[r]]=o[r]||"#999";return n}function Jo(e,t){const r=Object.values(e.sources||{}).flatMap(a=>(a==null?void 0:a.features)||[]).filter(a=>t(a.properties||a));return{count:r.length,population:r.reduce((a,s)=>{var l;const i=s.properties||s;return a+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}const Vu=100;function g0(e){var o;let t=(e==null?void 0:e.peopleCommitted)??((o=e==null?void 0:e._raw)==null?void 0:o.people_committed)??(e==null?void 0:e.people_committed)??null;return t&&typeof t=="object"&&(t=t.value??t.label??0),Number(t)||0}function Ks(e){return t=>{const o=g0(t);return e==="fullPrayer"?o>=Vu:e==="hasPrayer"?o>0&&o0||typeof t=="string"&&parseInt(t,10)>0}function Yu(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const f0={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs",countries:"legend.title.countries",country:"legend.title.countries","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function yn(e){return e==="doxa-region"?"doxa-regions":e==="country"?"countries":e}function h0(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function m0(e){return(Number(e)||0).toLocaleString()}function b0(e,t={}){const o=Ee("dataStore"),n=Ee("uiStore"),r=Ee("mapStore"),{t:a}=kt(),s=B_();s.load();const i=ee(()=>{if(yn(e.value)==="religion")return"Religion";const x=f0[e.value];return x?a(x):""}),l=ee(()=>yn(e.value)==="affinity-blocs"?c0:[{key:"count",label:a("legend.columns.upgs"),width:48},{key:"population",label:a("legend.columns.population"),width:48}]),c=ee(()=>{const y=yn(e.value);return y==="prayer"?n.prayerFilter:y==="engagement"?n.engagementFilter:y==="adoption"?n.adoptionFilter:y==="language-families"?r.selectedFamily:y==="doxa-regions"?r.selectedRegion:y==="gospel-resources"?r.selectedResource:y==="religion"?n.religionFilter:null});function u(y){const x=yn(e.value);x==="prayer"?n.setPrayerFilter(n.prayerFilter===y?null:y):x==="engagement"?n.setEngagementFilter(n.engagementFilter===y?null:y):x==="adoption"?n.setAdoptionFilter(n.adoptionFilter===y?null:y):x==="language-families"?r.selectFamily(r.selectedFamily===y?null:y):x==="doxa-regions"?r.selectRegion(r.selectedRegion===y?null:y):x==="gospel-resources"?r.selectResource(r.selectedResource===y?null:y):x==="religion"&&n.setReligionFilter(n.religionFilter===y?null:y)}const d=ee(()=>{var x,S,m,f;const y=yn(e.value);if(y==="prayer"){const v=Jo(o,Ks("noPrayer")),L=Jo(o,Ks("hasPrayer")),T=Jo(o,Ks("fullPrayer")),N=s.loaded.value,M=N?s.noPrayerCount():v.count,R=N?s.hasPrayerCount():L.count,W=N?s.fullPrayerCount():T.count;return[{key:"noPrayer",label:a("legend.prayer.needsPrayer"),color:Yo.noPrayer,count:M,population:v.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:a("legend.prayer.hasPrayer"),color:Yo.hasPrayer,count:R,population:L.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:a("legend.prayer.fullPrayerCoverage"),color:Yo.fullPrayer,count:W,population:T.population,filterKey:"fullPrayer"}]}]}if(y==="engagement"){const v=Jo(o,T=>!Wu(T)),L=Jo(o,T=>Wu(T));return[{key:"notEngaged",label:a("legend.engagement.needsEngagement"),color:Ps.notEngaged,count:v.count,population:v.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:a("legend.engagement.hasEngagement"),color:Ps.hasEngagement,count:L.count,population:L.population,filterKey:"hasEngagement"}]}]}if(y==="adoption"){const v=Jo(o,T=>!Yu(T)),L=Jo(o,T=>Yu(T));return[{key:"notAdopted",label:a("legend.adoption.needsAdoption"),color:Is.notAdopted,count:v.count,population:v.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:a("legend.adoption.hasAdoption"),color:Is.hasAdoption,count:L.count,population:L.population,filterKey:"hasAdoption"}]}]}if(y==="religion"){const v={},T=Object.values(o.sources||{}).flatMap(R=>(R==null?void 0:R.features)||[]);for(const R of T){const W=R.properties||R,U=W.religion||((S=(x=W._raw)==null?void 0:x.religion)==null?void 0:S.value)||((m=W._raw)==null?void 0:m.religion)||"",Y=aa(U);v[Y]||(v[Y]={count:0,population:0}),v[Y].count+=1,v[Y].population+=parseInt(W.population||((f=W._raw)==null?void 0:f.Population)||0)||0}const N=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const R of N)delete v[R];return Object.keys(v).sort((R,W)=>R==="C"?-1:W==="C"?1:v[W].population-v[R].population).map(R=>({key:R,label:na[R]||"Unknown",color:Ot[R]||"#94a3b8",count:v[R].count,population:v[R].population,filterKey:R,children:[]}))}if(y==="language-families")return(o.languageFamiliesData||[]).map(v=>({key:v.name,label:v.name,color:Yt(v.name),count:v.count,population:v.population,filterKey:v.name,children:[]}));if(y==="language-family"){const L={value:Object.values(o.sources||{}).flatMap(N=>(N==null?void 0:N.features)||[])},{rows:T}=zu(L);return T.value.map(N=>({key:N.key,label:N.label,color:N.color,count:N.peopleGroupCount,population:N.population,filterKey:N.key,children:[]}))}if(y==="doxa-regions"){const v=d0();return(o.doxaRegionsData||[]).map(L=>({key:L.name,label:L.name,color:v[L.name]||"#999",count:L.count,population:L.population,filterKey:L.name,children:[]}))}if(y==="gospel-resources"){const v=u0(),L=(v==null?void 0:v.palette)??{},T=(v==null?void 0:v.names)??{},N=o.resourcesData||[];return Object.keys(L).map(M=>{const R=N.find(W=>W.key===M);return{key:M,label:T[M]||M,color:L[M],count:(R==null?void 0:R.count)||0,population:(R==null?void 0:R.population)||0,filterKey:M,children:((R==null?void 0:R.children)||[]).map(W=>({key:W.key,label:W.name||W.key,color:W.color||L[M],count:W.count||0,population:W.population||0,filterKey:W.key}))}})}if(y==="affinity-blocs"){const v=p0();return Object.keys(v).sort().map(L=>({key:L,label:L,color:v[L],filterKey:L,children:[]}))}return[]});function g(y,x){return y.reduce((S,m)=>{var v;let f=m[x]||0;return(v=m.children)!=null&&v.length&&(f+=g(m.children,x)),S+f},0)}const w=ee(()=>g(d.value,"count")),h=ee(()=>g(d.value,"population")),_=ee(()=>{if(yn(e.value)!=="prayer")return null;const y=d.value[0];if(!y)return null;const x=(y.children||[]).find(T=>T.key==="hasPrayer"),S=(y.children||[]).find(T=>T.key==="fullPrayer"),m=Number(y.count)||0,f=Number(x==null?void 0:x.count)||0,v=Number(S==null?void 0:S.count)||0,L=(Number(x==null?void 0:x.population)||0)+(Number(S==null?void 0:S.population)||0);return{covered:f+v,total:w.value,coveredPopulation:L,totalPopulation:h.value,segments:[{key:"fullPrayer",label:(S==null?void 0:S.label)??a("legend.prayer.fullPrayerCoverage"),count:v,color:Yo.fullPrayer},{key:"hasPrayer",label:(x==null?void 0:x.label)??a("legend.prayer.hasPrayer"),count:f,color:Yo.hasPrayer},{key:"noPrayer",label:y.label,count:m,color:Yo.noPrayer}]}});return{items:d,columns:l,title:i,activeFilter:c,setFilter:u,totalCount:w,totalPopulation:h,progress:_,fmtPop:h0,fmtCount:m0}}const y0={excludeReligionFamilies:["C"]},_0={key:0,class:"lrg-title-row"},v0={class:"lrg-title-caret-slot"},k0={class:"lrg-title"},w0=["data-lrg-filter-key"],x0=["onClick"],S0={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},A0=["onClick"],$0={class:"lrg-name"},L0={class:"lrg-badge-inner"},C0=["data-lrg-filter-key"],T0=["onClick"],E0={class:"lrg-name"},P0={class:"lrg-badge-inner"},M0={key:1,class:"lrg-footer"},N0={class:"lrg-footer-label"},I0=mn({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["filter-click"],setup(e){const{t}=kt();At(` +`,"semantic-tree-legend"),(k,I)=>{var ne,le,fe,Ae;return z(),te(Le,null,[E("div",{class:Ce(["stl-panel",{closed:!M.value,"fit-content":e.hideTabs}]),"data-theme":((ne=ye(i))==null?void 0:ne.theme.value)||"dark"},[E("div",a_,[E("div",{class:Ce(["stl-titlebar",{"has-progress":!!c.value}])},[E("span",r_,[Bn(k.$slots,"title-caret",{},void 0,!0)]),k.$slots["title-caret"]?me("",!0):(z(),te("button",{key:0,class:Ce(["stl-collapse-btn",{closed:!M.value}]),title:M.value?"Collapse legend":"Expand legend",onClick:I[0]||(I[0]=we=>{M.value=!M.value,s("update:open",M.value)})},[...I[8]||(I[8]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,s_)),B.value&&V.value?(z(),te(Le,{key:1},[E("span",i_,ce(B.value.tabName),1),E("button",{type:"button",class:"stl-tb-up",title:`Go up to ${B.value.node.label}`,"aria-label":`Go up to ${B.value.tabName} ${B.value.node.label}`,onClick:Ht(Q,["stop"])},[I[9]||(I[9]=E("svg",{class:"stl-tb-up-icon",width:"9",height:"9",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true"},[E("path",{d:"M3 7.5L6 4.5L9 7.5",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),B.value.node.color?(z(),te("span",{key:0,class:"stl-tb-dot",style:tt({background:B.value.node.color})},null,4)):me("",!0),E("span",{class:"stl-tb-text",title:B.value.node.label},ce(B.value.node.label),9,c_)],8,l_)],64)):(z(),te("span",u_,ce(u.value),1)),me("",!0),c.value?(z(),rt(Au,{key:4,class:"stl-progress","show-text":!1,covered:c.value.covered,total:c.value.total,segments:c.value.segments,"is-dark":d.value,"fmt-count":ae,onSelectSegment:w},null,8,["covered","total","segments","is-dark"])):me("",!0)],2),e.hideTabs?me("",!0):(z(),te("div",d_,[E("div",p_,[(z(!0),te(Le,null,St(v.value,(we,ft)=>(z(),te("div",{key:we.id,class:Ce(["stl-tab-chip",{active:O.value===ft}])},[E("button",{class:"stl-tab",onClick:Ie=>q(ft)},ce(r(we)),9,g_),we.info?(z(),te("button",{key:0,class:"stl-tab-info",title:we.info,onClick:Ie=>b(ft,Ie)},"i",8,f_)):me("",!0)],2))),128))]),R.value!==null&&((le=v.value[R.value])!=null&&le.info)?(z(),te("div",h_,ce(v.value[R.value].info),1)):me("",!0)])),E("div",m_,[I[13]||(I[13]=E("span",{class:"stl-caret-sp"},null,-1)),I[14]||(I[14]=E("span",{class:"stl-dot-sp"},null,-1)),E("span",b_,ce(e.columnLabel||(e.hideTabs?e.title:r(v.value[O.value])||ye(o)("legend.columns.name"))),1),$.value?(z(),te("button",{key:0,class:Ce(["stl-hdr-num",{active:U.value==="count"}]),title:ye(o)("legend.sortByUpgs"),onClick:I[4]||(I[4]=we=>pe("count"))},[dt(ce(ye(o)("legend.columns.upgs"))+" ",1),U.value==="count"?(z(),te("span",__,ce(Y.value==="desc"?"▼":"▲"),1)):me("",!0)],10,y_)):me("",!0),P.value?(z(),te("button",{key:1,class:Ce(["stl-hdr-num",{active:U.value==="pop"}]),title:ye(o)("legend.sortByPop"),onClick:I[5]||(I[5]=we=>pe("pop"))},[dt(ce(ye(o)("legend.columns.population"))+" ",1),U.value==="pop"?(z(),te("span",k_,ce(Y.value==="desc"?"▼":"▲"),1)):me("",!0)],10,v_)):me("",!0),I[15]||(I[15]=E("span",{class:"stl-x-slot"},null,-1))]),E("div",{class:Ce(["stl-rows",{"has-sel":wt.value}]),ref_key:"rowsContainer",ref:G},[(z(!0),te(Le,null,St(et.value,we=>{var ft,Ie;return z(),te("div",{key:we.node.id,class:Ce(["stl-row",D(we)]),"data-stl-node-id":we.node.id,style:tt({"--trunk-color":((ft=we.parent)==null?void 0:ft.color)||"#6e7681","--row-color":we.node.color||"#73A17F"}),onClick:Ke=>J(we.node)},[(z(!0),te(Le,null,St(we.trunks,(Ke,kn)=>(z(),te("span",{key:`tr${kn}`,class:Ce(["stl-trunk",`stl-trunk-${Ke}`])},null,2))),128)),(Ie=we.node.children)!=null&&Ie.length?(z(),te("button",{key:0,class:Ce(["stl-caret",{open:T.value.has(we.node.id)}]),onClick:Ht(Ke=>X(we.node.id,Ke),["stop"])},[...I[16]||(I[16]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,x_)):(z(),te("span",S_)),we.node.color?(z(),te("span",{key:2,class:"stl-dot",style:tt({background:we.node.color})},null,4)):(z(),te("span",A_)),E("span",$_,ce(we.node.label),1),$.value?(z(),te("span",L_,ce(ae(we.node.count)),1)):me("",!0),P.value?(z(),te("span",C_,ce(se(we.node.pop)),1)):me("",!0),E("span",T_,[A.value===we.node.id?(z(),te("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:I[6]||(I[6]=Ht(Ke=>p(Ke),["stop"]))},[...I[17]||(I[17]=[E("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):me("",!0)])],14,w_)}),128)),Ge.value&&!et.value.length?(z(),te("div",E_,[I[18]||(I[18]=E("span",{class:"stl-spinner"},null,-1)),E("span",null,"Loading "+ce(((fe=v.value[O.value])==null?void 0:fe.label)||"rows")+"…",1)])):!et.value.length&&e.nodes.length===0?(z(),te("div",P_,"Loading data…")):et.value.length?me("",!0):(z(),te("div",M_,"No data at this level")),Qe.value>0?(z(),te("div",N_,[dt(" Showing top "+ce(v.value[O.value].topLimit.toLocaleString())+" of "+ce(Xe.value.length.toLocaleString())+" — ",1),I[19]||(I[19]=E("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):me("",!0)],2)])],10,n_),M.value?me("",!0):(z(),te("button",{key:0,class:"stl-reopen","data-theme":((Ae=ye(i))==null?void 0:Ae.theme.value)||"dark",title:"Expand legend",onClick:I[7]||(I[7]=we=>{M.value=!0,s("update:open",!0)})},[I[20]||(I[20]=E("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),E("span",R_,[V.value?(z(),te(Le,{key:0},[V.value.color?(z(),te("span",{key:0,class:"stl-reopen-dot",style:tt({background:V.value.color})},null,4)):me("",!0),dt(" "+ce(V.value.label),1)],64)):(z(),te(Le,{key:1},[dt(ce(u.value),1)],64))]),I[21]||(I[21]=E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,I_))],64)}}},[["__scopeId","data-v-78a7a96e"]]),Lu="peoplePraying",nr=144,Fo={noPrayer:"#e74c3c",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Yo=Fo,Ss={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},F_=Ss;function ar(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>=nr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function As(e){return Fo[ar(e)]}function Cu(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 Tu(e){return ar(e)==="fullPrayer"}function Eu(e){return As(e)}function $s({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,nr],Fo.fullPrayer,[">",t,0],Fo.hasPrayer,Fo.noPrayer]}const Pu=$s,O_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:nr,LABELS:Ss,PALETTE:Fo,PRAYER_COLORS:Yo,PRAYER_LABELS:F_,PROPERTY_KEY:Lu,applyColor:$s,buildColorExpression:Pu,checkHasFullPrayer:Tu,checkHasPrayer:Cu,default:{name:"Prayer Progress",propertyKey:Lu,palette:Fo,colors:Fo,labels:Ss,threshold:nr,getColor:Eu,applyColor:$s,buildColorExpression:Pu,getPrayerLevel:ar,getPrayerColor:As,checkHasPrayer:Cu,checkHasFullPrayer:Tu},getColor:Eu,getPrayerColor:As,getPrayerLevel:ar},Symbol.toStringTag,{value:"Module"}));function Mu(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Zo&&Zo.tagName.toUpperCase()==="SCRIPT"&&Zo.src||new URL("my-upg-100-list.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const Ls=ue(0),rr=ue(0),sr=ue(0),Cs=ue(!1),Ts=ue(!1),Es=ue(null);let oa=null;async function D_(){if(!Cs.value)return oa||(Ts.value=!0,Es.value=null,oa=(async()=>{var e,t;try{const o=((e=ta==null?void 0:ta.sources)==null?void 0:e[ta.activeSource])||{},n=Mu(),r=((t=o.endpoints)==null?void 0:t.statistics)||"/api/people-groups/statistics",a=await fetch(`${n}${r}`,{cache:"no-store"});if(!a.ok)throw new Error(`statistics HTTP ${a.status}`);const s=await a.json();Ls.value=Number(s.total||0),rr.value=Number(s.total_with_prayer_committed??s.total_with_prayer??0),sr.value=Number(s.total_with_100_committed??s.total_with_full_prayer??0),Cs.value=!0}catch(o){Es.value=o&&o.message?o.message:String(o)}finally{Ts.value=!1,oa=null}})(),oa)}function B_(){return{total:Ls,withPrayer:rr,withFullPrayer:sr,loaded:Cs,loading:Ts,error:Es,load:D_,noPrayerCount:()=>Math.max(0,Ls.value-rr.value),hasPrayerCount:()=>Math.max(0,rr.value-sr.value),fullPrayerCount:()=>sr.value}}const Nu="engagementStatus",So={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Ps=So,Ms={notEngaged:"Unengaged",hasEngagement:"Engaged"},j_=Ms;function Iu(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)?So.hasEngagement:So.notEngaged}function Ns({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],So.hasEngagement,["==",t,1],So.hasEngagement,So.notEngaged]}const Ru=Ns,G_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Ps,ENGAGEMENT_LABELS:j_,LABELS:Ms,PALETTE:So,PROPERTY_KEY:Nu,applyColor:Ns,buildColorExpression:Ru,default:{name:"Engagement Progress",propertyKey:Nu,palette:So,colors:So,labels:Ms,getColor:Iu,applyColor:Ns,buildColorExpression:Ru},getColor:Iu},Symbol.toStringTag,{value:"Module"})),Fu="adoptionStatus",Ao={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},Is=Ao,Rs={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},U_=Rs;function Ou(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)?Ao.hasAdoption:Ao.notAdopted}function Fs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Ao.hasAdoption,["==",t,1],Ao.hasAdoption,Ao.notAdopted]}const Du=Fs,K_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Is,ADOPTION_LABELS:U_,LABELS:Rs,PALETTE:Ao,PROPERTY_KEY:Fu,applyColor:Fs,buildColorExpression:Du,default:{name:"Adoption Progress",propertyKey:Fu,palette:Ao,colors:Ao,labels:Rs,getColor:Ou,applyColor:Fs,buildColorExpression:Du},getColor:Ou},Symbol.toStringTag,{value:"Module"})),Os="languageFamily",H_="#000000",Oo={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Bu=Oo;function Yt(e){return Oo[e]||H_}const z_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Oo))t[e(o)]=o;return t})();function Ds(e){if(!e)return"Unknown";const t=String(e).trim();return z_[t.toLowerCase()]||t}function ju(e){var t;return Yt(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Bs(){const e=["match",["get",Os]];return Object.entries(Oo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Gu=Bs,V_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Bu,PALETTE:Oo,PROPERTY_KEY:Os,applyColor:Bs,buildColorExpression:Gu,canonicalFamilyName:Ds,default:{name:"Language Family",propertyKey:Os,palette:Oo,colors:Oo,getColor:ju,applyColor:Bs,buildColorExpression:Gu,getLanguageFamilyColor:Yt,canonicalFamilyName:Ds},defaultFamilyColor:"#95a5a6",getColor:ju,getLanguageFamilyColor:Yt,languageFamilyColors:Oo},Symbol.toStringTag,{value:"Module"})),Uu="religion",js="#94a3b8",na={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Ot={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function aa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return na[t]?t:"U"}function Ku(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 Ot[aa(t)]||js}function Gs(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Ot.C,"M",Ot.M,"H",Ot.H,"B",Ot.B,"E",Ot.E,"J",Ot.J,"S",Ot.S,"N",Ot.N,"O",Ot.O,js]}const Hu=Gs,W_=Object.assign({"./adoption.js":K_,"./engagement.js":G_,"./language-family.js":V_,"./prayer-progress.js":O_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ot,PROPERTY_KEY:Uu,RELIGION_FAMILIES:na,applyColor:Gs,buildColorExpression:Hu,default:{name:"Religion",propertyKey:Uu,palette:Ot,families:na,getColor:Ku,applyColor:Gs,buildColorExpression:Hu,fallback:js},getColor:Ku,getReligionFamily:aa},Symbol.toStringTag,{value:"Module"}))}),Y_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),J_=e=>e.replace(/-/g,"_").toUpperCase(),bn={...{STATUS:"status",CUSTOM:"custom"}},Us={};function q_(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=Y_(o);bn[J_(o)]=r,Us[r]=n}}q_(W_);function ir(e){return Us[e]||Us[bn.LANGUAGE_FAMILY]}const $t={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"};function Z_(e){return(e==null?void 0:e.properties)||e||{}}function lr(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function X_(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if($t[n])return $t[n];if(t.length>=3){const r=[t[1],t[0]].join(" ");if($t[r])return $t[r]}}if($t[e])return $t[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&$t[o]?$t[o]:null}const Q_=[[/ sign language$/i,"Sign Language"]];function e0(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function t0(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function o0(e){var s,i,l,c;const t=e.language_family??e.languageFamily??((s=e._raw)==null?void 0:s.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=lr(t),n=Ds(o);if(n&&n!=="Unknown")return n;const r=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),a=lr(r);if(a){const u=String(a).trim(),d=X_(u);if(d)return d;for(const[g,w]of Q_)if(g.test(u))return w}return"Unknown"}function n0(e){var r,a;const t=((r=e._raw)==null?void 0:r.primary_language)??((a=e._raw)==null?void 0:a.PrimaryLanguage);if(t){const s=lr(t);if(s)return String(s).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=lr(o);return n&&String(n).trim()||"— Unknown —"}function a0(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function r0(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function s0(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function i0(e,t){var r,a,s,i;const o=parseFloat(t.latitude??t.lat??((r=t._raw)==null?void 0:r.Latitude)??((a=t._raw)==null?void 0:a.latitude)),n=parseFloat(t.longitude??t.lng??((s=t._raw)==null?void 0:s.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function l0(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function cr(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function zu(e,t={}){t.aggregator;const o=en({});function n(_){return!!o[_]}function r(_){o[_]=!o[_]}function a(_){const y=new Set(Array.isArray(_)?_:[]);for(const x of Object.keys(o))y.has(x)||(o[x]=!1);for(const x of y)o[x]=!0}const s=ee(()=>{const _=(e==null?void 0:e.value)||[],y=new Map;for(const x of _){const S=Z_(x),m=o0(S),f=n0(S),v=e0(f),L=t0(f),T=a0(S),N=r0(x,S),M=s0(x,S),R=i0(x,S);let W=y.get(m);W||(W={key:m,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},y.set(m,W)),W.peopleGroupCount+=1,W.population+=T,N!=null&&W.pinIds.push(N),R&&W.coords.push(R),M&&!W.clusterId&&(W.clusterId=M);let U=W.languages.get(v);if(U||(U={key:v,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},W.languages.set(v,U)),U.peopleGroupCount+=1,U.population+=T,N!=null&&U.pinIds.push(N),R&&U.coords.push(R),M&&!U.clusterId&&(U.clusterId=M),L){let Y=U.dialects.get(L);Y?Y.originalLabels.add(f):(Y={key:L,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([f])},U.dialects.set(L,Y)),Y.peopleGroupCount+=1,Y.population+=T,N!=null&&Y.pinIds.push(N),R&&Y.coords.push(R)}}return y}),i=t.showAllKnown!==!1,l=ee(()=>{const _=s.value,y=[],x=new Set;for(const S of _.values())y.push({key:S.key,label:S.key,color:Yt(S.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"family",clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords}),x.add(S.key);if(i)for(const S of Object.keys(Bu))x.has(S)||y.push({key:S,label:S,color:Yt(S),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return y.sort(l0),y});function c(_){const y=s.value.get(_);if(!y)return[];const x=[];for(const S of y.languages.values())x.push({key:`${_}__${S.key}`,label:S.key,color:Yt(_),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:_,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return x.sort(cr),x}function u(_){const y=_.indexOf("__");if(y<0)return[];const x=_.slice(0,y),S=_.slice(y+2),m=s.value.get(x);if(!m)return[];const f=m.languages.get(S);if(!f)return[];const v=[];for(const L of f.dialects.values())v.push({key:`${_}__${L.key}`,label:`${S}, ${L.key}`,dialectOnly:L.key,color:Yt(x),peopleGroupCount:L.peopleGroupCount,population:L.population,kind:"dialect",languageKey:S,familyKey:x,pinIds:L.pinIds,coords:L.coords,originalLabels:Array.from(L.originalLabels)});return v.sort(cr),v}const d=ee(()=>{const _=s.value,y=[];for(const x of _.values())for(const S of x.languages.values())y.push({key:`${x.key}__${S.key}`,label:S.key,color:Yt(x.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:x.key,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return y.sort(cr),y}),g=ee(()=>{const _=s.value,y=[];for(const x of _.values())for(const S of x.languages.values())for(const m of S.dialects.values())y.push({key:`${x.key}__${S.key}__${m.key}`,label:`${S.key}, ${m.key}`,dialectOnly:m.key,color:Yt(x.key),peopleGroupCount:m.peopleGroupCount,population:m.population,kind:"dialect",languageKey:S.key,familyKey:x.key,pinIds:m.pinIds,coords:m.coords,originalLabels:Array.from(m.originalLabels)});return y.sort(cr),y});function w(_){let y=_;if(typeof _=="string"&&(y=l.value.find(S=>S.key===_),!y))return;const x={kind:y.kind,pinIds:y.pinIds||[],coords:y.coords||[]};y.kind==="family"&&(x.familyKey=y.label),y.kind==="language"&&(x.languageKey=y.label,x.familyKey=y.familyKey),y.kind==="dialect"&&(x.dialectKey=y.key,x.dialectOnly=y.dialectOnly||y.label,x.languageKey=y.languageKey,x.familyKey=y.familyKey,x.originalLabels=y.originalLabels||[]),y.kind==="cluster"&&(x.clusterId=y.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:x}))}const h=ee(()=>{const _=s.value,y=[];for(const x of _.values()){const S=Yt(x.key),m=[];for(const v of x.languages.values()){v.key&&v.key!=="— Unknown —"&&m.push(v.key);for(const L of v.dialects.values())for(const T of L.originalLabels)T&&m.push(T)}const f={id:`fam:${x.key}`,label:x.key,color:S,count:x.peopleGroupCount,pop:x.population,filter:m.length>0?["any",["==",["get","languageFamily"],x.key],["in",["get","language"],["literal",Array.from(new Set(m))]]]:["==",["get","languageFamily"],x.key],children:[]};for(const v of x.languages.values()){const L=v.key,T={id:`lang:${x.key}__${L}`,label:L,color:S,count:v.peopleGroupCount,pop:v.population,filter:["any",["==",["get","language"],L],["==",["slice",["get","language"],0,L.length+1],L+","],["in"," "+L,["get","language"]]],children:[]};for(const N of v.dialects.values()){const M=Array.from(N.originalLabels);T.children.push({id:`dial:${x.key}__${L}__${N.key}`,label:`${L}, ${N.key}`,color:S,count:N.peopleGroupCount,pop:N.population,filter:M.length===1?["==",["get","language"],M[0]]:["in",["get","language"],["literal",M]],originalLabels:M,children:[]})}f.children.push(T)}y.push(f)}return y.sort((x,S)=>S.pop-x.pop||S.count-x.count),y});return{rows:l,languageRows:d,dialectRows:g,langTree:h,toggle:r,isExpanded:n,setExpansionToOnly:a,childRowsFor:c,dialectRowsFor:u,highlight:w}}const c0=[];function u0(){const e=ir(bn.RESOURCE);return e&&e.propertyKey==="resourceType"?e:null}function d0(){const e=ir(bn.DOXA_REGION);return e&&e.propertyKey==="doxaRegion"?e.palette||{}:{}}function p0(){const e=ir(bn.AFFINITY_BLOCK);if(!e||e.propertyKey!=="affinityBlock")return{};const t=e.names||{},o=e.palette||{},n={};for(const r of Object.keys(t))n[t[r]]=o[r]||"#999";return n}function Jo(e,t){const r=Object.values(e.sources||{}).flatMap(a=>(a==null?void 0:a.features)||[]).filter(a=>t(a.properties||a));return{count:r.length,population:r.reduce((a,s)=>{var l;const i=s.properties||s;return a+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}const Vu=100;function g0(e){var o;let t=(e==null?void 0:e.peopleCommitted)??((o=e==null?void 0:e._raw)==null?void 0:o.people_committed)??(e==null?void 0:e.people_committed)??null;return t&&typeof t=="object"&&(t=t.value??t.label??0),Number(t)||0}function Ks(e){return t=>{const o=g0(t);return e==="fullPrayer"?o>=Vu:e==="hasPrayer"?o>0&&o0||typeof t=="string"&&parseInt(t,10)>0}function Yu(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const f0={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs",countries:"legend.title.countries",country:"legend.title.countries","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function yn(e){return e==="doxa-region"?"doxa-regions":e==="country"?"countries":e}function h0(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function m0(e){return(Number(e)||0).toLocaleString()}function b0(e,t={}){const o=Ee("dataStore"),n=Ee("uiStore"),r=Ee("mapStore"),{t:a}=kt(),s=B_();s.load();const i=ee(()=>{if(yn(e.value)==="religion")return"Religion";const x=f0[e.value];return x?a(x):""}),l=ee(()=>yn(e.value)==="affinity-blocs"?c0:[{key:"count",label:a("legend.columns.upgs"),width:48},{key:"population",label:a("legend.columns.population"),width:48}]),c=ee(()=>{const y=yn(e.value);return y==="prayer"?n.prayerFilter:y==="engagement"?n.engagementFilter:y==="adoption"?n.adoptionFilter:y==="language-families"?r.selectedFamily:y==="doxa-regions"?r.selectedRegion:y==="gospel-resources"?r.selectedResource:y==="religion"?n.religionFilter:null});function u(y){const x=yn(e.value);x==="prayer"?n.setPrayerFilter(n.prayerFilter===y?null:y):x==="engagement"?n.setEngagementFilter(n.engagementFilter===y?null:y):x==="adoption"?n.setAdoptionFilter(n.adoptionFilter===y?null:y):x==="language-families"?r.selectFamily(r.selectedFamily===y?null:y):x==="doxa-regions"?r.selectRegion(r.selectedRegion===y?null:y):x==="gospel-resources"?r.selectResource(r.selectedResource===y?null:y):x==="religion"&&n.setReligionFilter(n.religionFilter===y?null:y)}const d=ee(()=>{var x,S,m,f;const y=yn(e.value);if(y==="prayer"){const v=Jo(o,Ks("noPrayer")),L=Jo(o,Ks("hasPrayer")),T=Jo(o,Ks("fullPrayer")),N=s.loaded.value,M=N?s.noPrayerCount():v.count,R=N?s.hasPrayerCount():L.count,W=N?s.fullPrayerCount():T.count;return[{key:"noPrayer",label:a("legend.prayer.needsPrayer"),color:Yo.noPrayer,count:M,population:v.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:a("legend.prayer.hasPrayer"),color:Yo.hasPrayer,count:R,population:L.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:a("legend.prayer.fullPrayerCoverage"),color:Yo.fullPrayer,count:W,population:T.population,filterKey:"fullPrayer"}]}]}if(y==="engagement"){const v=Jo(o,T=>!Wu(T)),L=Jo(o,T=>Wu(T));return[{key:"notEngaged",label:a("legend.engagement.needsEngagement"),color:Ps.notEngaged,count:v.count,population:v.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:a("legend.engagement.hasEngagement"),color:Ps.hasEngagement,count:L.count,population:L.population,filterKey:"hasEngagement"}]}]}if(y==="adoption"){const v=Jo(o,T=>!Yu(T)),L=Jo(o,T=>Yu(T));return[{key:"notAdopted",label:a("legend.adoption.needsAdoption"),color:Is.notAdopted,count:v.count,population:v.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:a("legend.adoption.hasAdoption"),color:Is.hasAdoption,count:L.count,population:L.population,filterKey:"hasAdoption"}]}]}if(y==="religion"){const v={},T=Object.values(o.sources||{}).flatMap(R=>(R==null?void 0:R.features)||[]);for(const R of T){const W=R.properties||R,U=W.religion||((S=(x=W._raw)==null?void 0:x.religion)==null?void 0:S.value)||((m=W._raw)==null?void 0:m.religion)||"",Y=aa(U);v[Y]||(v[Y]={count:0,population:0}),v[Y].count+=1,v[Y].population+=parseInt(W.population||((f=W._raw)==null?void 0:f.Population)||0)||0}const N=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const R of N)delete v[R];return Object.keys(v).sort((R,W)=>R==="C"?-1:W==="C"?1:v[W].population-v[R].population).map(R=>({key:R,label:na[R]||"Unknown",color:Ot[R]||"#94a3b8",count:v[R].count,population:v[R].population,filterKey:R,children:[]}))}if(y==="language-families")return(o.languageFamiliesData||[]).map(v=>({key:v.name,label:v.name,color:Yt(v.name),count:v.count,population:v.population,filterKey:v.name,children:[]}));if(y==="language-family"){const L={value:Object.values(o.sources||{}).flatMap(N=>(N==null?void 0:N.features)||[])},{rows:T}=zu(L);return T.value.map(N=>({key:N.key,label:N.label,color:N.color,count:N.peopleGroupCount,population:N.population,filterKey:N.key,children:[]}))}if(y==="doxa-regions"){const v=d0();return(o.doxaRegionsData||[]).map(L=>({key:L.name,label:L.name,color:v[L.name]||"#999",count:L.count,population:L.population,filterKey:L.name,children:[]}))}if(y==="gospel-resources"){const v=u0(),L=(v==null?void 0:v.palette)??{},T=(v==null?void 0:v.names)??{},N=o.resourcesData||[];return Object.keys(L).map(M=>{const R=N.find(W=>W.key===M);return{key:M,label:T[M]||M,color:L[M],count:(R==null?void 0:R.count)||0,population:(R==null?void 0:R.population)||0,filterKey:M,children:((R==null?void 0:R.children)||[]).map(W=>({key:W.key,label:W.name||W.key,color:W.color||L[M],count:W.count||0,population:W.population||0,filterKey:W.key}))}})}if(y==="affinity-blocs"){const v=p0();return Object.keys(v).sort().map(L=>({key:L,label:L,color:v[L],filterKey:L,children:[]}))}return[]});function g(y,x){return y.reduce((S,m)=>{var v;let f=m[x]||0;return(v=m.children)!=null&&v.length&&(f+=g(m.children,x)),S+f},0)}const w=ee(()=>g(d.value,"count")),h=ee(()=>g(d.value,"population")),_=ee(()=>{if(yn(e.value)!=="prayer")return null;const y=d.value[0];if(!y)return null;const x=(y.children||[]).find(T=>T.key==="hasPrayer"),S=(y.children||[]).find(T=>T.key==="fullPrayer"),m=Number(y.count)||0,f=Number(x==null?void 0:x.count)||0,v=Number(S==null?void 0:S.count)||0,L=(Number(x==null?void 0:x.population)||0)+(Number(S==null?void 0:S.population)||0);return{covered:f+v,total:w.value,coveredPopulation:L,totalPopulation:h.value,segments:[{key:"fullPrayer",label:(S==null?void 0:S.label)??a("legend.prayer.fullPrayerCoverage"),count:v,color:Yo.fullPrayer},{key:"hasPrayer",label:(x==null?void 0:x.label)??a("legend.prayer.hasPrayer"),count:f,color:Yo.hasPrayer},{key:"noPrayer",label:y.label,count:m,color:Yo.noPrayer}]}});return{items:d,columns:l,title:i,activeFilter:c,setFilter:u,totalCount:w,totalPopulation:h,progress:_,fmtPop:h0,fmtCount:m0}}const y0={excludeReligionFamilies:["C"]},_0={key:0,class:"lrg-title-row"},v0={class:"lrg-title-caret-slot"},k0={class:"lrg-title"},w0=["data-lrg-filter-key"],x0=["onClick"],S0={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},A0=["onClick"],$0={class:"lrg-name"},L0={class:"lrg-badge-inner"},C0=["data-lrg-filter-key"],T0=["onClick"],E0={class:"lrg-name"},P0={class:"lrg-badge-inner"},M0={key:1,class:"lrg-footer"},N0={class:"lrg-footer-label"},I0=mn({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["filter-click"],setup(e){const{t}=kt();At(` .legend-row-group{--lrg-caret-col:30px;display:flex;flex-direction:column;height:100%;min-height:0;} .lrg-items{display:grid;grid-template-columns:var(--lrg-grid-cols, var(--lrg-caret-col) minmax(80px,1fr) auto auto var(--lrg-caret-col));grid-auto-rows:auto;align-content:start;column-gap:6px;row-gap:6px;padding:0 0 12px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;} .lrg-items::-webkit-scrollbar{display:none;width:0;height:0;} @@ -575,7 +575,7 @@ .lrg-dark .lrg-header-col{color:rgba(243,243,241,0.65);} .lrg-dark .lrg-footer{background:#2a332a;border-top-color:rgba(255,255,255,0.1);color:rgba(243,243,241,0.75);} .lrg-dark .lrg-footer-label{color:rgba(243,243,241,0.65);} -`,"legend-row-group");const o=e,n=Ee("legendProgress",null),r=ee(()=>o.progress??ye(n)??null),a=ee(()=>r.value?t("legend.progress.title"):o.title),s=ue(null);function i(g){let w=g.parentElement;for(;w;){const h=getComputedStyle(w).overflowY;if((h==="auto"||h==="scroll")&&w.scrollHeight>w.clientHeight+1){const _=g.getBoundingClientRect(),y=w.getBoundingClientRect();w.scrollTop+=_.top-y.top-8}w=w.parentElement}}let l=0;ct(()=>o.activeFilter,async g=>{if(!g)return;const w=++l,h=s.value;if(!h)return;await ho();const _=(y=0)=>{if(w!==l)return;const x=h.querySelector(`[data-lrg-filter-key="${CSS.escape(String(g))}"]`);x&&i(x),y<6&&setTimeout(()=>_(y+1),70)};_(0)});const c=en({});function u(g){c[g]=!c[g]}const d=ee(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(g,w)=>(z(),te("div",{class:Ce(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[E("div",{class:"lrg-items",style:tt({"--lrg-grid-cols":d.value}),ref_key:"itemsContainer",ref:s},[!e.hideColumnHeader&&(e.title||e.columns.length)?(z(),te("div",_0,[E("span",v0,[Bn(g.$slots,"title-caret",{},void 0,!0)]),E("span",k0,ce(a.value),1),(z(!0),te(Le,null,St(e.columns,h=>(z(),te("span",{key:h.key,class:"lrg-header-col"},ce(h.label),1))),128)),r.value?(z(),rt(Au,{key:0,class:"lrg-progress",covered:r.value.covered,total:r.value.total,segments:r.value.segments,"is-dark":e.isDark,"fmt-count":e.fmtCount,onSelectSegment:w[0]||(w[0]=h=>g.$emit("filter-click",h))},null,8,["covered","total","segments","is-dark","fmt-count"])):be("",!0)])):be("",!0),(z(!0),te(Le,null,St(e.items,h=>(z(),te(Le,{key:h.key},[E("div",{class:"lrg-row","data-lrg-filter-key":h.filterKey},[h.children&&h.children.length&&!e.disableCollapse?(z(),te("button",{key:0,class:Ce(["lrg-caret",{expanded:!c[h.key]}]),onClick:Ht(_=>u(h.key),["stop"]),"aria-label":"Toggle children"},[...w[1]||(w[1]=[E("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,x0)):(z(),te("span",S0)),E("div",{class:Ce(["lrg-item",{selected:e.activeFilter===h.filterKey}]),onClick:_=>g.$emit("filter-click",h.filterKey)},[E("div",{class:"lrg-item-inner",style:tt({backgroundColor:h.color,"--lrg-item-color":h.color})},[E("span",$0,ce(h.label),1),(z(!0),te(Le,null,St(e.columns,_=>(z(),te("span",{key:_.key,class:"lrg-badge"},[E("span",L0,ce(_.key==="population"?e.fmtPop(h.population):e.fmtCount(h.count)),1)]))),128))],4)],10,A0)],8,w0),h.children&&h.children.length&&!c[h.key]?(z(!0),te(Le,{key:0},St(h.children,_=>(z(),te("div",{key:_.key,class:"lrg-row lrg-row-child","data-lrg-filter-key":_.filterKey},[w[2]||(w[2]=E("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),E("div",{class:Ce(["lrg-item",{selected:e.activeFilter===_.filterKey}]),onClick:y=>g.$emit("filter-click",_.filterKey)},[E("div",{class:"lrg-item-inner",style:tt({backgroundColor:_.color,"--lrg-item-color":_.color})},[E("span",E0,ce(_.label),1),(z(!0),te(Le,null,St(e.columns,y=>(z(),te("span",{key:y.key,class:"lrg-badge"},[E("span",P0,ce(y.key==="population"?e.fmtPop(_.population):e.fmtCount(_.count)),1)]))),128))],4)],10,T0)],8,C0))),128)):be("",!0)],64))),128)),e.columns.length&&e.showFooter?(z(),te("div",M0,[w[3]||(w[3]=E("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),E("span",N0,ce(ye(t)("legend.footer.total")),1),(z(!0),te(Le,null,St(e.columns,h=>(z(),te("span",{key:h.key,class:"lrg-footer-value"},ce(h.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):be("",!0)],4)],2))}},[["__scopeId","data-v-3bddba9a"]]),R0="#6b7280";function F0(){const e=ir(bn.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function O0(e,t){const o=F0();return e&&o[e]?o[e]:R0}function D0(e){return(e==null?void 0:e.properties)||e||{}}function Hs(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function B0(e){var t;return String(e.affinityBlock||Hs((t=e._raw)==null?void 0:t.rop1)||"").trim()}function j0(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function G0(e){var t;return String(e.cluster||Hs((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function U0(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 K0(e){var t;return String(e.peopleGroup||Hs((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function H0(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 z0(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function V0(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function W0(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 Y0(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function J0(e){const t=ee(()=>{const a=e&&e.value||[],s=new Map;for(const i of a){const l=D0(i),c=B0(l),u=j0(l)||c||"— Unknown —",d=G0(l),g=U0(l)||d||"— Unknown —",w=K0(l),h=H0(l)||w||"— Unknown —",_=z0(l),y=V0(l)||_,x=W0(l),S=Y0(l);if(!_)continue;let m=s.get(c||"__unknown__");m||(m={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},s.set(c||"__unknown__",m)),m.count+=1,m.pop+=x,m.memberIds.push(_);let f=m.clusters.get(d||"__unknown__");f||(f={code:d,label:g,count:0,pop:0,memberIds:[],peopleGroups:new Map},m.clusters.set(d||"__unknown__",f)),f.count+=1,f.pop+=x,f.memberIds.push(_);let v=f.peopleGroups.get(w||"__unknown__");v||(v={code:w,label:h,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(w||"__unknown__",v)),v.count+=1,v.pop+=x,v.memberIds.push(_),v.instances.push({id:_,name:y,country:S,pop:x})}return s}),o=a=>a&&a.length?["in",["get","uniqueId"],["literal",a]]:["==",["get","uniqueId"],"__none__"],n=ee(()=>{const a=t.value,s=[];for(const i of a.values()){const l=O0(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 d={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 g of u.peopleGroups.values()){const w={id:`pg:${i.code}__${u.code}__${g.code||g.label}`,label:`${g.label} (PG)`,color:l,count:g.count,pop:g.pop,filter:o(g.memberIds),children:[]};g.instances.sort((h,_)=>_.pop-h.pop||h.country.localeCompare(_.country));for(const h of g.instances)w.children.push({id:`pgic:${h.id}`,label:`${h.country?`${h.name}, ${h.country}`:h.name} (PGIC)`,color:l,count:1,pop:h.pop,filter:["==",["get","uniqueId"],h.id],children:[]});d.children.push(w)}d.children.sort((g,w)=>w.count-g.count||w.pop-g.pop),c.children.push(d)}c.children.sort((u,d)=>d.count-u.count||d.pop-u.pop),s.push(c)}return s.sort((i,l)=>l.count-i.count||l.pop-i.pop),s});function r(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),i={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("bloc:")?i.kind="bloc":s.startsWith("cluster:")?i.kind="cluster":s.startsWith("pg:")?i.kind="people-group":s.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:n,highlight:r}}const q0={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},Z0="#95a5a6";function X0(e){return q0[String(e||"").toLowerCase()]||Z0}function Q0(e){return(e==null?void 0:e.properties)||e||{}}function ev(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 tv(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function ov(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function nv(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function av(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function rv(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function sv(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function iv(e){const t=ee(()=>{const r=e&&e.value||[],a=new Map;for(const s of r){const i=Q0(s),l=tv(i),c=ov(i)||l||"— Unknown —",u=nv(i),d=av(i)||u||"— Unknown —",g=rv(i),w=sv(i)||g||"— Unknown —",h=ev(i);if(!l||l==="na"||l==="none")continue;let _=a.get(l);if(_||(_={slug:l,label:c,count:0,pop:0,blocks:new Map},a.set(l,_)),_.count+=1,_.pop+=h,!u||u==="na")continue;let y=_.blocks.get(u);if(y||(y={slug:u,label:d,count:0,pop:0,countries:new Map},_.blocks.set(u,y)),y.count+=1,y.pop+=h,!g)continue;let x=y.countries.get(g);x||(x={iso:g,name:w,count:0,pop:0},y.countries.set(g,x)),x.count+=1,x.pop+=h}return a}),o=ee(()=>{const r=t.value,a=[];for(const s of r.values()){const i=X0(s.slug),l=[],c=[],u=[...s.blocks.values()].sort((d,g)=>g.pop-d.pop||d.label.localeCompare(g.label));for(const d of u){const g=[],w=[],h=[...d.countries.values()].sort((_,y)=>y.pop-_.pop||_.name.localeCompare(y.name));for(const _ of h)g.push(_.iso),l.push(_.iso),w.push({id:`country:${s.slug}__${d.slug}__${_.iso}`,label:_.name,color:i,count:_.count,pop:_.pop,filter:["==",["get","countryIso"],_.iso],isoCodes:[_.iso],children:[]});c.push({id:`block:${s.slug}__${d.slug}`,label:`${d.label} (Bloc)`,color:i,count:d.count,pop:d.pop,filter:["==",["get","wagfBlock"],d.slug],isoCodes:g,children:w})}a.push({id:`region:${s.slug}`,label:`${s.label} (Region)`,color:i,count:s.count,pop:s.pop,filter:["==",["get","doxaRegion"],s.slug],isoCodes:[...new Set(l)],children:c})}return a.sort((s,i)=>i.pop-s.pop||s.label.localeCompare(i.label)),a});function n(r){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!r){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(r.id||""),s={kind:null,label:r.label,filterExpr:r.filter};a.startsWith("region:")?s.kind="region":a.startsWith("block:")?s.kind="block":a.startsWith("country:")&&(s.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,regionsTree:o,highlight:n}}const Ju="doxa-prayed-local";function lv(){try{const e=localStorage.getItem(Ju);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function cv(e){try{localStorage.setItem(Ju,JSON.stringify(e))}catch{}}function uv(e){if(!e)return;const t=lv();t[e]=Date.now(),cv(t);try{window.dispatchEvent(new CustomEvent("doxa:prayed-locally",{detail:{slug:e}}))}catch{}}const qu=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function Zu(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%qu.length,n=qu[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function dv(e,t={}){const{size:o=32,borderRadius:n=4}=t,r=Zu(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:r.backgroundColor,color:r.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const pv={key:0,class:"detail-header"},gv={class:"header-left"},fv={class:"header-text"},hv={class:"people-group-name"},mv={class:"people-group-subtitle"},bv=["aria-label"],yv={class:"detail-content"},_v={key:0,class:"pg-name-lead"},vv={class:"action-buttons"},kv={class:"quick-stats"},wv={class:"stat-item"},xv={class:"stat-label"},Sv={class:"stat-value"},Av={class:"stat-item"},$v={class:"stat-label"},Lv={class:"stat-value"},Cv={class:"stat-item"},Tv={class:"stat-label"},Ev={class:"stat-value"},Pv={class:"stat-item"},Mv={class:"stat-label"},Nv={class:"stat-value"},Iv={class:"stat-item stat-committed"},Rv={class:"stat-label"},Fv={class:"stat-value"},Ov={key:1,class:"image-container position-inside"},Dv=["src","alt"],Bv={key:2,class:"description-section"},jv={key:0,class:"description-text"},Gv={key:1,class:"description-text empty"},Xu="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Qu=mn({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=kt();At(` +`,"legend-row-group");const o=e,n=Ee("legendProgress",null),r=ee(()=>o.progress??ye(n)??null),a=ee(()=>r.value?t("legend.progress.title"):o.title),s=ue(null);function i(g){let w=g.parentElement;for(;w;){const h=getComputedStyle(w).overflowY;if((h==="auto"||h==="scroll")&&w.scrollHeight>w.clientHeight+1){const _=g.getBoundingClientRect(),y=w.getBoundingClientRect();w.scrollTop+=_.top-y.top-8}w=w.parentElement}}let l=0;ct(()=>o.activeFilter,async g=>{if(!g)return;const w=++l,h=s.value;if(!h)return;await ho();const _=(y=0)=>{if(w!==l)return;const x=h.querySelector(`[data-lrg-filter-key="${CSS.escape(String(g))}"]`);x&&i(x),y<6&&setTimeout(()=>_(y+1),70)};_(0)});const c=en({});function u(g){c[g]=!c[g]}const d=ee(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(g,w)=>(z(),te("div",{class:Ce(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[E("div",{class:"lrg-items",style:tt({"--lrg-grid-cols":d.value}),ref_key:"itemsContainer",ref:s},[!e.hideColumnHeader&&(e.title||e.columns.length)?(z(),te("div",_0,[E("span",v0,[Bn(g.$slots,"title-caret",{},void 0,!0)]),E("span",k0,ce(a.value),1),(z(!0),te(Le,null,St(e.columns,h=>(z(),te("span",{key:h.key,class:"lrg-header-col"},ce(h.label),1))),128)),r.value?(z(),rt(Au,{key:0,class:"lrg-progress",covered:r.value.covered,total:r.value.total,segments:r.value.segments,"is-dark":e.isDark,"fmt-count":e.fmtCount,onSelectSegment:w[0]||(w[0]=h=>g.$emit("filter-click",h))},null,8,["covered","total","segments","is-dark","fmt-count"])):me("",!0)])):me("",!0),(z(!0),te(Le,null,St(e.items,h=>(z(),te(Le,{key:h.key},[E("div",{class:"lrg-row","data-lrg-filter-key":h.filterKey},[h.children&&h.children.length&&!e.disableCollapse?(z(),te("button",{key:0,class:Ce(["lrg-caret",{expanded:!c[h.key]}]),onClick:Ht(_=>u(h.key),["stop"]),"aria-label":"Toggle children"},[...w[1]||(w[1]=[E("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,x0)):(z(),te("span",S0)),E("div",{class:Ce(["lrg-item",{selected:e.activeFilter===h.filterKey}]),onClick:_=>g.$emit("filter-click",h.filterKey)},[E("div",{class:"lrg-item-inner",style:tt({backgroundColor:h.color,"--lrg-item-color":h.color})},[E("span",$0,ce(h.label),1),(z(!0),te(Le,null,St(e.columns,_=>(z(),te("span",{key:_.key,class:"lrg-badge"},[E("span",L0,ce(_.key==="population"?e.fmtPop(h.population):e.fmtCount(h.count)),1)]))),128))],4)],10,A0)],8,w0),h.children&&h.children.length&&!c[h.key]?(z(!0),te(Le,{key:0},St(h.children,_=>(z(),te("div",{key:_.key,class:"lrg-row lrg-row-child","data-lrg-filter-key":_.filterKey},[w[2]||(w[2]=E("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),E("div",{class:Ce(["lrg-item",{selected:e.activeFilter===_.filterKey}]),onClick:y=>g.$emit("filter-click",_.filterKey)},[E("div",{class:"lrg-item-inner",style:tt({backgroundColor:_.color,"--lrg-item-color":_.color})},[E("span",E0,ce(_.label),1),(z(!0),te(Le,null,St(e.columns,y=>(z(),te("span",{key:y.key,class:"lrg-badge"},[E("span",P0,ce(y.key==="population"?e.fmtPop(_.population):e.fmtCount(_.count)),1)]))),128))],4)],10,T0)],8,C0))),128)):me("",!0)],64))),128)),e.columns.length&&e.showFooter?(z(),te("div",M0,[w[3]||(w[3]=E("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),E("span",N0,ce(ye(t)("legend.footer.total")),1),(z(!0),te(Le,null,St(e.columns,h=>(z(),te("span",{key:h.key,class:"lrg-footer-value"},ce(h.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):me("",!0)],4)],2))}},[["__scopeId","data-v-3bddba9a"]]),R0="#6b7280";function F0(){const e=ir(bn.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function O0(e,t){const o=F0();return e&&o[e]?o[e]:R0}function D0(e){return(e==null?void 0:e.properties)||e||{}}function Hs(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function B0(e){var t;return String(e.affinityBlock||Hs((t=e._raw)==null?void 0:t.rop1)||"").trim()}function j0(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function G0(e){var t;return String(e.cluster||Hs((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function U0(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 K0(e){var t;return String(e.peopleGroup||Hs((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function H0(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 z0(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function V0(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function W0(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 Y0(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function J0(e){const t=ee(()=>{const a=e&&e.value||[],s=new Map;for(const i of a){const l=D0(i),c=B0(l),u=j0(l)||c||"— Unknown —",d=G0(l),g=U0(l)||d||"— Unknown —",w=K0(l),h=H0(l)||w||"— Unknown —",_=z0(l),y=V0(l)||_,x=W0(l),S=Y0(l);if(!_)continue;let m=s.get(c||"__unknown__");m||(m={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},s.set(c||"__unknown__",m)),m.count+=1,m.pop+=x,m.memberIds.push(_);let f=m.clusters.get(d||"__unknown__");f||(f={code:d,label:g,count:0,pop:0,memberIds:[],peopleGroups:new Map},m.clusters.set(d||"__unknown__",f)),f.count+=1,f.pop+=x,f.memberIds.push(_);let v=f.peopleGroups.get(w||"__unknown__");v||(v={code:w,label:h,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(w||"__unknown__",v)),v.count+=1,v.pop+=x,v.memberIds.push(_),v.instances.push({id:_,name:y,country:S,pop:x})}return s}),o=a=>a&&a.length?["in",["get","uniqueId"],["literal",a]]:["==",["get","uniqueId"],"__none__"],n=ee(()=>{const a=t.value,s=[];for(const i of a.values()){const l=O0(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 d={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 g of u.peopleGroups.values()){const w={id:`pg:${i.code}__${u.code}__${g.code||g.label}`,label:`${g.label} (PG)`,color:l,count:g.count,pop:g.pop,filter:o(g.memberIds),children:[]};g.instances.sort((h,_)=>_.pop-h.pop||h.country.localeCompare(_.country));for(const h of g.instances)w.children.push({id:`pgic:${h.id}`,label:`${h.country?`${h.name}, ${h.country}`:h.name} (PGIC)`,color:l,count:1,pop:h.pop,filter:["==",["get","uniqueId"],h.id],children:[]});d.children.push(w)}d.children.sort((g,w)=>w.count-g.count||w.pop-g.pop),c.children.push(d)}c.children.sort((u,d)=>d.count-u.count||d.pop-u.pop),s.push(c)}return s.sort((i,l)=>l.count-i.count||l.pop-i.pop),s});function r(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),i={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("bloc:")?i.kind="bloc":s.startsWith("cluster:")?i.kind="cluster":s.startsWith("pg:")?i.kind="people-group":s.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:n,highlight:r}}const q0={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},Z0="#95a5a6";function X0(e){return q0[String(e||"").toLowerCase()]||Z0}function Q0(e){return(e==null?void 0:e.properties)||e||{}}function ev(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 tv(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function ov(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function nv(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function av(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function rv(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function sv(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function iv(e){const t=ee(()=>{const r=e&&e.value||[],a=new Map;for(const s of r){const i=Q0(s),l=tv(i),c=ov(i)||l||"— Unknown —",u=nv(i),d=av(i)||u||"— Unknown —",g=rv(i),w=sv(i)||g||"— Unknown —",h=ev(i);if(!l||l==="na"||l==="none")continue;let _=a.get(l);if(_||(_={slug:l,label:c,count:0,pop:0,blocks:new Map},a.set(l,_)),_.count+=1,_.pop+=h,!u||u==="na")continue;let y=_.blocks.get(u);if(y||(y={slug:u,label:d,count:0,pop:0,countries:new Map},_.blocks.set(u,y)),y.count+=1,y.pop+=h,!g)continue;let x=y.countries.get(g);x||(x={iso:g,name:w,count:0,pop:0},y.countries.set(g,x)),x.count+=1,x.pop+=h}return a}),o=ee(()=>{const r=t.value,a=[];for(const s of r.values()){const i=X0(s.slug),l=[],c=[],u=[...s.blocks.values()].sort((d,g)=>g.pop-d.pop||d.label.localeCompare(g.label));for(const d of u){const g=[],w=[],h=[...d.countries.values()].sort((_,y)=>y.pop-_.pop||_.name.localeCompare(y.name));for(const _ of h)g.push(_.iso),l.push(_.iso),w.push({id:`country:${s.slug}__${d.slug}__${_.iso}`,label:_.name,color:i,count:_.count,pop:_.pop,filter:["==",["get","countryIso"],_.iso],isoCodes:[_.iso],children:[]});c.push({id:`block:${s.slug}__${d.slug}`,label:`${d.label} (Bloc)`,color:i,count:d.count,pop:d.pop,filter:["==",["get","wagfBlock"],d.slug],isoCodes:g,children:w})}a.push({id:`region:${s.slug}`,label:`${s.label} (Region)`,color:i,count:s.count,pop:s.pop,filter:["==",["get","doxaRegion"],s.slug],isoCodes:[...new Set(l)],children:c})}return a.sort((s,i)=>i.pop-s.pop||s.label.localeCompare(i.label)),a});function n(r){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!r){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(r.id||""),s={kind:null,label:r.label,filterExpr:r.filter};a.startsWith("region:")?s.kind="region":a.startsWith("block:")?s.kind="block":a.startsWith("country:")&&(s.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,regionsTree:o,highlight:n}}const Ju="doxa-prayed-local";function lv(){try{const e=localStorage.getItem(Ju);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function cv(e){try{localStorage.setItem(Ju,JSON.stringify(e))}catch{}}function uv(e){if(!e)return;const t=lv();t[e]=Date.now(),cv(t);try{window.dispatchEvent(new CustomEvent("doxa:prayed-locally",{detail:{slug:e}}))}catch{}}const qu=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function Zu(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%qu.length,n=qu[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function dv(e,t={}){const{size:o=32,borderRadius:n=4}=t,r=Zu(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:r.backgroundColor,color:r.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const pv={key:0,class:"detail-header"},gv={class:"header-left"},fv={class:"header-text"},hv={class:"people-group-name"},mv={class:"people-group-subtitle"},bv=["aria-label"],yv={class:"detail-content"},_v={key:0,class:"pg-name-lead"},vv={class:"action-buttons"},kv={class:"quick-stats"},wv={class:"stat-item"},xv={class:"stat-label"},Sv={class:"stat-value"},Av={class:"stat-item"},$v={class:"stat-label"},Lv={class:"stat-value"},Cv={class:"stat-item"},Tv={class:"stat-label"},Ev={class:"stat-value"},Pv={class:"stat-item"},Mv={class:"stat-label"},Nv={class:"stat-value"},Iv={class:"stat-item stat-committed"},Rv={class:"stat-label"},Fv={class:"stat-value"},Ov={key:1,class:"image-container position-inside"},Dv=["src","alt"],Bv={key:2,class:"description-section"},jv={key:0,class:"description-text"},Gv={key:1,class:"description-text empty"},Xu="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Qu=mn({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=kt();At(` .people-group-detail{display:flex;flex-direction:column;height:100%;overflow-y:auto;} .people-group-detail.dark-mode{background:#1a1a2e;color:#eee;} .detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:white;position:sticky;top:0;z-index:10;} @@ -626,7 +626,7 @@ .dark-mode .description-text{color:#d1d5db;} .description-text.empty{color:#999;font-style:italic;} .dark-mode .description-text.empty{color:#6b7280;} -`,"legend-people-group-detail");const n=e,r=Ee("uiStore"),a=Ee("profileConfig",null),s=ee(()=>r.legendState),i=ee(()=>r.isMobile),l=ee(()=>!i.value||s.value==="fullyOpen"),c=ee(()=>Zu(n.peopleGroup.properties.name)),u=ee(()=>c.value.letter),d=ee(()=>dv(n.peopleGroup.properties.name,{size:32,borderRadius:4})),g=ee(()=>n.peopleGroup.properties),w=ue(null),h=ue(!1),_=ee(()=>g.value.slug||"");async function y(K){if(!K)return;const pe=Mu();if(pe)try{const ge=await fetch(`${pe}/api/people-groups/detail/${encodeURIComponent(K)}?lang=${encodeURIComponent(o.value)}`);if(!ge.ok)throw new Error(`HTTP ${ge.status}`);w.value=await ge.json()}catch{w.value=null}}ct(_,K=>{h.value=!1,w.value=null,y(K)},{immediate:!0});const x=ee(()=>{var K;return g.value.countryName||g.value.countryIsoLabel||g.value.country||g.value.countryIso||((K=g.value._raw)==null?void 0:K.Country)||""}),S=ee(()=>{var ge;const K=g.value.status||((ge=g.value._raw)==null?void 0:ge.Status),pe=x.value||"Unknown";return K?`${pe} • ${K}`:pe}),m=ee(()=>{var pe;const K=g.value.language||((pe=g.value._raw)==null?void 0:pe.Language);if(!K)return"Unknown";if(typeof K=="object"&&K.label)return K.label;if(typeof K=="string"&&K.startsWith("{"))try{const ge=JSON.parse(K);if(ge!=null&&ge.label)return ge.label}catch{}return K}),f=ee(()=>{var K;return g.value.population||((K=g.value._raw)==null?void 0:K.Population)||0}),v=ee(()=>{var pe,ge;const K=[(pe=w.value)==null?void 0:pe.people_praying,g.value.peoplePraying,(ge=g.value._raw)==null?void 0:ge.people_praying];for(const Ge of K)if(Ge!=null&&Ge!=="")return Number(Ge);return null}),L=ee(()=>v.value===null?"—":v.value.toLocaleString()),T=ee(()=>{var K;return g.value.religionName||g.value.religionLabel||g.value.religion||((K=g.value._raw)==null?void 0:K.Religion)||""}),N=ee(()=>{var K,pe,ge;return((K=w.value)==null?void 0:K.imb_people_description)||((pe=w.value)==null?void 0:pe.description)||g.value.description||((ge=g.value._raw)==null?void 0:ge.Description)||""}),M=ee(()=>{var K,pe,ge;return((K=w.value)==null?void 0:K.image_url)||((pe=w.value)==null?void 0:pe.imageUrl)||g.value.imageUrl||((ge=g.value._raw)==null?void 0:ge.ImageURL)||Xu}),R=ee(()=>{const K=parseInt(f.value);return K>=1e6?`${(K/1e6).toFixed(1)}M`:K>=1e3?`${(K/1e3).toFixed(1)}K`:K.toLocaleString()});function W(){r.selectPeopleGroup(null)}function U(){var Ge;let K="";try{K=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const pe=(Ge=a==null?void 0:a.value)==null?void 0:Ge.utmSource,ge=typeof window<"u"&&window.DOXA_UTM_SOURCE||"";return encodeURIComponent(String(K||pe||ge||"agwm"))}function Y(K){return`https://pray.doxa.life/${encodeURIComponent(K)}?source=doxalife&utm_source=${U()}`}function O(K){return`${V()}/adopt/${encodeURIComponent(K)}/?source=doxalife&utm_source=${U()}`}function V(){const K=typeof window<"u"&&window.DOXA_SITE_URL||"";return String(K||"https://doxa.life").replace(/\/+$/,"")}function A(K){return`${V()}/research/${encodeURIComponent(K)}/?utm_source=${U()}`}function G(){const K=_.value;if(!K)return;n.action!=="adopt"&&uv(K);const pe=n.action==="adopt"?O(K):Y(K);window.open(pe,"_blank","noopener")}function re(){const K=_.value;K&&window.open(A(K),"_blank","noopener")}function fe(K){K.target.dataset.usedFallback||(K.target.dataset.usedFallback="true",K.target.src=Xu)}return(K,pe)=>(z(),te("div",{class:Ce(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?be("",!0):(z(),te("div",pv,[E("div",gv,[E("div",{class:"avatar",style:tt(d.value)},ce(u.value),5),E("div",fv,[E("h3",hv,ce(e.peopleGroup.properties.name),1),E("p",mv,ce(S.value),1)])]),E("button",{class:"close-button",onClick:W,"aria-label":ye(t)("aria.closeDetailView")},[...pe[1]||(pe[1]=[E("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[E("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,bv)])),E("div",yv,[e.hideHeader?(z(),te("h3",_v,ce(e.peopleGroup.properties.name||ye(t)("legend.header.peopleGroupFallback")),1)):be("",!0),E("div",vv,[e.action==="pray"||e.action==="adopt"?(z(),te("button",{key:0,class:"action-btn primary",onClick:G},[pe[2]||(pe[2]=E("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[E("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),E("span",null,ce(e.action==="adopt"?ye(t)("buttons.adoptThem"):ye(t)("buttons.prayForThem")),1)])):be("",!0),E("button",{class:"action-btn secondary",onClick:re},[pe[3]||(pe[3]=E("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[E("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),E("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),E("span",null,ce(ye(t)("buttons.moreInfo")),1)])]),E("div",kv,[E("div",wv,[E("span",xv,ce(ye(t)("detail.labels.country")),1),E("span",Sv,ce(x.value||"—"),1)]),E("div",Av,[E("span",$v,ce(ye(t)("detail.labels.population")),1),E("span",Lv,ce(R.value||"—"),1)]),E("div",Cv,[E("span",Tv,ce(ye(t)("detail.labels.language")),1),E("span",Ev,ce(m.value||"—"),1)]),E("div",Pv,[E("span",Mv,ce(ye(t)("detail.labels.religion")),1),E("span",Nv,ce(T.value||"—"),1)]),E("div",Iv,[E("span",Rv,ce(ye(t)("detail.labels.peopleCommitted")),1),E("span",Fv,ce(L.value),1)])]),l.value?(z(),te("div",Ov,[E("div",{class:Ce(["image-placeholder-svg",{hidden:h.value}])},[...pe[4]||(pe[4]=[E("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[E("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),E("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),M.value?(z(),te("img",{key:0,src:M.value,alt:`${e.peopleGroup.properties.name} people group`,class:Ce(["people-group-image",{loaded:h.value}]),onLoad:pe[0]||(pe[0]=ge=>h.value=!0),onError:fe},null,42,Dv)):be("",!0)])):be("",!0),l.value?(z(),te("div",Bv,[N.value?(z(),te("p",jv,ce(N.value),1)):(z(),te("p",Gv,ce(ye(t)("detail.messages.noDescription")),1))])):be("",!0)])],2))}},[["__scopeId","data-v-8142ca9c"]]),Uv=Object.freeze(Object.defineProperty({__proto__:null,default:Qu},Symbol.toStringTag,{value:"Module"})),Kv={class:"legend-sheet-root"},Hv=["src","alt"],zv={key:0,class:"pull-tab-handle"},Vv=["aria-label"],Wv=["aria-label"],Yv=["aria-label"],Jv={class:"collapsed-detail-title"},qv={class:"legend-content"},Zv=["aria-label"],Xv=["aria-label"],ed=80,Qv=48,e1=44,t1=24,td="--legend-sheet-h",o1=mn({__name:"LegendMobile",props:{legendType:{type:String,required:!0},nodes:{type:Array,default:null},tabs:{type:Array,default:null},columnLabel:{type:String,default:null},title:{type:String,default:null},columns:{type:Array,default:null},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const{t}=kt();At(` +`,"legend-people-group-detail");const n=e,r=Ee("uiStore"),a=Ee("profileConfig",null),s=ee(()=>r.legendState),i=ee(()=>r.isMobile),l=ee(()=>!i.value||s.value==="fullyOpen"),c=ee(()=>Zu(n.peopleGroup.properties.name)),u=ee(()=>c.value.letter),d=ee(()=>dv(n.peopleGroup.properties.name,{size:32,borderRadius:4})),g=ee(()=>n.peopleGroup.properties),w=ue(null),h=ue(!1),_=ee(()=>g.value.slug||"");async function y(K){if(!K)return;const pe=Mu();if(pe)try{const ge=await fetch(`${pe}/api/people-groups/detail/${encodeURIComponent(K)}?lang=${encodeURIComponent(o.value)}`);if(!ge.ok)throw new Error(`HTTP ${ge.status}`);w.value=await ge.json()}catch{w.value=null}}ct(_,K=>{h.value=!1,w.value=null,y(K)},{immediate:!0});const x=ee(()=>{var K;return g.value.countryName||g.value.countryIsoLabel||g.value.country||g.value.countryIso||((K=g.value._raw)==null?void 0:K.Country)||""}),S=ee(()=>{var ge;const K=g.value.status||((ge=g.value._raw)==null?void 0:ge.Status),pe=x.value||"Unknown";return K?`${pe} • ${K}`:pe}),m=ee(()=>{var pe;const K=g.value.language||((pe=g.value._raw)==null?void 0:pe.Language);if(!K)return"Unknown";if(typeof K=="object"&&K.label)return K.label;if(typeof K=="string"&&K.startsWith("{"))try{const ge=JSON.parse(K);if(ge!=null&&ge.label)return ge.label}catch{}return K}),f=ee(()=>{var K;return g.value.population||((K=g.value._raw)==null?void 0:K.Population)||0}),v=ee(()=>{var pe,ge;const K=[(pe=w.value)==null?void 0:pe.people_praying,g.value.peoplePraying,(ge=g.value._raw)==null?void 0:ge.people_praying];for(const Ge of K)if(Ge!=null&&Ge!=="")return Number(Ge);return null}),L=ee(()=>v.value===null?"—":v.value.toLocaleString()),T=ee(()=>{var K;return g.value.religionName||g.value.religionLabel||g.value.religion||((K=g.value._raw)==null?void 0:K.Religion)||""}),N=ee(()=>{var K,pe,ge;return((K=w.value)==null?void 0:K.imb_people_description)||((pe=w.value)==null?void 0:pe.description)||g.value.description||((ge=g.value._raw)==null?void 0:ge.Description)||""}),M=ee(()=>{var K,pe,ge;return((K=w.value)==null?void 0:K.image_url)||((pe=w.value)==null?void 0:pe.imageUrl)||g.value.imageUrl||((ge=g.value._raw)==null?void 0:ge.ImageURL)||Xu}),R=ee(()=>{const K=parseInt(f.value);return K>=1e6?`${(K/1e6).toFixed(1)}M`:K>=1e3?`${(K/1e3).toFixed(1)}K`:K.toLocaleString()});function W(){r.selectPeopleGroup(null)}function U(){var Ge;let K="";try{K=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const pe=(Ge=a==null?void 0:a.value)==null?void 0:Ge.utmSource,ge=typeof window<"u"&&window.DOXA_UTM_SOURCE||"";return encodeURIComponent(String(K||pe||ge||"agwm"))}function Y(K){return`https://pray.doxa.life/${encodeURIComponent(K)}?source=doxalife&utm_source=${U()}`}function O(K){return`${V()}/adopt/${encodeURIComponent(K)}/?source=doxalife&utm_source=${U()}`}function V(){const K=typeof window<"u"&&window.DOXA_SITE_URL||"";return String(K||"https://doxa.life").replace(/\/+$/,"")}function A(K){return`${V()}/research/${encodeURIComponent(K)}/?utm_source=${U()}`}function G(){const K=_.value;if(!K)return;n.action!=="adopt"&&uv(K);const pe=n.action==="adopt"?O(K):Y(K);window.open(pe,"_blank","noopener")}function re(){const K=_.value;K&&window.open(A(K),"_blank","noopener")}function be(K){K.target.dataset.usedFallback||(K.target.dataset.usedFallback="true",K.target.src=Xu)}return(K,pe)=>(z(),te("div",{class:Ce(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?me("",!0):(z(),te("div",pv,[E("div",gv,[E("div",{class:"avatar",style:tt(d.value)},ce(u.value),5),E("div",fv,[E("h3",hv,ce(e.peopleGroup.properties.name),1),E("p",mv,ce(S.value),1)])]),E("button",{class:"close-button",onClick:W,"aria-label":ye(t)("aria.closeDetailView")},[...pe[1]||(pe[1]=[E("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[E("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,bv)])),E("div",yv,[e.hideHeader?(z(),te("h3",_v,ce(e.peopleGroup.properties.name||ye(t)("legend.header.peopleGroupFallback")),1)):me("",!0),E("div",vv,[e.action==="pray"||e.action==="adopt"?(z(),te("button",{key:0,class:"action-btn primary",onClick:G},[pe[2]||(pe[2]=E("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[E("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),E("span",null,ce(e.action==="adopt"?ye(t)("buttons.adoptThem"):ye(t)("buttons.prayForThem")),1)])):me("",!0),E("button",{class:"action-btn secondary",onClick:re},[pe[3]||(pe[3]=E("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[E("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),E("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),E("span",null,ce(ye(t)("buttons.moreInfo")),1)])]),E("div",kv,[E("div",wv,[E("span",xv,ce(ye(t)("detail.labels.country")),1),E("span",Sv,ce(x.value||"—"),1)]),E("div",Av,[E("span",$v,ce(ye(t)("detail.labels.population")),1),E("span",Lv,ce(R.value||"—"),1)]),E("div",Cv,[E("span",Tv,ce(ye(t)("detail.labels.language")),1),E("span",Ev,ce(m.value||"—"),1)]),E("div",Pv,[E("span",Mv,ce(ye(t)("detail.labels.religion")),1),E("span",Nv,ce(T.value||"—"),1)]),E("div",Iv,[E("span",Rv,ce(ye(t)("detail.labels.peopleCommitted")),1),E("span",Fv,ce(L.value),1)])]),l.value?(z(),te("div",Ov,[E("div",{class:Ce(["image-placeholder-svg",{hidden:h.value}])},[...pe[4]||(pe[4]=[E("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[E("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),E("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),M.value?(z(),te("img",{key:0,src:M.value,alt:`${e.peopleGroup.properties.name} people group`,class:Ce(["people-group-image",{loaded:h.value}]),onLoad:pe[0]||(pe[0]=ge=>h.value=!0),onError:be},null,42,Dv)):me("",!0)])):me("",!0),l.value?(z(),te("div",Bv,[N.value?(z(),te("p",jv,ce(N.value),1)):(z(),te("p",Gv,ce(ye(t)("detail.messages.noDescription")),1))])):me("",!0)])],2))}},[["__scopeId","data-v-8142ca9c"]]),Uv=Object.freeze(Object.defineProperty({__proto__:null,default:Qu},Symbol.toStringTag,{value:"Module"})),Kv={class:"legend-sheet-root"},Hv=["src","alt"],zv={key:0,class:"pull-tab-handle"},Vv=["aria-label"],Wv=["aria-label"],Yv=["aria-label"],Jv={class:"collapsed-detail-title"},qv={class:"legend-content"},Zv=["aria-label"],Xv=["aria-label"],ed=80,Qv=48,e1=44,t1=24,td="--legend-sheet-h",o1=mn({__name:"LegendMobile",props:{legendType:{type:String,required:!0},nodes:{type:Array,default:null},tabs:{type:Array,default:null},columnLabel:{type:String,default:null},title:{type:String,default:null},columns:{type:Array,default:null},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const{t}=kt();At(` .floating-mini-image{position:absolute;left:16px;bottom:calc(30% + 16px);z-index:999;pointer-events:auto;cursor:pointer;} .mini-image{width:120px;height:150px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.25);display:block;} .legend-sheet-root{position:absolute;inset:0;pointer-events:none;overflow:hidden;} @@ -715,7 +715,7 @@ .sheet-dark .pull-tab-handle{background:rgba(243,243,241,0.3)!important;} .sheet-dark .legend-content{background:#3b463d!important;} .sheet-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);} -`,"legend-mobile-sheet");const o=e,n=Ee("uiStore");Ee("mapStore");const r=Ee("dataStore"),a=Ee("onSemanticTreeSelect",()=>{}),s=rp(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:d,totalCount:g,totalPopulation:w,fmtPop:h,fmtCount:_}=b0(s,y0),y=Ee("normalizedPeopleGroups",null),x=ee(()=>{var q,p;if((q=y==null?void 0:y.value)!=null&&q.length)return y.value;const Q=[];for(const b in(r==null?void 0:r.sources)||{}){const F=r.sources[b];(p=F==null?void 0:F.features)!=null&&p.length&&Q.push(...F.features)}return Q}),S={get value(){return x.value}},{langTree:m}=zu(S),{affinityTree:f}=J0(S),{regionsTree:v}=iv(S),L=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],T=[{id:"bloc",label:"Block",info:"Affinity Block (rop1) — broadest grouping. 16 blocks total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a block. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],N=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Bloc",info:'WAGF bloc — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their bloc."}],M=ee(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function R(Q){const q=[];for(const p of Q){q.push({id:p.key,label:p.label,color:p.color,count:p.count??0,pop:p.population??0,filter:p.filterKey?["==",["get","_flat_filter"],p.filterKey]:null,children:[]});for(const b of p.children||[])q.push({id:b.key,label:b.label,color:b.color,count:b.count??0,pop:b.population??0,filter:b.filterKey?["==",["get","_flat_filter"],b.filterKey]:null,children:[]})}return q}const W=ee(()=>o.nodes?o.nodes:M.value?R(i.value):o.legendType==="affinity-block"?f.value:o.legendType==="doxa-regions"?v.value:m.value),U=ee(()=>o.nodes?o.tabs:M.value?null:o.legendType==="affinity-block"?T:o.legendType==="doxa-regions"?N:L),Y=ee(()=>o.title?o.title:M.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),O=ee(()=>o.columnLabel!==null?o.columnLabel:o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":M.value?"Status":""),V=ue(null),A=ue(!1),G={pending:null,active:!1,startY:0,startH:0,startState:"",containerH:0,maxH:0,lastH:0,contentEl:null};let re=0;const fe=()=>Date.now()-re<400,K=ee(()=>n.legendState),pe=ee(()=>n.legendHeight),ge=ee(()=>n.caretRotation),Ge=ee(()=>n.showPullTab),We=ee(()=>n.legendMode),Ze=ee(()=>n.selectedPeopleGroup),Xe=ee(()=>{var Q;return We.value==="detail"&&Ze.value?((Q=Ze.value.properties)==null?void 0:Q.name)||t("legend.header.peopleGroupFallback"):K.value==="collapsed"?o.title||t("legend.header.collapsed"):o.title||c.value});function ot(Q){n.handleLegendItemClick(),d(Q)}function Qe(){fe()||n.toggleLegend()}function gt(){fe()||(n.selectPeopleGroup(null),n.openLegend())}const et=ee(()=>{var q;if(!Ze.value)return null;const Q=Ze.value.properties||{};return Q.imageUrl||((q=Q._raw)==null?void 0:q.ImageURL)||null});function wt(Q){var H;if(K.value==="collapsed")return;const q=Q.touches[0],p=V.value;if(!q||!p)return;const F=q.clientY-p.getBoundingClientRect().top<=e1?"grab":We.value==="detail"?"content":null;F&&(G.pending=F,G.active=!1,G.startY=q.clientY,G.startH=p.offsetHeight,G.lastH=G.startH,G.startState=K.value,G.containerH=((H=p.parentElement)==null?void 0:H.offsetHeight)||window.innerHeight,G.maxH=G.containerH-ed,G.contentEl=p.querySelector(".legend-content"))}function $(Q){if(!G.pending&&!G.active)return;const q=Q.touches[0];if(!q)return;const p=G.startY-q.clientY;if(!G.active){if(p===0)return;let F=G.pending==="grab";if(G.pending==="content"){const H=!G.contentEl||G.contentEl.scrollTop<=0;F=p>0?G.startH0?n.fullyOpenLegend():G.startState==="fullyOpen"?n.openLegend():n.collapseLegend()}function C(Q){Q==="fullyOpen"?n.fullyOpenLegend():Q==="collapsed"?n.collapseLegend():n.openLegend()}let B=null,J=null,X=null;return to(()=>{const Q=V.value;if(!Q||typeof ResizeObserver>"u")return;const q=Q.getRootNode();J=q instanceof ShadowRoot?q.host:q.documentElement||null,J&&(X=Q,B=new ResizeObserver(()=>{const p=Q.offsetHeight;p<=0||(J.style.setProperty(td,`${p}px`),J.__legendSheetVarOwner=Q)}),B.observe(Q))}),To(()=>{B&&(B.disconnect(),B=null),J&&J.__legendSheetVarOwner===X&&(J.style.removeProperty(td),J.__legendSheetVarOwner=null),J=null,X=null}),(Q,q)=>{var p;return z(),te("div",Kv,[We.value==="detail"&&Ze.value&&K.value==="open"&&et.value?(z(),te("div",{key:0,class:"floating-mini-image",onClick:q[0]||(q[0]=b=>ye(n).fullyOpenLegend())},[E("img",{src:et.value,alt:(p=Ze.value.properties)==null?void 0:p.name,class:"mini-image"},null,8,Hv)])):be("",!0),E("div",{ref_key:"sheetRef",ref:V,class:Ce(["legend-mobile-sheet",[K.value,{"sheet-dark":e.isDark,dragging:A.value}]]),style:tt({height:pe.value,"--legend-sheet-top-reserve":ed+"px"}),onTouchstart:wt,onTouchmove:$,onTouchend:P,onTouchcancel:P},[E("div",{class:"sheet-drag-strip",onClick:Qe},[Ge.value?(z(),te("div",zv)):be("",!0)]),We.value==="detail"&&K.value!=="collapsed"?(z(),te("button",{key:0,class:"detail-collapse-btn-mobile",onClick:Ht(Qe,["stop"]),"aria-label":ye(t)("aria.toggleLegend")},null,8,Vv)):be("",!0),We.value==="detail"&&K.value!=="collapsed"?(z(),te("button",{key:1,class:"detail-close-btn",onClick:Ht(gt,["stop"]),"aria-label":ye(t)("aria.backToLegend")},[...q[1]||(q[1]=[E("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[E("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Wv)):be("",!0),K.value==="collapsed"&&We.value==="detail"&&Ze.value?(z(),te("div",{key:2,class:"collapsed-detail-footer",onClick:Qe},[E("button",{class:"mobile-collapse-caret",style:tt({transform:`rotate(${ge.value}deg)`}),"aria-label":ye(t)("aria.toggleLegend"),tabindex:"-1"},[...q[2]||(q[2]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,Yv),E("span",Jv,ce(Xe.value),1)])):be("",!0),E("div",qv,[We.value==="detail"&&Ze.value?(z(),te(Le,{key:0},[K.value!=="collapsed"?(z(),rt(Qu,{key:0,peopleGroup:Ze.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):be("",!0)],64)):e.legendType!=="default"?(z(),rt($u,{key:1,nodes:W.value,tabs:U.value,title:Xe.value||Y.value,hideTabs:e.nodes?!e.tabs:M.value,columnLabel:O.value,columns:e.columns||["count","pop"],onSelect:ye(a)},{"title-caret":Kt(()=>[E("button",{class:"mobile-collapse-caret",style:tt({transform:`rotate(${ge.value}deg)`}),onClick:Ht(Qe,["stop"]),"aria-label":ye(t)("aria.toggleLegend")},[...q[3]||(q[3]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,Zv)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","columns","onSelect"])):(z(),rt(I0,{key:2,title:Xe.value,items:ye(i),columns:ye(l),activeFilter:ye(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:ye(g),totalPopulation:ye(w),fmtPop:ye(h),fmtCount:ye(_),onFilterClick:ot},{"title-caret":Kt(()=>[E("button",{class:"mobile-collapse-caret",style:tt({transform:`rotate(${ge.value}deg)`}),onClick:Ht(Qe,["stop"]),"aria-label":ye(t)("aria.toggleLegend")},[...q[4]||(q[4]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,Xv)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],38)])}}},[["__scopeId","data-v-eb444f1b"]]),n1={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return At(` +`,"legend-mobile-sheet");const o=e,n=Ee("uiStore");Ee("mapStore");const r=Ee("dataStore"),a=Ee("onSemanticTreeSelect",()=>{}),s=rp(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:d,totalCount:g,totalPopulation:w,fmtPop:h,fmtCount:_}=b0(s,y0),y=Ee("normalizedPeopleGroups",null),x=ee(()=>{var q,p;if((q=y==null?void 0:y.value)!=null&&q.length)return y.value;const Q=[];for(const b in(r==null?void 0:r.sources)||{}){const F=r.sources[b];(p=F==null?void 0:F.features)!=null&&p.length&&Q.push(...F.features)}return Q}),S={get value(){return x.value}},{langTree:m}=zu(S),{affinityTree:f}=J0(S),{regionsTree:v}=iv(S),L=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],T=[{id:"bloc",label:"Block",info:"Affinity Block (rop1) — broadest grouping. 16 blocks total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a block. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],N=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Bloc",info:'WAGF bloc — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their bloc."}],M=ee(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function R(Q){const q=[];for(const p of Q){q.push({id:p.key,label:p.label,color:p.color,count:p.count??0,pop:p.population??0,filter:p.filterKey?["==",["get","_flat_filter"],p.filterKey]:null,children:[]});for(const b of p.children||[])q.push({id:b.key,label:b.label,color:b.color,count:b.count??0,pop:b.population??0,filter:b.filterKey?["==",["get","_flat_filter"],b.filterKey]:null,children:[]})}return q}const W=ee(()=>o.nodes?o.nodes:M.value?R(i.value):o.legendType==="affinity-block"?f.value:o.legendType==="doxa-regions"?v.value:m.value),U=ee(()=>o.nodes?o.tabs:M.value?null:o.legendType==="affinity-block"?T:o.legendType==="doxa-regions"?N:L),Y=ee(()=>o.title?o.title:M.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),O=ee(()=>o.columnLabel!==null?o.columnLabel:o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":M.value?"Status":""),V=ue(null),A=ue(!1),G={pending:null,active:!1,startY:0,startH:0,startState:"",containerH:0,maxH:0,lastH:0,contentEl:null};let re=0;const be=()=>Date.now()-re<400,K=ee(()=>n.legendState),pe=ee(()=>n.legendHeight),ge=ee(()=>n.caretRotation),Ge=ee(()=>n.showPullTab),We=ee(()=>n.legendMode),Ze=ee(()=>n.selectedPeopleGroup),Xe=ee(()=>{var Q;return We.value==="detail"&&Ze.value?((Q=Ze.value.properties)==null?void 0:Q.name)||t("legend.header.peopleGroupFallback"):K.value==="collapsed"?o.title||t("legend.header.collapsed"):o.title||c.value});function ot(Q){n.handleLegendItemClick(),d(Q)}function Qe(){be()||n.toggleLegend()}function gt(){be()||(n.selectPeopleGroup(null),n.openLegend())}const et=ee(()=>{var q;if(!Ze.value)return null;const Q=Ze.value.properties||{};return Q.imageUrl||((q=Q._raw)==null?void 0:q.ImageURL)||null});function wt(Q){var H;if(K.value==="collapsed")return;const q=Q.touches[0],p=V.value;if(!q||!p)return;const F=q.clientY-p.getBoundingClientRect().top<=e1?"grab":We.value==="detail"?"content":null;F&&(G.pending=F,G.active=!1,G.startY=q.clientY,G.startH=p.offsetHeight,G.lastH=G.startH,G.startState=K.value,G.containerH=((H=p.parentElement)==null?void 0:H.offsetHeight)||window.innerHeight,G.maxH=G.containerH-ed,G.contentEl=p.querySelector(".legend-content"))}function $(Q){if(!G.pending&&!G.active)return;const q=Q.touches[0];if(!q)return;const p=G.startY-q.clientY;if(!G.active){if(p===0)return;let F=G.pending==="grab";if(G.pending==="content"){const H=!G.contentEl||G.contentEl.scrollTop<=0;F=p>0?G.startH0?n.fullyOpenLegend():G.startState==="fullyOpen"?n.openLegend():n.collapseLegend()}function C(Q){Q==="fullyOpen"?n.fullyOpenLegend():Q==="collapsed"?n.collapseLegend():n.openLegend()}let B=null,J=null,X=null;return to(()=>{const Q=V.value;if(!Q||typeof ResizeObserver>"u")return;const q=Q.getRootNode();J=q instanceof ShadowRoot?q.host:q.documentElement||null,J&&(X=Q,B=new ResizeObserver(()=>{const p=Q.offsetHeight;p<=0||(J.style.setProperty(td,`${p}px`),J.__legendSheetVarOwner=Q)}),B.observe(Q))}),To(()=>{B&&(B.disconnect(),B=null),J&&J.__legendSheetVarOwner===X&&(J.style.removeProperty(td),J.__legendSheetVarOwner=null),J=null,X=null}),(Q,q)=>{var p;return z(),te("div",Kv,[We.value==="detail"&&Ze.value&&K.value==="open"&&et.value?(z(),te("div",{key:0,class:"floating-mini-image",onClick:q[0]||(q[0]=b=>ye(n).fullyOpenLegend())},[E("img",{src:et.value,alt:(p=Ze.value.properties)==null?void 0:p.name,class:"mini-image"},null,8,Hv)])):me("",!0),E("div",{ref_key:"sheetRef",ref:V,class:Ce(["legend-mobile-sheet",[K.value,{"sheet-dark":e.isDark,dragging:A.value}]]),style:tt({height:pe.value,"--legend-sheet-top-reserve":ed+"px"}),onTouchstart:wt,onTouchmove:$,onTouchend:P,onTouchcancel:P},[E("div",{class:"sheet-drag-strip",onClick:Qe},[Ge.value?(z(),te("div",zv)):me("",!0)]),We.value==="detail"&&K.value!=="collapsed"?(z(),te("button",{key:0,class:"detail-collapse-btn-mobile",onClick:Ht(Qe,["stop"]),"aria-label":ye(t)("aria.toggleLegend")},null,8,Vv)):me("",!0),We.value==="detail"&&K.value!=="collapsed"?(z(),te("button",{key:1,class:"detail-close-btn",onClick:Ht(gt,["stop"]),"aria-label":ye(t)("aria.backToLegend")},[...q[1]||(q[1]=[E("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[E("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Wv)):me("",!0),K.value==="collapsed"&&We.value==="detail"&&Ze.value?(z(),te("div",{key:2,class:"collapsed-detail-footer",onClick:Qe},[E("button",{class:"mobile-collapse-caret",style:tt({transform:`rotate(${ge.value}deg)`}),"aria-label":ye(t)("aria.toggleLegend"),tabindex:"-1"},[...q[2]||(q[2]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,Yv),E("span",Jv,ce(Xe.value),1)])):me("",!0),E("div",qv,[We.value==="detail"&&Ze.value?(z(),te(Le,{key:0},[K.value!=="collapsed"?(z(),rt(Qu,{key:0,peopleGroup:Ze.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):me("",!0)],64)):e.legendType!=="default"?(z(),rt($u,{key:1,nodes:W.value,tabs:U.value,title:Xe.value||Y.value,hideTabs:e.nodes?!e.tabs:M.value,columnLabel:O.value,columns:e.columns||["count","pop"],onSelect:ye(a)},{"title-caret":Kt(()=>[E("button",{class:"mobile-collapse-caret",style:tt({transform:`rotate(${ge.value}deg)`}),onClick:Ht(Qe,["stop"]),"aria-label":ye(t)("aria.toggleLegend")},[...q[3]||(q[3]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,Zv)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","columns","onSelect"])):(z(),rt(I0,{key:2,title:Xe.value,items:ye(i),columns:ye(l),activeFilter:ye(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:ye(g),totalPopulation:ye(w),fmtPop:ye(h),fmtCount:ye(_),onFilterClick:ot},{"title-caret":Kt(()=>[E("button",{class:"mobile-collapse-caret",style:tt({transform:`rotate(${ge.value}deg)`}),onClick:Ht(Qe,["stop"]),"aria-label":ye(t)("aria.toggleLegend")},[...q[4]||(q[4]=[E("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[E("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,Xv)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],38)])}}},[["__scopeId","data-v-eb444f1b"]]),n1={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return At(` .map-toolbar { position: absolute; top: 6px; @@ -756,7 +756,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)=>(z(),te("button",{class:Ce(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Bn(t.$slots,"default")],10,a1))}},r1={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=kt(),o=e;function n(){var r;(r=o.map)==null||r.zoomIn()}return(r,a)=>(z(),rt(qo,{"is-dark":e.isDark,title:ye(t)("buttons.zoomIn"),onClick:n},{default:Kt(()=>[...a[0]||(a[0]=[E("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},s1={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=kt(),o=e;function n(){var r;(r=o.map)==null||r.zoomOut()}return(r,a)=>(z(),rt(qo,{"is-dark":e.isDark,title:ye(t)("buttons.zoomOut"),onClick:n},{default:Kt(()=>[...a[0]||(a[0]=[E("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},i1={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=kt(),o=e;function n(){var a;(a=o.map)==null||a.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function r(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(a=>{const{longitude:s,latitude:i}=a.coords;Number.isFinite(s)&&Number.isFinite(i)?o.map.flyTo({center:[s,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(a,s)=>(z(),rt(qo,{"is-dark":e.isDark,title:ye(t)("buttons.resetView"),onClick:r},{default:Kt(()=>[...s[0]||(s[0]=[E("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[E("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},l1={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},c1={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},u1={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=kt(),n=e,r=t,a=ue(!1);let s=null,i=null,l=null,c=null,u=null,d=null,g=null,w=null,h=null,_=null,y=null,x=0,S=0,m=null,f=null;function v(){if(typeof document>"u")return!1;const V=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(V)||V.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function L(){var V,A,G;return((G=(A=(V=n.mapContainer)==null?void 0:V.getRootNode)==null?void 0:A.call(V))==null?void 0:G.host)??null}function T(){var A,G;const V=(G=(A=n.mapContainer)==null?void 0:A.getRootNode)==null?void 0:G.call(A);return document.fullscreenElement||document.webkitFullscreenElement||(V&&V instanceof ShadowRoot?V.fullscreenElement:null)||null}function N(V){const A=V.requestFullscreen||V.webkitRequestFullscreen;if(!A)return Promise.reject(new Error("Fullscreen API unavailable"));const G=A.call(V);return G&&typeof G.then=="function"?G:Promise.resolve()}function M(){const V=document.exitFullscreen||document.webkitExitFullscreen;if(!V)return Promise.reject(new Error("Fullscreen API unavailable"));const A=V.call(document);return A&&typeof A.then=="function"?A:Promise.resolve()}function R(){const V=L();if(!V)return!1;if(l=V,i=V.style.cssText,V.style.position="fixed",V.style.top="0",V.style.left="0",V.style.right="0",V.style.bottom="0",V.style.width="100vw",V.style.height="100vh",V.style.height="100dvh",V.style.zIndex="2147483647",V.style.margin="0",V.style.borderRadius="0",V.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){x=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const A=document.body,G=document.documentElement;c=A?A.style.overflow:null,u=G?G.style.overflow:null,d=A?A.style.position:null,g=A?A.style.top:null,w=A?A.style.left:null,h=A?A.style.width:null,_=A?A.style.touchAction:null,y=G?G.style.touchAction:null,G&&(G.style.overflow="hidden",G.style.touchAction="none"),A&&(A.style.overflow="hidden",A.style.position="fixed",A.style.top=`-${x}px`,A.style.left=`-${S}px`,A.style.width="100%",A.style.touchAction="none"),m=re=>{if(!l)return;const fe=re.target;fe&&(fe===l||l.contains&&l.contains(fe))||re.cancelable&&re.preventDefault()},f=re=>{if(!l)return;const fe=re.target;fe&&(fe===l||l.contains&&l.contains(fe))||re.cancelable&&re.preventDefault()},document.addEventListener("touchmove",m,{passive:!1,capture:!0}),document.addEventListener("wheel",f,{passive:!1,capture:!0})}return!0}function W(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const V=document.body,A=document.documentElement;V&&(V.style.overflow=c??"",V.style.position=d??"",V.style.top=g??"",V.style.left=w??"",V.style.width=h??"",V.style.touchAction=_??""),A&&(A.style.overflow=u??"",A.style.touchAction=y??""),m&&(document.removeEventListener("touchmove",m,{capture:!0}),m=null),f&&(document.removeEventListener("wheel",f,{capture:!0}),f=null),typeof window<"u"&&(x||S)&&window.scrollTo(S,x)}c=null,u=null,d=null,g=null,w=null,h=null,_=null,y=null,x=0,S=0}}function U(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function Y(){if(!v()){a.value?(W(),a.value=!1,r("change",!1)):R()&&(a.value=!0,r("change",!0)),U();return}if(T())M().then(()=>{a.value=!1,r("change",!1)}).catch(()=>{});else{const A=L()??document.documentElement;N(A).then(()=>{a.value=!0,r("change",!0)}).catch(()=>{N(document.documentElement).then(()=>{a.value=!0,r("change",!0)}).catch(()=>{})})}}function O(){a.value=!!T(),r("change",a.value)}return to(()=>{var A,G;document.addEventListener("fullscreenchange",O),document.addEventListener("webkitfullscreenchange",O);const V=(G=(A=n.mapContainer)==null?void 0:A.getRootNode)==null?void 0:G.call(A);V instanceof ShadowRoot&&(s=V,V.addEventListener("fullscreenchange",O),V.addEventListener("webkitfullscreenchange",O))}),To(()=>{document.removeEventListener("fullscreenchange",O),document.removeEventListener("webkitfullscreenchange",O),s&&(s.removeEventListener("fullscreenchange",O),s.removeEventListener("webkitfullscreenchange",O),s=null),l&&W()}),(V,A)=>(z(),rt(qo,{"is-dark":e.isDark,active:a.value,title:ye(o)("buttons.toggleFullscreen"),onClick:Y},{default:Kt(()=>[a.value?(z(),te("svg",c1,[...A[1]||(A[1]=[E("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(z(),te("svg",l1,[...A[0]||(A[0]=[E("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},d1={style:{"font-size":"16px","line-height":"1"}},p1={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=kt();return(o,n)=>ye(gy)?(z(),rt(qo,{key:0,"is-dark":e.isDark,title:e.isDark?ye(t)("buttons.switchToLightMode"):ye(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=r=>o.$emit("toggle"))},{default:Kt(()=>[E("span",d1,ce(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"])):be("",!0)}},g1=Zo&&Zo.tagName.toUpperCase()==="SCRIPT"&&Zo.src||new URL("my-upg-100-list.js",document.baseURI).href,zs=e=>String(e||"").trim().replace(/\/+$/,"");function f1(){try{const t=String(g1||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function h1(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return zs(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return zs(o)}return zs(f1()||"")}function m1({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",a=e||(n==null?void 0:n.shareUrl);if(typeof a=="string"&&a.trim())return a.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return r?window.location.origin+s:s;const i=h1(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const b1={class:"share-steps"},y1={class:"share-tabs"},_1={key:0,class:"share-body"},v1={class:"share-url-box"},k1={class:"share-url-text"},w1={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},x1={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"},S1={key:1,class:"share-body"},A1={class:"share-size-pills"},$1=["onClick"],L1={class:"share-code-box"},C1={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},T1={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"},od={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){At(` +`,"map-control-button"),(t,o)=>(z(),te("button",{class:Ce(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Bn(t.$slots,"default")],10,a1))}},r1={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=kt(),o=e;function n(){var r;(r=o.map)==null||r.zoomIn()}return(r,a)=>(z(),rt(qo,{"is-dark":e.isDark,title:ye(t)("buttons.zoomIn"),onClick:n},{default:Kt(()=>[...a[0]||(a[0]=[E("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},s1={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=kt(),o=e;function n(){var r;(r=o.map)==null||r.zoomOut()}return(r,a)=>(z(),rt(qo,{"is-dark":e.isDark,title:ye(t)("buttons.zoomOut"),onClick:n},{default:Kt(()=>[...a[0]||(a[0]=[E("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},i1={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=kt(),o=e;function n(){var a;(a=o.map)==null||a.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function r(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(a=>{const{longitude:s,latitude:i}=a.coords;Number.isFinite(s)&&Number.isFinite(i)?o.map.flyTo({center:[s,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(a,s)=>(z(),rt(qo,{"is-dark":e.isDark,title:ye(t)("buttons.resetView"),onClick:r},{default:Kt(()=>[...s[0]||(s[0]=[E("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[E("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},l1={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},c1={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},u1={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=kt(),n=e,r=t,a=ue(!1);let s=null,i=null,l=null,c=null,u=null,d=null,g=null,w=null,h=null,_=null,y=null,x=0,S=0,m=null,f=null;function v(){if(typeof document>"u")return!1;const V=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(V)||V.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function L(){var V,A,G;return((G=(A=(V=n.mapContainer)==null?void 0:V.getRootNode)==null?void 0:A.call(V))==null?void 0:G.host)??null}function T(){var A,G;const V=(G=(A=n.mapContainer)==null?void 0:A.getRootNode)==null?void 0:G.call(A);return document.fullscreenElement||document.webkitFullscreenElement||(V&&V instanceof ShadowRoot?V.fullscreenElement:null)||null}function N(V){const A=V.requestFullscreen||V.webkitRequestFullscreen;if(!A)return Promise.reject(new Error("Fullscreen API unavailable"));const G=A.call(V);return G&&typeof G.then=="function"?G:Promise.resolve()}function M(){const V=document.exitFullscreen||document.webkitExitFullscreen;if(!V)return Promise.reject(new Error("Fullscreen API unavailable"));const A=V.call(document);return A&&typeof A.then=="function"?A:Promise.resolve()}function R(){const V=L();if(!V)return!1;if(l=V,i=V.style.cssText,V.style.position="fixed",V.style.top="0",V.style.left="0",V.style.right="0",V.style.bottom="0",V.style.width="100vw",V.style.height="100vh",V.style.height="100dvh",V.style.zIndex="2147483647",V.style.margin="0",V.style.borderRadius="0",V.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){x=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const A=document.body,G=document.documentElement;c=A?A.style.overflow:null,u=G?G.style.overflow:null,d=A?A.style.position:null,g=A?A.style.top:null,w=A?A.style.left:null,h=A?A.style.width:null,_=A?A.style.touchAction:null,y=G?G.style.touchAction:null,G&&(G.style.overflow="hidden",G.style.touchAction="none"),A&&(A.style.overflow="hidden",A.style.position="fixed",A.style.top=`-${x}px`,A.style.left=`-${S}px`,A.style.width="100%",A.style.touchAction="none"),m=re=>{if(!l)return;const be=re.target;be&&(be===l||l.contains&&l.contains(be))||re.cancelable&&re.preventDefault()},f=re=>{if(!l)return;const be=re.target;be&&(be===l||l.contains&&l.contains(be))||re.cancelable&&re.preventDefault()},document.addEventListener("touchmove",m,{passive:!1,capture:!0}),document.addEventListener("wheel",f,{passive:!1,capture:!0})}return!0}function W(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const V=document.body,A=document.documentElement;V&&(V.style.overflow=c??"",V.style.position=d??"",V.style.top=g??"",V.style.left=w??"",V.style.width=h??"",V.style.touchAction=_??""),A&&(A.style.overflow=u??"",A.style.touchAction=y??""),m&&(document.removeEventListener("touchmove",m,{capture:!0}),m=null),f&&(document.removeEventListener("wheel",f,{capture:!0}),f=null),typeof window<"u"&&(x||S)&&window.scrollTo(S,x)}c=null,u=null,d=null,g=null,w=null,h=null,_=null,y=null,x=0,S=0}}function U(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function Y(){if(!v()){a.value?(W(),a.value=!1,r("change",!1)):R()&&(a.value=!0,r("change",!0)),U();return}if(T())M().then(()=>{a.value=!1,r("change",!1)}).catch(()=>{});else{const A=L()??document.documentElement;N(A).then(()=>{a.value=!0,r("change",!0)}).catch(()=>{N(document.documentElement).then(()=>{a.value=!0,r("change",!0)}).catch(()=>{})})}}function O(){a.value=!!T(),r("change",a.value)}return to(()=>{var A,G;document.addEventListener("fullscreenchange",O),document.addEventListener("webkitfullscreenchange",O);const V=(G=(A=n.mapContainer)==null?void 0:A.getRootNode)==null?void 0:G.call(A);V instanceof ShadowRoot&&(s=V,V.addEventListener("fullscreenchange",O),V.addEventListener("webkitfullscreenchange",O))}),To(()=>{document.removeEventListener("fullscreenchange",O),document.removeEventListener("webkitfullscreenchange",O),s&&(s.removeEventListener("fullscreenchange",O),s.removeEventListener("webkitfullscreenchange",O),s=null),l&&W()}),(V,A)=>(z(),rt(qo,{"is-dark":e.isDark,active:a.value,title:ye(o)("buttons.toggleFullscreen"),onClick:Y},{default:Kt(()=>[a.value?(z(),te("svg",c1,[...A[1]||(A[1]=[E("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(z(),te("svg",l1,[...A[0]||(A[0]=[E("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},d1={style:{"font-size":"16px","line-height":"1"}},p1={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=kt();return(o,n)=>ye(gy)?(z(),rt(qo,{key:0,"is-dark":e.isDark,title:e.isDark?ye(t)("buttons.switchToLightMode"):ye(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=r=>o.$emit("toggle"))},{default:Kt(()=>[E("span",d1,ce(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"])):me("",!0)}},g1=Zo&&Zo.tagName.toUpperCase()==="SCRIPT"&&Zo.src||new URL("my-upg-100-list.js",document.baseURI).href,zs=e=>String(e||"").trim().replace(/\/+$/,"");function f1(){try{const t=String(g1||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function h1(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return zs(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return zs(o)}return zs(f1()||"")}function m1({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",a=e||(n==null?void 0:n.shareUrl);if(typeof a=="string"&&a.trim())return a.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return r?window.location.origin+s:s;const i=h1(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const b1={class:"share-steps"},y1={class:"share-tabs"},_1={key:0,class:"share-body"},v1={class:"share-url-box"},k1={class:"share-url-text"},w1={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},x1={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"},S1={key:1,class:"share-body"},A1={class:"share-size-pills"},$1=["onClick"],L1={class:"share-code-box"},C1={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},T1={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"},od={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){At(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -1066,10 +1066,10 @@ z-index:9999; } } -`,"share-button");const{t,tm:o,rt:n}=kt(),r=e,a=ue(null),s=ue(!1),i=ue(null),l=ue({});function c(){var pe;const U=i.value,Y=((pe=g.value)==null?void 0:pe.$el)||g.value;if(!U||!Y){l.value={};return}const O=U.getBoundingClientRect(),V=Y.getBoundingClientRect(),A=O.width<600,G=Math.min(340,A?O.width-24:O.width-80),re=A?12:Math.max(8,O.right-V.left+8);let fe=V.top-O.top;const K=d.value;if(K){const ge=K.offsetHeight;fe+ge>O.height-8&&(fe=Math.max(8,O.height-8-ge))}l.value={position:"absolute",top:`${Math.round(fe)}px`,right:`${Math.round(re)}px`,width:`${Math.round(G)}px`}}ct(s,async U=>{U&&(await ho(),c(),await ho(),c())});function u(){s.value&&c()}const d=ue(null),g=ue(null),w=ue("link"),h=ue(!1),_=ue(!1),y=ue("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=Ee("profileConfig",null),m=ee(()=>m1({embedPath:r.embedPath,profileConfig:ye(S)||null})),f=ee(()=>{const U=x[y.value].height;return''});function v(){s.value=!s.value,s.value&&(w.value="link",h.value=!1,_.value=!1)}function L(){s.value=!1}async function T(U){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(U),!0}catch{}try{const Y=document.createElement("textarea");Y.value=U,Y.setAttribute("readonly",""),Y.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Y),Y.select();const O=document.execCommand("copy");return document.body.removeChild(Y),O}catch{return!1}}async function N(){await T(m.value)&&(h.value=!0,setTimeout(()=>{h.value=!1},2e3))}async function M(){await T(f.value)&&(_.value=!0,setTimeout(()=>{_.value=!1},2e3))}function R(U){if(!s.value)return;const Y=U.composedPath?U.composedPath():[U.target];d.value&&Y.some(V=>V===d.value)||g.value&&Y.some(V=>V===g.value||V===g.value.$el)||!Y.some(V=>{var A,G;return(G=(A=V==null?void 0:V.classList)==null?void 0:A.contains)==null?void 0:G.call(A,"mapboxgl-canvas")})||L()}function W(U){U.key==="Escape"&&s.value&&L()}return to(()=>{var U;document.addEventListener("click",R,!0),window.addEventListener("resize",u),i.value=((U=a.value)==null?void 0:U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]"))||null,document.addEventListener("keydown",W)}),To(()=>{document.removeEventListener("click",R,!0),window.removeEventListener("resize",u),document.removeEventListener("keydown",W)}),(U,Y)=>(z(),te("div",{ref_key:"rootEl",ref:a,class:"share-wrap"},[Be(qo,{ref_key:"btnEl",ref:g,"is-dark":e.isDark,active:s.value,title:ye(t)("buttons.shareEmbed"),onClick:v},{default:Kt(()=>[...Y[2]||(Y[2]=[E("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"},[E("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),E("polyline",{points:"16 6 12 2 8 6"}),E("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),(z(),rt($p,{to:i.value,disabled:!i.value},[s.value?(z(),te("div",{key:0,ref_key:"popoverEl",ref:d,class:Ce(["share-pop",{light:!e.isDark}]),style:tt(l.value)},[E("div",{class:"share-header"},[Y[4]||(Y[4]=E("span",{class:"share-title"},"Share",-1)),E("button",{class:"share-close",onClick:L,"aria-label":"Close"},[...Y[3]||(Y[3]=[E("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[E("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),E("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),E("ul",b1,[(z(!0),te(Le,null,St(ye(o)("buttons.shareSteps"),(O,V)=>(z(),te("li",{key:V},ce(ye(n)(O)),1))),128))]),E("div",y1,[E("button",{class:Ce(["share-tab",{active:w.value==="link"}]),onClick:Y[0]||(Y[0]=O=>w.value="link")},"Embed link",2),E("button",{class:Ce(["share-tab",{active:w.value==="embed"}]),onClick:Y[1]||(Y[1]=O=>w.value="embed")},"Add to Your Website",2)]),w.value==="link"?(z(),te("div",_1,[E("div",v1,[E("div",k1,ce(m.value),1)]),E("button",{class:Ce(["share-primary-btn",{copied:h.value}]),onClick:N},[h.value?(z(),te("svg",x1,[...Y[6]||(Y[6]=[E("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(z(),te("svg",w1,[...Y[5]||(Y[5]=[E("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),E("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),dt(" "+ce(h.value?"Copied!":"Copy Link"),1)],2)])):be("",!0),w.value==="embed"?(z(),te("div",S1,[Y[9]||(Y[9]=E("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),E("div",A1,[(z(),te(Le,null,St(x,(O,V)=>E("button",{key:V,class:Ce(["share-size-pill",{active:y.value===V}]),onClick:A=>y.value=V},ce(O.label),11,$1)),64))]),E("div",L1,ce(f.value),1),E("button",{class:Ce(["share-secondary-btn",{copied:_.value}]),onClick:M},[_.value?(z(),te("svg",T1,[...Y[8]||(Y[8]=[E("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(z(),te("svg",C1,[...Y[7]||(Y[7]=[E("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),E("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),dt(" "+ce(_.value?"Copied!":"Copy Code"),1)],2)])):be("",!0)],6)):be("",!0)],8,["to","disabled"]))],512))}},E1=["blocs","clusters","peopleGroups","families","languages","dialects","people","places","regions","wagfBlocks","religions"],P1={"people-groups":["blocs","clusters","peopleGroups","people","places","families","languages","dialects","regions","religions"],language:["families","languages","dialects","people","blocs","clusters","peopleGroups","places","regions","religions"],regions:["regions","wagfBlocks","places","blocs","clusters","peopleGroups","people","families","languages","dialects","religions"],religion:["religions","people","blocs","clusters","peopleGroups","places","families","languages","dialects","regions"]};function M1(e){return P1[e]||E1}const N1={blocs:3,clusters:3,peopleGroups:3,families:3,languages:3,dialects:3,people:5,places:2,regions:3,wagfBlocks:3,religions:2},ur=["peopleGroups","people","places","languages","religions"],I1={regions:[...ur,"regions","wagfBlocks"],"people-groups":[...ur,"blocs","clusters"],language:[...ur,"dialects","families"],religion:[...ur]},R1=100,F1=50,O1=25,D1=10,Vs=5,nd=20,B1=[[/ sign language$/i,"Sign Language"]];function j1(e){if(!e||typeof e!="string")return"";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function G1(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function U1(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if($t[n])return $t[n];if(t.length>=3){const r=[t[1],t[0]].join(" ");if($t[r])return $t[r]}}if($t[e])return $t[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(o!==e&&$t[o])return $t[o];for(const[n,r]of B1)if(n.test(e))return r;return null}function ad(e,t){return{id:`doxa-section-header-${Ws(e)}`,place_name:e,text:e,center:[0,0],place_type:["doxa-section-header"],geometry:{type:"Point",coordinates:[0,0]},properties:{headerLabel:e,isHeader:!0,isAllDataSection:!!t},feature:null}}function Ws(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function xe(e){return e==null?"":typeof e=="string"?e.toLowerCase():typeof e=="object"&&"label"in e?String(e.label||"").toLowerCase():typeof e=="object"&&"value"in e?String(e.value||"").toLowerCase():String(e).toLowerCase()}function dr(e){return e==null?"":typeof e=="string"?e:typeof e=="object"?e.label||e.value||"":String(e)}function K1(e){var o,n,r,a,s;if(!Array.isArray(e))return[];const t=[];for(const i of e){if(!i)continue;const l=Number(i.latitude),c=Number(i.longitude);if(!Number.isFinite(l)||!Number.isFinite(c))continue;const u=xe(i.name)+" "+xe(i.displayName)+" "+xe(i.alternateName),d=xe(i.countryName)+" "+xe(i.country)+" "+xe(i.countryIso)+" "+xe(i.countryIsoLabel),g=xe(i.religionName)+" "+xe(i.religion)+" "+xe(i.religionLabel)+" "+xe(i.religionCode),w=xe(i.language)+" "+xe(i.languageFamily)+" "+xe(i.languageCode),h=xe(i.doxaRegion)+" "+xe(i.wagfRegion)+" "+xe(i.wagfBlock),_=xe(i.affinityBlock)+" "+xe(i.affinityBlockLabel)+" "+xe((o=i._raw)==null?void 0:o.rop1),y=xe(i.cluster)+" "+xe(i.clusterLabel)+" "+xe((n=i._raw)==null?void 0:n.imb_reg_of_people_2),x=xe(i.peopleGroup)+" "+xe(i.peopleGroupLabel)+" "+xe((r=i._raw)==null?void 0:r.imb_reg_of_people_25),S=((a=i._raw)==null?void 0:a.primary_language)??((s=i._raw)==null?void 0:s.PrimaryLanguage),m=S&&(typeof S=="object"?S.label||S.value:S)||dr(i.language)||dr(i.primaryLanguage)||"",f=j1(m),v=G1(m);t.push({feature:i,nameHay:u,countryHay:d,religionHay:g,languageHay:w,regionHay:h,haystack:u+" "+d+" "+g+" "+w+" "+h+" "+_+" "+y+" "+x,blocHay:_,clusterHay:y,pgHay:x,lat:l,lng:c,familyDerived:U1(m)||null,languageLabel:m,baseLang:f,dialectLabel:v})}return t}function H1(e){const t=(o,n,r)=>{const a=new Map;for(const s of e){const i=o(s);if(!i)continue;const l=a.get(i);if(l)l.count+=1,l.lngSum+=s.lng,l.latSum+=s.lat,l.memberIds.push(String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")),l.minLng=Math.min(l.minLng,s.lng),l.maxLng=Math.max(l.maxLng,s.lng),l.minLat=Math.min(l.minLat,s.lat),l.maxLat=Math.max(l.maxLat,s.lat),r&&r(l,s,!1);else{const c={key:i,label:dr(n(s))||i,count:1,lngSum:s.lng,latSum:s.lat,minLng:s.lng,maxLng:s.lng,minLat:s.lat,maxLat:s.lat,memberIds:[String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")]};r&&r(c,s,!0),a.set(i,c)}}for(const s of a.values())s.lng=s.lngSum/s.count,s.lat=s.latSum/s.count;return Array.from(a.values())};return{countries:t(o=>xe(o.feature.countryName)||xe(o.feature.country)||xe(o.feature.countryIso),o=>o.feature.countryName||o.feature.country||o.feature.countryIso||""),families:t(o=>xe(o.familyDerived),o=>o.familyDerived||""),languages:t(o=>xe(o.baseLang),o=>o.baseLang||""),dialects:t(o=>o.dialectLabel?`${xe(o.baseLang)}__${xe(o.dialectLabel)}`:"",o=>`${o.baseLang}, ${o.dialectLabel}`,(o,n,r)=>{r?(o.originalLabels=new Set([n.languageLabel]),o.familyDerived=n.familyDerived||"",o.baseLang=n.baseLang||"",o.dialectLabel=n.dialectLabel||""):(o.originalLabels.add(n.languageLabel),!o.familyDerived&&n.familyDerived&&(o.familyDerived=n.familyDerived))}),religions:t(o=>{var n,r,a;return aa(o.feature.religion||((r=(n=o.feature._raw)==null?void 0:n.religion)==null?void 0:r.value)||((a=o.feature._raw)==null?void 0:a.religion)||"")},o=>{var n,r,a;return na[aa(o.feature.religion||((r=(n=o.feature._raw)==null?void 0:n.religion)==null?void 0:r.value)||((a=o.feature._raw)==null?void 0:a.religion)||"")]||"Unknown"}),regions:t(o=>xe(o.feature.doxaRegion)||xe(o.feature.wagfRegion),o=>{var n,r;return o.feature.wagfRegionLabel||o.feature.doxaRegionLabel||((r=(n=o.feature._raw)==null?void 0:n.wagf_region)==null?void 0:r.label)||o.feature.doxaRegion||o.feature.wagfRegion||""}),wagfBlocks:t(o=>xe(o.feature.wagfBlock),o=>{var n,r;return o.feature.wagfBlockLabel||((r=(n=o.feature._raw)==null?void 0:n.wagf_block)==null?void 0:r.label)||o.feature.wagfBlock||""}),blocs:t(o=>xe(o.feature.affinityBlockLabel)||xe(o.feature.affinityBlock),o=>o.feature.affinityBlockLabel||o.feature.affinityBlock||"",(o,n,r)=>{r&&(o.blocCode=n.feature.affinityBlock||"")}),clusters:t(o=>{const n=o.feature.affinityBlock||"",r=o.feature.cluster||"";return r?`${n}__${r}`:""},o=>o.feature.clusterLabel||o.feature.cluster||"",(o,n,r)=>{r&&(o.blocCode=n.feature.affinityBlock||"",o.blocLabel=n.feature.affinityBlockLabel||"",o.clusterCode=n.feature.cluster||"")}),peopleGroups:t(o=>xe(o.feature.peopleGroup)||xe(o.feature.peopleGroupLabel),o=>o.feature.peopleGroupLabel||o.feature.peopleGroup||o.feature.name||"",(o,n,r)=>{r&&(o.blocCode=n.feature.affinityBlock||"",o.blocLabel=n.feature.affinityBlockLabel||"",o.clusterCode=n.feature.cluster||"",o.clusterLabel=n.feature.clusterLabel||"",o.peopleGroupCode=n.feature.peopleGroup||"")})}}function z1(e){const t=e.feature,o=t.name||t.displayName||t.slug||"Unknown",n=t.countryName||t.country||t.countryIso||"",r=t.religionName||t.religion||"",a=t.slug||t.uniqueId||Ws(o+"-"+n),s=[e.lng,e.lat],i=[n,r].filter(Boolean).join(" — "),l=i?`${o}, ${i}`:o;return{id:`doxa-pg-${a}`,place_name:l,text:o,center:s,place_type:["people-group"],geometry:{type:"Point",coordinates:s},properties:{slug:a,...t},feature:t}}function io(e,t){let o,n;switch(e){case"country":o="doxa-country",n="doxa-country-";break;case"region":o="doxa-region",n="doxa-region-";break;case"language-family":o="doxa-language-family",n="doxa-language-family-";break;case"language":o="doxa-language",n="doxa-language-";break;case"dialect":o="doxa-dialect",n="doxa-dialect-";break;case"religion":o="doxa-religion",n="doxa-religion-";break;case"affinity-bloc":o="doxa-affinity-bloc",n="doxa-affinity-bloc-";break;case"cluster":o="doxa-cluster",n="doxa-cluster-";break;case"people-group":o="doxa-people-group",n="doxa-people-group-";break;default:o="doxa",n="doxa-"}const r=dr(t.label)||t.key,a=Ws(t.key),s=[t.lng,t.lat],l={"affinity-bloc":"Affinity Block",cluster:"Cluster","people-group":"PG","pg-in-country":"PGIC"}[e],c=l?`${r} (${l}) · ${t.count}`:`${r} (${t.count})`,u=t.originalLabels?Array.from(t.originalLabels):void 0,d=e==="dialect"?{familyDerived:t.familyDerived||"",baseLang:t.baseLang||"",dialectLabel:t.dialectLabel||""}:null;return{id:`${n}${a}`,place_name:c,text:r,center:s,bbox:[t.minLng,t.minLat,t.maxLng,t.maxLat],place_type:[o],geometry:{type:"Point",coordinates:s},properties:{slug:a,doxaAggregate:e,count:t.count,label:r,memberIds:t.memberIds,bounds:[t.minLng,t.minLat,t.maxLng,t.maxLat],...u?{originalLabels:u}:{},...d||{},...e==="affinity-bloc"?{blocCode:t.blocCode||""}:{},...e==="cluster"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||""}:{},...e==="people-group"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||"",clusterLabel:t.clusterLabel||"",peopleGroupCode:t.peopleGroupCode||""}:{}},feature:null}}function V1(e={}){const{dataStore:t,dataSourceId:o,getActiveFilter:n,getActiveContext:r}=e,{t:a}=kt(),s=ee(()=>{var d,g;if(!t||!t.sources)return[];if(o&&((d=t.sources[o])!=null&&d.features))return t.sources[o].features;for(const w of Object.keys(t.sources)){const h=t.sources[w];if((g=h==null?void 0:h.features)!=null&&g.length)return h.features}return[]}),i=ee(()=>K1(s.value)),l=ee(()=>H1(i.value));function c(d){const g=String(d||"").trim().toLowerCase(),w={people:[],places:[],regions:[],wagfBlocks:[],families:[],languages:[],dialects:[],religions:[],blocs:[],clusters:[],peopleGroups:[]};if(g.length<2)return w;const h=g.split(/[\s,;]+/).filter(Boolean);if(!h.length)return w;const _=i.value;if(!_.length)return w;const y=l.value,x=[];for(const A of _){let G=!0;for(const fe of h)if(!A.haystack.includes(fe)){G=!1;break}if(!G)continue;let re=0;h.some(fe=>A.nameHay.includes(fe))&&(re+=R1),h.some(fe=>A.countryHay.includes(fe))&&(re+=F1),h.some(fe=>A.religionHay.includes(fe))&&(re+=O1),h.some(fe=>A.languageHay.includes(fe))&&(re+=D1),x.push({entry:A,score:re})}x.sort((A,G)=>G.score-A.score);const S=x.slice(0,Vs).map(A=>z1(A.entry)),m=A=>A.filter(G=>h.every(re=>G.key.includes(re)||xe(G.label).includes(re))).sort((G,re)=>re.count-G.count).slice(0,Vs),f=m(y.countries).map(A=>io("country",A)),v=m(y.regions).map(A=>io("region",A)),L=m(y.wagfBlocks).map(A=>io("region",A)),T=m(y.families).map(A=>io("language-family",A)),N=m(y.languages).map(A=>io("language",A)),M=m(y.dialects).map(A=>io("dialect",A)),R=m(y.religions).map(A=>io("religion",A)),W=m(y.blocs).map(A=>io("affinity-bloc",A));let U=m(y.clusters).map(A=>io("cluster",A)),Y=m(y.peopleGroups).map(A=>io("people-group",A));const O=new Set(W.map(A=>xe(A.text)));U=U.filter(A=>!O.has(xe(A.text)));const V=new Set(U.map(A=>xe(A.text)));return Y=Y.filter(A=>!O.has(xe(A.text))&&!V.has(xe(A.text))),{people:S,places:f,regions:v,wagfBlocks:L,families:T,languages:N,dialects:M,religions:R,blocs:W,clusters:U,peopleGroups:Y}}function u(d){const g=typeof n=="function"?n():null,w=typeof r=="function"?r():null,h=c(d),_=M1(w),y=I1[w],x=y?Object.fromEntries(y.filter(T=>h[T]).map(T=>[T,h[T]])):h,S=_.flatMap(T=>x[T]||[]);if(!(g!=null&&g.key)||!S.length)return S.slice(0,nd);const m=[];for(const T of h.people){const N=i.value.find(R=>R.feature===T.feature);let M=!1;N&&(g.kind==="family"?M=(N.familyDerived||"").toLowerCase()===g.key.toLowerCase():g.kind==="language"&&(M=N.languageLabel.toLowerCase()===g.key.toLowerCase())),M&&m.push(T)}const f=[],v=g.key;m.length&&(f.push(ad(a("search.sections.within",{selection:v}),!1)),f.push(...m.slice(0,Vs)));const L=_.flatMap(T=>(x[T]||[]).slice(0,N1[T]??3)).map(T=>({...T,properties:{...T.properties,_allDataSection:!0}}));return f.push(ad(a("search.sections.allData"),!0)),f.push(...L),f.slice(0,nd+8)}return{search:u,searchGrouped:c,index:i,aggregates:l}}const rd="https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js",W1={__name:"GeocoderComponent",props:{mapInstance:{type:Object,required:!1,default:null},accessToken:{type:String,required:!0},provider:{type:String,default:"mapbox"},isDark:{type:Boolean,default:!1},standalone:{type:Boolean,default:!1},placeholder:{type:String,default:""},dataSourceId:{type:String,default:""},activeContext:{type:String,default:""}},emits:["result","people-group-result","aggregate-result","clear","error"],setup(e,{expose:t,emit:o}){function n(R){return R+R.replace(/mapboxgl/g,"maplibregl")}At(n('.mapboxgl-ctrl-geocoder--input,.mapboxgl-ctrl-geocoder input[type="text"],.mapboxgl-ctrl-geocoder input[type="search"]{font-size:16px !important;line-height:1.3;}'),"geocoder-ios-zoom-fix"),At(n(".mapboxgl-ctrl-geocoder--icon-loading{display:none !important;}"),"geocoder-hide-loading"),At(n(".mapboxgl-ctrl-geocoder{height:35px!important;min-height:35px!important;box-sizing:border-box!important;}.mapboxgl-ctrl-geocoder--input{height:35px!important;min-height:35px!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important;line-height:35px!important;}.mapboxgl-ctrl-geocoder--icon-search{top:50%!important;transform:translateY(-50%)!important;margin-top:0!important;left:7px!important;}"),"geocoder-height-35"),At(n(".mapboxgl-ctrl-geocoder{width:100%!important;max-width:100%!important;min-width:0!important;}@media(max-width:767px){.mapboxgl-ctrl-top-left{top:10px!important;left:3px!important;right:3px!important;width:calc(100% - 6px)!important;max-width:none!important;}}.mapboxgl-ctrl-geocoder{border-radius:999px!important;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.15)!important;transition:box-shadow .12s,border-color .12s;}.mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.15),0 0 0 3px rgba(59,70,61,0.18)!important;}.mapboxgl-ctrl-geocoder--input{border-radius:999px!important;font-size:13px!important;}.mapboxgl-ctrl-geocoder--input::placeholder{font-size:12px!important;}.mapboxgl-ctrl-geocoder--button{display:none!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;width:24px!important;height:24px!important;background:transparent!important;border:none!important;box-shadow:none!important;}.mapboxgl-ctrl-geocoder:has(.mapboxgl-ctrl-geocoder--input:not(:placeholder-shown)) .mapboxgl-ctrl-geocoder--button{display:block!important;}.mapboxgl-ctrl-geocoder--button .mapboxgl-ctrl-geocoder--icon-close{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:16px!important;height:16px!important;}.mapboxgl-ctrl-geocoder--suggestions,.mapboxgl-ctrl-geocoder .suggestions{z-index:1200!important;position:absolute;max-height:60vh!important;overflow-y:auto!important;}.geocoder-dark.mapboxgl-ctrl-geocoder,.dsm-dark .mapboxgl-ctrl-geocoder{background:#4e594f!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important;}.geocoder-dark.mapboxgl-ctrl-geocoder:focus-within,.dsm-dark .mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.4),0 0 0 3px rgba(115,161,127,0.22)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input,.dsm-dark .mapboxgl-ctrl-geocoder--input{color:#F3F3F1!important;background:transparent!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input::placeholder,.dsm-dark .mapboxgl-ctrl-geocoder--input::placeholder{color:rgba(243,243,241,0.65)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--icon,.dsm-dark .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon{fill:rgba(243,243,241,0.75)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--button,.dsm-dark .mapboxgl-ctrl-geocoder--button{background:transparent!important;}"),"geocoder-skin");const{t:r,locale:a}=kt(),s=e,i=ee(()=>s.placeholder||r("search.placeholder")),l=o,c={"&":"&","<":"<",">":">",'"':""","'":"'"};function u(R){return String(R??"").replace(/[&<>"']/g,W=>c[W])}function d(R){return R==null?"":typeof R=="string"?R:typeof R=="object"?R.label||R.value||"":String(R)}const g={"people-group":"people","doxa-people-group":"peopleGroup","doxa-affinity-bloc":"bloc","doxa-cluster":"cluster","doxa-country":"country","doxa-region":"region","doxa-language-family":"family","doxa-language":"languageKind","doxa-dialect":"dialect","doxa-religion":"religionKind"};function w(R){const W=g[R];if(!W)return"";const U=r("search.kinds."+W);return`${u(U)}`}function h(R){var Y;if(!R)return"";const W=R.place_type||[];if(W.includes("doxa-section-header"))return`
${u(((Y=R.properties)==null?void 0:Y.headerLabel)||R.text||"")}
`;if(W.includes("people-group")){const O=R.properties||{},V=d(O.name)||d(O.displayName)||d(R.text)||"",A=d(O.countryName)||d(O.country)||d(O.countryIso)||"",G=d(O.language)||d(O.primaryLanguage)||d(O.languageFamily)||"",re=d(O.religionName)||d(O.religion)||"",fe=r("search.labels.place"),K=r("search.labels.language"),pe=r("search.labels.religion"),ge=[];return A&&ge.push(`${u(fe)} ${u(A)}`),G&&ge.push(`${u(K)} ${u(G)}`),re&&ge.push(`${u(pe)} ${u(re)}`),`
${w("people-group")}${u(V)}
`+(ge.length?`
${ge.join("")}
`:"")}const U=W.find(O=>O.startsWith("doxa-"));if(U){const O=R.properties||{},V=u(d(O.label)||R.text||""),A=Number(O.count)||0,G=A?` ${A}`:"";return`
${w(U)}${V}${G}
`}return`
${u(R.place_name||R.text||"")}
`}const _=Ee("dataStore",null),y=Ee("mapStore",null),x=Ee("uiStore",null);function S(){return y?y.selectedFamily?{kind:"family",key:y.selectedFamily}:y.selectedLanguage?{kind:"language",key:y.selectedLanguage}:null:null}const{search:m}=V1({dataStore:_,dataSourceId:s.dataSourceId||void 0,getActiveFilter:S,getActiveContext:()=>s.activeContext||null}),f=Mn(null),v=ue(null),L={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",maplibre:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.css"};function T(R,W){const U=L[W]||L.mapbox;if(R.querySelector(`link[href="${U}"]`))return;const Y=document.createElement("link");Y.rel="stylesheet",Y.href=U,R.prepend(Y)}async function N(){if(typeof window<"u"&&window.MaplibreGeocoder||typeof document>"u")return;const R=document.querySelector(`script[src="${rd}"]`);if(R){if(window.MaplibreGeocoder)return;await new Promise(W=>{R.addEventListener("load",W,{once:!0}),R.addEventListener("error",W,{once:!0})});return}await new Promise((W,U)=>{const Y=document.createElement("script");Y.src=rd,Y.async=!1,Y.addEventListener("load",W,{once:!0}),Y.addEventListener("error",()=>U(new Error("[GeocoderComponent] Failed to load MapLibre geocoder")),{once:!0}),document.head.appendChild(Y)})}function M(R,W){return async U=>{const Y={features:[]};if(!R||!(U!=null&&U.query))return Y;try{const O=Array.isArray(U.language)?U.language[0]:U.language||W()||"en",V=new URLSearchParams({access_token:R,autocomplete:"true",limit:String(U.limit||5)});O&&V.set("language",O);const A=`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(U.query)}.json?${V.toString()}`,G=await fetch(A);if(!G.ok)return Y;const re=await G.json();return re&&Array.isArray(re.features)?re:Y}catch{return Y}}}return to(async()=>{var O,V,A,G,re;const R=s.provider==="maplibre";if(R){if(await N(),typeof MaplibreGeocoder>"u"){console.error("[GeocoderComponent] MaplibreGeocoder global unavailable.");return}}else if(typeof MapboxGeocoder>"u")return;const W=s.mapInstance;if(!s.standalone&&!W)return;const U=s.standalone?(V=(O=v.value)==null?void 0:O.getRootNode)==null?void 0:V.call(O):(re=(G=(A=W.getContainer)==null?void 0:A.call(W))==null?void 0:G.getRootNode)==null?void 0:re.call(G);U instanceof ShadowRoot&&T(U,s.provider);const Y={marker:!1,flyTo:!s.standalone,trackProximity:!s.standalone,placeholder:i.value,language:a.value||"en",localGeocoder:m,limit:20,zoom:6,render:h};if(R){const fe=typeof maplibregl<"u"?maplibregl:void 0,K={forwardGeocode:M(s.accessToken,()=>a.value)};f.value=new MaplibreGeocoder(K,{...Y,maplibregl:fe,showResultsWhileTyping:!0,reverseGeocode:!1})}else f.value=new MapboxGeocoder({accessToken:s.accessToken,mapboxgl,...Y});if(f.value.on("result",fe=>{var pe,ge,Ge,We,Ze,Xe,ot,Qe,gt,et,wt,$,P,C,B,J,X,Q,q,p,b,F,H,se,ae,D,k,I,ne,le;const K=fe==null?void 0:fe.result;K&&((pe=K.place_type)!=null&&pe.includes("doxa-section-header")||(y&&(y.selectedRegion=null,y.selectedResource=null,y.selectedAffinityBlock=null,y.selectedDialect=null),x&&((ge=x.setPrayerFilter)==null||ge.call(x,null),(Ge=x.setEngagementFilter)==null||Ge.call(x,null),(We=x.setAdoptionFilter)==null||We.call(x,null),(Ze=x.setReligionFilter)==null||Ze.call(x,null)),(Xe=K.properties)!=null&&Xe._allDataSection&&y&&(y.selectedFamily=null,y.selectedLanguage=null),l("result",fe),(ot=K.place_type)!=null&&ot.includes("people-group")&&K.feature?l("people-group-result",{type:"Feature",properties:K.properties||K.feature,geometry:K.geometry||{type:"Point",coordinates:K.center}}):((Qe=K.place_type)!=null&&Qe.includes("doxa-country")||(gt=K.place_type)!=null&>.includes("doxa-region")||(et=K.place_type)!=null&&et.includes("doxa-language-family")||(wt=K.place_type)!=null&&wt.includes("doxa-language")||($=K.place_type)!=null&&$.includes("doxa-dialect")||(P=K.place_type)!=null&&P.includes("doxa-religion")||(C=K.place_type)!=null&&C.includes("doxa-affinity-bloc")||(B=K.place_type)!=null&&B.includes("doxa-cluster")||(J=K.place_type)!=null&&J.includes("doxa-people-group"))&&l("aggregate-result",{kind:K.place_type[0].replace(/^doxa-/,""),label:((X=K.properties)==null?void 0:X.label)||K.text,count:((Q=K.properties)==null?void 0:Q.count)||0,memberIds:((q=K.properties)==null?void 0:q.memberIds)||[],bounds:((p=K.properties)==null?void 0:p.bounds)||null,center:K.center,originalLabels:((b=K.properties)==null?void 0:b.originalLabels)||null,familyDerived:((F=K.properties)==null?void 0:F.familyDerived)||"",baseLang:((H=K.properties)==null?void 0:H.baseLang)||"",dialectLabel:((se=K.properties)==null?void 0:se.dialectLabel)||"",slug:((ae=K.properties)==null?void 0:ae.slug)||null,id:K.id||null,blocCode:((D=K.properties)==null?void 0:D.blocCode)||"",blocLabel:((k=K.properties)==null?void 0:k.blocLabel)||"",clusterCode:((I=K.properties)==null?void 0:I.clusterCode)||"",clusterLabel:((ne=K.properties)==null?void 0:ne.clusterLabel)||"",peopleGroupCode:((le=K.properties)==null?void 0:le.peopleGroupCode)||"",properties:K.properties||null})))}),f.value.on("clear",()=>l("clear")),f.value.on("error",fe=>l("error",fe)),s.standalone){if(v.value){const fe={on(){},off(){},fire(){},getContainer:()=>v.value,getZoom:()=>0,getCenter:()=>({lng:0,lat:0}),getBounds:()=>null,flyTo(){},fitBounds(){},addControl(){},removeControl(){},hasControl:()=>!1};try{const K=f.value.onAdd(s.mapInstance||fe);K&&v.value.appendChild(K)}catch(K){l("error",K)}}}else W.addControl(f.value,"top-left")}),ct(i,R=>{var Y,O;const W=f.value;if(!W)return;const U=W._inputEl||((O=(Y=W.container)==null?void 0:Y.querySelector)==null?void 0:O.call(Y,"input.mapboxgl-ctrl-geocoder--input"));U&&(U.placeholder=R,U.setAttribute("placeholder",R)),W.options&&(W.options.placeholder=R)}),ct(a,R=>{const W=f.value;W!=null&&W.options&&(W.options.language=R||"en")}),To(()=>{var R,W;if(f.value){try{s.standalone?(W=(R=f.value).onRemove)==null||W.call(R):s.mapInstance&&s.mapInstance.removeControl(f.value)}catch{}f.value=null}}),t({geocoder:f}),(R,W)=>e.standalone?(z(),te("div",{key:0,ref_key:"standaloneContainer",ref:v,class:"dg-standalone-geocoder"},null,512)):Bn(R.$slots,"default",{},void 0,void 0,1)}},Y1=["country_code","wagf_region","wagf_block","primary_language","religion"];function J1(e){return e==null?{value:null,label:null}:typeof e=="object"?{value:e.value??null,label:e.label??null}:{value:e,label:null}}function q1(e){if(e==null||typeof e!="object")return e;const t={...e};for(const o of Y1)if(o in t){const{value:n,label:r}=J1(t[o]);t[o]=n,r!=null&&(t[`${o}_label`]=r)}return t}function sd(e){return Array.isArray(e)?e.map(q1):[]}function id(e){return Array.isArray(e)?e:e&&typeof e=="object"?e.posts||e.data||e.records||e.results||e.items||[]:[]}function _n(e){return e==null||typeof e!="object"?null:e.slug??null}function ld(e){return typeof e=="string"&&e.toLowerCase().includes("deaf")}function Z1(e){const t=e==null?null:e.rop1;return t==null?null:typeof t=="object"?t.value??null:t}function ra(e,t){const o=new Set;if(e==null||typeof e!="object"||typeof e.type!="string")throw new Error(`selector-evaluator: malformed selector (expected an object with a string \`type\`), got: ${JSON.stringify(e)}`);const n=Array.isArray(t)?t:[];switch(e.type){case"country_code":{const r=e.value;for(const a of n)if(a&&a.country_code===r){const s=_n(a);s!=null&&o.add(s)}return o}case"country_codes":{const r=new Set(Array.isArray(e.values)?e.values:[]);for(const a of n)if(a&&r.has(a.country_code)){const s=_n(a);s!=null&&o.add(s)}return o}case"wagf_block":{const r=e.value;for(const a of n)if(a&&a.wagf_block===r){const s=_n(a);s!=null&&o.add(s)}return o}case"wagf_region":{const r=e.value;for(const a of n)if(a&&a.wagf_region===r){const s=_n(a);s!=null&&o.add(s)}return o}case"union":{const r=Array.isArray(e.selectors)?e.selectors:[];for(const a of r){const s=ra(a,n);for(const i of s)o.add(i)}return o}case"deaf_predicate":{const r=new Set(Array.isArray(e.regions)?e.regions:[]);for(const a of n){if(!a)continue;if((ld(a.slug)||ld(a.name))&&r.has(a.wagf_region)){const i=_n(a);i!=null&&o.add(i)}}return o}case"affinity_bloc":{const r=e.rop1;for(const a of n)if(a&&Z1(a)===r){const s=_n(a);s!=null&&o.add(s)}return o}default:throw new Error(`selector-evaluator: unknown selector type "${e.type}" (supported: country_code, country_codes, wagf_block, wagf_region, union, deaf_predicate, affinity_bloc)`)}}const X1=Object.freeze(Object.defineProperty({__proto__:null,default:ra,evaluate:ra},Symbol.toStringTag,{value:"Module"}));function Q1(e,t){return`hsl(${Math.round(e*360/(t||1))}, 72%, 56%)`}function pr(e){if(typeof e.count=="number")return e.count;if(typeof e.expected_count=="number")return e.expected_count}function cd(e){const t=parseInt(e&&e.population,10);return Number.isFinite(t)?t:0}function ek(e,t){if(!Array.isArray(t)||t.length===0)return;const o=e&&e.selector;if(o==null)return;if(o.type==="pg_slugs"){const a=new Set(Array.isArray(o.values)?o.values:[]);let s=0;for(const i of t)i&&a.has(i.slug)&&(s+=cd(i));return s}const n=ra(o,t);let r=0;for(const a of t)a&&n.has(a.slug)&&(r+=cd(a));return r}function Ys(e,t={}){const o=t.deafCount??123,n=Array.isArray(t.records)?t.records:null,r=e.lists||[],a=e.asia_lists||[],s=e.uncovered_lists||[],i={type:"affinity_bloc",rop1:"A017"},l=a.filter(O=>O.id.startsWith("asia-india")),c=a.filter(O=>O.id.startsWith("asia-china")),u=[...r.map(O=>O.id),"deaf",...l.map(O=>O.id),...c.map(O=>O.id),...s.map(O=>O.id)],d=u.length,g=O=>Q1(u.indexOf(O),d),w=(O,V,A)=>{if(!n)return O;const G=A??(V&&V.selector);return O.pop=ek({selector:G},n),O},h=O=>n?O.reduce((V,A)=>V+(A.pop||0),0):void 0,_=r.map(O=>w({id:O.id,zoneKey:O.id,label:O.label,...O.provinceLabel?{provinceLabel:O.provinceLabel}:{},color:g(O.id),count:pr(O)},O)),y=w({id:"deaf",zoneKey:"deaf",label:"Deaf (affinity bloc A017)",color:g("deaf"),count:o,info:"Unified deaf row — affinity bloc rop1=A017 (collapses the two deaf_lists; zero-delta vs old deaf_predicate). Population double-counts vs geographic rows (design-approved, slice 08)."},null,i),x=O=>w({id:O.id,zoneKey:O.id,label:O.label,...O.provinceLabel?{provinceLabel:O.provinceLabel}:{},color:g(O.id),count:pr(O),...Array.isArray(O.adm0)&&O.adm0.length?{adm0:O.adm0}:{},...Array.isArray(O.provinces)&&O.provinces.length?{provinces:O.provinces}:{}},O),S=l.map(x),m=c.map(x),f=O=>O.reduce((V,A)=>V+(pr(A)||0),0),v={id:"asia-india",label:"India",count:f(l),children:S},L={id:"asia-china",label:"China",count:f(c),children:m};n&&(v.pop=h(S),L.pop=h(m)),f(a),n&&h([v,L]);const T=O=>w({id:O.id,zoneKey:O.id,label:O.label,...O.provinceLabel?{provinceLabel:O.provinceLabel}:{},color:g(O.id),count:pr(O)},O),N=s.map(T);N.length>0&&(()=>{const O={id:"frontier-asia",label:"Frontier Asia (uncovered)",count:f(s),children:N};return n&&(O.pop=h(N)),O})();const M={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe",deaf:"Deaf","deaf-old-world":"Deaf"},R=O=>M[O]||(String(O).startsWith("asia-india-")?"India":String(O).startsWith("asia-china-")?"China + Mongolia":"Other"),W=[..._,y,...S,...m,...N].filter(Boolean),U=new Map;for(const O of W){const V=R(O.id||O.zoneKey);U.has(V)||U.set(V,[]),U.get(V).push(O)}const Y=[...U.entries()].map(([O,V])=>{V.sort((G,re)=>(re.count||0)-(G.count||0));const A={id:"region-"+O.toLowerCase().replace(/[^a-z0-9]+/g,"-"),label:O,count:V.reduce((G,re)=>G+(re.count||0),0),children:V};return n&&(A.pop=h(V)),A}).sort((O,V)=>(V.count||0)-(O.count||0));return tk(ud(Y),{withPop:!!n}),Y}function tk(e,{withPop:t=!1}={}){const o=[];for(const n of e||[]){const r=[];(typeof n.id!="string"||!n.id)&&r.push("id"),(typeof n.zoneKey!="string"||!n.zoneKey)&&r.push("zoneKey"),(typeof n.label!="string"||!n.label)&&r.push("label"),(typeof n.color!="string"||!n.color)&&r.push("color"),typeof n.count!="number"&&r.push("count"),t&&typeof n.pop!="number"&&r.push("pop"),r.length&&o.push(`${n.id||"(no-id)"}: missing/!type [${r.join(", ")}]`)}if(o.length)throw new Error(`legend-tree L15: ${o.length} leaf node(s) violate the uniform consumer shape: +`,"share-button");const{t,tm:o,rt:n}=kt(),r=e,a=ue(null),s=ue(!1),i=ue(null),l=ue({});function c(){var K;const U=i.value,Y=((K=g.value)==null?void 0:K.$el)||g.value;if(!U||!Y){l.value={};return}const O=U.getBoundingClientRect(),V=Y.getBoundingClientRect(),A=Math.max(8,O.right-V.left+8),G=Math.max(200,Math.min(340,O.width-A-12));let re=V.top-O.top;const be=d.value;if(be){const pe=be.offsetHeight;re+pe>O.height-8&&(re=Math.max(8,O.height-8-pe))}l.value={position:"absolute",top:`${Math.round(re)}px`,right:`${Math.round(A)}px`,width:`${Math.round(G)}px`}}ct(s,async U=>{U&&(await ho(),c(),await ho(),c())});function u(){s.value&&c()}const d=ue(null),g=ue(null),w=ue("link"),h=ue(!1),_=ue(!1),y=ue("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=Ee("profileConfig",null),m=ee(()=>m1({embedPath:r.embedPath,profileConfig:ye(S)||null})),f=ee(()=>{const U=x[y.value].height;return''});function v(){s.value=!s.value,s.value&&(w.value="link",h.value=!1,_.value=!1)}function L(){s.value=!1}async function T(U){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(U),!0}catch{}try{const Y=document.createElement("textarea");Y.value=U,Y.setAttribute("readonly",""),Y.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Y),Y.select();const O=document.execCommand("copy");return document.body.removeChild(Y),O}catch{return!1}}async function N(){await T(m.value)&&(h.value=!0,setTimeout(()=>{h.value=!1},2e3))}async function M(){await T(f.value)&&(_.value=!0,setTimeout(()=>{_.value=!1},2e3))}function R(U){if(!s.value)return;const Y=U.composedPath?U.composedPath():[U.target];d.value&&Y.some(V=>V===d.value)||g.value&&Y.some(V=>V===g.value||V===g.value.$el)||!Y.some(V=>{var A,G;return(G=(A=V==null?void 0:V.classList)==null?void 0:A.contains)==null?void 0:G.call(A,"mapboxgl-canvas")})||L()}function W(U){U.key==="Escape"&&s.value&&L()}return to(()=>{var U;document.addEventListener("click",R,!0),window.addEventListener("resize",u),i.value=((U=a.value)==null?void 0:U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]"))||null,document.addEventListener("keydown",W)}),To(()=>{document.removeEventListener("click",R,!0),window.removeEventListener("resize",u),document.removeEventListener("keydown",W)}),(U,Y)=>(z(),te("div",{ref_key:"rootEl",ref:a,class:"share-wrap"},[Be(qo,{ref_key:"btnEl",ref:g,"is-dark":e.isDark,active:s.value,title:ye(t)("buttons.shareEmbed"),onClick:v},{default:Kt(()=>[...Y[2]||(Y[2]=[E("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"},[E("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),E("polyline",{points:"16 6 12 2 8 6"}),E("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),(z(),rt($p,{to:i.value,disabled:!i.value},[s.value?(z(),te("div",{key:0,ref_key:"popoverEl",ref:d,class:Ce(["share-pop",{light:!e.isDark}]),style:tt(l.value)},[E("div",{class:"share-header"},[Y[4]||(Y[4]=E("span",{class:"share-title"},"Share",-1)),E("button",{class:"share-close",onClick:L,"aria-label":"Close"},[...Y[3]||(Y[3]=[E("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[E("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),E("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),E("ul",b1,[(z(!0),te(Le,null,St(ye(o)("buttons.shareSteps"),(O,V)=>(z(),te("li",{key:V},ce(ye(n)(O)),1))),128))]),E("div",y1,[E("button",{class:Ce(["share-tab",{active:w.value==="link"}]),onClick:Y[0]||(Y[0]=O=>w.value="link")},"Embed link",2),E("button",{class:Ce(["share-tab",{active:w.value==="embed"}]),onClick:Y[1]||(Y[1]=O=>w.value="embed")},"Add to Your Website",2)]),w.value==="link"?(z(),te("div",_1,[E("div",v1,[E("div",k1,ce(m.value),1)]),E("button",{class:Ce(["share-primary-btn",{copied:h.value}]),onClick:N},[h.value?(z(),te("svg",x1,[...Y[6]||(Y[6]=[E("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(z(),te("svg",w1,[...Y[5]||(Y[5]=[E("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),E("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),dt(" "+ce(h.value?"Copied!":"Copy Link"),1)],2)])):me("",!0),w.value==="embed"?(z(),te("div",S1,[Y[9]||(Y[9]=E("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),E("div",A1,[(z(),te(Le,null,St(x,(O,V)=>E("button",{key:V,class:Ce(["share-size-pill",{active:y.value===V}]),onClick:A=>y.value=V},ce(O.label),11,$1)),64))]),E("div",L1,ce(f.value),1),E("button",{class:Ce(["share-secondary-btn",{copied:_.value}]),onClick:M},[_.value?(z(),te("svg",T1,[...Y[8]||(Y[8]=[E("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(z(),te("svg",C1,[...Y[7]||(Y[7]=[E("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),E("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),dt(" "+ce(_.value?"Copied!":"Copy Code"),1)],2)])):me("",!0)],6)):me("",!0)],8,["to","disabled"]))],512))}},E1=["blocs","clusters","peopleGroups","families","languages","dialects","people","places","regions","wagfBlocks","religions"],P1={"people-groups":["blocs","clusters","peopleGroups","people","places","families","languages","dialects","regions","religions"],language:["families","languages","dialects","people","blocs","clusters","peopleGroups","places","regions","religions"],regions:["regions","wagfBlocks","places","blocs","clusters","peopleGroups","people","families","languages","dialects","religions"],religion:["religions","people","blocs","clusters","peopleGroups","places","families","languages","dialects","regions"]};function M1(e){return P1[e]||E1}const N1={blocs:3,clusters:3,peopleGroups:3,families:3,languages:3,dialects:3,people:5,places:2,regions:3,wagfBlocks:3,religions:2},ur=["peopleGroups","people","places","languages","religions"],I1={regions:[...ur,"regions","wagfBlocks"],"people-groups":[...ur,"blocs","clusters"],language:[...ur,"dialects","families"],religion:[...ur]},R1=100,F1=50,O1=25,D1=10,Vs=5,nd=20,B1=[[/ sign language$/i,"Sign Language"]];function j1(e){if(!e||typeof e!="string")return"";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function G1(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function U1(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if($t[n])return $t[n];if(t.length>=3){const r=[t[1],t[0]].join(" ");if($t[r])return $t[r]}}if($t[e])return $t[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(o!==e&&$t[o])return $t[o];for(const[n,r]of B1)if(n.test(e))return r;return null}function ad(e,t){return{id:`doxa-section-header-${Ws(e)}`,place_name:e,text:e,center:[0,0],place_type:["doxa-section-header"],geometry:{type:"Point",coordinates:[0,0]},properties:{headerLabel:e,isHeader:!0,isAllDataSection:!!t},feature:null}}function Ws(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function xe(e){return e==null?"":typeof e=="string"?e.toLowerCase():typeof e=="object"&&"label"in e?String(e.label||"").toLowerCase():typeof e=="object"&&"value"in e?String(e.value||"").toLowerCase():String(e).toLowerCase()}function dr(e){return e==null?"":typeof e=="string"?e:typeof e=="object"?e.label||e.value||"":String(e)}function K1(e){var o,n,r,a,s;if(!Array.isArray(e))return[];const t=[];for(const i of e){if(!i)continue;const l=Number(i.latitude),c=Number(i.longitude);if(!Number.isFinite(l)||!Number.isFinite(c))continue;const u=xe(i.name)+" "+xe(i.displayName)+" "+xe(i.alternateName),d=xe(i.countryName)+" "+xe(i.country)+" "+xe(i.countryIso)+" "+xe(i.countryIsoLabel),g=xe(i.religionName)+" "+xe(i.religion)+" "+xe(i.religionLabel)+" "+xe(i.religionCode),w=xe(i.language)+" "+xe(i.languageFamily)+" "+xe(i.languageCode),h=xe(i.doxaRegion)+" "+xe(i.wagfRegion)+" "+xe(i.wagfBlock),_=xe(i.affinityBlock)+" "+xe(i.affinityBlockLabel)+" "+xe((o=i._raw)==null?void 0:o.rop1),y=xe(i.cluster)+" "+xe(i.clusterLabel)+" "+xe((n=i._raw)==null?void 0:n.imb_reg_of_people_2),x=xe(i.peopleGroup)+" "+xe(i.peopleGroupLabel)+" "+xe((r=i._raw)==null?void 0:r.imb_reg_of_people_25),S=((a=i._raw)==null?void 0:a.primary_language)??((s=i._raw)==null?void 0:s.PrimaryLanguage),m=S&&(typeof S=="object"?S.label||S.value:S)||dr(i.language)||dr(i.primaryLanguage)||"",f=j1(m),v=G1(m);t.push({feature:i,nameHay:u,countryHay:d,religionHay:g,languageHay:w,regionHay:h,haystack:u+" "+d+" "+g+" "+w+" "+h+" "+_+" "+y+" "+x,blocHay:_,clusterHay:y,pgHay:x,lat:l,lng:c,familyDerived:U1(m)||null,languageLabel:m,baseLang:f,dialectLabel:v})}return t}function H1(e){const t=(o,n,r)=>{const a=new Map;for(const s of e){const i=o(s);if(!i)continue;const l=a.get(i);if(l)l.count+=1,l.lngSum+=s.lng,l.latSum+=s.lat,l.memberIds.push(String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")),l.minLng=Math.min(l.minLng,s.lng),l.maxLng=Math.max(l.maxLng,s.lng),l.minLat=Math.min(l.minLat,s.lat),l.maxLat=Math.max(l.maxLat,s.lat),r&&r(l,s,!1);else{const c={key:i,label:dr(n(s))||i,count:1,lngSum:s.lng,latSum:s.lat,minLng:s.lng,maxLng:s.lng,minLat:s.lat,maxLat:s.lat,memberIds:[String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")]};r&&r(c,s,!0),a.set(i,c)}}for(const s of a.values())s.lng=s.lngSum/s.count,s.lat=s.latSum/s.count;return Array.from(a.values())};return{countries:t(o=>xe(o.feature.countryName)||xe(o.feature.country)||xe(o.feature.countryIso),o=>o.feature.countryName||o.feature.country||o.feature.countryIso||""),families:t(o=>xe(o.familyDerived),o=>o.familyDerived||""),languages:t(o=>xe(o.baseLang),o=>o.baseLang||""),dialects:t(o=>o.dialectLabel?`${xe(o.baseLang)}__${xe(o.dialectLabel)}`:"",o=>`${o.baseLang}, ${o.dialectLabel}`,(o,n,r)=>{r?(o.originalLabels=new Set([n.languageLabel]),o.familyDerived=n.familyDerived||"",o.baseLang=n.baseLang||"",o.dialectLabel=n.dialectLabel||""):(o.originalLabels.add(n.languageLabel),!o.familyDerived&&n.familyDerived&&(o.familyDerived=n.familyDerived))}),religions:t(o=>{var n,r,a;return aa(o.feature.religion||((r=(n=o.feature._raw)==null?void 0:n.religion)==null?void 0:r.value)||((a=o.feature._raw)==null?void 0:a.religion)||"")},o=>{var n,r,a;return na[aa(o.feature.religion||((r=(n=o.feature._raw)==null?void 0:n.religion)==null?void 0:r.value)||((a=o.feature._raw)==null?void 0:a.religion)||"")]||"Unknown"}),regions:t(o=>xe(o.feature.doxaRegion)||xe(o.feature.wagfRegion),o=>{var n,r;return o.feature.wagfRegionLabel||o.feature.doxaRegionLabel||((r=(n=o.feature._raw)==null?void 0:n.wagf_region)==null?void 0:r.label)||o.feature.doxaRegion||o.feature.wagfRegion||""}),wagfBlocks:t(o=>xe(o.feature.wagfBlock),o=>{var n,r;return o.feature.wagfBlockLabel||((r=(n=o.feature._raw)==null?void 0:n.wagf_block)==null?void 0:r.label)||o.feature.wagfBlock||""}),blocs:t(o=>xe(o.feature.affinityBlockLabel)||xe(o.feature.affinityBlock),o=>o.feature.affinityBlockLabel||o.feature.affinityBlock||"",(o,n,r)=>{r&&(o.blocCode=n.feature.affinityBlock||"")}),clusters:t(o=>{const n=o.feature.affinityBlock||"",r=o.feature.cluster||"";return r?`${n}__${r}`:""},o=>o.feature.clusterLabel||o.feature.cluster||"",(o,n,r)=>{r&&(o.blocCode=n.feature.affinityBlock||"",o.blocLabel=n.feature.affinityBlockLabel||"",o.clusterCode=n.feature.cluster||"")}),peopleGroups:t(o=>xe(o.feature.peopleGroup)||xe(o.feature.peopleGroupLabel),o=>o.feature.peopleGroupLabel||o.feature.peopleGroup||o.feature.name||"",(o,n,r)=>{r&&(o.blocCode=n.feature.affinityBlock||"",o.blocLabel=n.feature.affinityBlockLabel||"",o.clusterCode=n.feature.cluster||"",o.clusterLabel=n.feature.clusterLabel||"",o.peopleGroupCode=n.feature.peopleGroup||"")})}}function z1(e){const t=e.feature,o=t.name||t.displayName||t.slug||"Unknown",n=t.countryName||t.country||t.countryIso||"",r=t.religionName||t.religion||"",a=t.slug||t.uniqueId||Ws(o+"-"+n),s=[e.lng,e.lat],i=[n,r].filter(Boolean).join(" — "),l=i?`${o}, ${i}`:o;return{id:`doxa-pg-${a}`,place_name:l,text:o,center:s,place_type:["people-group"],geometry:{type:"Point",coordinates:s},properties:{slug:a,...t},feature:t}}function io(e,t){let o,n;switch(e){case"country":o="doxa-country",n="doxa-country-";break;case"region":o="doxa-region",n="doxa-region-";break;case"language-family":o="doxa-language-family",n="doxa-language-family-";break;case"language":o="doxa-language",n="doxa-language-";break;case"dialect":o="doxa-dialect",n="doxa-dialect-";break;case"religion":o="doxa-religion",n="doxa-religion-";break;case"affinity-bloc":o="doxa-affinity-bloc",n="doxa-affinity-bloc-";break;case"cluster":o="doxa-cluster",n="doxa-cluster-";break;case"people-group":o="doxa-people-group",n="doxa-people-group-";break;default:o="doxa",n="doxa-"}const r=dr(t.label)||t.key,a=Ws(t.key),s=[t.lng,t.lat],l={"affinity-bloc":"Affinity Block",cluster:"Cluster","people-group":"PG","pg-in-country":"PGIC"}[e],c=l?`${r} (${l}) · ${t.count}`:`${r} (${t.count})`,u=t.originalLabels?Array.from(t.originalLabels):void 0,d=e==="dialect"?{familyDerived:t.familyDerived||"",baseLang:t.baseLang||"",dialectLabel:t.dialectLabel||""}:null;return{id:`${n}${a}`,place_name:c,text:r,center:s,bbox:[t.minLng,t.minLat,t.maxLng,t.maxLat],place_type:[o],geometry:{type:"Point",coordinates:s},properties:{slug:a,doxaAggregate:e,count:t.count,label:r,memberIds:t.memberIds,bounds:[t.minLng,t.minLat,t.maxLng,t.maxLat],...u?{originalLabels:u}:{},...d||{},...e==="affinity-bloc"?{blocCode:t.blocCode||""}:{},...e==="cluster"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||""}:{},...e==="people-group"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||"",clusterLabel:t.clusterLabel||"",peopleGroupCode:t.peopleGroupCode||""}:{}},feature:null}}function V1(e={}){const{dataStore:t,dataSourceId:o,getActiveFilter:n,getActiveContext:r}=e,{t:a}=kt(),s=ee(()=>{var d,g;if(!t||!t.sources)return[];if(o&&((d=t.sources[o])!=null&&d.features))return t.sources[o].features;for(const w of Object.keys(t.sources)){const h=t.sources[w];if((g=h==null?void 0:h.features)!=null&&g.length)return h.features}return[]}),i=ee(()=>K1(s.value)),l=ee(()=>H1(i.value));function c(d){const g=String(d||"").trim().toLowerCase(),w={people:[],places:[],regions:[],wagfBlocks:[],families:[],languages:[],dialects:[],religions:[],blocs:[],clusters:[],peopleGroups:[]};if(g.length<2)return w;const h=g.split(/[\s,;]+/).filter(Boolean);if(!h.length)return w;const _=i.value;if(!_.length)return w;const y=l.value,x=[];for(const A of _){let G=!0;for(const be of h)if(!A.haystack.includes(be)){G=!1;break}if(!G)continue;let re=0;h.some(be=>A.nameHay.includes(be))&&(re+=R1),h.some(be=>A.countryHay.includes(be))&&(re+=F1),h.some(be=>A.religionHay.includes(be))&&(re+=O1),h.some(be=>A.languageHay.includes(be))&&(re+=D1),x.push({entry:A,score:re})}x.sort((A,G)=>G.score-A.score);const S=x.slice(0,Vs).map(A=>z1(A.entry)),m=A=>A.filter(G=>h.every(re=>G.key.includes(re)||xe(G.label).includes(re))).sort((G,re)=>re.count-G.count).slice(0,Vs),f=m(y.countries).map(A=>io("country",A)),v=m(y.regions).map(A=>io("region",A)),L=m(y.wagfBlocks).map(A=>io("region",A)),T=m(y.families).map(A=>io("language-family",A)),N=m(y.languages).map(A=>io("language",A)),M=m(y.dialects).map(A=>io("dialect",A)),R=m(y.religions).map(A=>io("religion",A)),W=m(y.blocs).map(A=>io("affinity-bloc",A));let U=m(y.clusters).map(A=>io("cluster",A)),Y=m(y.peopleGroups).map(A=>io("people-group",A));const O=new Set(W.map(A=>xe(A.text)));U=U.filter(A=>!O.has(xe(A.text)));const V=new Set(U.map(A=>xe(A.text)));return Y=Y.filter(A=>!O.has(xe(A.text))&&!V.has(xe(A.text))),{people:S,places:f,regions:v,wagfBlocks:L,families:T,languages:N,dialects:M,religions:R,blocs:W,clusters:U,peopleGroups:Y}}function u(d){const g=typeof n=="function"?n():null,w=typeof r=="function"?r():null,h=c(d),_=M1(w),y=I1[w],x=y?Object.fromEntries(y.filter(T=>h[T]).map(T=>[T,h[T]])):h,S=_.flatMap(T=>x[T]||[]);if(!(g!=null&&g.key)||!S.length)return S.slice(0,nd);const m=[];for(const T of h.people){const N=i.value.find(R=>R.feature===T.feature);let M=!1;N&&(g.kind==="family"?M=(N.familyDerived||"").toLowerCase()===g.key.toLowerCase():g.kind==="language"&&(M=N.languageLabel.toLowerCase()===g.key.toLowerCase())),M&&m.push(T)}const f=[],v=g.key;m.length&&(f.push(ad(a("search.sections.within",{selection:v}),!1)),f.push(...m.slice(0,Vs)));const L=_.flatMap(T=>(x[T]||[]).slice(0,N1[T]??3)).map(T=>({...T,properties:{...T.properties,_allDataSection:!0}}));return f.push(ad(a("search.sections.allData"),!0)),f.push(...L),f.slice(0,nd+8)}return{search:u,searchGrouped:c,index:i,aggregates:l}}const rd="https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js",W1={__name:"GeocoderComponent",props:{mapInstance:{type:Object,required:!1,default:null},accessToken:{type:String,required:!0},provider:{type:String,default:"mapbox"},isDark:{type:Boolean,default:!1},standalone:{type:Boolean,default:!1},placeholder:{type:String,default:""},dataSourceId:{type:String,default:""},activeContext:{type:String,default:""}},emits:["result","people-group-result","aggregate-result","clear","error"],setup(e,{expose:t,emit:o}){function n(R){return R+R.replace(/mapboxgl/g,"maplibregl")}At(n('.mapboxgl-ctrl-geocoder--input,.mapboxgl-ctrl-geocoder input[type="text"],.mapboxgl-ctrl-geocoder input[type="search"]{font-size:16px !important;line-height:1.3;}'),"geocoder-ios-zoom-fix"),At(n(".mapboxgl-ctrl-geocoder--icon-loading{display:none !important;}"),"geocoder-hide-loading"),At(n(".mapboxgl-ctrl-geocoder{height:35px!important;min-height:35px!important;box-sizing:border-box!important;}.mapboxgl-ctrl-geocoder--input{height:35px!important;min-height:35px!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important;line-height:35px!important;}.mapboxgl-ctrl-geocoder--icon-search{top:50%!important;transform:translateY(-50%)!important;margin-top:0!important;left:7px!important;}"),"geocoder-height-35"),At(n(".mapboxgl-ctrl-geocoder{width:100%!important;max-width:100%!important;min-width:0!important;}@media(max-width:767px){.mapboxgl-ctrl-top-left{top:10px!important;left:3px!important;right:3px!important;width:calc(100% - 6px)!important;max-width:none!important;}}.mapboxgl-ctrl-geocoder{border-radius:999px!important;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.15)!important;transition:box-shadow .12s,border-color .12s;}.mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.15),0 0 0 3px rgba(59,70,61,0.18)!important;}.mapboxgl-ctrl-geocoder--input{border-radius:999px!important;font-size:13px!important;}.mapboxgl-ctrl-geocoder--input::placeholder{font-size:12px!important;}.mapboxgl-ctrl-geocoder--button{display:none!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;width:24px!important;height:24px!important;background:transparent!important;border:none!important;box-shadow:none!important;}.mapboxgl-ctrl-geocoder:has(.mapboxgl-ctrl-geocoder--input:not(:placeholder-shown)) .mapboxgl-ctrl-geocoder--button{display:block!important;}.mapboxgl-ctrl-geocoder--button .mapboxgl-ctrl-geocoder--icon-close{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:16px!important;height:16px!important;}.mapboxgl-ctrl-geocoder--suggestions,.mapboxgl-ctrl-geocoder .suggestions{z-index:1200!important;position:absolute;max-height:60vh!important;overflow-y:auto!important;}.geocoder-dark.mapboxgl-ctrl-geocoder,.dsm-dark .mapboxgl-ctrl-geocoder{background:#4e594f!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important;}.geocoder-dark.mapboxgl-ctrl-geocoder:focus-within,.dsm-dark .mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.4),0 0 0 3px rgba(115,161,127,0.22)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input,.dsm-dark .mapboxgl-ctrl-geocoder--input{color:#F3F3F1!important;background:transparent!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input::placeholder,.dsm-dark .mapboxgl-ctrl-geocoder--input::placeholder{color:rgba(243,243,241,0.65)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--icon,.dsm-dark .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon{fill:rgba(243,243,241,0.75)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--button,.dsm-dark .mapboxgl-ctrl-geocoder--button{background:transparent!important;}"),"geocoder-skin");const{t:r,locale:a}=kt(),s=e,i=ee(()=>s.placeholder||r("search.placeholder")),l=o,c={"&":"&","<":"<",">":">",'"':""","'":"'"};function u(R){return String(R??"").replace(/[&<>"']/g,W=>c[W])}function d(R){return R==null?"":typeof R=="string"?R:typeof R=="object"?R.label||R.value||"":String(R)}const g={"people-group":"people","doxa-people-group":"peopleGroup","doxa-affinity-bloc":"bloc","doxa-cluster":"cluster","doxa-country":"country","doxa-region":"region","doxa-language-family":"family","doxa-language":"languageKind","doxa-dialect":"dialect","doxa-religion":"religionKind"};function w(R){const W=g[R];if(!W)return"";const U=r("search.kinds."+W);return`${u(U)}`}function h(R){var Y;if(!R)return"";const W=R.place_type||[];if(W.includes("doxa-section-header"))return`
${u(((Y=R.properties)==null?void 0:Y.headerLabel)||R.text||"")}
`;if(W.includes("people-group")){const O=R.properties||{},V=d(O.name)||d(O.displayName)||d(R.text)||"",A=d(O.countryName)||d(O.country)||d(O.countryIso)||"",G=d(O.language)||d(O.primaryLanguage)||d(O.languageFamily)||"",re=d(O.religionName)||d(O.religion)||"",be=r("search.labels.place"),K=r("search.labels.language"),pe=r("search.labels.religion"),ge=[];return A&&ge.push(`${u(be)} ${u(A)}`),G&&ge.push(`${u(K)} ${u(G)}`),re&&ge.push(`${u(pe)} ${u(re)}`),`
${w("people-group")}${u(V)}
`+(ge.length?`
${ge.join("")}
`:"")}const U=W.find(O=>O.startsWith("doxa-"));if(U){const O=R.properties||{},V=u(d(O.label)||R.text||""),A=Number(O.count)||0,G=A?` ${A}`:"";return`
${w(U)}${V}${G}
`}return`
${u(R.place_name||R.text||"")}
`}const _=Ee("dataStore",null),y=Ee("mapStore",null),x=Ee("uiStore",null);function S(){return y?y.selectedFamily?{kind:"family",key:y.selectedFamily}:y.selectedLanguage?{kind:"language",key:y.selectedLanguage}:null:null}const{search:m}=V1({dataStore:_,dataSourceId:s.dataSourceId||void 0,getActiveFilter:S,getActiveContext:()=>s.activeContext||null}),f=Mn(null),v=ue(null),L={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",maplibre:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.css"};function T(R,W){const U=L[W]||L.mapbox;if(R.querySelector(`link[href="${U}"]`))return;const Y=document.createElement("link");Y.rel="stylesheet",Y.href=U,R.prepend(Y)}async function N(){if(typeof window<"u"&&window.MaplibreGeocoder||typeof document>"u")return;const R=document.querySelector(`script[src="${rd}"]`);if(R){if(window.MaplibreGeocoder)return;await new Promise(W=>{R.addEventListener("load",W,{once:!0}),R.addEventListener("error",W,{once:!0})});return}await new Promise((W,U)=>{const Y=document.createElement("script");Y.src=rd,Y.async=!1,Y.addEventListener("load",W,{once:!0}),Y.addEventListener("error",()=>U(new Error("[GeocoderComponent] Failed to load MapLibre geocoder")),{once:!0}),document.head.appendChild(Y)})}function M(R,W){return async U=>{const Y={features:[]};if(!R||!(U!=null&&U.query))return Y;try{const O=Array.isArray(U.language)?U.language[0]:U.language||W()||"en",V=new URLSearchParams({access_token:R,autocomplete:"true",limit:String(U.limit||5)});O&&V.set("language",O);const A=`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(U.query)}.json?${V.toString()}`,G=await fetch(A);if(!G.ok)return Y;const re=await G.json();return re&&Array.isArray(re.features)?re:Y}catch{return Y}}}return to(async()=>{var O,V,A,G,re;const R=s.provider==="maplibre";if(R){if(await N(),typeof MaplibreGeocoder>"u"){console.error("[GeocoderComponent] MaplibreGeocoder global unavailable.");return}}else if(typeof MapboxGeocoder>"u")return;const W=s.mapInstance;if(!s.standalone&&!W)return;const U=s.standalone?(V=(O=v.value)==null?void 0:O.getRootNode)==null?void 0:V.call(O):(re=(G=(A=W.getContainer)==null?void 0:A.call(W))==null?void 0:G.getRootNode)==null?void 0:re.call(G);U instanceof ShadowRoot&&T(U,s.provider);const Y={marker:!1,flyTo:!s.standalone,trackProximity:!s.standalone,placeholder:i.value,language:a.value||"en",localGeocoder:m,limit:20,zoom:6,render:h};if(R){const be=typeof maplibregl<"u"?maplibregl:void 0,K={forwardGeocode:M(s.accessToken,()=>a.value)};f.value=new MaplibreGeocoder(K,{...Y,maplibregl:be,showResultsWhileTyping:!0,reverseGeocode:!1})}else f.value=new MapboxGeocoder({accessToken:s.accessToken,mapboxgl,...Y});if(f.value.on("result",be=>{var pe,ge,Ge,We,Ze,Xe,ot,Qe,gt,et,wt,$,P,C,B,J,X,Q,q,p,b,F,H,se,ae,D,k,I,ne,le;const K=be==null?void 0:be.result;K&&((pe=K.place_type)!=null&&pe.includes("doxa-section-header")||(y&&(y.selectedRegion=null,y.selectedResource=null,y.selectedAffinityBlock=null,y.selectedDialect=null),x&&((ge=x.setPrayerFilter)==null||ge.call(x,null),(Ge=x.setEngagementFilter)==null||Ge.call(x,null),(We=x.setAdoptionFilter)==null||We.call(x,null),(Ze=x.setReligionFilter)==null||Ze.call(x,null)),(Xe=K.properties)!=null&&Xe._allDataSection&&y&&(y.selectedFamily=null,y.selectedLanguage=null),l("result",be),(ot=K.place_type)!=null&&ot.includes("people-group")&&K.feature?l("people-group-result",{type:"Feature",properties:K.properties||K.feature,geometry:K.geometry||{type:"Point",coordinates:K.center}}):((Qe=K.place_type)!=null&&Qe.includes("doxa-country")||(gt=K.place_type)!=null&>.includes("doxa-region")||(et=K.place_type)!=null&&et.includes("doxa-language-family")||(wt=K.place_type)!=null&&wt.includes("doxa-language")||($=K.place_type)!=null&&$.includes("doxa-dialect")||(P=K.place_type)!=null&&P.includes("doxa-religion")||(C=K.place_type)!=null&&C.includes("doxa-affinity-bloc")||(B=K.place_type)!=null&&B.includes("doxa-cluster")||(J=K.place_type)!=null&&J.includes("doxa-people-group"))&&l("aggregate-result",{kind:K.place_type[0].replace(/^doxa-/,""),label:((X=K.properties)==null?void 0:X.label)||K.text,count:((Q=K.properties)==null?void 0:Q.count)||0,memberIds:((q=K.properties)==null?void 0:q.memberIds)||[],bounds:((p=K.properties)==null?void 0:p.bounds)||null,center:K.center,originalLabels:((b=K.properties)==null?void 0:b.originalLabels)||null,familyDerived:((F=K.properties)==null?void 0:F.familyDerived)||"",baseLang:((H=K.properties)==null?void 0:H.baseLang)||"",dialectLabel:((se=K.properties)==null?void 0:se.dialectLabel)||"",slug:((ae=K.properties)==null?void 0:ae.slug)||null,id:K.id||null,blocCode:((D=K.properties)==null?void 0:D.blocCode)||"",blocLabel:((k=K.properties)==null?void 0:k.blocLabel)||"",clusterCode:((I=K.properties)==null?void 0:I.clusterCode)||"",clusterLabel:((ne=K.properties)==null?void 0:ne.clusterLabel)||"",peopleGroupCode:((le=K.properties)==null?void 0:le.peopleGroupCode)||"",properties:K.properties||null})))}),f.value.on("clear",()=>l("clear")),f.value.on("error",be=>l("error",be)),s.standalone){if(v.value){const be={on(){},off(){},fire(){},getContainer:()=>v.value,getZoom:()=>0,getCenter:()=>({lng:0,lat:0}),getBounds:()=>null,flyTo(){},fitBounds(){},addControl(){},removeControl(){},hasControl:()=>!1};try{const K=f.value.onAdd(s.mapInstance||be);K&&v.value.appendChild(K)}catch(K){l("error",K)}}}else W.addControl(f.value,"top-left")}),ct(i,R=>{var Y,O;const W=f.value;if(!W)return;const U=W._inputEl||((O=(Y=W.container)==null?void 0:Y.querySelector)==null?void 0:O.call(Y,"input.mapboxgl-ctrl-geocoder--input"));U&&(U.placeholder=R,U.setAttribute("placeholder",R)),W.options&&(W.options.placeholder=R)}),ct(a,R=>{const W=f.value;W!=null&&W.options&&(W.options.language=R||"en")}),To(()=>{var R,W;if(f.value){try{s.standalone?(W=(R=f.value).onRemove)==null||W.call(R):s.mapInstance&&s.mapInstance.removeControl(f.value)}catch{}f.value=null}}),t({geocoder:f}),(R,W)=>e.standalone?(z(),te("div",{key:0,ref_key:"standaloneContainer",ref:v,class:"dg-standalone-geocoder"},null,512)):Bn(R.$slots,"default",{},void 0,void 0,1)}},Y1=["country_code","wagf_region","wagf_block","primary_language","religion"];function J1(e){return e==null?{value:null,label:null}:typeof e=="object"?{value:e.value??null,label:e.label??null}:{value:e,label:null}}function q1(e){if(e==null||typeof e!="object")return e;const t={...e};for(const o of Y1)if(o in t){const{value:n,label:r}=J1(t[o]);t[o]=n,r!=null&&(t[`${o}_label`]=r)}return t}function sd(e){return Array.isArray(e)?e.map(q1):[]}function id(e){return Array.isArray(e)?e:e&&typeof e=="object"?e.posts||e.data||e.records||e.results||e.items||[]:[]}function _n(e){return e==null||typeof e!="object"?null:e.slug??null}function ld(e){return typeof e=="string"&&e.toLowerCase().includes("deaf")}function Z1(e){const t=e==null?null:e.rop1;return t==null?null:typeof t=="object"?t.value??null:t}function ra(e,t){const o=new Set;if(e==null||typeof e!="object"||typeof e.type!="string")throw new Error(`selector-evaluator: malformed selector (expected an object with a string \`type\`), got: ${JSON.stringify(e)}`);const n=Array.isArray(t)?t:[];switch(e.type){case"country_code":{const r=e.value;for(const a of n)if(a&&a.country_code===r){const s=_n(a);s!=null&&o.add(s)}return o}case"country_codes":{const r=new Set(Array.isArray(e.values)?e.values:[]);for(const a of n)if(a&&r.has(a.country_code)){const s=_n(a);s!=null&&o.add(s)}return o}case"wagf_block":{const r=e.value;for(const a of n)if(a&&a.wagf_block===r){const s=_n(a);s!=null&&o.add(s)}return o}case"wagf_region":{const r=e.value;for(const a of n)if(a&&a.wagf_region===r){const s=_n(a);s!=null&&o.add(s)}return o}case"union":{const r=Array.isArray(e.selectors)?e.selectors:[];for(const a of r){const s=ra(a,n);for(const i of s)o.add(i)}return o}case"deaf_predicate":{const r=new Set(Array.isArray(e.regions)?e.regions:[]);for(const a of n){if(!a)continue;if((ld(a.slug)||ld(a.name))&&r.has(a.wagf_region)){const i=_n(a);i!=null&&o.add(i)}}return o}case"affinity_bloc":{const r=e.rop1;for(const a of n)if(a&&Z1(a)===r){const s=_n(a);s!=null&&o.add(s)}return o}default:throw new Error(`selector-evaluator: unknown selector type "${e.type}" (supported: country_code, country_codes, wagf_block, wagf_region, union, deaf_predicate, affinity_bloc)`)}}const X1=Object.freeze(Object.defineProperty({__proto__:null,default:ra,evaluate:ra},Symbol.toStringTag,{value:"Module"}));function Q1(e,t){return`hsl(${Math.round(e*360/(t||1))}, 72%, 56%)`}function pr(e){if(typeof e.count=="number")return e.count;if(typeof e.expected_count=="number")return e.expected_count}function cd(e){const t=parseInt(e&&e.population,10);return Number.isFinite(t)?t:0}function ek(e,t){if(!Array.isArray(t)||t.length===0)return;const o=e&&e.selector;if(o==null)return;if(o.type==="pg_slugs"){const a=new Set(Array.isArray(o.values)?o.values:[]);let s=0;for(const i of t)i&&a.has(i.slug)&&(s+=cd(i));return s}const n=ra(o,t);let r=0;for(const a of t)a&&n.has(a.slug)&&(r+=cd(a));return r}function Ys(e,t={}){const o=t.deafCount??123,n=Array.isArray(t.records)?t.records:null,r=e.lists||[],a=e.asia_lists||[],s=e.uncovered_lists||[],i={type:"affinity_bloc",rop1:"A017"},l=a.filter(O=>O.id.startsWith("asia-india")),c=a.filter(O=>O.id.startsWith("asia-china")),u=[...r.map(O=>O.id),"deaf",...l.map(O=>O.id),...c.map(O=>O.id),...s.map(O=>O.id)],d=u.length,g=O=>Q1(u.indexOf(O),d),w=(O,V,A)=>{if(!n)return O;const G=A??(V&&V.selector);return O.pop=ek({selector:G},n),O},h=O=>n?O.reduce((V,A)=>V+(A.pop||0),0):void 0,_=r.map(O=>w({id:O.id,zoneKey:O.id,label:O.label,...O.provinceLabel?{provinceLabel:O.provinceLabel}:{},color:g(O.id),count:pr(O)},O)),y=w({id:"deaf",zoneKey:"deaf",label:"Deaf (affinity bloc A017)",color:g("deaf"),count:o,info:"Unified deaf row — affinity bloc rop1=A017 (collapses the two deaf_lists; zero-delta vs old deaf_predicate). Population double-counts vs geographic rows (design-approved, slice 08)."},null,i),x=O=>w({id:O.id,zoneKey:O.id,label:O.label,...O.provinceLabel?{provinceLabel:O.provinceLabel}:{},color:g(O.id),count:pr(O),...Array.isArray(O.adm0)&&O.adm0.length?{adm0:O.adm0}:{},...Array.isArray(O.provinces)&&O.provinces.length?{provinces:O.provinces}:{}},O),S=l.map(x),m=c.map(x),f=O=>O.reduce((V,A)=>V+(pr(A)||0),0),v={id:"asia-india",label:"India",count:f(l),children:S},L={id:"asia-china",label:"China",count:f(c),children:m};n&&(v.pop=h(S),L.pop=h(m)),f(a),n&&h([v,L]);const T=O=>w({id:O.id,zoneKey:O.id,label:O.label,...O.provinceLabel?{provinceLabel:O.provinceLabel}:{},color:g(O.id),count:pr(O)},O),N=s.map(T);N.length>0&&(()=>{const O={id:"frontier-asia",label:"Frontier Asia (uncovered)",count:f(s),children:N};return n&&(O.pop=h(N)),O})();const M={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe",deaf:"Deaf","deaf-old-world":"Deaf"},R=O=>M[O]||(String(O).startsWith("asia-india-")?"India":String(O).startsWith("asia-china-")?"China + Mongolia":"Other"),W=[..._,y,...S,...m,...N].filter(Boolean),U=new Map;for(const O of W){const V=R(O.id||O.zoneKey);U.has(V)||U.set(V,[]),U.get(V).push(O)}const Y=[...U.entries()].map(([O,V])=>{V.sort((G,re)=>(re.count||0)-(G.count||0));const A={id:"region-"+O.toLowerCase().replace(/[^a-z0-9]+/g,"-"),label:O,count:V.reduce((G,re)=>G+(re.count||0),0),children:V};return n&&(A.pop=h(V)),A}).sort((O,V)=>(V.count||0)-(O.count||0));return tk(ud(Y),{withPop:!!n}),Y}function tk(e,{withPop:t=!1}={}){const o=[];for(const n of e||[]){const r=[];(typeof n.id!="string"||!n.id)&&r.push("id"),(typeof n.zoneKey!="string"||!n.zoneKey)&&r.push("zoneKey"),(typeof n.label!="string"||!n.label)&&r.push("label"),(typeof n.color!="string"||!n.color)&&r.push("color"),typeof n.count!="number"&&r.push("count"),t&&typeof n.pop!="number"&&r.push("pop"),r.length&&o.push(`${n.id||"(no-id)"}: missing/!type [${r.join(", ")}]`)}if(o.length)throw new Error(`legend-tree L15: ${o.length} leaf node(s) violate the uniform consumer shape: `+o.join(` `));return!0}function ud(e){const t=[],o=n=>{for(const r of n)r.children&&r.children.length?o(r.children):t.push(r)};return o(e||[]),t}const dd=()=>({type:"FeatureCollection",features:[]});function ok(e,t){const o=ra(e.selector,t),n=new Set;for(const r of t)r&&o.has(r.slug)&&r.country_code&&n.add(r.country_code);return n}function nk(e){return typeof e.id=="string"&&e.id.startsWith("asia-")}function Js(e,t){return{type:"Feature",properties:{...e.properties||{},zoneKey:t.zoneKey??t.id,zoneColor:t.color??t.zoneColor??"#888",zoneLabel:t.label,...t.id==="deaf"?{hatch:!0}:{}},geometry:e.geometry}}function ak(e,t){const{records:o=[],adm0:n,adm1Ind:r,adm1Chn:a}=t||{},s=dd();if(nk(e)){const l=[r,a].filter(Boolean);for(const c of l)for(const u of c.features||[])u.properties&&u.properties.listId===e.id&&s.features.push(Js(u,e));if(Array.isArray(e.adm0)&&e.adm0.length&&n){const c=new Set(e.adm0);for(const u of n.features||[])u.properties&&c.has(u.properties.iso3)&&s.features.push(Js(u,e))}return s}if(!e.selector)return s;const i=ok(e,o);if(n&&i.size)for(const l of n.features||[])l.properties&&i.has(l.properties.iso3)&&s.features.push(Js(l,e));return s}function rk(e,t){const o=dd(),n=new Map;for(const r of e){if(r.id==="deaf"){n.set(r.zoneKey??r.id,0);continue}const a=ak(r,t);n.set(r.zoneKey??r.id,a.features.length);for(const s of a.features)o.features.push(s)}return{tapestry:o,perZone:n}}const sk={"andean-caribbean":"#f9a51f","asia-china-tibet-autonomous-region":"#00f0c8","asia-china-yunnan-province":"#22ddff","asia-frontier-nas-a":"#ff1744","asia-india-andhra-pradesh":"#22ddff","asia-india-assam":"#22ddff","asia-india-chhattisgarh":"#536dfe","asia-india-gujarat":"#536dfe","asia-india-karnataka":"#536dfe","asia-india-kerala":"#2196ff","asia-india-madhya-pradesh":"#2196ff","asia-india-maharashtra":"#2196ff","asia-india-odisha":"#2196ff","asia-india-rajasthan":"#22ddff","asia-india-tamil-nadu":"#7c4dff","asia-india-uttarakhand":"#536dfe","asia-india-west-bengal":"#22ddff",brazil:"#f4c57b","central-africa":"#c20001",deaf:"#18ffff","east-africa":"#ef3410",europe:"#34cb74",laos:"#7c4dff","maghreb-egypt":"#602f74","mainland-se-asia-philippines":"#ff1744","middle-east-core":"#bc8bd0","oceania-indonesia":"#ee892f","southern-africa-islands":"#e75556",sudan:"#e69e93","uncovered-central-asia":"#ff8a00","uncovered-himalaya":"#ff6d00","uncovered-japan":"#ffc400","uncovered-mongolia":"#76ff03","uncovered-nas-a":"#ff1744","uncovered-nepal":"#ffea00","uncovered-sa-west":"#ff1744","uncovered-scatter":"#eeff41","west-africa":"#edcac9"};function ik(e,t){const o=sk[e];return typeof o=="string"&&o?o:t}const gr={"Andaman and Nicobar Islands":9,"Andhra Pradesh":81,"Arunāchal Pradesh":7,Assam:15,Bihār:18,Chandīgarh:1,Chhattīsgarh:24,Delhi:1,"Dādra and Nagar Haveli and Damān and Diu":1,Goa:5,Gujarāt:90,Haryāna:4,"Himāchal Pradesh":20,"Jammu and Kashmīr":33,Jhārkhand:9,Karnātaka:81,Kerala:72,Ladākh:6,Lakshadweep:1,"Madhya Pradesh":33,Mahārāshtra:54,Manipur:5,Meghālaya:2,Odisha:64,Puducherry:5,Punjab:4,Rājasthān:48,Sikkim:1,"Tamil Nādu":64,Telangāna:26,Tripura:11,"Uttar Pradesh":23,Uttarākhand:7,"West Bengal":30,"Gansu Province":3,"Guangxi Zhuang Autonomous Region":6,"Guizhou Province":34,"Hainan Province":3,"Heilongjiang Province":2,"Hunan Province":5,"Inner Mongolia Autonomous Region":3,"Qinghai Province":3,"Sichuan Province":12,"Tibet Autonomous Region":13,"Xinjiang Uyghur Autonomous Region":7,"Yunnan Province":61},pd={ABW:1,AFG:21,AGO:10,ALB:1,AND:1,ARE:2,ARM:1,ASM:1,ATG:1,AZE:3,BEN:9,BFA:8,BGD:3,BGR:1,BHR:2,BHS:1,BIH:1,BLM:1,BLR:1,BMU:1,BOL:1,BRA:103,BRB:1,BRN:5,BTN:13,CAF:1,CHN:154,CIV:2,CMR:8,COD:9,COG:2,COK:1,COL:27,COM:3,CUB:1,CUW:1,CYM:1,CYP:1,CZE:1,DJI:1,DMA:1,DZA:17,ECU:1,EGY:3,ERI:8,ESP:1,ETH:29,FIN:1,FJI:1,FRO:1,FSM:1,GAB:2,GEO:1,GGY:1,GHA:1,GIN:13,GLP:1,GMB:3,GNB:3,GNQ:1,GRC:1,GRD:1,GUF:2,GUM:1,GUY:1,IDN:36,IRN:20,IRQ:8,ISL:1,ISR:4,JAM:1,JOR:3,JPN:6,KAZ:1,KEN:5,KGZ:2,KHM:1,KIR:1,KWT:1,LAO:95,LBN:4,LBR:2,LBY:15,LCA:1,LIE:1,LKA:1,LUX:1,MAR:4,MDV:1,MHL:1,MLI:13,MLT:1,MMR:7,MNE:1,MNG:1,MNP:1,MOZ:4,MRT:3,MSR:1,MUS:1,MWI:1,MYS:12,MYT:1,NAM:6,NCL:1,NER:2,NGA:38,NIU:1,NPL:34,NZL:1,OMN:7,PAK:24,PAN:1,PER:10,PHL:1,PLW:1,PNG:1,PRK:1,PRY:1,PSE:4,PYF:1,QAT:3,RUS:21,SAU:3,SDN:105,SEN:1,SHN:1,SLB:1,SLE:2,SMR:1,SOM:9,SSD:22,STP:1,SUR:2,SWE:2,SWZ:1,SYR:5,TCA:1,TCD:53,TGO:6,THA:8,TJK:3,TON:1,TUN:2,TUR:3,TZA:16,UGA:6,USA:3,UZB:1,VCT:1,VEN:6,VGB:1,VIR:1,VNM:16,VUT:1,WLF:1,WSM:1,YEM:9,ZAF:2,ZMB:6,ZWE:3},sa={ABW:"Aruba",IND:"India",AFG:"Afghanistan",AGO:"Angola",ALB:"Albania",AND:"Andorra",ARE:"United Arab Emirates",ARM:"Armenia",ASM:"American Samoa",ATG:"Antigua and Barbuda",AZE:"Azerbaijan",BEN:"Benin",BFA:"Burkina Faso",BGD:"Bangladesh",BGR:"Bulgaria",BHR:"Bahrain",BHS:"Bahamas",BIH:"Bosnia and Herzegovina",BLM:"Saint Barthélemy",BLR:"Belarus",BMU:"Bermuda",BOL:"Bolivia",BRA:"Brazil",BRB:"Barbados",BRN:"Brunei",BTN:"Bhutan",CAF:"Central African Republic",CHN:"China",CIV:"Côte d'Ivoire",CMR:"Cameroon",COD:"DR Congo",COG:"Congo",COK:"Cook Islands",COL:"Colombia",COM:"Comoros",CUB:"Cuba",CUW:"Curaçao",CYM:"Cayman Islands",CYP:"Cyprus",CZE:"Czechia",DJI:"Djibouti",DMA:"Dominica",DZA:"Algeria",ECU:"Ecuador",EGY:"Egypt",ERI:"Eritrea",ESP:"Spain",ETH:"Ethiopia",FIN:"Finland",FJI:"Fiji",FRO:"Faroe Islands",FSM:"Micronesia",GAB:"Gabon",GEO:"Georgia",GGY:"Guernsey",GHA:"Ghana",GIN:"Guinea",GLP:"Guadeloupe",GMB:"Gambia",GNB:"Guinea-Bissau",GNQ:"Equatorial Guinea",GRC:"Greece",GRD:"Grenada",GUF:"French Guiana",GUM:"Guam",GUY:"Guyana",IDN:"Indonesia",IRN:"Iran",IRQ:"Iraq",ISL:"Iceland",ISR:"Israel",JAM:"Jamaica",JOR:"Jordan",JPN:"Japan",KAZ:"Kazakhstan",KEN:"Kenya",KGZ:"Kyrgyzstan",KHM:"Cambodia",KIR:"Kiribati",KWT:"Kuwait",LAO:"Laos",LBN:"Lebanon",LBR:"Liberia",LBY:"Libya",LCA:"Saint Lucia",LIE:"Liechtenstein",LKA:"Sri Lanka",LUX:"Luxembourg",MAR:"Morocco",MDV:"Maldives",MHL:"Marshall Islands",MLI:"Mali",MLT:"Malta",MMR:"Myanmar",MNE:"Montenegro",MNG:"Mongolia",MNP:"Northern Mariana Islands",MOZ:"Mozambique",MRT:"Mauritania",MSR:"Montserrat",MUS:"Mauritius",MWI:"Malawi",MYS:"Malaysia",MYT:"Mayotte",NAM:"Namibia",NCL:"New Caledonia",NER:"Niger",NGA:"Nigeria",NIU:"Niue",NPL:"Nepal",NZL:"New Zealand",OMN:"Oman",PAK:"Pakistan",PAN:"Panama",PER:"Peru",PHL:"Philippines",PLW:"Palau",PNG:"Papua New Guinea",PRK:"North Korea",PRY:"Paraguay",PSE:"Palestine",PYF:"French Polynesia",QAT:"Qatar",RUS:"Russia",SAU:"Saudi Arabia",SDN:"Sudan",SEN:"Senegal",SHN:"Saint Helena",SLB:"Solomon Islands",SLE:"Sierra Leone",SMR:"San Marino",SOM:"Somalia",SSD:"South Sudan",STP:"São Tomé and Príncipe",SUR:"Suriname",SWE:"Sweden",SWZ:"Eswatini",SYR:"Syria",TCA:"Turks and Caicos Islands",TCD:"Chad",TGO:"Togo",THA:"Thailand",TJK:"Tajikistan",TON:"Tonga",TUN:"Tunisia",TUR:"Turkey",TZA:"Tanzania",UGA:"Uganda",USA:"United States",UZB:"Uzbekistan",VCT:"Saint Vincent and the Grenadines",VEN:"Venezuela",VGB:"British Virgin Islands",VIR:"U.S. Virgin Islands",VNM:"Vietnam",VUT:"Vanuatu",WLF:"Wallis and Futuna",WSM:"Samoa",YEM:"Yemen",ZAF:"South Africa",ZMB:"Zambia",ZWE:"Zimbabwe"};function gd(e){const t={...sa};for(const o of e||[]){const n=o&&o.country_code,r=o&&o.country_code_label;n&&r&&(t[n]=r)}return t}function fd(e,t={}){if(!e||typeof e!="object")return null;const o=t.nameMap||sa;if(e.shapeName){const n=String(e.shapeName),r=Object.prototype.hasOwnProperty.call(gr,n)?gr[n]:null;return{key:"adm1:"+n,name:n,count:r,kind:"adm1"}}if(e.iso3){const n=String(e.iso3),r=o[n]||sa[n]||n,a=Object.prototype.hasOwnProperty.call(pd,n)?pd[n]:null;return{key:"adm0:"+n,name:r,count:a,kind:"adm0"}}return null}function hd(e,t={}){const o=Array.isArray(e)?e:[],n=o.map(l=>l.name),r=o.reduce((l,c)=>l+(Number(c.count)||0),0),a=t&&typeof t.color=="string"&&t.color?t.color:"",s=n.join(", ")+" — "+r+" UUPG"+(a?" · "+a:""),i=o.map(l=>l.name+" "+(Number(l.count)||0)).join(", ");return s+` -`+i}function vn(e){return String(e??"").normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().trim()}function lk(e){return vn(e).split(/[\s,;]+/).filter(Boolean)}function ck(e={}){const{records:t=[],leafZones:o=[],adm1Counts:n={},iso3Names:r={},countryNameMap:a=null}=e,s=[],i=new Set;for(const c of t){if(!c)continue;const u=c.slug;if(!u||i.has(u))continue;const d=Number(c.latitude),g=Number(c.longitude);if(!Number.isFinite(d)||!Number.isFinite(g))continue;const w=c.name||u;i.add(u),s.push({label:w,kind:"pg",target:{type:"pg",slug:u,lng:g,lat:d},_hay:vn(w)})}for(const c of o){if(!c)continue;const u=c.zoneKey||c.id,d=c.label||u;u&&s.push({label:d,kind:"zone",target:{type:"zone",zoneId:u},_hay:vn(d)})}for(const c of Object.keys(n))s.push({label:c,kind:"territory",target:{type:"territory",shapeName:c},_hay:vn(c)});const l=a||r;for(const c of Object.keys(r)){const u=l&&l[c]||r[c]||c;s.push({label:u,kind:"territory",target:{type:"territory",shapeName:c,iso3:!0},_hay:vn(u)})}return s}const uk={zone:0,territory:1,pg:2};function dk(e={}){const{records:t=[],leafZones:o=[],adm1Counts:n={},iso3Names:r={},countryNameMap:a=null,centroidFor:s=null}=e,i=[];for(const u of t)u&&i.push(u);const l=(u,d,g)=>!d||!Number.isFinite(d[0])||!Number.isFinite(d[1])?null:{name:u,slug:g.__synthSlug,latitude:d[1],longitude:d[0],...g};for(const u of o){if(!u)continue;const d=u.zoneKey||u.id,g=u.label||d;if(!d)continue;const w=typeof s=="function"?s(_=>_&&_.properties&&_.properties.zoneKey===d):null,h=l(g,w,{__upgKind:"zone",__zoneId:d,__synthSlug:`__zone__${d}`});h&&i.push(h)}for(const u of Object.keys(n)){const d=typeof s=="function"?s(w=>w&&w.properties&&w.properties.shapeName===u):null,g=l(u,d,{__upgKind:"territory",__shapeName:u,__synthSlug:`__terr__${u}`});g&&i.push(g)}const c=a||r;for(const u of Object.keys(r)){const d=c&&c[u]||r[u]||u,g=typeof s=="function"?s(h=>h&&h.properties&&h.properties.iso3===u):null,w=l(d,g,{__upgKind:"territory",__shapeName:u,__synthSlug:`__terr__${u}`});w&&i.push(w)}return i}function md(e,t,o={}){const n=o.limit??8,r=lk(t);if(!r.length)return[];const a=r[0],s=[];for(const i of e){let l=!0;for(const d of r)if(!i._hay.includes(d)){l=!1;break}if(!l)continue;const c=i._hay.startsWith(a)?0:1,u=i._hay===vn(t)?-1:0;s.push({e:i,starts:c,exact:u,kr:uk[i.kind]??9,len:i._hay.length})}return s.sort((i,l)=>i.exact-l.exact||i.starts-l.starts||i.kr-l.kr||i.len-l.len),s.slice(0,n).map(i=>i.e)}const pk="rgba(120, 128, 134, 0.28)",bd="36px",yd=()=>{};function gk(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return yd;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return yd;const r=S=>S.classList.contains("map-scroll-edge--left");for(const S of n)S.style.background=`linear-gradient(${r(S)?"to right":"to left"}, ${pk} ${bd}, transparent ${bd})`,S.style.opacity="0",S.style.transition="opacity 0.16s ease",S.style.userSelect="none",S.style.webkitUserSelect="none";const a=S=>{S.style.opacity="1"},s=S=>{S.style.opacity="0"},i=()=>n.find(S=>!r(S))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const S of n)l.has(S)||s(S)},g=()=>{const S=i();S&&(a(S),u&&clearTimeout(u),u=setTimeout(d,250))},w=()=>g(),h=S=>{if(!(S.touches&&S.touches.length===1))return;const m=S.target;m&&m.classList&&m.classList.contains("map-scroll-edge")||g()},_=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",w,{passive:!0}),e.addEventListener("touchmove",h,{passive:!0}),e.addEventListener("touchend",_,{passive:!0}),e.addEventListener("touchcancel",_,{passive:!0});const y=()=>{c||g()};typeof window<"u"&&window.addEventListener("scroll",y,{passive:!0});const x=[];for(const S of n){const m=()=>{l.add(S),a(S)},f=()=>{l.delete(S),s(S)},v=()=>{c=!0,a(S)},L=()=>{c=!1,s(S)};S.addEventListener("mouseenter",m),S.addEventListener("mouseleave",f),S.addEventListener("touchstart",v,{passive:!0}),S.addEventListener("touchend",L,{passive:!0}),x.push(()=>{S.removeEventListener("mouseenter",m),S.removeEventListener("mouseleave",f),S.removeEventListener("touchstart",v),S.removeEventListener("touchend",L)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",w),e.removeEventListener("touchmove",h),e.removeEventListener("touchend",_),e.removeEventListener("touchcancel",_),typeof window<"u"&&window.removeEventListener("scroll",y);for(const m of x)m();for(const m of n)s(m)}}const fk={class:"upg-root"},hk={key:0,class:"upg-map-err"},mk={class:"upg-legend-desktop-slot"},bk={class:"upg-legend-mobile-slot"},yk={class:"upg-detail-desktop-slot"},_k={key:4,class:"upg-hud"},vk={key:0,class:"upg-hud-head"},kk={class:"upg-hud-total"},wk={key:1,class:"upg-hud-names"},xk={key:2,class:"upg-hud-swatches"},Sk=["data-color","title","onClick"],Ak={key:3,class:"upg-hud-actions"},$k={key:4,class:"upg-hud-flash"},Lk={class:"upg-status"},qs="upg-search",_d="My UPG 100 List — Legend",Ck="people-groups",Tk="Search people group, zone, or territory…",vd=8,Zs=123,Ek=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"upg-100-list",setup(e){const t=Zi(()=>Sn(()=>Promise.resolve().then(()=>Uv),void 0)),o={lists:ku,asia_lists:wu,uncovered_lists:xu},n=Ee("mapboxToken",ue("")),r=Ee("profileConfig",ue(null)),a=ee(()=>{var j;const Z=(j=r.value)==null?void 0:j.edgeScrollAffordance;return Z==null?!0:!(Z===!1||Z==="false")}),s=Ee("dataStore",null),i=Ee("uiStore",null),l=ue(null),c=ue("loading…"),u=ue(""),d=Mn([]),g=ue(null),w=Mn(null),h=ue(!1),_=Yy("my-upg-100-list");_.theme.value="light",Jy(_);const y=ue([]),x=ee(()=>y.value.reduce((Z,j)=>Z+(Number(j.count)||0),0)),S=ee(()=>y.value.length),m=ue("");let f=null;const v=ue(!1);function L(Z){const j=Z===void 0?!v.value:!!Z;return j===v.value||(v.value=j,A&&(A.getCanvas().style.cursor=""),ot()),j}function T(){L()}ct([v,h],()=>{ho(()=>I())});function N(Z){if(!Z)return;const j=y.value,oe=j.findIndex(ie=>ie.key===Z.key);oe>=0?y.value=j.filter((ie,$e)=>$e!==oe):y.value=[...j,Z],ot(),m.value=""}const M=["#e69f00","#56b4e9","#009e73","#f0e442","#0072b2","#d55e00","#cc79a7","#999999"],R=ue(""),W=ue("");function U(Z){const j=/^#?([0-9a-fA-F]{6})$/.exec(String(Z||"").trim());if(!j)return;const oe="#"+j[1].toLowerCase();R.value=R.value===oe?"":oe,ot()}function Y(){/^#?[0-9a-fA-F]{6}$/.test(W.value.trim())&&U(W.value)}const O=ue(null);let V=[],A=null,G=null,re=[],fe=null,K=null,pe=null;const ge=typeof window<"u"&&window.MAP_APP_API_URL||"https://pray.doxa.life";At(`.upg-root{position:absolute;inset:0;background:#0a1410;color:#e5e7eb;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.upg-map{position:absolute;inset:0}.upg-map-err{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;text-align:center;padding:0 24px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#9aa7b8}.upg-map-err strong{display:block;font-size:14px;color:#cbd5e1;margin-bottom:4px}.map-scroll-edge{position:absolute;top:0;bottom:0;width:40px;z-index:2;touch-action:pan-y;pointer-events:auto;background:transparent}.map-scroll-edge--left{left:0}.map-scroll-edge--right{right:0}.upg-legend-mobile-slot{display:none}@media(max-width:767px){.upg-legend-mobile-slot{display:block}.upg-legend-desktop-slot{display:none}.upg-detail-desktop-slot{display:none}}.upg-status{position:absolute;bottom:10px;right:10px;z-index:5;font:10px/1 ui-monospace,monospace;color:#9aa7b8;background:rgba(10,14,21,.82);padding:6px 10px;border-radius:8px}.upg-detail-panel{position:absolute;top:60px;right:8px;bottom:10px;width:340px;max-width:calc(100vw - 16px);z-index:6;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column;animation:upgPanelIn .18s ease}.upg-detail-panel.dark{background:#1a1a2e}@keyframes upgPanelIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:480px){.upg-detail-panel{top:auto;left:8px;right:8px;width:auto;height:55vh}}.upg-hud{position:absolute;bottom:34px;right:10px;z-index:6;min-width:150px;font:11px/1.35 ui-monospace,monospace;color:#e5e7eb;background:rgba(10,20,16,.92);border:1px solid rgba(110,231,183,.35);border-radius:10px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,.4)}.upg-hud-head{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.upg-hud-total{font-size:15px;font-weight:700;color:#6ee7b7}.upg-hud-band{margin-left:auto;font-size:9px;color:#9aa7b8}.upg-hud-band.ok{color:#6ee7b7}.upg-hud-names{margin-top:5px;max-height:84px;overflow:auto;font-size:10px;color:#cbd5e1;line-height:1.45;word-break:break-word}.upg-hud-actions{display:flex;gap:6px;margin-top:7px}.upg-hud-btn{flex:1;cursor:pointer;border:1px solid rgba(110,231,183,.4);background:rgba(16,185,129,.18);color:#d1fae5;font:12px/1 ui-monospace,monospace;padding:0 10px;min-height:40px;border-radius:8px}.upg-hud-btn:hover{background:rgba(16,185,129,.32)}.upg-hud-btn.clear{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.4);color:#cbd5e1}.upg-hud-flash{margin-top:5px;font-size:9px;color:#6ee7b7;min-height:11px}.upg-hud-hint{margin-top:4px;font-size:9px;color:#64748b}.upg-hud-swatches{display:flex;gap:6px;margin-top:7px;align-items:center;flex-wrap:wrap}.upg-swatch{width:40px;height:40px;border-radius:9px;cursor:pointer;padding:0;border:1px solid rgba(255,255,255,.3)}.upg-swatch.active{outline:2px solid #fff;outline-offset:1px}.upg-hex{width:84px;min-height:40px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.4);color:#cbd5e1;font:12px/1 ui-monospace,monospace;padding:0 8px;border-radius:8px}@media(max-width:480px){.upg-hud{left:8px;right:8px;min-width:0;bottom:30px;max-height:48vh;overflow:auto}}.map-toolbar .mcb.upg-batch-on{background:#10b981!important;color:#04241a!important;box-shadow:0 0 0 2px rgba(52,211,153,.45),0 1px 4px rgba(0,0,0,0.2)!important}.map-toolbar .mcb.upg-batch-on.dark{border-color:#34d399!important}.upg-batch-row{position:relative;background:rgba(16,185,129,.16)!important;opacity:1!important;box-shadow:inset 3px 0 0 0 #10b981}.upg-batch-row .stl-name{color:#065f46!important;font-weight:700}.stl-panel[data-theme="dark"] .upg-batch-row .stl-name,.upg-batch-row.dark .stl-name{color:#6ee7b7!important}.upg-batch-row .stl-dot{box-shadow:0 0 0 2px #10b981}.mapboxgl-ctrl-top-left{top:12px!important;left:8px!important;width:380px!important;max-width:380px!important;z-index:1200!important}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:0!important;float:none!important}.stl-panel{top:58px!important}.dg-main{font:13px/1.3 ui-monospace,monospace}.dg-meta{margin-top:2px;font-size:11px;color:#475569;display:flex;flex-wrap:wrap;gap:8px}.dg-field strong{font-weight:700}.dg-section-header-item{padding:4px 8px;font:10px/1.2 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;pointer-events:none}`);function Ge(Z){const j=[];for(const oe of Z)j.push(oe.zoneKey,ik(oe.zoneKey,oe.color));return["match",["get","zoneKey"],...j,"#9ca3af"]}function We(){if(A.getSource("tapestry"))return;A.addSource("tapestry",{type:"geojson",data:G});const Z=h.value?.45:.3,j=h.value?.65:.45;A.addLayer({id:"tapestry-fill",type:"fill",source:"tapestry",paint:{"fill-color":fe,"fill-opacity":["case",["==",["get","zoneKey"],"deaf"],Z,j]}}),A.addLayer({id:"tapestry-line",type:"line",source:"tapestry",paint:{"line-color":fe,"line-width":1.2,"line-opacity":.9}})}function Ze(){!A||!A.getSource("tapestry")||A.getLayer("upg-sel-fill")||(A.addLayer({id:"upg-sel-fill",type:"fill",source:"tapestry",filter:["boolean",!1],paint:{"fill-color":"#f59e0b","fill-opacity":.28}}),A.addLayer({id:"upg-sel-line",type:"line",source:"tapestry",filter:["boolean",!1],paint:{"line-color":"#fbbf24","line-width":2.4,"line-opacity":.95}}))}function Xe(){const Z=[],j=[],oe=[];for(const $e of y.value)$e.kind==="adm1"?Z.push($e.name):$e.kind==="adm0"?j.push($e.key.slice(5)):$e.kind==="zone"&&oe.push($e.key.slice(5));const ie=[];return Z.length&&ie.push(["in",["get","shapeName"],["literal",Z]]),j.length&&ie.push(["in",["get","iso3"],["literal",j]]),oe.length&&ie.push(["in",["get","zoneKey"],["literal",oe]]),ie.length?ie.length===1?ie[0]:["any",...ie]:["boolean",!1]}function ot(){if(I(),!A||!A.getLayer("upg-sel-fill"))return;const Z=v.value?Xe():["boolean",!1];A.setFilter("upg-sel-fill",Z),A.setFilter("upg-sel-line",Z);const j=R.value;A.setPaintProperty("upg-sel-fill","fill-color",j||"#f59e0b"),A.setPaintProperty("upg-sel-fill","fill-opacity",j?.55:.28),A.setPaintProperty("upg-sel-line","line-color",j||"#fbbf24")}let Qe=null,gt=!1;function et(){if(!(!A||!A.getLayer("tapestry-fill"))){if(Qe)try{A.off("click","tapestry-fill",Qe)}catch{}Qe=Z=>{const j=Z&&Z.features&&Z.features[0];if(j&&v.value){const oe=fd(j.properties,{nameMap:f});if(!oe){console.warn("[batch-select] clicked feature has no shapeName/iso3",j.properties);return}oe.count==null&&console.warn("[batch-select] no UUPG count for territory",oe.name,j.properties),N(oe)}},A.on("click","tapestry-fill",Qe),gt||(A.on("mouseenter","tapestry-fill",()=>{A&&(A.getCanvas().style.cursor=v.value?"crosshair":"")}),A.on("mouseleave","tapestry-fill",()=>{A&&(A.getCanvas().style.cursor="")}),gt=!0)}}function wt(){y.value=[],m.value="",R.value="",W.value="",ot()}async function $(){if(!y.value.length)return;const Z=hd(y.value,{color:R.value});typeof window<"u"&&(window.__UPG_LAST_CLIPBOARD__=Z);let j=!1;try{navigator.clipboard&&navigator.clipboard.writeText?(await navigator.clipboard.writeText(Z),j=!0):j=P(Z)}catch{j=P(Z)}m.value=j?"Copied!":"Copy failed — press Ctrl/Cmd-C",setTimeout(()=>{m.value.startsWith("Copied")&&(m.value="")},1800)}function P(Z){try{const j=document.createElement("textarea");j.value=Z,j.style.position="fixed",j.style.opacity="0",j.style.top="0",document.body.appendChild(j),j.focus(),j.select();const oe=document.execCommand&&document.execCommand("copy");return document.body.removeChild(j),!!oe}catch{return!1}}function C(Z){if(s&&typeof s.cacheSourceData=="function"){const j=dk({records:Z,leafZones:re,adm1Counts:gr,iso3Names:sa,countryNameMap:f,centroidFor:oe=>{const ie=F(oe);return ie?[(ie[0][0]+ie[1][0])/2,(ie[0][1]+ie[1][1])/2]:null}});s.cacheSourceData(qs,{normalizedData:j})}V=ck({records:Z,leafZones:re,adm1Counts:gr,iso3Names:sa,countryNameMap:f}),typeof window<"u"&&(window.__UPG_SEARCH__={size:()=>V.length,counts:()=>{const j={pg:0,zone:0,territory:0};for(const oe of V)j[oe.kind]=(j[oe.kind]||0)+1;return j},query:j=>md(V,j,{limit:vd}).map(oe=>({label:oe.label,kind:oe.kind,target:oe.target})),select:j=>{const oe=md(V,j,{limit:vd})[0];return oe?(Q(oe.target),{label:oe.label,kind:oe.kind,target:oe.target}):null},feedSize:()=>{const j=s&&s.sources&&s.sources[qs];return j&&Array.isArray(j.features)&&j.features.length||0},localGeocoder:j=>{const oe=O.value&&O.value.geocoder,ie=oe&&oe.options&&oe.options.localGeocoder;return ie?ie(j).map($e=>$e&&$e.place_name):null}})}function B(Z){const j=Z&&Z.properties||{},oe=j.__upgKind;if(oe==="zone")p(j.__zoneId);else if(oe==="territory")b(j.__shapeName);else{const ie=Z&&Z.geometry,$e=ie&&Array.isArray(ie.coordinates)?ie.coordinates:null;$e&&Number.isFinite($e[0])&&Number.isFinite($e[1])&&A&&A.flyTo({center:[$e[0],$e[1]],zoom:6,duration:800}),q(j.slug)}}function J(Z){if(!Z||!A)return;const j=new Set(Z.memberIds||[]);if(!j.size)return;let oe=[];try{oe=A.querySourceFeatures("upg").filter(Fe=>{const me=Fe.properties||{};return j.has(me.slug)||j.has(me.id)||j.has(me.peopleGroupId)})}catch{return}if(!oe.length)return;let ie=180,$e=90,Mt=-180,bt=-90,Re=!1;for(const Fe of oe){const me=Fe.geometry&&Fe.geometry.coordinates;!Array.isArray(me)||!Number.isFinite(me[0])||!Number.isFinite(me[1])||(me[0]Mt&&(Mt=me[0]),me[1]<$e&&($e=me[1]),me[1]>bt&&(bt=me[1]),Re=!0)}Re&&A.fitBounds([[ie,$e],[Mt,bt]],{padding:60,duration:800,maxZoom:6})}function X(){Ae(null),i&&typeof i.selectPeopleGroup=="function"&&i.selectPeopleGroup(null)}function Q(Z){!Z||!A||(Z.type==="pg"?(Number.isFinite(Z.lng)&&Number.isFinite(Z.lat)&&A.flyTo({center:[Z.lng,Z.lat],zoom:6,duration:800}),q(Z.slug)):Z.type==="zone"?p(Z.zoneId):Z.type==="territory"&&b(Z.shapeName))}function q(Z){if(!Z||!i||typeof i.selectPeopleGroup!="function")return;const j=A&&A.getSource&&A.getSource("upg"),ie=(j&&j._data&&j._data.features||[]).find($e=>$e.properties&&$e.properties.slug===Z);ie&&i.selectPeopleGroup(ie)}function p(Z){if(!Z||!A||!G)return;const j=F(oe=>oe.properties&&oe.properties.zoneKey===Z);j&&A.fitBounds(j,{padding:40,duration:800,maxZoom:6})}function b(Z){if(!Z||!A||!G)return;const j=F(oe=>{const ie=oe.properties||{};return ie.shapeName===Z||ie.iso3===Z});j&&A.fitBounds(j,{padding:40,duration:800,maxZoom:6})}function F(Z){let j=180,oe=90,ie=-180,$e=-90,Mt=!1;const bt=Re=>{if(typeof Re[0]=="number"){const[Fe,me]=Re;Feie&&(ie=Fe),me$e&&($e=me),Mt=!0;return}for(const Fe of Re)bt(Fe)};for(const Re of G.features)Z(Re)&&bt(Re.geometry.coordinates);return Mt?[[j,oe],[ie,$e]]:null}function H(Z){const j=new Set,oe=ie=>{ie.children&&ie.children.length?ie.children.forEach(oe):j.add(ie.zoneKey??ie.id)};return oe(Z),j}let se=null;function ae(Z){if(![...H(Z)].length)return;const oe=[],ie=Re=>{Re.children&&Re.children.length?Re.children.forEach(ie):oe.push(Re)};ie(Z);const $e=y.value,Mt=new Set($e.filter(Re=>Re.kind==="zone").map(Re=>Re.key));if(oe.every(Re=>Mt.has("zone:"+(Re.zoneKey??Re.id)))){const Re=new Set(oe.map(Fe=>"zone:"+(Fe.zoneKey??Fe.id)));y.value=$e.filter(Fe=>!Re.has(Fe.key))}else{const Re=oe.filter(Fe=>!Mt.has("zone:"+(Fe.zoneKey??Fe.id))).map(Fe=>({key:"zone:"+(Fe.zoneKey??Fe.id),name:Fe.label||Fe.id,count:Number(Fe.count)||0,kind:"zone"}));y.value=[...$e,...Re]}ot(),m.value=""}function D(){const Z=new Set;for(const j of y.value)j.kind==="zone"&&Z.add(j.key.slice(5));return Z}function k(){const Z=new Map,j=oe=>{const ie=H(oe);oe.label&&Z.set(oe.label,ie),oe.children&&oe.children.length&&oe.children.forEach(j)};for(const oe of d.value)j(oe);return Z}function I(){if(typeof document>"u")return;const Z=document.querySelector("my-upg-100-list-map"),oe=(Z&&Z.shadowRoot||document).querySelectorAll(".stl-row");if(!oe.length)return;if(!v.value){oe.forEach(bt=>bt.classList.remove("upg-batch-row"));return}const ie=D(),$e=k(),Mt=h.value;oe.forEach(bt=>{const Re=bt.querySelector(".stl-name"),Fe=Re?Re.textContent.trim():"",me=Fe&&$e.get(Fe),Ye=!!(me&&me.size&&[...me].every(it=>ie.has(it)));bt.classList.toggle("upg-batch-row",Ye),bt.classList.toggle("dark",Ye&&Mt)})}let ne=null;function le(){if(typeof document>"u"||ne)return;const Z=document.querySelector("my-upg-100-list-map"),oe=(Z&&Z.shadowRoot||document).querySelector(".stl-rows");oe&&(ne=new MutationObserver(()=>{requestAnimationFrame(()=>I())}),ne.observe(oe,{childList:!0,subtree:!0}))}Dt("onSemanticTreeSelect",Ae);function he(Z){var $e;const j=g.value;if(!j)return;if(Z==="packet"){c.value="Prayer List — coming soon",setTimeout(()=>{c.value=""},2600);return}const oe=String((($e=r.value)==null?void 0:$e.assetsBase)||"./assets").replace(/\/+$/,""),ie=document.createElement("a");ie.href=`${oe}/posters/${j}.webp`,ie.download=`doxa-upg-100-${j}-poster.webp`,document.body.appendChild(ie),ie.click(),ie.remove()}function Ae(Z){if(!A||!A.getLayer("tapestry-fill"))return;if(v.value){Z&&ae(Z);return}if(!Z){se=null,g.value=null,A.setFilter("tapestry-fill",null),A.setFilter("tapestry-line",null),A.setPaintProperty("upg-pins","circle-opacity",.85);return}se=Z;const j=[...H(Z)];g.value=j.length===1?j[0]:Z.id??null;const oe=["in",["get","zoneKey"],["literal",j]];A.setFilter("tapestry-fill",oe),A.setFilter("tapestry-line",oe),A.getLayer("upg-pins")&&A.setPaintProperty("upg-pins","circle-opacity",["case",["in",["get","zoneKey"],["literal",j]],.95,.05]);const ie=F($e=>j.includes($e.properties.zoneKey));ie&&A.fitBounds(ie,{padding:40,duration:700,maxZoom:6})}function we(){!A||!G||(We(),typeof pe=="function"&&pe(),Ze(),et(),ot(),g.value&&A.getLayer("tapestry-fill")&&Ae(se))}function ft(){A&&(h.value=!h.value,_.theme.value=h.value?"dark":"light",A.setStyle(h.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),A.once("style.load",we))}function Ie(){!A||!A.getLayer("upg-pins")||(A.on("click","upg-pins",Z=>{const j=Z&&Z.features&&Z.features[0];j&&i&&typeof i.selectPeopleGroup=="function"&&i.selectPeopleGroup(j)}),A.on("mouseenter","upg-pins",()=>{A&&(A.getCanvas().style.cursor="pointer")}),A.on("mouseleave","upg-pins",()=>{A&&(A.getCanvas().style.cursor="")}))}let Ke=null;function kn(Z){var ie;const j=((ie=Z==null?void 0:Z.detail)==null?void 0:ie.listId)??null;if(!j){Ae(null);return}const oe=ia(d.value,j);oe&&Ae(oe)}function ia(Z,j){for(const oe of Z||[]){if((oe.zoneKey||oe.id)===j)return oe;const ie=oe.children&&ia(oe.children,j);if(ie)return ie}return null}function jk(){const Z=Ys(o,{deafCount:Zs});d.value=Z,re=ud(Z);const j={};for(const oe of o.lists||[])j[oe.id]=oe.selector;for(const oe of o.asia_lists||[])j[oe.id]=oe.selector;for(const oe of o.uncovered_lists||[])j[oe.id]=oe.selector;j.deaf={type:"affinity_bloc",rop1:"A017"};for(const oe of re)oe.selector=j[oe.id];fe=Ge(re)}async function xd(){try{const j=await fetch(`${ge}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,latitude,longitude&lang=en`,{cache:"no-store"});if(!j.ok)throw new Error(`list ${j.status}`);const oe=sd(id(await j.json()));f=gd(oe),d.value=Ys(o,{deafCount:Zs,records:oe})}catch{}}return to(async()=>{var $e,Mt,bt,Re,Fe;jk();const Z=window.mapboxgl,j=(n==null?void 0:n.value)||(($e=r==null?void 0:r.value)==null?void 0:$e.tk)||"";if(!Z){c.value="⚠ mapbox-gl not loaded",u.value="mapbox-gl did not load. The list and legend are unaffected.",xd();return}if(!j){c.value="⚠ no mapbox token",u.value="No Mapbox token configured. The list and legend are unaffected.",xd();return}Z.accessToken=j;try{const me=l.value&&l.value.getRootNode();if(me instanceof ShadowRoot){const Ye="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";if(!me.querySelector(`link[href="${Ye}"]`)){const it=document.createElement("link");it.rel="stylesheet",it.href=Ye,me.prepend(it)}}}catch{}A=new Z.Map({container:l.value,style:"mapbox://styles/mapbox/light-v11",center:[35,20],zoom:1.5,projection:"mercator"}),w.value=A,K=gk(((Mt=l.value)==null?void 0:Mt.parentElement)||null,{enabled:a.value}),typeof window<"u"&&(window.__UPG_MAP__=A),window.__UPG_SELECT__={get list(){return y.value.map(me=>({...me}))},get total(){return x.value},get count(){return S.value},get color(){return R.value},get batchMode(){return v.value},setColor:me=>U(me),setBatchMode:me=>L(me),clipboardText:()=>hd(y.value,{color:R.value}),clear:()=>wt(),toggleByProps:me=>{const Ye=fd(me,{nameMap:f});return Ye?(N(Ye),{...Ye}):null},toggleLegendRow:me=>{const Ye=Do=>{for(const at of Do){if(at.label===me)return at;if(at.children&&at.children.length){const lo=Ye(at.children);if(lo)return lo}}return null},it=Ye(d.value);return it?(ae(it),{label:it.label,zoneKeys:[...H(it)]}):null},markedLegendRows:()=>{if(typeof document>"u")return[];const me=document.querySelector("my-upg-100-list-map");return[...(me&&me.shadowRoot||document).querySelectorAll(".stl-row.upg-batch-row .stl-name")].map(it=>it.textContent.trim())},highlightFeatureCount:()=>{if(!A||!G||!A.getLayer("upg-sel-fill"))return-1;const me=new Set,Ye=new Set,it=new Set;for(const at of y.value)at.kind==="zone"?me.add(at.key.slice(5)):at.kind==="adm1"?Ye.add(at.name):at.kind==="adm0"&&it.add(at.key.slice(5));let Do=0;for(const at of G.features){const lo=at.properties||{};(me.has(lo.zoneKey)||Ye.has(lo.shapeName)||it.has(lo.iso3))&&Do++}return Do},zoneKeysForRow:me=>{const Ye=Do=>{for(const at of Do){if(at.label===me)return at;if(at.children&&at.children.length){const lo=Ye(at.children);if(lo)return lo}}return null},it=Ye(d.value);return it?[...H(it)]:null}};try{c.value="loading boundaries…";const me=Oe=>{var lt;return`${String(((lt=r.value)==null?void 0:lt.assetsBase)||"./assets").replace(/\/+$/,"")}/boundaries/${Oe}`},Ye=Oe=>fetch(me(Oe)).then(lt=>{if(!lt.ok)throw new Error(`boundary fetch ${lt.status} ${Oe}`);return lt.json()}),[it,Do,at]=await Promise.all([Ye("world-adm0.geojson"),Ye("gb-IND-ADM1.geojson"),Ye("gb-CHN-ADM1.geojson")]);c.value="fetching 2106 UUPGs…";const Xs=await fetch(`${ge}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,latitude,longitude&lang=en`,{cache:"no-store"});if(!Xs.ok)throw new Error(`list ${Xs.status}`);const wn=sd(id(await Xs.json()));f=gd(wn),d.value=Ys(o,{deafCount:Zs,records:wn});const{tapestry:Gk,perZone:Uk}=rk(re,{records:wn,adm0:it,adm1Ind:Do,adm1Chn:at});G=jo(Gk),C(wn);const Qs=[],la={},{evaluate:Kk}=await Sn(async()=>{const{evaluate:Oe}=await Promise.resolve().then(()=>X1);return{evaluate:Oe}},void 0);for(const Oe of re)if(Oe.selector&&Oe.selector.type==="pg_slugs")for(const lt of Oe.selector.values||[])lt in la||(la[lt]=Oe.zoneKey);else try{for(const lt of Kk(Oe.selector,wn))lt in la||(la[lt]=Oe.zoneKey)}catch(lt){console.warn("zone selector skipped",Oe.id,lt&<.message)}for(const Oe of wn){const lt=Number(Oe.latitude),ti=Number(Oe.longitude);!isFinite(lt)||!isFinite(ti)||Qs.push({type:"Feature",geometry:{type:"Point",coordinates:[ti,lt]},properties:{slug:Oe.slug,zoneKey:la[Oe.slug]||"",name:Oe.name||Oe.slug||"",population:Oe.population??0,countryName:Oe.country_code_label||"",country:Oe.country_code||""}})}const Hk=jo({type:"FeatureCollection",features:Qs});pe=()=>{A.getSource("upg")||(A.addSource("upg",{type:"geojson",data:Hk}),A.addLayer({id:"upg-pins",type:"circle",source:"upg",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.5,4,4,8,6],"circle-color":fe,"circle-opacity":.85,"circle-stroke-width":.6,"circle-stroke-color":"rgba(255,255,255,0.6)"}}),Ie())};let ei=!0;const xn=()=>{ei&&(ei=!1,A.off("style.load",xn),A.off("idle",xn),we())};if(A.isStyleLoaded())xn();else{A.once("style.load",xn),A.once("idle",xn);const Oe=setInterval(()=>{if(!ei||!A){clearInterval(Oe);return}let lt=!1;try{lt=A.isStyleLoaded()}catch{clearInterval(Oe);return}lt&&(clearInterval(Oe),xn())},120);setTimeout(()=>clearInterval(Oe),15e3)}const zk=[...Uk.values()].filter(Oe=>Oe>=1).length;c.value=`${G.features.length} polys · ${zk}/26 zones · ${Qs.length} pins`}catch(me){c.value="⚠ "+(me&&me.message?me.message:String(me))}let oe=0;const ie=()=>{const me=typeof document<"u"&&document.querySelector("my-upg-100-list-map"),Ye=me&&me.shadowRoot||(typeof document<"u"?document:null);if(Ye&&Ye.querySelector(".stl-rows")){le(),I();return}oe++<40&&setTimeout(ie,250)};ie();{const me=(Fe=(Re=(bt=l.value)==null?void 0:bt.getRootNode)==null?void 0:Re.call(bt))==null?void 0:Fe.host;me&&(Ke=kn,me.addEventListener("doxa:select-zone",Ke))}}),To(()=>{var Z,j,oe;if(Ke){const ie=(oe=(j=(Z=l.value)==null?void 0:Z.getRootNode)==null?void 0:j.call(Z))==null?void 0:oe.host;ie==null||ie.removeEventListener("doxa:select-zone",Ke),Ke=null}if(ne){try{ne.disconnect()}catch{}ne=null}if(K){try{K()}catch{}K=null}A&&(A.remove(),A=null),G=null}),(Z,j)=>{var oe;return z(),te("div",fk,[E("div",{ref_key:"mapEl",ref:l,class:"upg-map"},null,512),u.value?(z(),te("div",hk,[j[1]||(j[1]=E("strong",null,"Map unavailable",-1)),dt(ce(u.value),1)])):be("",!0),a.value?(z(),te(Le,{key:1},[j[2]||(j[2]=E("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),j[3]||(j[3]=E("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1))],64)):be("",!0),w.value?(z(),rt(W1,{key:2,ref_key:"geocoderRef",ref:O,"map-instance":w.value,"access-token":ye(n)||((oe=ye(r))==null?void 0:oe.tk)||"","data-source-id":qs,"is-dark":h.value,placeholder:Tk,"active-context":Ck,onPeopleGroupResult:B,onAggregateResult:J,onClear:X},null,8,["map-instance","access-token","is-dark"])):be("",!0),w.value?(z(),rt(n1,{key:3},{default:Kt(()=>[Be(r1,{map:w.value,"is-dark":h.value},null,8,["map","is-dark"]),Be(s1,{map:w.value,"is-dark":h.value},null,8,["map","is-dark"]),Be(i1,{map:w.value,"is-dark":h.value},null,8,["map","is-dark"]),Be(u1,{"map-container":l.value,"is-dark":h.value},null,8,["map-container","is-dark"]),Be(p1,{"is-dark":h.value,onToggle:ft},null,8,["is-dark"]),Be(od,{"is-dark":h.value,"embed-path":"my-upg-100-list/upg-100-list/index.html"},null,8,["is-dark"]),Be(qo,{"is-dark":h.value,active:v.value,class:Ce({"upg-batch-on":v.value}),"aria-pressed":v.value?"true":"false",title:"Batch Select",onClick:T},{default:Kt(()=>[...j[4]||(j[4]=[E("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[E("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),E("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),E("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),E("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})],-1)])]),_:1},8,["is-dark","active","class","aria-pressed"])]),_:1})):be("",!0),E("div",mk,[d.value.length?(z(),rt($u,{key:0,nodes:d.value,columns:["count","pop"],title:_d,"export-enabled":!0,onSelect:Ae,onExport:he},null,8,["nodes"])):be("",!0)]),E("div",bk,[d.value.length?(z(),rt(o1,{key:0,"legend-type":"upg-100",nodes:d.value,columns:["count","pop"],"column-label":"UPG 100",title:_d,"is-dark":h.value,"popup-action":"pray"},null,8,["nodes","is-dark"])):be("",!0)]),E("div",yk,[ye(i)&&ye(i).selectedPeopleGroup?(z(),te("div",{key:0,class:Ce(["upg-detail-panel pg-detail-root",{dark:h.value}])},[Be(ye(t),{peopleGroup:ye(i).selectedPeopleGroup,dark:h.value,action:"pray"},null,8,["peopleGroup","dark"])],2)):be("",!0)]),v.value?(z(),te("div",_k,[j[5]||(j[5]=E("div",{class:"upg-hud-hint"}," Tap territories on the map or legend rows to add · tap again to remove ",-1)),S.value?(z(),te("div",vk,[E("span",null,ce(S.value)+" territor"+ce(S.value===1?"y":"ies")+" ·",1),E("span",kk,ce(x.value)+" UUPG",1),E("span",{class:Ce(["upg-hud-band",{ok:x.value>=50&&x.value<=100}])},ce(x.value>=50&&x.value<=100?"✓ 50–100 band":"band 50–100"),3)])):be("",!0),S.value?(z(),te("div",wk,ce(y.value.map(ie=>ie.name).join(", ")),1)):be("",!0),S.value?(z(),te("div",xk,[(z(),te(Le,null,St(M,ie=>E("button",{key:ie,class:Ce(["upg-swatch",{active:R.value===ie}]),"data-color":ie,style:tt({background:ie}),title:ie,onClick:$e=>U(ie)},null,14,Sk)),64)),bp(E("input",{"onUpdate:modelValue":j[0]||(j[0]=ie=>W.value=ie),class:"upg-hex",placeholder:"#hex",spellcheck:"false",onChange:Y,onKeyup:tf(Y,["enter"])},null,544),[[Zg,W.value]])])):be("",!0),S.value?(z(),te("div",Ak,[E("button",{class:"upg-hud-btn copy",onClick:$},"Copy selection"),E("button",{class:"upg-hud-btn clear",onClick:wt},"Clear")])):be("",!0),S.value?(z(),te("div",$k,ce(m.value),1)):be("",!0)])):be("",!0),E("div",Lk,ce(c.value),1)])}}}},Symbol.toStringTag,{value:"Module"})),Pk=` +`+i}function vn(e){return String(e??"").normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().trim()}function lk(e){return vn(e).split(/[\s,;]+/).filter(Boolean)}function ck(e={}){const{records:t=[],leafZones:o=[],adm1Counts:n={},iso3Names:r={},countryNameMap:a=null}=e,s=[],i=new Set;for(const c of t){if(!c)continue;const u=c.slug;if(!u||i.has(u))continue;const d=Number(c.latitude),g=Number(c.longitude);if(!Number.isFinite(d)||!Number.isFinite(g))continue;const w=c.name||u;i.add(u),s.push({label:w,kind:"pg",target:{type:"pg",slug:u,lng:g,lat:d},_hay:vn(w)})}for(const c of o){if(!c)continue;const u=c.zoneKey||c.id,d=c.label||u;u&&s.push({label:d,kind:"zone",target:{type:"zone",zoneId:u},_hay:vn(d)})}for(const c of Object.keys(n))s.push({label:c,kind:"territory",target:{type:"territory",shapeName:c},_hay:vn(c)});const l=a||r;for(const c of Object.keys(r)){const u=l&&l[c]||r[c]||c;s.push({label:u,kind:"territory",target:{type:"territory",shapeName:c,iso3:!0},_hay:vn(u)})}return s}const uk={zone:0,territory:1,pg:2};function dk(e={}){const{records:t=[],leafZones:o=[],adm1Counts:n={},iso3Names:r={},countryNameMap:a=null,centroidFor:s=null}=e,i=[];for(const u of t)u&&i.push(u);const l=(u,d,g)=>!d||!Number.isFinite(d[0])||!Number.isFinite(d[1])?null:{name:u,slug:g.__synthSlug,latitude:d[1],longitude:d[0],...g};for(const u of o){if(!u)continue;const d=u.zoneKey||u.id,g=u.label||d;if(!d)continue;const w=typeof s=="function"?s(_=>_&&_.properties&&_.properties.zoneKey===d):null,h=l(g,w,{__upgKind:"zone",__zoneId:d,__synthSlug:`__zone__${d}`});h&&i.push(h)}for(const u of Object.keys(n)){const d=typeof s=="function"?s(w=>w&&w.properties&&w.properties.shapeName===u):null,g=l(u,d,{__upgKind:"territory",__shapeName:u,__synthSlug:`__terr__${u}`});g&&i.push(g)}const c=a||r;for(const u of Object.keys(r)){const d=c&&c[u]||r[u]||u,g=typeof s=="function"?s(h=>h&&h.properties&&h.properties.iso3===u):null,w=l(d,g,{__upgKind:"territory",__shapeName:u,__synthSlug:`__terr__${u}`});w&&i.push(w)}return i}function md(e,t,o={}){const n=o.limit??8,r=lk(t);if(!r.length)return[];const a=r[0],s=[];for(const i of e){let l=!0;for(const d of r)if(!i._hay.includes(d)){l=!1;break}if(!l)continue;const c=i._hay.startsWith(a)?0:1,u=i._hay===vn(t)?-1:0;s.push({e:i,starts:c,exact:u,kr:uk[i.kind]??9,len:i._hay.length})}return s.sort((i,l)=>i.exact-l.exact||i.starts-l.starts||i.kr-l.kr||i.len-l.len),s.slice(0,n).map(i=>i.e)}const pk="rgba(120, 128, 134, 0.28)",bd="36px",yd=()=>{};function gk(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return yd;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return yd;const r=S=>S.classList.contains("map-scroll-edge--left");for(const S of n)S.style.background=`linear-gradient(${r(S)?"to right":"to left"}, ${pk} ${bd}, transparent ${bd})`,S.style.opacity="0",S.style.transition="opacity 0.16s ease",S.style.userSelect="none",S.style.webkitUserSelect="none";const a=S=>{S.style.opacity="1"},s=S=>{S.style.opacity="0"},i=()=>n.find(S=>!r(S))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const S of n)l.has(S)||s(S)},g=()=>{const S=i();S&&(a(S),u&&clearTimeout(u),u=setTimeout(d,250))},w=()=>g(),h=S=>{if(!(S.touches&&S.touches.length===1))return;const m=S.target;m&&m.classList&&m.classList.contains("map-scroll-edge")||g()},_=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",w,{passive:!0}),e.addEventListener("touchmove",h,{passive:!0}),e.addEventListener("touchend",_,{passive:!0}),e.addEventListener("touchcancel",_,{passive:!0});const y=()=>{c||g()};typeof window<"u"&&window.addEventListener("scroll",y,{passive:!0});const x=[];for(const S of n){const m=()=>{l.add(S),a(S)},f=()=>{l.delete(S),s(S)},v=()=>{c=!0,a(S)},L=()=>{c=!1,s(S)};S.addEventListener("mouseenter",m),S.addEventListener("mouseleave",f),S.addEventListener("touchstart",v,{passive:!0}),S.addEventListener("touchend",L,{passive:!0}),x.push(()=>{S.removeEventListener("mouseenter",m),S.removeEventListener("mouseleave",f),S.removeEventListener("touchstart",v),S.removeEventListener("touchend",L)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",w),e.removeEventListener("touchmove",h),e.removeEventListener("touchend",_),e.removeEventListener("touchcancel",_),typeof window<"u"&&window.removeEventListener("scroll",y);for(const m of x)m();for(const m of n)s(m)}}const fk={class:"upg-root"},hk={key:0,class:"upg-map-err"},mk={class:"upg-legend-desktop-slot"},bk={class:"upg-legend-mobile-slot"},yk={class:"upg-detail-desktop-slot"},_k={key:4,class:"upg-hud"},vk={key:0,class:"upg-hud-head"},kk={class:"upg-hud-total"},wk={key:1,class:"upg-hud-names"},xk={key:2,class:"upg-hud-swatches"},Sk=["data-color","title","onClick"],Ak={key:3,class:"upg-hud-actions"},$k={key:4,class:"upg-hud-flash"},Lk={class:"upg-status"},qs="upg-search",_d="My UPG 100 List — Legend",Ck="people-groups",Tk="Search people group, zone, or territory…",vd=8,Zs=123,Ek=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"upg-100-list",setup(e){const t=Zi(()=>Sn(()=>Promise.resolve().then(()=>Uv),void 0)),o={lists:ku,asia_lists:wu,uncovered_lists:xu},n=Ee("mapboxToken",ue("")),r=Ee("profileConfig",ue(null)),a=ee(()=>{var j;const Z=(j=r.value)==null?void 0:j.edgeScrollAffordance;return Z==null?!0:!(Z===!1||Z==="false")}),s=Ee("dataStore",null),i=Ee("uiStore",null),l=ue(null),c=ue("loading…"),u=ue(""),d=Mn([]),g=ue(null),w=Mn(null),h=ue(!1),_=Yy("my-upg-100-list");_.theme.value="light",Jy(_);const y=ue([]),x=ee(()=>y.value.reduce((Z,j)=>Z+(Number(j.count)||0),0)),S=ee(()=>y.value.length),m=ue("");let f=null;const v=ue(!1);function L(Z){const j=Z===void 0?!v.value:!!Z;return j===v.value||(v.value=j,A&&(A.getCanvas().style.cursor=""),ot()),j}function T(){L()}ct([v,h],()=>{ho(()=>I())});function N(Z){if(!Z)return;const j=y.value,oe=j.findIndex(ie=>ie.key===Z.key);oe>=0?y.value=j.filter((ie,$e)=>$e!==oe):y.value=[...j,Z],ot(),m.value=""}const M=["#e69f00","#56b4e9","#009e73","#f0e442","#0072b2","#d55e00","#cc79a7","#999999"],R=ue(""),W=ue("");function U(Z){const j=/^#?([0-9a-fA-F]{6})$/.exec(String(Z||"").trim());if(!j)return;const oe="#"+j[1].toLowerCase();R.value=R.value===oe?"":oe,ot()}function Y(){/^#?[0-9a-fA-F]{6}$/.test(W.value.trim())&&U(W.value)}const O=ue(null);let V=[],A=null,G=null,re=[],be=null,K=null,pe=null;const ge=typeof window<"u"&&window.MAP_APP_API_URL||"https://pray.doxa.life";At(`.upg-root{position:absolute;inset:0;background:#0a1410;color:#e5e7eb;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.upg-map{position:absolute;inset:0}.upg-map-err{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;text-align:center;padding:0 24px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#9aa7b8}.upg-map-err strong{display:block;font-size:14px;color:#cbd5e1;margin-bottom:4px}.map-scroll-edge{position:absolute;top:0;bottom:0;width:40px;z-index:2;touch-action:pan-y;pointer-events:auto;background:transparent}.map-scroll-edge--left{left:0}.map-scroll-edge--right{right:0}.upg-legend-mobile-slot{display:none}@media(max-width:767px){.upg-legend-mobile-slot{display:block}.upg-legend-desktop-slot{display:none}.upg-detail-desktop-slot{display:none}}.upg-status{position:absolute;bottom:10px;right:10px;z-index:5;font:10px/1 ui-monospace,monospace;color:#9aa7b8;background:rgba(10,14,21,.82);padding:6px 10px;border-radius:8px}.upg-detail-panel{position:absolute;top:60px;right:8px;bottom:10px;width:340px;max-width:calc(100vw - 16px);z-index:6;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column;animation:upgPanelIn .18s ease}.upg-detail-panel.dark{background:#1a1a2e}@keyframes upgPanelIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:480px){.upg-detail-panel{top:auto;left:8px;right:8px;width:auto;height:55vh}}.upg-hud{position:absolute;bottom:34px;right:10px;z-index:6;min-width:150px;font:11px/1.35 ui-monospace,monospace;color:#e5e7eb;background:rgba(10,20,16,.92);border:1px solid rgba(110,231,183,.35);border-radius:10px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,.4)}.upg-hud-head{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.upg-hud-total{font-size:15px;font-weight:700;color:#6ee7b7}.upg-hud-band{margin-left:auto;font-size:9px;color:#9aa7b8}.upg-hud-band.ok{color:#6ee7b7}.upg-hud-names{margin-top:5px;max-height:84px;overflow:auto;font-size:10px;color:#cbd5e1;line-height:1.45;word-break:break-word}.upg-hud-actions{display:flex;gap:6px;margin-top:7px}.upg-hud-btn{flex:1;cursor:pointer;border:1px solid rgba(110,231,183,.4);background:rgba(16,185,129,.18);color:#d1fae5;font:12px/1 ui-monospace,monospace;padding:0 10px;min-height:40px;border-radius:8px}.upg-hud-btn:hover{background:rgba(16,185,129,.32)}.upg-hud-btn.clear{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.4);color:#cbd5e1}.upg-hud-flash{margin-top:5px;font-size:9px;color:#6ee7b7;min-height:11px}.upg-hud-hint{margin-top:4px;font-size:9px;color:#64748b}.upg-hud-swatches{display:flex;gap:6px;margin-top:7px;align-items:center;flex-wrap:wrap}.upg-swatch{width:40px;height:40px;border-radius:9px;cursor:pointer;padding:0;border:1px solid rgba(255,255,255,.3)}.upg-swatch.active{outline:2px solid #fff;outline-offset:1px}.upg-hex{width:84px;min-height:40px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.4);color:#cbd5e1;font:12px/1 ui-monospace,monospace;padding:0 8px;border-radius:8px}@media(max-width:480px){.upg-hud{left:8px;right:8px;min-width:0;bottom:30px;max-height:48vh;overflow:auto}}.map-toolbar .mcb.upg-batch-on{background:#10b981!important;color:#04241a!important;box-shadow:0 0 0 2px rgba(52,211,153,.45),0 1px 4px rgba(0,0,0,0.2)!important}.map-toolbar .mcb.upg-batch-on.dark{border-color:#34d399!important}.upg-batch-row{position:relative;background:rgba(16,185,129,.16)!important;opacity:1!important;box-shadow:inset 3px 0 0 0 #10b981}.upg-batch-row .stl-name{color:#065f46!important;font-weight:700}.stl-panel[data-theme="dark"] .upg-batch-row .stl-name,.upg-batch-row.dark .stl-name{color:#6ee7b7!important}.upg-batch-row .stl-dot{box-shadow:0 0 0 2px #10b981}.mapboxgl-ctrl-top-left{top:12px!important;left:8px!important;width:380px!important;max-width:380px!important;z-index:1200!important}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:0!important;float:none!important}.stl-panel{top:58px!important}.dg-main{font:13px/1.3 ui-monospace,monospace}.dg-meta{margin-top:2px;font-size:11px;color:#475569;display:flex;flex-wrap:wrap;gap:8px}.dg-field strong{font-weight:700}.dg-section-header-item{padding:4px 8px;font:10px/1.2 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;pointer-events:none}`);function Ge(Z){const j=[];for(const oe of Z)j.push(oe.zoneKey,ik(oe.zoneKey,oe.color));return["match",["get","zoneKey"],...j,"#9ca3af"]}function We(){if(A.getSource("tapestry"))return;A.addSource("tapestry",{type:"geojson",data:G});const Z=h.value?.45:.3,j=h.value?.65:.45;A.addLayer({id:"tapestry-fill",type:"fill",source:"tapestry",paint:{"fill-color":be,"fill-opacity":["case",["==",["get","zoneKey"],"deaf"],Z,j]}}),A.addLayer({id:"tapestry-line",type:"line",source:"tapestry",paint:{"line-color":be,"line-width":1.2,"line-opacity":.9}})}function Ze(){!A||!A.getSource("tapestry")||A.getLayer("upg-sel-fill")||(A.addLayer({id:"upg-sel-fill",type:"fill",source:"tapestry",filter:["boolean",!1],paint:{"fill-color":"#f59e0b","fill-opacity":.28}}),A.addLayer({id:"upg-sel-line",type:"line",source:"tapestry",filter:["boolean",!1],paint:{"line-color":"#fbbf24","line-width":2.4,"line-opacity":.95}}))}function Xe(){const Z=[],j=[],oe=[];for(const $e of y.value)$e.kind==="adm1"?Z.push($e.name):$e.kind==="adm0"?j.push($e.key.slice(5)):$e.kind==="zone"&&oe.push($e.key.slice(5));const ie=[];return Z.length&&ie.push(["in",["get","shapeName"],["literal",Z]]),j.length&&ie.push(["in",["get","iso3"],["literal",j]]),oe.length&&ie.push(["in",["get","zoneKey"],["literal",oe]]),ie.length?ie.length===1?ie[0]:["any",...ie]:["boolean",!1]}function ot(){if(I(),!A||!A.getLayer("upg-sel-fill"))return;const Z=v.value?Xe():["boolean",!1];A.setFilter("upg-sel-fill",Z),A.setFilter("upg-sel-line",Z);const j=R.value;A.setPaintProperty("upg-sel-fill","fill-color",j||"#f59e0b"),A.setPaintProperty("upg-sel-fill","fill-opacity",j?.55:.28),A.setPaintProperty("upg-sel-line","line-color",j||"#fbbf24")}let Qe=null,gt=!1;function et(){if(!(!A||!A.getLayer("tapestry-fill"))){if(Qe)try{A.off("click","tapestry-fill",Qe)}catch{}Qe=Z=>{const j=Z&&Z.features&&Z.features[0];if(j&&v.value){const oe=fd(j.properties,{nameMap:f});if(!oe){console.warn("[batch-select] clicked feature has no shapeName/iso3",j.properties);return}oe.count==null&&console.warn("[batch-select] no UUPG count for territory",oe.name,j.properties),N(oe)}},A.on("click","tapestry-fill",Qe),gt||(A.on("mouseenter","tapestry-fill",()=>{A&&(A.getCanvas().style.cursor=v.value?"crosshair":"")}),A.on("mouseleave","tapestry-fill",()=>{A&&(A.getCanvas().style.cursor="")}),gt=!0)}}function wt(){y.value=[],m.value="",R.value="",W.value="",ot()}async function $(){if(!y.value.length)return;const Z=hd(y.value,{color:R.value});typeof window<"u"&&(window.__UPG_LAST_CLIPBOARD__=Z);let j=!1;try{navigator.clipboard&&navigator.clipboard.writeText?(await navigator.clipboard.writeText(Z),j=!0):j=P(Z)}catch{j=P(Z)}m.value=j?"Copied!":"Copy failed — press Ctrl/Cmd-C",setTimeout(()=>{m.value.startsWith("Copied")&&(m.value="")},1800)}function P(Z){try{const j=document.createElement("textarea");j.value=Z,j.style.position="fixed",j.style.opacity="0",j.style.top="0",document.body.appendChild(j),j.focus(),j.select();const oe=document.execCommand&&document.execCommand("copy");return document.body.removeChild(j),!!oe}catch{return!1}}function C(Z){if(s&&typeof s.cacheSourceData=="function"){const j=dk({records:Z,leafZones:re,adm1Counts:gr,iso3Names:sa,countryNameMap:f,centroidFor:oe=>{const ie=F(oe);return ie?[(ie[0][0]+ie[1][0])/2,(ie[0][1]+ie[1][1])/2]:null}});s.cacheSourceData(qs,{normalizedData:j})}V=ck({records:Z,leafZones:re,adm1Counts:gr,iso3Names:sa,countryNameMap:f}),typeof window<"u"&&(window.__UPG_SEARCH__={size:()=>V.length,counts:()=>{const j={pg:0,zone:0,territory:0};for(const oe of V)j[oe.kind]=(j[oe.kind]||0)+1;return j},query:j=>md(V,j,{limit:vd}).map(oe=>({label:oe.label,kind:oe.kind,target:oe.target})),select:j=>{const oe=md(V,j,{limit:vd})[0];return oe?(Q(oe.target),{label:oe.label,kind:oe.kind,target:oe.target}):null},feedSize:()=>{const j=s&&s.sources&&s.sources[qs];return j&&Array.isArray(j.features)&&j.features.length||0},localGeocoder:j=>{const oe=O.value&&O.value.geocoder,ie=oe&&oe.options&&oe.options.localGeocoder;return ie?ie(j).map($e=>$e&&$e.place_name):null}})}function B(Z){const j=Z&&Z.properties||{},oe=j.__upgKind;if(oe==="zone")p(j.__zoneId);else if(oe==="territory")b(j.__shapeName);else{const ie=Z&&Z.geometry,$e=ie&&Array.isArray(ie.coordinates)?ie.coordinates:null;$e&&Number.isFinite($e[0])&&Number.isFinite($e[1])&&A&&A.flyTo({center:[$e[0],$e[1]],zoom:6,duration:800}),q(j.slug)}}function J(Z){if(!Z||!A)return;const j=new Set(Z.memberIds||[]);if(!j.size)return;let oe=[];try{oe=A.querySourceFeatures("upg").filter(Fe=>{const he=Fe.properties||{};return j.has(he.slug)||j.has(he.id)||j.has(he.peopleGroupId)})}catch{return}if(!oe.length)return;let ie=180,$e=90,Mt=-180,bt=-90,Re=!1;for(const Fe of oe){const he=Fe.geometry&&Fe.geometry.coordinates;!Array.isArray(he)||!Number.isFinite(he[0])||!Number.isFinite(he[1])||(he[0]Mt&&(Mt=he[0]),he[1]<$e&&($e=he[1]),he[1]>bt&&(bt=he[1]),Re=!0)}Re&&A.fitBounds([[ie,$e],[Mt,bt]],{padding:60,duration:800,maxZoom:6})}function X(){Ae(null),i&&typeof i.selectPeopleGroup=="function"&&i.selectPeopleGroup(null)}function Q(Z){!Z||!A||(Z.type==="pg"?(Number.isFinite(Z.lng)&&Number.isFinite(Z.lat)&&A.flyTo({center:[Z.lng,Z.lat],zoom:6,duration:800}),q(Z.slug)):Z.type==="zone"?p(Z.zoneId):Z.type==="territory"&&b(Z.shapeName))}function q(Z){if(!Z||!i||typeof i.selectPeopleGroup!="function")return;const j=A&&A.getSource&&A.getSource("upg"),ie=(j&&j._data&&j._data.features||[]).find($e=>$e.properties&&$e.properties.slug===Z);ie&&i.selectPeopleGroup(ie)}function p(Z){if(!Z||!A||!G)return;const j=F(oe=>oe.properties&&oe.properties.zoneKey===Z);j&&A.fitBounds(j,{padding:40,duration:800,maxZoom:6})}function b(Z){if(!Z||!A||!G)return;const j=F(oe=>{const ie=oe.properties||{};return ie.shapeName===Z||ie.iso3===Z});j&&A.fitBounds(j,{padding:40,duration:800,maxZoom:6})}function F(Z){let j=180,oe=90,ie=-180,$e=-90,Mt=!1;const bt=Re=>{if(typeof Re[0]=="number"){const[Fe,he]=Re;Feie&&(ie=Fe),he$e&&($e=he),Mt=!0;return}for(const Fe of Re)bt(Fe)};for(const Re of G.features)Z(Re)&&bt(Re.geometry.coordinates);return Mt?[[j,oe],[ie,$e]]:null}function H(Z){const j=new Set,oe=ie=>{ie.children&&ie.children.length?ie.children.forEach(oe):j.add(ie.zoneKey??ie.id)};return oe(Z),j}let se=null;function ae(Z){if(![...H(Z)].length)return;const oe=[],ie=Re=>{Re.children&&Re.children.length?Re.children.forEach(ie):oe.push(Re)};ie(Z);const $e=y.value,Mt=new Set($e.filter(Re=>Re.kind==="zone").map(Re=>Re.key));if(oe.every(Re=>Mt.has("zone:"+(Re.zoneKey??Re.id)))){const Re=new Set(oe.map(Fe=>"zone:"+(Fe.zoneKey??Fe.id)));y.value=$e.filter(Fe=>!Re.has(Fe.key))}else{const Re=oe.filter(Fe=>!Mt.has("zone:"+(Fe.zoneKey??Fe.id))).map(Fe=>({key:"zone:"+(Fe.zoneKey??Fe.id),name:Fe.label||Fe.id,count:Number(Fe.count)||0,kind:"zone"}));y.value=[...$e,...Re]}ot(),m.value=""}function D(){const Z=new Set;for(const j of y.value)j.kind==="zone"&&Z.add(j.key.slice(5));return Z}function k(){const Z=new Map,j=oe=>{const ie=H(oe);oe.label&&Z.set(oe.label,ie),oe.children&&oe.children.length&&oe.children.forEach(j)};for(const oe of d.value)j(oe);return Z}function I(){if(typeof document>"u")return;const Z=document.querySelector("my-upg-100-list-map"),oe=(Z&&Z.shadowRoot||document).querySelectorAll(".stl-row");if(!oe.length)return;if(!v.value){oe.forEach(bt=>bt.classList.remove("upg-batch-row"));return}const ie=D(),$e=k(),Mt=h.value;oe.forEach(bt=>{const Re=bt.querySelector(".stl-name"),Fe=Re?Re.textContent.trim():"",he=Fe&&$e.get(Fe),Ye=!!(he&&he.size&&[...he].every(it=>ie.has(it)));bt.classList.toggle("upg-batch-row",Ye),bt.classList.toggle("dark",Ye&&Mt)})}let ne=null;function le(){if(typeof document>"u"||ne)return;const Z=document.querySelector("my-upg-100-list-map"),oe=(Z&&Z.shadowRoot||document).querySelector(".stl-rows");oe&&(ne=new MutationObserver(()=>{requestAnimationFrame(()=>I())}),ne.observe(oe,{childList:!0,subtree:!0}))}Dt("onSemanticTreeSelect",Ae);function fe(Z){var $e;const j=g.value;if(!j)return;if(Z==="packet"){c.value="Prayer List — coming soon",setTimeout(()=>{c.value=""},2600);return}const oe=String((($e=r.value)==null?void 0:$e.assetsBase)||"./assets").replace(/\/+$/,""),ie=document.createElement("a");ie.href=`${oe}/posters/${j}.webp`,ie.download=`doxa-upg-100-${j}-poster.webp`,document.body.appendChild(ie),ie.click(),ie.remove()}function Ae(Z){if(!A||!A.getLayer("tapestry-fill"))return;if(v.value){Z&&ae(Z);return}if(!Z){se=null,g.value=null,A.setFilter("tapestry-fill",null),A.setFilter("tapestry-line",null),A.setPaintProperty("upg-pins","circle-opacity",.85);return}se=Z;const j=[...H(Z)];g.value=j.length===1?j[0]:Z.id??null;const oe=["in",["get","zoneKey"],["literal",j]];A.setFilter("tapestry-fill",oe),A.setFilter("tapestry-line",oe),A.getLayer("upg-pins")&&A.setPaintProperty("upg-pins","circle-opacity",["case",["in",["get","zoneKey"],["literal",j]],.95,.05]);const ie=F($e=>j.includes($e.properties.zoneKey));ie&&A.fitBounds(ie,{padding:40,duration:700,maxZoom:6})}function we(){!A||!G||(We(),typeof pe=="function"&&pe(),Ze(),et(),ot(),g.value&&A.getLayer("tapestry-fill")&&Ae(se))}function ft(){A&&(h.value=!h.value,_.theme.value=h.value?"dark":"light",A.setStyle(h.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),A.once("style.load",we))}function Ie(){!A||!A.getLayer("upg-pins")||(A.on("click","upg-pins",Z=>{const j=Z&&Z.features&&Z.features[0];j&&i&&typeof i.selectPeopleGroup=="function"&&i.selectPeopleGroup(j)}),A.on("mouseenter","upg-pins",()=>{A&&(A.getCanvas().style.cursor="pointer")}),A.on("mouseleave","upg-pins",()=>{A&&(A.getCanvas().style.cursor="")}))}let Ke=null;function kn(Z){var ie;const j=((ie=Z==null?void 0:Z.detail)==null?void 0:ie.listId)??null;if(!j){Ae(null);return}const oe=ia(d.value,j);oe&&Ae(oe)}function ia(Z,j){for(const oe of Z||[]){if((oe.zoneKey||oe.id)===j)return oe;const ie=oe.children&&ia(oe.children,j);if(ie)return ie}return null}function jk(){const Z=Ys(o,{deafCount:Zs});d.value=Z,re=ud(Z);const j={};for(const oe of o.lists||[])j[oe.id]=oe.selector;for(const oe of o.asia_lists||[])j[oe.id]=oe.selector;for(const oe of o.uncovered_lists||[])j[oe.id]=oe.selector;j.deaf={type:"affinity_bloc",rop1:"A017"};for(const oe of re)oe.selector=j[oe.id];be=Ge(re)}async function xd(){try{const j=await fetch(`${ge}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,latitude,longitude&lang=en`,{cache:"no-store"});if(!j.ok)throw new Error(`list ${j.status}`);const oe=sd(id(await j.json()));f=gd(oe),d.value=Ys(o,{deafCount:Zs,records:oe})}catch{}}return to(async()=>{var $e,Mt,bt,Re,Fe;jk();const Z=window.mapboxgl,j=(n==null?void 0:n.value)||(($e=r==null?void 0:r.value)==null?void 0:$e.tk)||"";if(!Z){c.value="⚠ mapbox-gl not loaded",u.value="mapbox-gl did not load. The list and legend are unaffected.",xd();return}if(!j){c.value="⚠ no mapbox token",u.value="No Mapbox token configured. The list and legend are unaffected.",xd();return}Z.accessToken=j;try{const he=l.value&&l.value.getRootNode();if(he instanceof ShadowRoot){const Ye="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";if(!he.querySelector(`link[href="${Ye}"]`)){const it=document.createElement("link");it.rel="stylesheet",it.href=Ye,he.prepend(it)}}}catch{}A=new Z.Map({container:l.value,style:"mapbox://styles/mapbox/light-v11",center:[35,20],zoom:1.5,projection:"mercator"}),w.value=A,K=gk(((Mt=l.value)==null?void 0:Mt.parentElement)||null,{enabled:a.value}),typeof window<"u"&&(window.__UPG_MAP__=A),window.__UPG_SELECT__={get list(){return y.value.map(he=>({...he}))},get total(){return x.value},get count(){return S.value},get color(){return R.value},get batchMode(){return v.value},setColor:he=>U(he),setBatchMode:he=>L(he),clipboardText:()=>hd(y.value,{color:R.value}),clear:()=>wt(),toggleByProps:he=>{const Ye=fd(he,{nameMap:f});return Ye?(N(Ye),{...Ye}):null},toggleLegendRow:he=>{const Ye=Do=>{for(const at of Do){if(at.label===he)return at;if(at.children&&at.children.length){const lo=Ye(at.children);if(lo)return lo}}return null},it=Ye(d.value);return it?(ae(it),{label:it.label,zoneKeys:[...H(it)]}):null},markedLegendRows:()=>{if(typeof document>"u")return[];const he=document.querySelector("my-upg-100-list-map");return[...(he&&he.shadowRoot||document).querySelectorAll(".stl-row.upg-batch-row .stl-name")].map(it=>it.textContent.trim())},highlightFeatureCount:()=>{if(!A||!G||!A.getLayer("upg-sel-fill"))return-1;const he=new Set,Ye=new Set,it=new Set;for(const at of y.value)at.kind==="zone"?he.add(at.key.slice(5)):at.kind==="adm1"?Ye.add(at.name):at.kind==="adm0"&&it.add(at.key.slice(5));let Do=0;for(const at of G.features){const lo=at.properties||{};(he.has(lo.zoneKey)||Ye.has(lo.shapeName)||it.has(lo.iso3))&&Do++}return Do},zoneKeysForRow:he=>{const Ye=Do=>{for(const at of Do){if(at.label===he)return at;if(at.children&&at.children.length){const lo=Ye(at.children);if(lo)return lo}}return null},it=Ye(d.value);return it?[...H(it)]:null}};try{c.value="loading boundaries…";const he=Oe=>{var lt;return`${String(((lt=r.value)==null?void 0:lt.assetsBase)||"./assets").replace(/\/+$/,"")}/boundaries/${Oe}`},Ye=Oe=>fetch(he(Oe)).then(lt=>{if(!lt.ok)throw new Error(`boundary fetch ${lt.status} ${Oe}`);return lt.json()}),[it,Do,at]=await Promise.all([Ye("world-adm0.geojson"),Ye("gb-IND-ADM1.geojson"),Ye("gb-CHN-ADM1.geojson")]);c.value="fetching 2106 UUPGs…";const Xs=await fetch(`${ge}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,latitude,longitude&lang=en`,{cache:"no-store"});if(!Xs.ok)throw new Error(`list ${Xs.status}`);const wn=sd(id(await Xs.json()));f=gd(wn),d.value=Ys(o,{deafCount:Zs,records:wn});const{tapestry:Gk,perZone:Uk}=rk(re,{records:wn,adm0:it,adm1Ind:Do,adm1Chn:at});G=jo(Gk),C(wn);const Qs=[],la={},{evaluate:Kk}=await Sn(async()=>{const{evaluate:Oe}=await Promise.resolve().then(()=>X1);return{evaluate:Oe}},void 0);for(const Oe of re)if(Oe.selector&&Oe.selector.type==="pg_slugs")for(const lt of Oe.selector.values||[])lt in la||(la[lt]=Oe.zoneKey);else try{for(const lt of Kk(Oe.selector,wn))lt in la||(la[lt]=Oe.zoneKey)}catch(lt){console.warn("zone selector skipped",Oe.id,lt&<.message)}for(const Oe of wn){const lt=Number(Oe.latitude),ti=Number(Oe.longitude);!isFinite(lt)||!isFinite(ti)||Qs.push({type:"Feature",geometry:{type:"Point",coordinates:[ti,lt]},properties:{slug:Oe.slug,zoneKey:la[Oe.slug]||"",name:Oe.name||Oe.slug||"",population:Oe.population??0,countryName:Oe.country_code_label||"",country:Oe.country_code||""}})}const Hk=jo({type:"FeatureCollection",features:Qs});pe=()=>{A.getSource("upg")||(A.addSource("upg",{type:"geojson",data:Hk}),A.addLayer({id:"upg-pins",type:"circle",source:"upg",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.5,4,4,8,6],"circle-color":be,"circle-opacity":.85,"circle-stroke-width":.6,"circle-stroke-color":"rgba(255,255,255,0.6)"}}),Ie())};let ei=!0;const xn=()=>{ei&&(ei=!1,A.off("style.load",xn),A.off("idle",xn),we())};if(A.isStyleLoaded())xn();else{A.once("style.load",xn),A.once("idle",xn);const Oe=setInterval(()=>{if(!ei||!A){clearInterval(Oe);return}let lt=!1;try{lt=A.isStyleLoaded()}catch{clearInterval(Oe);return}lt&&(clearInterval(Oe),xn())},120);setTimeout(()=>clearInterval(Oe),15e3)}const zk=[...Uk.values()].filter(Oe=>Oe>=1).length;c.value=`${G.features.length} polys · ${zk}/26 zones · ${Qs.length} pins`}catch(he){c.value="⚠ "+(he&&he.message?he.message:String(he))}let oe=0;const ie=()=>{const he=typeof document<"u"&&document.querySelector("my-upg-100-list-map"),Ye=he&&he.shadowRoot||(typeof document<"u"?document:null);if(Ye&&Ye.querySelector(".stl-rows")){le(),I();return}oe++<40&&setTimeout(ie,250)};ie();{const he=(Fe=(Re=(bt=l.value)==null?void 0:bt.getRootNode)==null?void 0:Re.call(bt))==null?void 0:Fe.host;he&&(Ke=kn,he.addEventListener("doxa:select-zone",Ke))}}),To(()=>{var Z,j,oe;if(Ke){const ie=(oe=(j=(Z=l.value)==null?void 0:Z.getRootNode)==null?void 0:j.call(Z))==null?void 0:oe.host;ie==null||ie.removeEventListener("doxa:select-zone",Ke),Ke=null}if(ne){try{ne.disconnect()}catch{}ne=null}if(K){try{K()}catch{}K=null}A&&(A.remove(),A=null),G=null}),(Z,j)=>{var oe;return z(),te("div",fk,[E("div",{ref_key:"mapEl",ref:l,class:"upg-map"},null,512),u.value?(z(),te("div",hk,[j[1]||(j[1]=E("strong",null,"Map unavailable",-1)),dt(ce(u.value),1)])):me("",!0),a.value?(z(),te(Le,{key:1},[j[2]||(j[2]=E("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),j[3]||(j[3]=E("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1))],64)):me("",!0),w.value?(z(),rt(W1,{key:2,ref_key:"geocoderRef",ref:O,"map-instance":w.value,"access-token":ye(n)||((oe=ye(r))==null?void 0:oe.tk)||"","data-source-id":qs,"is-dark":h.value,placeholder:Tk,"active-context":Ck,onPeopleGroupResult:B,onAggregateResult:J,onClear:X},null,8,["map-instance","access-token","is-dark"])):me("",!0),w.value?(z(),rt(n1,{key:3},{default:Kt(()=>[Be(r1,{map:w.value,"is-dark":h.value},null,8,["map","is-dark"]),Be(s1,{map:w.value,"is-dark":h.value},null,8,["map","is-dark"]),Be(i1,{map:w.value,"is-dark":h.value},null,8,["map","is-dark"]),Be(u1,{"map-container":l.value,"is-dark":h.value},null,8,["map-container","is-dark"]),Be(p1,{"is-dark":h.value,onToggle:ft},null,8,["is-dark"]),Be(od,{"is-dark":h.value,"embed-path":"my-upg-100-list/upg-100-list/index.html"},null,8,["is-dark"]),Be(qo,{"is-dark":h.value,active:v.value,class:Ce({"upg-batch-on":v.value}),"aria-pressed":v.value?"true":"false",title:"Batch Select",onClick:T},{default:Kt(()=>[...j[4]||(j[4]=[E("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[E("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),E("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),E("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),E("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})],-1)])]),_:1},8,["is-dark","active","class","aria-pressed"])]),_:1})):me("",!0),E("div",mk,[d.value.length?(z(),rt($u,{key:0,nodes:d.value,columns:["count","pop"],title:_d,"export-enabled":!0,onSelect:Ae,onExport:fe},null,8,["nodes"])):me("",!0)]),E("div",bk,[d.value.length?(z(),rt(o1,{key:0,"legend-type":"upg-100",nodes:d.value,columns:["count","pop"],"column-label":"UPG 100",title:_d,"is-dark":h.value,"popup-action":"pray"},null,8,["nodes","is-dark"])):me("",!0)]),E("div",yk,[ye(i)&&ye(i).selectedPeopleGroup?(z(),te("div",{key:0,class:Ce(["upg-detail-panel pg-detail-root",{dark:h.value}])},[Be(ye(t),{peopleGroup:ye(i).selectedPeopleGroup,dark:h.value,action:"pray"},null,8,["peopleGroup","dark"])],2)):me("",!0)]),v.value?(z(),te("div",_k,[j[5]||(j[5]=E("div",{class:"upg-hud-hint"}," Tap territories on the map or legend rows to add · tap again to remove ",-1)),S.value?(z(),te("div",vk,[E("span",null,ce(S.value)+" territor"+ce(S.value===1?"y":"ies")+" ·",1),E("span",kk,ce(x.value)+" UUPG",1),E("span",{class:Ce(["upg-hud-band",{ok:x.value>=50&&x.value<=100}])},ce(x.value>=50&&x.value<=100?"✓ 50–100 band":"band 50–100"),3)])):me("",!0),S.value?(z(),te("div",wk,ce(y.value.map(ie=>ie.name).join(", ")),1)):me("",!0),S.value?(z(),te("div",xk,[(z(),te(Le,null,St(M,ie=>E("button",{key:ie,class:Ce(["upg-swatch",{active:R.value===ie}]),"data-color":ie,style:tt({background:ie}),title:ie,onClick:$e=>U(ie)},null,14,Sk)),64)),bp(E("input",{"onUpdate:modelValue":j[0]||(j[0]=ie=>W.value=ie),class:"upg-hex",placeholder:"#hex",spellcheck:"false",onChange:Y,onKeyup:tf(Y,["enter"])},null,544),[[Zg,W.value]])])):me("",!0),S.value?(z(),te("div",Ak,[E("button",{class:"upg-hud-btn copy",onClick:$},"Copy selection"),E("button",{class:"upg-hud-btn clear",onClick:wt},"Clear")])):me("",!0),S.value?(z(),te("div",$k,ce(m.value),1)):me("",!0)])):me("",!0),E("div",Lk,ce(c.value),1)])}}}},Symbol.toStringTag,{value:"Module"})),Pk=` /* The column that scrolls. Vertical neighbours stack here and the user scrolls between them; scroll-snap makes each pane settle cleanly instead of stopping half-way between two views. */ diff --git a/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/poster-wall/index.html b/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/poster-wall/index.html index 3518fa08..e21d05ba 100644 --- a/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/poster-wall/index.html +++ b/public/embed/doxa-maps-build/doxa-maps/my-upg-100-list/poster-wall/index.html @@ -29,7 +29,7 @@ - + - + - +