diff --git a/public/doxa-maps/cities-internet/cities-internet.js b/public/doxa-maps/cities-internet/cities-internet.js index 00d559926..2bfecce3a 100644 --- a/public/doxa-maps/cities-internet/cities-internet.js +++ b/public/doxa-maps/cities-internet/cities-internet.js @@ -1,46 +1,46 @@ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".profile-loader[data-v-b7582f77]{width:100%;height:100%;position:relative}.profile-error[data-v-b7582f77]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}")),document.head.appendChild(e)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})(); -(function(){"use strict";var tr=typeof document<"u"?document.currentScript:null;const t_="modulepreload",n_=function(e){return"/"+e},o_={},nr=function(t,n,o){let s=Promise.resolve();function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};/** +(function(){"use strict";var nr=typeof document<"u"?document.currentScript:null;const e_="modulepreload",t_=function(e){return"/"+e},n_={},or=function(t,n,o){let s=Promise.resolve();function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function or(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const me={},fn=[],dt=()=>{},fs=()=>!1,io=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ao=e=>e.startsWith("onUpdate:"),Ce=Object.assign,rr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Tl=Object.prototype.hasOwnProperty,fe=(e,t)=>Tl.call(e,t),Q=Array.isArray,jt=e=>Sn(e)==="[object Map]",lo=e=>Sn(e)==="[object Set]",hs=e=>Sn(e)==="[object Date]",ne=e=>typeof e=="function",we=e=>typeof e=="string",Ke=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",gs=e=>(he(e)||ne(e))&&ne(e.then)&&ne(e.catch),ms=Object.prototype.toString,Sn=e=>ms.call(e),Ll=e=>Sn(e).slice(8,-1),co=e=>Sn(e)==="[object Object]",uo=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,In=or(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),po=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Sl=/-\w/g,xe=po(e=>e.replace(Sl,t=>t.slice(1).toUpperCase())),Il=/\B([A-Z])/g,Qe=po(e=>e.replace(Il,"-$1").toLowerCase()),fo=po(e=>e.charAt(0).toUpperCase()+e.slice(1)),sr=po(e=>e?`on${fo(e)}`:""),ft=(e,t)=>!Object.is(e,t),ir=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Fl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},bs=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let ys;const ho=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function go(e){if(Q(e)){const t={};for(let n=0;n{if(n){const o=n.split(Pl);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Le(e){let t="";if(we(e))t=e;else if(Q(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Z=e=>we(e)?e:e==null?"":Q(e)||he(e)&&(e.toString===ms||!ne(e.toString))?ks(e)?Z(e.value):JSON.stringify(e,$s,2):String(e),$s=(e,t)=>ks(t)?$s(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[ar(o,r)+" =>"]=s,n),{})}:lo(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ar(n))}:Ke(t)?ar(t):he(t)&&!Q(t)&&!co(t)?String(t):t,ar=(e,t="")=>{var n;return Ke(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function rr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},fn=[],dt=()=>{},fs=()=>!1,ao=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),lo=e=>e.startsWith("onUpdate:"),Ce=Object.assign,sr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Tl=Object.prototype.hasOwnProperty,he=(e,t)=>Tl.call(e,t),te=Array.isArray,jt=e=>Sn(e)==="[object Map]",co=e=>Sn(e)==="[object Set]",hs=e=>Sn(e)==="[object Date]",oe=e=>typeof e=="function",we=e=>typeof e=="string",Ke=e=>typeof e=="symbol",ge=e=>e!==null&&typeof e=="object",gs=e=>(ge(e)||oe(e))&&oe(e.then)&&oe(e.catch),ms=Object.prototype.toString,Sn=e=>ms.call(e),Ll=e=>Sn(e).slice(8,-1),uo=e=>Sn(e)==="[object Object]",po=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,In=rr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Sl=/-\w/g,xe=fo(e=>e.replace(Sl,t=>t.slice(1).toUpperCase())),Il=/\B([A-Z])/g,Qe=fo(e=>e.replace(Il,"-$1").toLowerCase()),ho=fo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ir=fo(e=>e?`on${ho(e)}`:""),ft=(e,t)=>!Object.is(e,t),ar=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Fl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},bs=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let ys;const go=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fn(e){if(te(e)){const t={};for(let n=0;n{if(n){const o=n.split(Pl);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Le(e){let t="";if(we(e))t=e;else if(te(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ee=e=>we(e)?e:e==null?"":te(e)||ge(e)&&(e.toString===ms||!oe(e.toString))?ks(e)?ee(e.value):JSON.stringify(e,$s,2):String(e),$s=(e,t)=>ks(t)?$s(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[lr(o,r)+" =>"]=s,n),{})}:co(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>lr(n))}:Ke(t)?lr(t):ge(t)&&!te(t)&&!uo(t)?String(t):t,lr=(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 Se;class Os{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&&Se&&(Se.active?(this.parent=Se,this.index=(Se.scopes||(Se.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(Se===this)Se=this.prevScope;else{let t=Se;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(xn){let t=xn;for(xn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Fn;){let t=Fn;for(Fn=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 Ts(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ls(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),fr(o),Ul(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function dr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ss(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ss(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Pn)||(e.globalVersion=Pn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!dr(e))))return;e.flags|=2;const t=e.dep,n=be,o=rt;be=e,rt=!0;try{Ts(e);const s=e.fn(e._value);(t.version===0||ft(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{be=n,rt=o,Ls(e),e.flags&=-3}}function fr(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)fr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ul(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let rt=!0;const Is=[];function ht(){Is.push(rt),rt=!1}function gt(){const e=Is.pop();rt=e===void 0?!0:e}function Fs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Pn=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 hr{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(!be||!rt||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new jl(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,xs(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=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Pn++,this.notify(t)}notify(t){ur();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{pr()}}}function xs(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)xs(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const _o=new WeakMap,nn=Symbol(""),gr=Symbol(""),Mn=Symbol("");function Ue(e,t,n){if(rt&&be){let o=_o.get(e);o||_o.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new hr),s.map=o,s.key=n),s.track()}}function Ct(e,t,n,o,s,r){const i=_o.get(e);if(!i){Pn++;return}const a=l=>{l&&l.trigger()};if(ur(),t==="clear")i.forEach(a);else{const l=Q(e),c=l&&uo(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,g)=>{(g==="length"||g===Mn||!Ke(g)&&g>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(Mn)),t){case"add":l?c&&a(i.get("length")):(a(i.get(nn)),jt(e)&&a(i.get(gr)));break;case"delete":l||(a(i.get(nn)),jt(e)&&a(i.get(gr)));break;case"set":jt(e)&&a(i.get(nn));break}}pr()}function Gl(e,t){const n=_o.get(e);return n&&n.get(t)}function hn(e){const t=ue(e);return t===e?t:(Ue(t,"iterate",Mn),Xe(e)?t:t.map(st))}function bo(e){return Ue(e=ue(e),"iterate",Mn),e}function mt(e,t){return Tt(e)?mn(Et(e)?st(t):t):st(t)}const Yl={__proto__:null,[Symbol.iterator](){return mr(this,Symbol.iterator,e=>mt(this,e))},concat(...e){return hn(this).concat(...e.map(t=>Q(t)?hn(t):t))},entries(){return mr(this,"entries",e=>(e[1]=mt(this,e[1]),e))},every(e,t){return At(this,"every",e,t,void 0,arguments)},filter(e,t){return At(this,"filter",e,t,n=>n.map(o=>mt(this,o)),arguments)},find(e,t){return At(this,"find",e,t,n=>mt(this,n),arguments)},findIndex(e,t){return At(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return At(this,"findLast",e,t,n=>mt(this,n),arguments)},findLastIndex(e,t){return At(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return At(this,"forEach",e,t,void 0,arguments)},includes(...e){return _r(this,"includes",e)},indexOf(...e){return _r(this,"indexOf",e)},join(e){return hn(this).join(e)},lastIndexOf(...e){return _r(this,"lastIndexOf",e)},map(e,t){return At(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return Ps(this,"reduce",e,t)},reduceRight(e,...t){return Ps(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return At(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return hn(this).toReversed()},toSorted(e){return hn(this).toSorted(e)},toSpliced(...e){return hn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return mr(this,"values",e=>mt(this,e))}};function mr(e,t,n){const o=bo(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 Vl=Array.prototype;function At(e,t,n,o,s,r){const i=bo(e),a=i!==e&&!Xe(e),l=i[t];if(l!==Vl[t]){const f=l.apply(e,r);return a?st(f):f}let c=n;i!==e&&(a?c=function(f,g){return n.call(this,mt(e,f),g,e)}:n.length>2&&(c=function(f,g){return n.call(this,f,g,e)}));const u=l.call(i,c,o);return a&&s?s(u):u}function Ps(e,t,n,o){const s=bo(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=mt(e,c)),n.call(this,c,mt(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?mt(e,l):l}function _r(e,t,n){const o=ue(e);Ue(o,"iterate",Mn);const s=o[t](...n);return(s===-1||s===!1)&&Oo(n[0])?(n[0]=ue(n[0]),o[t](...n)):s}function Dn(e,t,n=[]){ht(),ur();const o=ue(e)[t].apply(e,n);return pr(),gt(),o}const Hl=or("__proto__,__v_isRef,__isVue"),Ms=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function ql(e){Ke(e)||(e=String(e));const t=ue(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Ds{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?Gs:js:r?Us:Ws).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Q(t);if(!s){let l;if(i&&(l=Yl[n]))return l;if(n==="hasOwnProperty")return ql}const a=Reflect.get(t,n,Ne(t)?t:o);if((Ke(n)?Ms.has(n):Hl(n))||(s||Ue(t,"get",n),r))return a;if(Ne(a)){const l=i&&uo(n)?a:a.value;return s&&he(l)?yr(l):l}return he(a)?s?yr(a):ko(a):a}}class Bs extends Ds{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=Q(t)&&uo(n);if(!this._isShallow){const c=Tt(r);if(!Xe(o)&&!Tt(o)&&(r=ue(r),o=ue(o)),!i&&Ne(r)&&!Ne(o))return c||(r.value=o),!0}const a=i?Number(n)e,yo=e=>Reflect.getPrototypeOf(e);function Zl(e,t,n){return function(...o){const s=this.__v_raw,r=ue(s),i=jt(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=s[e](...o),u=n?br:t?mn:st;return!t&&Ue(r,"iterate",l?gr:nn),Ce(Object.create(c),{next(){const{value:f,done:g}=c.next();return g?{value:f,done:g}:{value:a?[u(f[0]),u(f[1])]:u(f),done:g}}})}}function vo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ql(e,t){const n={get(s){const r=this.__v_raw,i=ue(r),a=ue(s);e||(ft(s,a)&&Ue(i,"get",s),Ue(i,"get",a));const{has:l}=yo(i),c=t?br:e?mn:st;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(ue(s),"iterate",nn),s.size},has(s){const r=this.__v_raw,i=ue(r),a=ue(s);return e||(ft(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=ue(a),c=t?br:e?mn:st;return!e&&Ue(l,"iterate",nn),a.forEach((u,f)=>s.call(r,c(u),c(f),i))}};return Ce(n,e?{add:vo("add"),set:vo("set"),delete:vo("delete"),clear:vo("clear")}:{add(s){const r=ue(this),i=yo(r),a=ue(s),l=!t&&!Xe(s)&&!Tt(s)?a:s;return i.has.call(r,l)||ft(s,l)&&i.has.call(r,s)||ft(a,l)&&i.has.call(r,a)||(r.add(l),Ct(r,"add",l,l)),this},set(s,r){!t&&!Xe(r)&&!Tt(r)&&(r=ue(r));const i=ue(this),{has:a,get:l}=yo(i);let c=a.call(i,s);c||(s=ue(s),c=a.call(i,s));const u=l.call(i,s);return i.set(s,r),c?ft(r,u)&&Ct(i,"set",s,r):Ct(i,"add",s,r),this},delete(s){const r=ue(this),{has:i,get:a}=yo(r);let l=i.call(r,s);l||(s=ue(s),l=i.call(r,s)),a&&a.call(r,s);const c=r.delete(s);return l&&Ct(r,"delete",s,void 0),c},clear(){const s=ue(this),r=s.size!==0,i=s.clear();return r&&Ct(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Zl(s,e,t)}),n}function wo(e,t){const n=Ql(e,t);return(o,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(fe(n,s)&&s in o?n:o,s,r)}const ec={get:wo(!1,!1)},tc={get:wo(!1,!0)},nc={get:wo(!0,!1)},oc={get:wo(!0,!0)},Ws=new WeakMap,Us=new WeakMap,js=new WeakMap,Gs=new WeakMap;function rc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ko(e){return Tt(e)?e:$o(e,!1,zl,ec,Ws)}function sc(e){return $o(e,!1,Xl,tc,Us)}function yr(e){return $o(e,!0,Kl,nc,js)}function s_(e){return $o(e,!0,Jl,oc,Gs)}function $o(e,t,n,o,s){if(!he(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=rc(Ll(e));if(i===0)return e;const a=new Proxy(e,i===2?o:n);return s.set(e,a),a}function Et(e){return Tt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function Xe(e){return!!(e&&e.__v_isShallow)}function Oo(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function gn(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&_s(e,"__v_skip",!0),e}const st=e=>he(e)?ko(e):e,mn=e=>he(e)?yr(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function ce(e){return Ys(e,!1)}function No(e){return Ys(e,!0)}function Ys(e,t){return Ne(e)?e:new ic(e,t)}class ic{constructor(t,n){this.dep=new hr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:st(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)||Tt(t);t=o?t:ue(t),ft(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function et(e){return Ne(e)?e.value:e}const ac={get:(e,t,n)=>t==="__v_raw"?e:et(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 Vs(e){return Et(e)?e:new Proxy(e,ac)}function lc(e){const t=Q(e)?new Array(e.length):{};for(const n in e)t[n]=uc(e,n);return t}class cc{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=ue(t);let s=!0,r=t;if(!Q(t)||Ke(this._key)||!uo(this._key))do s=!Oo(r)||Xe(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=et(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 Gl(this._raw,this._key)}}function uc(e,t,n){return new cc(e,t,n)}class pc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new hr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Es(this,!0),!0}get value(){const t=this.dep.track();return Ss(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function dc(e,t,n=!1){let o,s;return ne(e)?o=e:(o=e.get,s=e.set),new pc(o,s,n)}const Co={},Ao=new WeakMap;let on;function fc(e,t=!1,n=on){if(n){let o=Ao.get(n);o||Ao.set(n,o=[]),o.push(e)}}function hc(e,t,n=me){const{immediate:o,deep:s,once:r,scheduler:i,augmentJob:a,call:l}=n,c=m=>s?m:Xe(m)||s===!1||s===0?Lt(m,1):Lt(m);let u,f,g,y,k=!1,$=!1;if(Ne(e)?(f=()=>e.value,k=Xe(e)):Et(e)?(f=()=>c(e),k=!0):Q(e)?($=!0,k=e.some(m=>Et(m)||Xe(m)),f=()=>e.map(m=>{if(Ne(m))return m.value;if(Et(m))return c(m);if(ne(m))return l?l(m,2):m()})):ne(e)?t?f=l?()=>l(e,2):e:f=()=>{if(g){ht();try{g()}finally{gt()}}const m=on;on=u;try{return l?l(e,3,[y]):e(y)}finally{on=m}}:f=dt,t&&s){const m=f,C=s===!0?1/0:s;f=()=>Lt(m(),C)}const D=Ns(),E=()=>{u.stop(),D&&D.active&&rr(D.effects,u)};if(r&&t){const m=t;t=(...C)=>{const S=m(...C);return E(),S}}let L=$?new Array(e.length).fill(Co):Co;const b=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const C=u.run();if(m||s||k||($?C.some((S,O)=>ft(S,L[O])):ft(C,L))){g&&g();const S=on;on=u;try{const O=[C,L===Co?void 0:$&&L[0]===Co?[]:L,y];L=C,l?l(t,3,O):t(...O)}finally{on=S}}}else u.run()};return a&&a(b),u=new Cs(f),u.scheduler=i?()=>i(b,!1):b,y=m=>fc(m,!1,u),g=u.onStop=()=>{const m=Ao.get(u);if(m){if(l)l(m,4);else for(const C of m)C();Ao.delete(u)}},t?o?b(!0):L=u.run():i?i(b.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function Lt(e,t=1/0,n){if(t<=0||!he(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ne(e))Lt(e.value,t,n);else if(Q(e))for(let o=0;o{Lt(o,t,n)});else if(co(e)){for(const o in e)Lt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Lt(e[o],t,n)}return e}/** +**/let Se;class Os{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&&Se&&(Se.active?(this.parent=Se,this.index=(Se.scopes||(Se.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(Se===this)Se=this.prevScope;else{let t=Se;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(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;xn;){let t=xn;for(xn=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 Ts(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ls(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),hr(o),Ul(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function fr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ss(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ss(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fr(e))))return;e.flags|=2;const t=e.dep,n=be,o=rt;be=e,rt=!0;try{Ts(e);const s=e.fn(e._value);(t.version===0||ft(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{be=n,rt=o,Ls(e),e.flags&=-3}}function hr(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)hr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ul(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let rt=!0;const Is=[];function ht(){Is.push(rt),rt=!1}function gt(){const e=Is.pop();rt=e===void 0?!0:e}function Fs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Mn=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 gr{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(!be||!rt||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new jl(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,xs(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=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){pr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{dr()}}}function xs(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)xs(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const _o=new WeakMap,nn=Symbol(""),mr=Symbol(""),Dn=Symbol("");function Ue(e,t,n){if(rt&&be){let o=_o.get(e);o||_o.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new gr),s.map=o,s.key=n),s.track()}}function At(e,t,n,o,s,r){const i=_o.get(e);if(!i){Mn++;return}const a=l=>{l&&l.trigger()};if(pr(),t==="clear")i.forEach(a);else{const l=te(e),c=l&&po(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,h)=>{(h==="length"||h===Dn||!Ke(h)&&h>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(Dn)),t){case"add":l?c&&a(i.get("length")):(a(i.get(nn)),jt(e)&&a(i.get(mr)));break;case"delete":l||(a(i.get(nn)),jt(e)&&a(i.get(mr)));break;case"set":jt(e)&&a(i.get(nn));break}}dr()}function Gl(e,t){const n=_o.get(e);return n&&n.get(t)}function hn(e){const t=pe(e);return t===e?t:(Ue(t,"iterate",Dn),Xe(e)?t:t.map(st))}function bo(e){return Ue(e=pe(e),"iterate",Dn),e}function mt(e,t){return Lt(e)?mn(Tt(e)?st(t):t):st(t)}const Yl={__proto__:null,[Symbol.iterator](){return _r(this,Symbol.iterator,e=>mt(this,e))},concat(...e){return hn(this).concat(...e.map(t=>te(t)?hn(t):t))},entries(){return _r(this,"entries",e=>(e[1]=mt(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=>mt(this,o)),arguments)},find(e,t){return Et(this,"find",e,t,n=>mt(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=>mt(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 br(this,"includes",e)},indexOf(...e){return br(this,"indexOf",e)},join(e){return hn(this).join(e)},lastIndexOf(...e){return br(this,"lastIndexOf",e)},map(e,t){return Et(this,"map",e,t,void 0,arguments)},pop(){return Bn(this,"pop")},push(...e){return Bn(this,"push",e)},reduce(e,...t){return Ps(this,"reduce",e,t)},reduceRight(e,...t){return Ps(this,"reduceRight",e,t)},shift(){return Bn(this,"shift")},some(e,t){return Et(this,"some",e,t,void 0,arguments)},splice(...e){return Bn(this,"splice",e)},toReversed(){return hn(this).toReversed()},toSorted(e){return hn(this).toSorted(e)},toSpliced(...e){return hn(this).toSpliced(...e)},unshift(...e){return Bn(this,"unshift",e)},values(){return _r(this,"values",e=>mt(this,e))}};function _r(e,t,n){const o=bo(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 Vl=Array.prototype;function Et(e,t,n,o,s,r){const i=bo(e),a=i!==e&&!Xe(e),l=i[t];if(l!==Vl[t]){const f=l.apply(e,r);return a?st(f):f}let c=n;i!==e&&(a?c=function(f,h){return n.call(this,mt(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 Ps(e,t,n,o){const s=bo(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=mt(e,c)),n.call(this,c,mt(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?mt(e,l):l}function br(e,t,n){const o=pe(e);Ue(o,"iterate",Dn);const s=o[t](...n);return(s===-1||s===!1)&&Oo(n[0])?(n[0]=pe(n[0]),o[t](...n)):s}function Bn(e,t,n=[]){ht(),pr();const o=pe(e)[t].apply(e,n);return dr(),gt(),o}const Hl=rr("__proto__,__v_isRef,__isVue"),Ms=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function ql(e){Ke(e)||(e=String(e));const t=pe(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Ds{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?Gs:js:r?Us:Ws).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=te(t);if(!s){let l;if(i&&(l=Yl[n]))return l;if(n==="hasOwnProperty")return ql}const a=Reflect.get(t,n,Ne(t)?t:o);if((Ke(n)?Ms.has(n):Hl(n))||(s||Ue(t,"get",n),r))return a;if(Ne(a)){const l=i&&po(n)?a:a.value;return s&&ge(l)?vr(l):l}return ge(a)?s?vr(a):ko(a):a}}class Bs extends Ds{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=te(t)&&po(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,yo=e=>Reflect.getPrototypeOf(e);function Zl(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?yr:t?mn:st;return!t&&Ue(r,"iterate",l?mr:nn),Ce(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 vo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ql(e,t){const n={get(s){const r=this.__v_raw,i=pe(r),a=pe(s);e||(ft(s,a)&&Ue(i,"get",s),Ue(i,"get",a));const{has:l}=yo(i),c=t?yr:e?mn:st;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",nn),s.size},has(s){const r=this.__v_raw,i=pe(r),a=pe(s);return e||(ft(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?yr:e?mn:st;return!e&&Ue(l,"iterate",nn),a.forEach((u,f)=>s.call(r,c(u),c(f),i))}};return Ce(n,e?{add:vo("add"),set:vo("set"),delete:vo("delete"),clear:vo("clear")}:{add(s){const r=pe(this),i=yo(r),a=pe(s),l=!t&&!Xe(s)&&!Lt(s)?a:s;return i.has.call(r,l)||ft(s,l)&&i.has.call(r,s)||ft(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}=yo(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?ft(r,u)&&At(i,"set",s,r):At(i,"add",s,r),this},delete(s){const r=pe(this),{has:i,get:a}=yo(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]=Zl(s,e,t)}),n}function wo(e,t){const n=Ql(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 ec={get:wo(!1,!1)},tc={get:wo(!1,!0)},nc={get:wo(!0,!1)},oc={get:wo(!0,!0)},Ws=new WeakMap,Us=new WeakMap,js=new WeakMap,Gs=new WeakMap;function rc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ko(e){return Lt(e)?e:$o(e,!1,zl,ec,Ws)}function sc(e){return $o(e,!1,Xl,tc,Us)}function vr(e){return $o(e,!0,Kl,nc,js)}function r_(e){return $o(e,!0,Jl,oc,Gs)}function $o(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=rc(Ll(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 Oo(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function gn(e){return!he(e,"__v_skip")&&Object.isExtensible(e)&&_s(e,"__v_skip",!0),e}const st=e=>ge(e)?ko(e):e,mn=e=>ge(e)?vr(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function le(e){return Ys(e,!1)}function No(e){return Ys(e,!0)}function Ys(e,t){return Ne(e)?e:new ic(e,t)}class ic{constructor(t,n){this.dep=new gr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:pe(t),this._value=n?t:st(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),ft(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function et(e){return Ne(e)?e.value:e}const ac={get:(e,t,n)=>t==="__v_raw"?e:et(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 Vs(e){return Tt(e)?e:new Proxy(e,ac)}function lc(e){const t=te(e)?new Array(e.length):{};for(const n in e)t[n]=uc(e,n);return t}class cc{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)||!po(this._key))do s=!Oo(r)||Xe(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=et(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 Gl(this._raw,this._key)}}function uc(e,t,n){return new cc(e,t,n)}class pc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new gr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Es(this,!0),!0}get value(){const t=this.dep.track();return Ss(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function dc(e,t,n=!1){let o,s;return oe(e)?o=e:(o=e.get,s=e.set),new pc(o,s,n)}const Co={},Ao=new WeakMap;let on;function fc(e,t=!1,n=on){if(n){let o=Ao.get(n);o||Ao.set(n,o=[]),o.push(e)}}function hc(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,y,w=!1,k=!1;if(Ne(e)?(f=()=>e.value,w=Xe(e)):Tt(e)?(f=()=>c(e),w=!0):te(e)?(k=!0,w=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){ht();try{h()}finally{gt()}}const m=on;on=u;try{return l?l(e,3,[y]):e(y)}finally{on=m}}:f=dt,t&&s){const m=f,O=s===!0?1/0:s;f=()=>St(m(),O)}const D=Ns(),A=()=>{u.stop(),D&&D.active&&sr(D.effects,u)};if(r&&t){const m=t;t=(...O)=>{const S=m(...O);return A(),S}}let T=k?new Array(e.length).fill(Co):Co;const b=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const O=u.run();if(m||s||w||(k?O.some((S,C)=>ft(S,T[C])):ft(O,T))){h&&h();const S=on;on=u;try{const C=[O,T===Co?void 0:k&&T[0]===Co?[]:T,y];T=O,l?l(t,3,C):t(...C)}finally{on=S}}}else u.run()};return a&&a(b),u=new Cs(f),u.scheduler=i?()=>i(b,!1):b,y=m=>fc(m,!1,u),h=u.onStop=()=>{const m=Ao.get(u);if(m){if(l)l(m,4);else for(const O of m)O();Ao.delete(u)}},t?o?b(!0):T=u.run():i?i(b.bind(null,!0),!0):u.run(),A.pause=u.pause.bind(u),A.resume=u.resume.bind(u),A.stop=A,A}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(uo(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 Bn=[];let vr=!1;function i_(e,...t){if(vr)return;vr=!0,ht();const n=Bn.length?Bn[Bn.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=gc();if(o)_n(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 <${Gi(n,r.type)}>`).join(` +**/const Rn=[];let wr=!1;function s_(e,...t){if(wr)return;wr=!0,ht();const n=Rn.length?Rn[Rn.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=gc();if(o)_n(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 <${Gi(n,r.type)}>`).join(` `),s]);else{const r=[`[Vue warn]: ${e}`,...t];s.length&&r.push(` -`,...mc(s)),console.warn(...r)}gt(),vr=!1}function gc(){let e=Bn[Bn.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 mc(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],..._c(n))}),t}function _c({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${Gi(e.component,e.type,o)}`,r=">"+n;return e.props?[s,...bc(e.props),r]:[s+r]}function bc(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Hs(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Hs(e,t,n){return we(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ne(t)?(t=Hs(e,ue(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):ne(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ue(t),n?t:[`${e}=`,t])}function _n(e,t,n,o){try{return o?e(...o):e()}catch(s){Rn(s,t,n)}}function it(e,t,n,o){if(ne(e)){const s=_n(e,t,n,o);return s&&gs(s)&&s.catch(r=>{Rn(r,t,n)}),s}if(Q(e)){const s=[];for(let r=0;r>>1,s=je[o],r=Wn(s);r=Wn(n)?je.push(e):je.splice(vc(t),0,e),e.flags|=1,zs()}}function zs(){Eo||(Eo=qs.then(Js))}function wc(e){if(!Q(e))Gt&&e.id===-1?Gt.splice(yn+1,0,e):e.flags&1||(bn.push(e),e.flags|=1);else for(let t=0;tWn(n)-Wn(o));if(bn.length=0,Gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Js(e){try{for(_t=0;_t{o._d&&Bo(-1);const r=To(t),i=Ft.length;let a;try{a=e(...s)}finally{for(let l=Ft.length;l>i;l--)Mr();To(r),o._d&&Bo(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function kc(e,t){if(De===null)return e;const n=jo(De),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ne(t)?t.call(o&&o.proxy):t}}function $c(){return!!(Pt()||an)}const Oc=Symbol.for("v-scx"),Nc=()=>He(Oc);function Cc(e,t){return $r(e,null,t)}function St(e,t,n){return $r(e,t,n)}function $r(e,t,n=me){const{immediate:o,deep:s,flush:r,once:i}=n,a=Ce({},n),l=t&&o||!t&&r!=="post";let c;if($n){if(r==="sync"){const y=Nc();c=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=dt,y.resume=dt,y.pause=dt,y}}const u=Be;a.call=(y,k,$)=>it(y,u,k,$);let f=!1;r==="post"?a.scheduler=y=>{qe(y,u&&u.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(y,k)=>{k?y():kr(y)}),a.augmentJob=y=>{t&&(y.flags|=4),f&&(y.flags|=2,u&&(y.id=u.uid,y.i=u))};const g=hc(e,t,a);return $n&&(c?c.push(g):l&&g()),g}function Ac(e,t,n){const o=this.proxy,s=we(e)?e.includes(".")?Qs(o,e):()=>o[e]:e.bind(o,o);let r;ne(t)?r=t:(r=t.handler,n=t);const i=Xn(this),a=$r(s,r.bind(o),n);return i(),a}function Qs(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,Or=Symbol("_leaveCb");function Tc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==yt){t=n;break}}return t}function ei(e){if(!Fo(e))return Lo(e.type)&&e.children?Tc(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&&ne(n.default))return n.default()}}function Nr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Nr(Lo(n.type)&&ei(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 Un(e,t){return ne(e)?Ce({name:e.name},t,{setup:e}):e}function Cr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ti(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const So=new WeakMap;function jn(e,t,n,o,s=!1){if(Q(e)){e.forEach(($,D)=>jn($,t&&(Q(t)?t[D]:t),n,o,s));return}if(vn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&jn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?jo(o.component):o.el,i=s?null:r,{i:a,r:l}=e,c=t&&t.r,u=a.refs===me?a.refs={}:a.refs,f=a.setupState,g=ue(f),y=f===me?fs:$=>ti(u,$)?!1:fe(g,$),k=($,D)=>!(D&&ti(u,D));if(c!=null&&c!==l){if(ni(t),we(c))u[c]=null,y(c)&&(f[c]=null);else if(Ne(c)){const $=t;k(c,$.k)&&(c.value=null),$.k&&(u[$.k]=null)}}if(ne(l))_n(l,a,12,[i,u]);else{const $=we(l),D=Ne(l);if($||D){const E=()=>{if(e.f){const L=$?y(l)?f[l]:u[l]:k()||!e.k?l.value:u[e.k];if(s)Q(L)&&rr(L,r);else if(Q(L))L.includes(r)||L.push(r);else if($)u[l]=[r],y(l)&&(f[l]=u[l]);else{const b=[r];k(l,e.k)&&(l.value=b),e.k&&(u[e.k]=b)}}else $?(u[l]=i,y(l)&&(f[l]=i)):D&&(k(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{E(),So.delete(e)};L.id=-1,So.set(e,L),qe(L,n)}else ni(e),E()}}}function ni(e){const t=So.get(e);t&&(t.flags|=8,So.delete(e))}const oi=e=>e.nodeType===8;ho().requestIdleCallback,ho().cancelIdleCallback;function Lc(e,t){if(oi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(oi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const vn=e=>!!e.type.__asyncLoader;function Sc(e){ne(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 g=()=>(f++,c=null,y()),y=()=>{let k;return c||(k=c=t().catch($=>{if($=$ instanceof Error?$:new Error(String($)),l)return new Promise((D,E)=>{l($,()=>D(g()),()=>E($),f+1)});throw $}).then($=>k!==c&&c?c:($&&($.__esModule||$[Symbol.toStringTag]==="Module")&&($=$.default),u=$,$)))};return Un({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(k,$,D){const E=k.isConnected;let L=!1;($.bu||($.bu=[])).push(()=>L=!0);const b=()=>{L||!k.parentNode||E&&!k.isConnected||D()},m=r?()=>{const C=r(b,S=>Lc(k,S));C&&($.bum||($.bum=[])).push(C)}:b;u?m():y().then(()=>!$.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const k=Be;if(Cr(k),u)return()=>Io(u,k);const $=C=>{c=null,Rn(C,k,13,!o)};if(a&&k.suspense||$n)return y().then(C=>()=>Io(C,k)).catch(C=>($(C),()=>o?ke(o,{error:C}):null));const D=ce(!1),E=ce(),L=ce(!!s);let b,m;return Po(()=>{b!=null&&clearTimeout(b),m!=null&&clearTimeout(m)}),s&&(m=setTimeout(()=>{k.isUnmounted||(L.value=!1)},s)),i!=null&&(b=setTimeout(()=>{if(!k.isUnmounted&&!D.value&&!E.value){const C=new Error(`Async component timed out after ${i}ms.`);$(C),E.value=C}},i)),y().then(()=>{k.isUnmounted||(D.value=!0,k.parent&&Fo(k.parent.vnode)&&k.parent.update())}).catch(C=>{if(k.isUnmounted){c=null;return}$(C),E.value=C}),()=>{if(D.value&&u)return Io(u,k);if(E.value&&o)return ke(o,{error:E.value});if(n&&!L.value)return Io(n,k)}}})}function Io(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 Fo=e=>e.type.__isKeepAlive;function Ic(e,t){ri(e,"a",t)}function Fc(e,t){ri(e,"da",t)}function ri(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(xo(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Fo(s.parent.vnode)&&xc(o,t,n,s),s=s.parent}}function xc(e,t,n,o){const s=xo(t,e,o,!0);Po(()=>{rr(o[t],s)},n)}function xo(e,t,n=Be,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{ht();const a=Xn(n),l=it(t,n,e,i);return a(),gt(),l});return o?s.unshift(r):s.push(r),r}}const It=e=>(t,n=Be)=>{(!$n||e==="sp")&&xo(e,(...o)=>t(...o),n)},si=It("bm"),Yt=It("m"),Pc=It("bu"),Mc=It("u"),wn=It("bum"),Po=It("um"),Dc=It("sp"),Bc=It("rtg"),Rc=It("rtc");function Wc(e,t=Be){xo("ec",e,t)}const Uc="components",ii=Symbol.for("v-ndc");function ai(e){return we(e)?jc(Uc,e,!1)||e:e||ii}function jc(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===fo(xe(t))))return r}const i=li(s[e]||r[e],t)||li(s.appContext[e],t);return!i&&o?r:i}}function li(e,t){return e&&(e[t]||e[xe(t)]||e[fo(xe(t))])}function at(e,t,n,o){let s;const r=n,i=Q(e);if(i||we(e)){const a=i&&Et(e);let l=!1,c=!1;a&&(l=!Xe(e),c=Tt(e),e=bo(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 V(),tt(pe,null,[ke("slot",c,o)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const a=Ft.length;V();let l;try{const c=i&&ui(i(n)),u=n.key||r||c&&c.key;l=tt(pe,{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--)Mr();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function ui(e){return e.some(t=>qn(t)?!(t.type===yt||t.type===pe&&!ui(t.children)):!0)?e:null}const Ar=e=>e?Ri(e)?jo(e):Ar(e.parent):null,Gn=Ce(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=>Ar(e.parent),$root:e=>Ar(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>hi(e),$forceUpdate:e=>e.f||(e.f=()=>{kr(e.update)}),$nextTick:e=>e.n||(e.n=wr.bind(e.proxy)),$watch:e=>Ac.bind(e)}),Er=(e,t)=>e!==me&&!e.__isScriptSetup&&fe(e,t),Gc={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 g=i[t];if(g!==void 0)switch(g){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(Er(o,t))return i[t]=1,o[t];if(s!==me&&fe(s,t))return i[t]=2,s[t];if(fe(r,t))return i[t]=3,r[t];if(n!==me&&fe(n,t))return i[t]=4,n[t];Tr&&(i[t]=0)}}const c=Gn[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!==me&&fe(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,fe(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return Er(s,t)?(s[t]=n,!0):o!==me&&fe(o,t)?(o[t]=n,!0):fe(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!==me&&a[0]!=="$"&&fe(e,a)||Er(t,a)||fe(r,a)||fe(o,a)||fe(Gn,a)||fe(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:fe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function pi(e){return Q(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Tr=!0;function Yc(e){const t=hi(e),n=e.proxy,o=e.ctx;Tr=!1,t.beforeCreate&&di(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:g,beforeUpdate:y,updated:k,activated:$,deactivated:D,beforeDestroy:E,beforeUnmount:L,destroyed:b,unmounted:m,render:C,renderTracked:S,renderTriggered:O,errorCaptured:w,serverPrefetch:T,expose:H,inheritAttrs:te,components:q,directives:ie,filters:_e}=t;if(c&&Vc(c,o,null),i)for(const z in i){const ae=i[z];ne(ae)&&(o[z]=ae.bind(n))}if(s){const z=s.call(n,n);he(z)&&(e.data=ko(z))}if(Tr=!0,r)for(const z in r){const ae=r[z],Ee=ne(ae)?ae.bind(n,n):ne(ae.get)?ae.get.bind(n,n):dt,Ot=!ne(ae)&&ne(ae.set)?ae.set.bind(n):dt,Fe=re({get:Ee,set:Ot});Object.defineProperty(o,z,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:Me=>Fe.value=Me})}if(a)for(const z in a)fi(a[z],o,n,z);if(l){const z=ne(l)?l.call(n):l;Reflect.ownKeys(z).forEach(ae=>{bt(ae,z[ae])})}u&&di(u,e,"c");function W(z,ae){Q(ae)?ae.forEach(Ee=>z(Ee.bind(n))):ae&&z(ae.bind(n))}if(W(si,f),W(Yt,g),W(Pc,y),W(Mc,k),W(Ic,$),W(Fc,D),W(Wc,w),W(Rc,S),W(Bc,O),W(wn,L),W(Po,m),W(Dc,T),Q(H))if(H.length){const z=e.exposed||(e.exposed={});H.forEach(ae=>{Object.defineProperty(z,ae,{get:()=>n[ae],set:Ee=>n[ae]=Ee,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===dt&&(e.render=C),te!=null&&(e.inheritAttrs=te),q&&(e.components=q),ie&&(e.directives=ie),T&&Cr(e)}function Vc(e,t,n=dt){Q(e)&&(e=Lr(e));for(const o in e){const s=e[o];let r;he(s)?"default"in s?r=He(s.from||o,s.default,!0):r=He(s.from||o):r=He(s),Ne(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function di(e,t,n){it(Q(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function fi(e,t,n,o){let s=o.includes(".")?Qs(n,o):()=>n[o];if(we(e)){const r=t[e];ne(r)&&St(s,r)}else if(ne(e))St(s,e.bind(n));else if(he(e))if(Q(e))e.forEach(r=>fi(r,t,n,o));else{const r=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(r)&&St(s,r,e)}}function hi(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=>Mo(l,c,i,!0)),Mo(l,t,i)),he(t)&&r.set(t,l),l}function Mo(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&Mo(e,r,n,!0),s&&s.forEach(i=>Mo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=Hc[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Hc={data:gi,props:mi,emits:mi,methods:Yn,computed:Yn,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:Yn,directives:Yn,watch:zc,provide:gi,inject:qc};function gi(e,t){return t?e?function(){return Ce(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function qc(e,t){return Yn(Lr(e),Lr(t))}function Lr(e){if(Q(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${Qe(t)}Modifiers`];function Zc(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let s=n;const r=t.startsWith("update:"),i=r&&Jc(o,t.slice(7));i&&(i.trim&&(s=n.map(u=>we(u)?u.trim():u)),i.number&&(s=s.map(Fl)));let a,l=o[a=sr(t)]||o[a=sr(xe(t))];!l&&r&&(l=o[a=sr(Qe(t))]),l&&it(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,it(c,e,6,s)}}const Qc=new WeakMap;function bi(e,t,n=!1){const o=n?Qc:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let i={},a=!1;if(!ne(e)){const l=c=>{const u=bi(c,t,!0);u&&(a=!0,Ce(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(he(e)&&o.set(e,null),null):(Q(r)?r.forEach(l=>i[l]=null):Ce(i,r),he(e)&&o.set(e,i),i)}function Do(e,t){return!e||!io(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,Qe(t))||fe(e,t))}function a_(){}function yi(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:g,setupState:y,ctx:k,inheritAttrs:$}=e,D=To(e);let E,L;try{if(n.shapeFlag&4){const m=s||o,C=m;E=vt(c.call(C,m,u,f,y,g,k)),L=a}else{const m=t;E=vt(m.length>1?m(f,{attrs:a,slots:i,emit:l}):m(f,null)),L=t.props?a:eu(a)}}catch(m){Ft.length=0,Rn(m,e,1),E=ke(yt)}let b=E;if(L&&$!==!1){const m=Object.keys(L),{shapeFlag:C}=b;m.length&&C&7&&(r&&m.some(ao)&&(L=tu(L,r)),b=kn(b,L,!1,!0))}if(n.dirs&&(b=kn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition){const m=Lo(b.type)&&ei(b)||b;Nr(m,n.transition)}return E=b,To(D),E}const eu=e=>{let t;for(const n in e)(n==="class"||n==="style"||io(n))&&((t||(t={}))[n]=e[n]);return t},tu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function nu(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?vi(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(ki),Oi=e=>Object.getPrototypeOf(e)===ki;function ru(e,t,n,o=!1){const s={},r=$i();e.propsDefaults=Object.create(null),Ni(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:sc(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function su(e,t,n,o){const{props:s,attrs:r,vnode:{patchFlag:i}}=e,a=ue(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[g,y]=Ci(f,t,!0);Ce(i,g),y&&a.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return he(e)&&o.set(e,fn),fn;if(Q(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Fr=e=>Q(e)?e.map(vt):[vt(e)],au=(e,t,n)=>{if(t._n)return t;const o=rn((...s)=>Fr(t(...s)),n);return o._c=!1,o},Ei=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Ir(s))continue;const r=e[s];if(ne(r))t[s]=au(s,r,o);else if(r!=null){const i=Fr(r);t[s]=()=>i}}},Ti=(e,t)=>{const n=Fr(t);e.slots.default=()=>n},Li=(e,t,n)=>{for(const o in t)(n||!Ir(o))&&(e[o]=t[o])},lu=(e,t,n)=>{const o=e.slots=$i();if(e.vnode.shapeFlag&32){const s=t._;s?(Li(o,t,n),n&&_s(o,"_",s,!0)):Ei(t,o)}else t&&Ti(e,t)},cu=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,i=me;if(o.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:Li(s,t,n):(r=!t.$stable,Ei(t,s)),i=t}else t&&(Ti(e,t),i={default:1});if(r)for(const a in s)!Ir(a)&&i[a]==null&&delete s[a]},qe=hu;function uu(e){return pu(e)}function pu(e,t){const n=ho();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:i,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:g,setScopeId:y=dt,insertStaticContent:k}=e,$=(h,v,_,I=null,B=null,M=null,j=void 0,U=null,p=!!v.dynamicChildren)=>{if(h===v)return;h&&!zn(h,v)&&(I=Wt(h),Me(h,B,M,!0),h=null),v.patchFlag===-2&&(p=!1,v.dynamicChildren=null);const{type:d,ref:A,shapeFlag:F}=v;switch(d){case Vn:D(h,v,_,I);break;case yt:E(h,v,_,I);break;case Pr:h==null&&L(v,_,I,j);break;case pe:q(h,v,_,I,B,M,j,U,p);break;default:F&1?C(h,v,_,I,B,M,j,U,p):F&6?ie(h,v,_,I,B,M,j,U,p):(F&64||F&128)&&d.process(h,v,_,I,B,M,j,U,p,ot)}A!=null&&B?jn(A,h&&h.ref,M,v||h,!v):A==null&&h&&h.ref!=null&&jn(h.ref,null,M,h,!0)},D=(h,v,_,I)=>{if(h==null)o(v.el=a(v.children),_,I);else{const B=v.el=h.el;v.children!==h.children&&c(B,v.children)}},E=(h,v,_,I)=>{h==null?o(v.el=l(v.children||""),_,I):v.el=h.el},L=(h,v,_,I)=>{[h.el,h.anchor]=k(h.children,v,_,I,h.el,h.anchor)},b=({el:h,anchor:v},_,I)=>{let B;for(;h&&h!==v;)B=g(h),o(h,_,I),h=B;o(v,_,I)},m=({el:h,anchor:v})=>{let _;for(;h&&h!==v;)_=g(h),s(h),h=_;s(v)},C=(h,v,_,I,B,M,j,U,p)=>{if(v.type==="svg"?j="svg":v.type==="math"&&(j="mathml"),h==null)S(v,_,I,B,M,j,U,p);else{const d=h.el&&h.el._isVueCE?h.el:null;try{d&&d._beginPatch(),T(h,v,B,M,j,U,p)}finally{d&&d._endPatch()}}},S=(h,v,_,I,B,M,j,U)=>{let p,d;const{props:A,shapeFlag:F,transition:G,dirs:R}=h;if(p=h.el=i(h.type,M,A&&A.is,A),F&8?u(p,h.children):F&16&&w(h.children,p,null,I,B,xr(h,M),j,U),R&&sn(h,null,I,"created"),O(p,h,h.scopeId,j,I),A){for(const x in A)x!=="value"&&!In(x)&&r(p,x,null,A[x],M,I);"value"in A&&r(p,"value",null,A.value,M),(d=A.onVnodeBeforeMount)&&wt(d,I,h)}R&&sn(h,null,I,"beforeMount");const N=du(B,G);N&&G.beforeEnter(p),o(p,v,_),((d=A&&A.onVnodeMounted)||N||R)&&qe(()=>{try{d&&wt(d,I,h),N&&G.enter(p),R&&sn(h,null,I,"mounted")}finally{}},B)},O=(h,v,_,I,B)=>{if(_&&y(h,_),I)for(let M=0;M{for(let d=p;d{const U=v.el=h.el;let{patchFlag:p,dynamicChildren:d,dirs:A}=v;p|=h.patchFlag&16;const F=h.props||me,G=v.props||me;let R;if(_&&ln(_,!1),(R=G.onVnodeBeforeUpdate)&&wt(R,_,v,h),A&&sn(v,h,_,"beforeUpdate"),_&&ln(_,!0),d&&(!h.dynamicChildren||h.dynamicChildren.length!==d.length)&&(p=0,j=!1,d=null),(F.innerHTML&&G.innerHTML==null||F.textContent&&G.textContent==null)&&u(U,""),d?H(h.dynamicChildren,d,U,_,I,xr(v,B),M):j||ae(h,v,U,null,_,I,xr(v,B),M,!1),p>0){if(p&16)te(U,F,G,_,B);else if(p&2&&F.class!==G.class&&r(U,"class",null,G.class,B),p&4&&r(U,"style",F.style,G.style,B),p&8){const N=v.dynamicProps;for(let x=0;x{R&&wt(R,_,v,h),A&&sn(v,h,_,"updated")},I)},H=(h,v,_,I,B,M,j)=>{for(let U=0;U{if(v!==_){if(v!==me)for(const M in v)!In(M)&&!(M in _)&&r(h,M,v[M],null,B,I);for(const M in _){if(In(M))continue;const j=_[M],U=v[M];j!==U&&M!=="value"&&r(h,M,U,j,B,I)}"value"in _&&r(h,"value",v.value,_.value,B)}},q=(h,v,_,I,B,M,j,U,p)=>{const d=v.el=h?h.el:a(""),A=v.anchor=h?h.anchor:a("");let{patchFlag:F,dynamicChildren:G,slotScopeIds:R}=v;R&&(U=U?U.concat(R):R),h==null?(o(d,_,I),o(A,_,I),w(v.children||[],_,A,B,M,j,U,p)):F>0&&F&64&&G&&h.dynamicChildren&&h.dynamicChildren.length===G.length?(H(h.dynamicChildren,G,_,B,M,j,U),(v.key!=null||B&&v===B.subTree)&&Si(h,v,!0)):ae(h,v,_,A,B,M,j,U,p)},ie=(h,v,_,I,B,M,j,U,p)=>{v.slotScopeIds=U,h==null?v.shapeFlag&512?B.ctx.activate(v,_,I,j,p):_e(v,_,I,B,M,j,p):X(h,v,p)},_e=(h,v,_,I,B,M,j)=>{const U=h.component=vu(h,I,B);if(Fo(h)&&(U.ctx.renderer=ot),wu(U,!1,j),U.asyncDep){if(B&&B.registerDep(U,W,j),!h.el){const p=U.subTree=ke(yt);E(null,p,v,_),h.placeholder=p.el}}else W(U,h,v,_,B,M,j)},X=(h,v,_)=>{const I=v.component=h.component;if(nu(h,v,_))if(I.asyncDep&&!I.asyncResolved){z(I,v,_);return}else I.next=v,I.update();else v.el=h.el,I.vnode=v},W=(h,v,_,I,B,M,j)=>{const U=()=>{if(h.isMounted){let{next:F,bu:G,u:R,parent:N,vnode:x}=h;{const We=Ii(h);if(We){F&&(F.el=x.el,z(h,F,j)),We.asyncDep.then(()=>{qe(()=>{h.isUnmounted||d()},B)});return}}let J=F,se;ln(h,!1),F?(F.el=x.el,z(h,F,j)):F=x,G&&ir(G),(se=F.props&&F.props.onVnodeBeforeUpdate)&&wt(se,N,F,x),ln(h,!0);const ve=yi(h),Ve=h.subTree;h.subTree=ve,$(Ve,ve,f(Ve.el),Wt(Ve),h,B,M),F.el=ve.el,J===null&&ou(h,ve.el),R&&qe(R,B),(se=F.props&&F.props.onVnodeUpdated)&&qe(()=>wt(se,N,F,x),B)}else{let F;const{el:G,props:R}=v,{bm:N,m:x,parent:J,root:se,type:ve}=h,Ve=vn(v);ln(h,!1),N&&ir(N),!Ve&&(F=R&&R.onVnodeBeforeMount)&&wt(F,J,v),ln(h,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ve,h.parent?h.parent.type:void 0);const We=h.subTree=yi(h);$(null,We,_,I,h,B,M),v.el=We.el}if(x&&qe(x,B),!Ve&&(F=R&&R.onVnodeMounted)){const We=v;qe(()=>wt(F,J,We),B)}(v.shapeFlag&256||J&&vn(J.vnode)&&J.vnode.shapeFlag&256)&&h.a&&qe(h.a,B),h.isMounted=!0,v=_=I=null}};h.scope.on();const p=h.effect=new Cs(U);h.scope.off();const d=h.update=p.run.bind(p),A=h.job=p.runIfDirty.bind(p);A.i=h,A.id=h.uid,p.scheduler=()=>kr(A),ln(h,!0),d()},z=(h,v,_)=>{v.component=h;const I=h.vnode.props;h.vnode=v,h.next=null,su(h,v.props,I,_),cu(h,v.children,_),ht(),Ks(h),gt()},ae=(h,v,_,I,B,M,j,U,p=!1)=>{const d=h&&h.children,A=h?h.shapeFlag:0,F=v.children,{patchFlag:G,shapeFlag:R}=v;if(G>0){if(G&128){Ot(d,F,_,I,B,M,j,U,p);return}else if(G&256){Ee(d,F,_,I,B,M,j,U,p);return}}R&8?(A&16&&pt(d,B,M),F!==d&&u(_,F)):A&16?R&16?Ot(d,F,_,I,B,M,j,U,p):pt(d,B,M,!0):(A&8&&u(_,""),R&16&&w(F,_,I,B,M,j,U,p))},Ee=(h,v,_,I,B,M,j,U,p)=>{h=h||fn,v=v||fn;const d=h.length,A=v.length,F=Math.min(d,A);let G;for(G=0;GA?pt(h,B,M,!0,!1,F):w(v,_,I,B,M,j,U,p,F)},Ot=(h,v,_,I,B,M,j,U,p)=>{let d=0;const A=v.length;let F=h.length-1,G=A-1;for(;d<=F&&d<=G;){const R=h[d],N=v[d]=p?xt(v[d]):vt(v[d]);if(zn(R,N))$(R,N,_,null,B,M,j,U,p);else break;d++}for(;d<=F&&d<=G;){const R=h[F],N=v[G]=p?xt(v[G]):vt(v[G]);if(zn(R,N))$(R,N,_,null,B,M,j,U,p);else break;F--,G--}if(d>F){if(d<=G){const R=G+1,N=RG)for(;d<=F;)Me(h[d],B,M,!0),d++;else{const R=d,N=d,x=new Map;for(d=N;d<=G;d++){const Ze=v[d]=p?xt(v[d]):vt(v[d]);Ze.key!=null&&x.set(Ze.key,d)}let J,se=0;const ve=G-N+1;let Ve=!1,We=0;const dn=new Array(ve);for(d=0;d=ve){Me(Ze,B,M,!0);continue}let Nt;if(Ze.key!=null)Nt=x.get(Ze.key);else for(J=N;J<=G;J++)if(dn[J-N]===0&&zn(Ze,v[J])){Nt=J;break}Nt===void 0?Me(Ze,B,M,!0):(dn[Nt-N]=d+1,Nt>=We?We=Nt:Ve=!0,$(Ze,v[Nt],_,null,B,M,j,U,p),se++)}const ds=Ve?fu(dn):fn;for(J=ds.length-1,d=ve-1;d>=0;d--){const Ze=N+d,Nt=v[Ze],Al=v[Ze+1],El=Ze+1{const{el:M,type:j,transition:U,children:p,shapeFlag:d}=h;if(d&6){Fe(h.component.subTree,v,_,I);return}if(d&128){h.suspense.move(v,_,I);return}if(d&64){j.move(h,v,_,ot);return}if(j===pe){o(M,v,_);for(let F=0;FU.enter(M),B));else{const{leave:F,delayLeave:G,afterLeave:R}=U,N=()=>{h.ctx.isUnmounted?s(M):o(M,v,_)},x=()=>{const J=M._isLeaving||!!M[Or];M._isLeaving&&M[Or](!0),U.persisted&&!J?N():F(M,()=>{N(),R&&R()})};G?G(M,N,x):x()}else o(M,v,_)},Me=(h,v,_,I=!1,B=!1)=>{const{type:M,props:j,ref:U,children:p,dynamicChildren:d,shapeFlag:A,patchFlag:F,dirs:G,cacheIndex:R,memo:N}=h;if(F===-2&&(B=!1),U!=null&&(ht(),jn(U,null,_,h,!0),gt()),R!=null&&(v.renderCache[R]=void 0),A&256){v.ctx.deactivate(h);return}const x=A&1&&G,J=!vn(h);let se;if(J&&(se=j&&j.onVnodeBeforeUnmount)&&wt(se,v,h),A&6)pn(h.component,_,I);else{if(A&128){h.suspense.unmount(_,I);return}x&&sn(h,null,v,"beforeUnmount"),A&64?h.type.remove(h,v,_,ot,I):d&&!d.hasOnce&&(M!==pe||F>0&&F&64)?pt(d,v,_,!1,!0):(M===pe&&F&384||!B&&A&16)&&pt(p,v,_),I&&Qt(h)}const ve=N!=null&&R==null;(J&&(se=j&&j.onVnodeUnmounted)||x||ve)&&qe(()=>{se&&wt(se,v,h),x&&sn(h,null,v,"unmounted"),ve&&(h.el=null)},_)},Qt=h=>{const{type:v,el:_,anchor:I,transition:B}=h;if(v===pe){en(_,I);return}if(v===Pr){m(h);return}const M=()=>{s(_),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(h.shapeFlag&1&&B&&!B.persisted){const{leave:j,delayLeave:U}=B,p=()=>j(_,M);U?U(h.el,M,p):p()}else M()},en=(h,v)=>{let _;for(;h!==v;)_=g(h),s(h),h=_;s(v)},pn=(h,v,_)=>{const{bum:I,scope:B,job:M,subTree:j,um:U,m:p,a:d}=h;Fi(p),Fi(d),I&&ir(I),B.stop(),M&&(M.flags|=8,Me(j,h,v,_)),U&&qe(U,v),qe(()=>{h.isUnmounted=!0},v)},pt=(h,v,_,I=!1,B=!1,M=0)=>{for(let j=M;j{if(h.shapeFlag&6)return Wt(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const v=g(h.anchor||h.el),_=v&&v[Ec];return _?g(_):v};let Ut=!1;const tn=(h,v,_)=>{let I;h==null?v._vnode&&(Me(v._vnode,null,null,!0),I=v._vnode.component):$(v._vnode||null,h,v,null,null,null,_),v._vnode=h,Ut||(Ut=!0,Ks(I),Xs(),Ut=!1)},ot={p:$,um:Me,m:Fe,r:Qt,mt:_e,mc:w,pc:ae,pbc:H,n:Wt,o:e};return{render:tn,hydrate:void 0,createApp:Xc(tn)}}function xr({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 ln({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function du(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Si(e,t,n=!1){const o=e.children,s=t.children;if(Q(o)&&Q(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 Ii(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ii(t)}function Fi(e){if(e)for(let t=0;te.__isSuspense;function hu(e,t){t&&t.pendingBranch?Q(e)?t.effects.push(...e):t.effects.push(e):wc(e)}const pe=Symbol.for("v-fgt"),Vn=Symbol.for("v-txt"),yt=Symbol.for("v-cmt"),Pr=Symbol.for("v-stc"),Ft=[];let Je=null;function V(e=!1){Ft.push(Je=e?null:[])}function Mr(){Ft.pop(),Je=Ft[Ft.length-1]||null}let Hn=1;function Bo(e,t=!1){Hn+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Mi(e){return e.dynamicChildren=Hn>0?Je||fn:null,Mr(),Hn>0&&Je&&Je.push(e),e}function K(e,t,n,o,s,r){return Mi(P(e,t,n,o,s,r,!0))}function tt(e,t,n,o,s){return Mi(ke(e,t,n,o,s,!0))}function qn(e){return e?e.__v_isVNode===!0:!1}function zn(e,t){return e.type===t.type&&e.key===t.key}const Di=({key:e})=>e??null,Ro=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||Ne(e)||ne(e)?{i:De,r:e,k:t,f:!!n}:e:null);function P(e,t=null,n=null,o=0,s=null,r=e===pe?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Di(t),ref:t&&Ro(t),scopeId:Zs,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?(Wo(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),Hn>0&&!i&&Je&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Je.push(l),l}const ke=gu;function gu(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===ii)&&(e=yt),qn(e)){const a=kn(e,t,!0);return n&&Wo(a,n),Hn>0&&!r&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(Au(e)&&(e=e.__vccOpts),t){t=mu(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=Le(a)),he(l)&&(Oo(l)&&!Q(l)&&(l=Ce({},l)),t.style=go(l))}const i=we(e)?1:Pi(e)?128:Lo(e)?64:he(e)?4:ne(e)?2:0;return P(e,t,n,o,s,i,r,!0)}function mu(e){return e?Oo(e)||Oi(e)?Ce({},e):e:null}function kn(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,c=t?_u(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Di(c),ref:t&&t.ref?n&&r?Q(r)?r.concat(Ro(t)):[r,Ro(t)]:Ro(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!==pe?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&&kn(e.ssContent),ssFallback:e.ssFallback&&kn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Nr(u,l.clone(u)),u}function $e(e=" ",t=0){return ke(Vn,null,e,t)}function Te(e="",t=!1){return t?(V(),tt(yt,null,e)):ke(yt,null,e)}function vt(e){return e==null||typeof e=="boolean"?ke(yt):Q(e)?ke(pe,null,e.slice()):qn(e)?xt(e):ke(Vn,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kn(e)}function Wo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Q(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Wo(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Oi(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ne(t)){if(o&65){Wo(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 _u(...e){const t={};for(let n=0;nBe||De;let Uo,Kn;{const e=ho(),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)}};Uo=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),Kn=t("__VUE_SSR_SETTERS__",n=>$n=n)}const Xn=e=>{const t=Be;return Uo(e),e.scope.on(),()=>{e.scope.off(),Uo(t)}},Bi=()=>{Be&&Be.scope.off(),Uo(null)};function Ri(e){return e.vnode.shapeFlag&4}let $n=!1;function wu(e,t=!1,n=!1){t&&Kn(t);const{props:o,children:s}=e.vnode,r=Ri(e);ru(e,o,r,t),lu(e,s,n||t);const i=r?ku(e,t):void 0;return t&&Kn(!1),i}function ku(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Gc);const{setup:o}=n;if(o){ht();const s=e.setupContext=o.length>1?Ou(e):null,r=Xn(e),i=_n(o,e,0,[e.props,s]),a=gs(i);if(gt(),r(),(a||e.sp)&&!vn(e)&&Cr(e),a){if(i.then(Bi,Bi),t)return i.then(l=>{Kn(!0);try{Wi(e,l,t)}finally{Kn(!1)}}).catch(l=>{Rn(l,e,0)});e.asyncDep=i}else Wi(e,i)}else Ui(e)}function Wi(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=Vs(t)),Ui(e)}function Ui(e,t,n){const o=e.type;e.render||(e.render=o.render||dt);{const s=Xn(e);ht();try{Yc(e)}finally{gt(),s()}}}const $u={get(e,t){return Ue(e,"get",""),e[t]}};function Ou(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,$u),slots:e.slots,emit:e.emit,expose:t}}function jo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Vs(gn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const Nu=/(?:^|[-_])\w/g,Cu=e=>e.replace(Nu,t=>t.toUpperCase()).replace(/[-_]/g,"");function ji(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Gi(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?Cu(o):n?"App":"Anonymous"}function Au(e){return ne(e)&&"__vccOpts"in e}const re=(e,t)=>dc(e,t,$n);function Yi(e,t,n){try{Bo(-1);const o=arguments.length;return o===2?he(t)&&!Q(t)?qn(t)?ke(e,null,[t]):ke(e,t):ke(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&qn(n)&&(n=[n]),ke(e,t,n))}finally{Bo(1)}}const Eu="3.5.42";/** +`,...mc(s)),console.warn(...r)}gt(),wr=!1}function gc(){let e=Rn[Rn.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 mc(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],..._c(n))}),t}function _c({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${Gi(e.component,e.type,o)}`,r=">"+n;return e.props?[s,...bc(e.props),r]:[s+r]}function bc(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Hs(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Hs(e,t,n){return we(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ne(t)?(t=Hs(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 _n(e,t,n,o){try{return o?e(...o):e()}catch(s){Wn(s,t,n)}}function it(e,t,n,o){if(oe(e)){const s=_n(e,t,n,o);return s&&gs(s)&&s.catch(r=>{Wn(r,t,n)}),s}if(te(e)){const s=[];for(let r=0;r>>1,s=je[o],r=Un(s);r=Un(n)?je.push(e):je.splice(vc(t),0,e),e.flags|=1,zs()}}function zs(){Eo||(Eo=qs.then(Js))}function wc(e){if(!te(e))Gt&&e.id===-1?Gt.splice(yn+1,0,e):e.flags&1||(bn.push(e),e.flags|=1);else for(let t=0;tUn(n)-Un(o));if(bn.length=0,Gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Js(e){try{for(_t=0;_t{o._d&&Ro(-1);const r=Lo(t),i=Ft.length;let a;try{a=e(...s)}finally{for(let l=Ft.length;l>i;l--)Mr();Lo(r),o._d&&Ro(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function kc(e,t){if(De===null)return e;const n=Go(De),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&oe(t)?t.call(o&&o.proxy):t}}function $c(){return!!(Pt()||an)}const Oc=Symbol.for("v-scx"),Nc=()=>He(Oc);function Cc(e,t){return $r(e,null,t)}function yt(e,t,n){return $r(e,t,n)}function $r(e,t,n=_e){const{immediate:o,deep:s,flush:r,once:i}=n,a=Ce({},n),l=t&&o||!t&&r!=="post";let c;if($n){if(r==="sync"){const y=Nc();c=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=dt,y.resume=dt,y.pause=dt,y}}const u=Be;a.call=(y,w,k)=>it(y,u,w,k);let f=!1;r==="post"?a.scheduler=y=>{qe(y,u&&u.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(y,w)=>{w?y():kr(y)}),a.augmentJob=y=>{t&&(y.flags|=4),f&&(y.flags|=2,u&&(y.id=u.uid,y.i=u))};const h=hc(e,t,a);return $n&&(c?c.push(h):l&&h()),h}function Ac(e,t,n){const o=this.proxy,s=we(e)?e.includes(".")?Qs(o,e):()=>o[e]:e.bind(o,o);let r;oe(t)?r=t:(r=t.handler,n=t);const i=Jn(this),a=$r(s,r.bind(o),n);return i(),a}function Qs(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,Or=Symbol("_leaveCb");function Tc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==vt){t=n;break}}return t}function ei(e){if(!xo(e))return So(e.type)&&e.children?Tc(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 Nr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Nr(So(n.type)&&ei(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 jn(e,t){return oe(e)?Ce({name:e.name},t,{setup:e}):e}function Cr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ti(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Io=new WeakMap;function Gn(e,t,n,o,s=!1){if(te(e)){e.forEach((k,D)=>Gn(k,t&&(te(t)?t[D]:t),n,o,s));return}if(vn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Gn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?Go(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),y=f===_e?fs:k=>ti(u,k)?!1:he(h,k),w=(k,D)=>!(D&&ti(u,D));if(c!=null&&c!==l){if(ni(t),we(c))u[c]=null,y(c)&&(f[c]=null);else if(Ne(c)){const k=t;w(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(oe(l))_n(l,a,12,[i,u]);else{const k=we(l),D=Ne(l);if(k||D){const A=()=>{if(e.f){const T=k?y(l)?f[l]:u[l]:w()||!e.k?l.value:u[e.k];if(s)te(T)&&sr(T,r);else if(te(T))T.includes(r)||T.push(r);else if(k)u[l]=[r],y(l)&&(f[l]=u[l]);else{const b=[r];w(l,e.k)&&(l.value=b),e.k&&(u[e.k]=b)}}else k?(u[l]=i,y(l)&&(f[l]=i)):D&&(w(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const T=()=>{A(),Io.delete(e)};T.id=-1,Io.set(e,T),qe(T,n)}else ni(e),A()}}}function ni(e){const t=Io.get(e);t&&(t.flags|=8,Io.delete(e))}const oi=e=>e.nodeType===8;go().requestIdleCallback,go().cancelIdleCallback;function Lc(e,t){if(oi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(oi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const vn=e=>!!e.type.__asyncLoader;function Sc(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,y()),y=()=>{let w;return c||(w=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((D,A)=>{l(k,()=>D(h()),()=>A(k),f+1)});throw k}).then(k=>w!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(w,k,D){const A=w.isConnected;let T=!1;(k.bu||(k.bu=[])).push(()=>T=!0);const b=()=>{T||!w.parentNode||A&&!w.isConnected||D()},m=r?()=>{const O=r(b,S=>Lc(w,S));O&&(k.bum||(k.bum=[])).push(O)}:b;u?m():y().then(()=>!k.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const w=Be;if(Cr(w),u)return()=>Fo(u,w);const k=O=>{c=null,Wn(O,w,13,!o)};if(a&&w.suspense||$n)return y().then(O=>()=>Fo(O,w)).catch(O=>(k(O),()=>o?ke(o,{error:O}):null));const D=le(!1),A=le(),T=le(!!s);let b,m;return Mo(()=>{b!=null&&clearTimeout(b),m!=null&&clearTimeout(m)}),s&&(m=setTimeout(()=>{w.isUnmounted||(T.value=!1)},s)),i!=null&&(b=setTimeout(()=>{if(!w.isUnmounted&&!D.value&&!A.value){const O=new Error(`Async component timed out after ${i}ms.`);k(O),A.value=O}},i)),y().then(()=>{w.isUnmounted||(D.value=!0,w.parent&&xo(w.parent.vnode)&&w.parent.update())}).catch(O=>{if(w.isUnmounted){c=null;return}k(O),A.value=O}),()=>{if(D.value&&u)return Fo(u,w);if(A.value&&o)return ke(o,{error:A.value});if(n&&!T.value)return Fo(n,w)}}})}function Fo(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 xo=e=>e.type.__isKeepAlive;function Ic(e,t){ri(e,"a",t)}function Fc(e,t){ri(e,"da",t)}function ri(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(Po(t,o,n),n){let s=n.parent;for(;s&&s.parent;)xo(s.parent.vnode)&&xc(o,t,n,s),s=s.parent}}function xc(e,t,n,o){const s=Po(t,e,o,!0);Mo(()=>{sr(o[t],s)},n)}function Po(e,t,n=Be,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{ht();const a=Jn(n),l=it(t,n,e,i);return a(),gt(),l});return o?s.unshift(r):s.push(r),r}}const It=e=>(t,n=Be)=>{(!$n||e==="sp")&&Po(e,(...o)=>t(...o),n)},si=It("bm"),Yt=It("m"),Pc=It("bu"),Mc=It("u"),wn=It("bum"),Mo=It("um"),Dc=It("sp"),Bc=It("rtg"),Rc=It("rtc");function Wc(e,t=Be){Po("ec",e,t)}const Uc="components",ii=Symbol.for("v-ndc");function ai(e){return we(e)?jc(Uc,e,!1)||e:e||ii}function jc(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===ho(xe(t))))return r}const i=li(s[e]||r[e],t)||li(s.appContext[e],t);return!i&&o?r:i}}function li(e,t){return e&&(e[t]||e[xe(t)]||e[ho(xe(t))])}function at(e,t,n,o){let s;const r=n,i=te(e);if(i||we(e)){const a=i&&Tt(e);let l=!1,c=!1;a&&(l=!Xe(e),c=Lt(e),e=bo(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(),tt(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&&ui(i(n)),u=n.key||r||c&&c.key;l=tt(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--)Mr();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function ui(e){return e.some(t=>zn(t)?!(t.type===vt||t.type===de&&!ui(t.children)):!0)?e:null}const Ar=e=>e?Ri(e)?Go(e):Ar(e.parent):null,Yn=Ce(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=>Ar(e.parent),$root:e=>Ar(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>hi(e),$forceUpdate:e=>e.f||(e.f=()=>{kr(e.update)}),$nextTick:e=>e.n||(e.n=To.bind(e.proxy)),$watch:e=>Ac.bind(e)}),Er=(e,t)=>e!==_e&&!e.__isScriptSetup&&he(e,t),Gc={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(Er(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];Tr&&(i[t]=0)}}const c=Yn[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 Er(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)||Er(t,a)||he(r,a)||he(o,a)||he(Yn,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 pi(e){return te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Tr=!0;function Yc(e){const t=hi(e),n=e.proxy,o=e.ctx;Tr=!1,t.beforeCreate&&di(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:y,updated:w,activated:k,deactivated:D,beforeDestroy:A,beforeUnmount:T,destroyed:b,unmounted:m,render:O,renderTracked:S,renderTriggered:C,errorCaptured:E,serverPrefetch:L,expose:z,inheritAttrs:j,components:V,directives:Z,filters:ue}=t;if(c&&Vc(c,o,null),i)for(const X in i){const ae=i[X];oe(ae)&&(o[X]=ae.bind(n))}if(s){const X=s.call(n,n);ge(X)&&(e.data=ko(X))}if(Tr=!0,r)for(const X in r){const ae=r[X],Ee=oe(ae)?ae.bind(n,n):oe(ae.get)?ae.get.bind(n,n):dt,Nt=!oe(ae)&&oe(ae.set)?ae.set.bind(n):dt,Fe=se({get:Ee,set:Nt});Object.defineProperty(o,X,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:Me=>Fe.value=Me})}if(a)for(const X in a)fi(a[X],o,n,X);if(l){const X=oe(l)?l.call(n):l;Reflect.ownKeys(X).forEach(ae=>{bt(ae,X[ae])})}u&&di(u,e,"c");function W(X,ae){te(ae)?ae.forEach(Ee=>X(Ee.bind(n))):ae&&X(ae.bind(n))}if(W(si,f),W(Yt,h),W(Pc,y),W(Mc,w),W(Ic,k),W(Fc,D),W(Wc,E),W(Rc,S),W(Bc,C),W(wn,T),W(Mo,m),W(Dc,L),te(z))if(z.length){const X=e.exposed||(e.exposed={});z.forEach(ae=>{Object.defineProperty(X,ae,{get:()=>n[ae],set:Ee=>n[ae]=Ee,enumerable:!0})})}else e.exposed||(e.exposed={});O&&e.render===dt&&(e.render=O),j!=null&&(e.inheritAttrs=j),V&&(e.components=V),Z&&(e.directives=Z),L&&Cr(e)}function Vc(e,t,n=dt){te(e)&&(e=Lr(e));for(const o in e){const s=e[o];let r;ge(s)?"default"in s?r=He(s.from||o,s.default,!0):r=He(s.from||o):r=He(s),Ne(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function di(e,t,n){it(te(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function fi(e,t,n,o){let s=o.includes(".")?Qs(n,o):()=>n[o];if(we(e)){const r=t[e];oe(r)&&yt(s,r)}else if(oe(e))yt(s,e.bind(n));else if(ge(e))if(te(e))e.forEach(r=>fi(r,t,n,o));else{const r=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(r)&&yt(s,r,e)}}function hi(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=>Do(l,c,i,!0)),Do(l,t,i)),ge(t)&&r.set(t,l),l}function Do(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&Do(e,r,n,!0),s&&s.forEach(i=>Do(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=Hc[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Hc={data:gi,props:mi,emits:mi,methods:Vn,computed:Vn,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:Vn,directives:Vn,watch:zc,provide:gi,inject:qc};function gi(e,t){return t?e?function(){return Ce(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function qc(e,t){return Vn(Lr(e),Lr(t))}function Lr(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[`${Qe(t)}Modifiers`];function Zc(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let s=n;const r=t.startsWith("update:"),i=r&&Jc(o,t.slice(7));i&&(i.trim&&(s=n.map(u=>we(u)?u.trim():u)),i.number&&(s=s.map(Fl)));let a,l=o[a=ir(t)]||o[a=ir(xe(t))];!l&&r&&(l=o[a=ir(Qe(t))]),l&&it(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,it(c,e,6,s)}}const Qc=new WeakMap;function bi(e,t,n=!1){const o=n?Qc: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=bi(c,t,!0);u&&(a=!0,Ce(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):Ce(i,r),ge(e)&&o.set(e,i),i)}function Bo(e,t){return!e||!ao(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),he(e,t[0].toLowerCase()+t.slice(1))||he(e,Qe(t))||he(e,t))}function i_(){}function yi(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:y,ctx:w,inheritAttrs:k}=e,D=Lo(e);let A,T;try{if(n.shapeFlag&4){const m=s||o,O=m;A=wt(c.call(O,m,u,f,y,h,w)),T=a}else{const m=t;A=wt(m.length>1?m(f,{attrs:a,slots:i,emit:l}):m(f,null)),T=t.props?a:eu(a)}}catch(m){Ft.length=0,Wn(m,e,1),A=ke(vt)}let b=A;if(T&&k!==!1){const m=Object.keys(T),{shapeFlag:O}=b;m.length&&O&7&&(r&&m.some(lo)&&(T=tu(T,r)),b=kn(b,T,!1,!0))}if(n.dirs&&(b=kn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition){const m=So(b.type)&&ei(b)||b;Nr(m,n.transition)}return A=b,Lo(D),A}const eu=e=>{let t;for(const n in e)(n==="class"||n==="style"||ao(n))&&((t||(t={}))[n]=e[n]);return t},tu=(e,t)=>{const n={};for(const o in e)(!lo(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function nu(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?vi(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(ki),Oi=e=>Object.getPrototypeOf(e)===ki;function ru(e,t,n,o=!1){const s={},r=$i();e.propsDefaults=Object.create(null),Ni(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:sc(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function su(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,y]=Ci(f,t,!0);Ce(i,h),y&&a.push(...y)};!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,fn),fn;if(te(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Fr=e=>te(e)?e.map(wt):[wt(e)],au=(e,t,n)=>{if(t._n)return t;const o=rn((...s)=>Fr(t(...s)),n);return o._c=!1,o},Ei=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Ir(s))continue;const r=e[s];if(oe(r))t[s]=au(s,r,o);else if(r!=null){const i=Fr(r);t[s]=()=>i}}},Ti=(e,t)=>{const n=Fr(t);e.slots.default=()=>n},Li=(e,t,n)=>{for(const o in t)(n||!Ir(o))&&(e[o]=t[o])},lu=(e,t,n)=>{const o=e.slots=$i();if(e.vnode.shapeFlag&32){const s=t._;s?(Li(o,t,n),n&&_s(o,"_",s,!0)):Ei(t,o)}else t&&Ti(e,t)},cu=(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:Li(s,t,n):(r=!t.$stable,Ei(t,s)),i=t}else t&&(Ti(e,t),i={default:1});if(r)for(const a in s)!Ir(a)&&i[a]==null&&delete s[a]},qe=hu;function uu(e){return pu(e)}function pu(e,t){const n=go();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:y=dt,insertStaticContent:w}=e,k=(g,v,_,I=null,B=null,M=null,G=void 0,U=null,p=!!v.dynamicChildren)=>{if(g===v)return;g&&!Kn(g,v)&&(I=Wt(g),Me(g,B,M,!0),g=null),v.patchFlag===-2&&(p=!1,v.dynamicChildren=null);const{type:d,ref:N,shapeFlag:F}=v;switch(d){case Hn:D(g,v,_,I);break;case vt:A(g,v,_,I);break;case Pr:g==null&&T(v,_,I,G);break;case de:V(g,v,_,I,B,M,G,U,p);break;default:F&1?O(g,v,_,I,B,M,G,U,p):F&6?Z(g,v,_,I,B,M,G,U,p):(F&64||F&128)&&d.process(g,v,_,I,B,M,G,U,p,ot)}N!=null&&B?Gn(N,g&&g.ref,M,v||g,!v):N==null&&g&&g.ref!=null&&Gn(g.ref,null,M,g,!0)},D=(g,v,_,I)=>{if(g==null)o(v.el=a(v.children),_,I);else{const B=v.el=g.el;v.children!==g.children&&c(B,v.children)}},A=(g,v,_,I)=>{g==null?o(v.el=l(v.children||""),_,I):v.el=g.el},T=(g,v,_,I)=>{[g.el,g.anchor]=w(g.children,v,_,I,g.el,g.anchor)},b=({el:g,anchor:v},_,I)=>{let B;for(;g&&g!==v;)B=h(g),o(g,_,I),g=B;o(v,_,I)},m=({el:g,anchor:v})=>{let _;for(;g&&g!==v;)_=h(g),s(g),g=_;s(v)},O=(g,v,_,I,B,M,G,U,p)=>{if(v.type==="svg"?G="svg":v.type==="math"&&(G="mathml"),g==null)S(v,_,I,B,M,G,U,p);else{const d=g.el&&g.el._isVueCE?g.el:null;try{d&&d._beginPatch(),L(g,v,B,M,G,U,p)}finally{d&&d._endPatch()}}},S=(g,v,_,I,B,M,G,U)=>{let p,d;const{props:N,shapeFlag:F,transition:Y,dirs:R}=g;if(p=g.el=i(g.type,M,N&&N.is,N),F&8?u(p,g.children):F&16&&E(g.children,p,null,I,B,xr(g,M),G,U),R&&sn(g,null,I,"created"),C(p,g,g.scopeId,G,I),N){for(const x in N)x!=="value"&&!In(x)&&r(p,x,null,N[x],M,I);"value"in N&&r(p,"value",null,N.value,M),(d=N.onVnodeBeforeMount)&&kt(d,I,g)}R&&sn(g,null,I,"beforeMount");const $=du(B,Y);$&&Y.beforeEnter(p),o(p,v,_),((d=N&&N.onVnodeMounted)||$||R)&&qe(()=>{try{d&&kt(d,I,g),$&&Y.enter(p),R&&sn(g,null,I,"mounted")}finally{}},B)},C=(g,v,_,I,B)=>{if(_&&y(g,_),I)for(let M=0;M{for(let d=p;d{const U=v.el=g.el;let{patchFlag:p,dynamicChildren:d,dirs:N}=v;p|=g.patchFlag&16;const F=g.props||_e,Y=v.props||_e;let R;if(_&&ln(_,!1),(R=Y.onVnodeBeforeUpdate)&&kt(R,_,v,g),N&&sn(v,g,_,"beforeUpdate"),_&&ln(_,!0),d&&(!g.dynamicChildren||g.dynamicChildren.length!==d.length)&&(p=0,G=!1,d=null),(F.innerHTML&&Y.innerHTML==null||F.textContent&&Y.textContent==null)&&u(U,""),d?z(g.dynamicChildren,d,U,_,I,xr(v,B),M):G||ae(g,v,U,null,_,I,xr(v,B),M,!1),p>0){if(p&16)j(U,F,Y,_,B);else if(p&2&&F.class!==Y.class&&r(U,"class",null,Y.class,B),p&4&&r(U,"style",F.style,Y.style,B),p&8){const $=v.dynamicProps;for(let x=0;x<$.length;x++){const Q=$[x],ie=F[Q],ve=Y[Q];(ve!==ie||Q==="value")&&r(U,Q,ie,ve,B,_)}}p&1&&g.children!==v.children&&u(U,v.children)}else!G&&d==null&&j(U,F,Y,_,B);((R=Y.onVnodeUpdated)||N)&&qe(()=>{R&&kt(R,_,v,g),N&&sn(v,g,_,"updated")},I)},z=(g,v,_,I,B,M,G)=>{for(let U=0;U{if(v!==_){if(v!==_e)for(const M in v)!In(M)&&!(M in _)&&r(g,M,v[M],null,B,I);for(const M in _){if(In(M))continue;const G=_[M],U=v[M];G!==U&&M!=="value"&&r(g,M,U,G,B,I)}"value"in _&&r(g,"value",v.value,_.value,B)}},V=(g,v,_,I,B,M,G,U,p)=>{const d=v.el=g?g.el:a(""),N=v.anchor=g?g.anchor:a("");let{patchFlag:F,dynamicChildren:Y,slotScopeIds:R}=v;R&&(U=U?U.concat(R):R),g==null?(o(d,_,I),o(N,_,I),E(v.children||[],_,N,B,M,G,U,p)):F>0&&F&64&&Y&&g.dynamicChildren&&g.dynamicChildren.length===Y.length?(z(g.dynamicChildren,Y,_,B,M,G,U),(v.key!=null||B&&v===B.subTree)&&Si(g,v,!0)):ae(g,v,_,N,B,M,G,U,p)},Z=(g,v,_,I,B,M,G,U,p)=>{v.slotScopeIds=U,g==null?v.shapeFlag&512?B.ctx.activate(v,_,I,G,p):ue(v,_,I,B,M,G,p):K(g,v,p)},ue=(g,v,_,I,B,M,G)=>{const U=g.component=vu(g,I,B);if(xo(g)&&(U.ctx.renderer=ot),wu(U,!1,G),U.asyncDep){if(B&&B.registerDep(U,W,G),!g.el){const p=U.subTree=ke(vt);A(null,p,v,_),g.placeholder=p.el}}else W(U,g,v,_,B,M,G)},K=(g,v,_)=>{const I=v.component=g.component;if(nu(g,v,_))if(I.asyncDep&&!I.asyncResolved){X(I,v,_);return}else I.next=v,I.update();else v.el=g.el,I.vnode=v},W=(g,v,_,I,B,M,G)=>{const U=()=>{if(g.isMounted){let{next:F,bu:Y,u:R,parent:$,vnode:x}=g;{const We=Ii(g);if(We){F&&(F.el=x.el,X(g,F,G)),We.asyncDep.then(()=>{qe(()=>{g.isUnmounted||d()},B)});return}}let Q=F,ie;ln(g,!1),F?(F.el=x.el,X(g,F,G)):F=x,Y&&ar(Y),(ie=F.props&&F.props.onVnodeBeforeUpdate)&&kt(ie,$,F,x),ln(g,!0);const ve=yi(g),Ve=g.subTree;g.subTree=ve,k(Ve,ve,f(Ve.el),Wt(Ve),g,B,M),F.el=ve.el,Q===null&&ou(g,ve.el),R&&qe(R,B),(ie=F.props&&F.props.onVnodeUpdated)&&qe(()=>kt(ie,$,F,x),B)}else{let F;const{el:Y,props:R}=v,{bm:$,m:x,parent:Q,root:ie,type:ve}=g,Ve=vn(v);ln(g,!1),$&&ar($),!Ve&&(F=R&&R.onVnodeBeforeMount)&&kt(F,Q,v),ln(g,!0);{ie.ce&&ie.ce._hasShadowRoot()&&ie.ce._injectChildStyle(ve,g.parent?g.parent.type:void 0);const We=g.subTree=yi(g);k(null,We,_,I,g,B,M),v.el=We.el}if(x&&qe(x,B),!Ve&&(F=R&&R.onVnodeMounted)){const We=v;qe(()=>kt(F,Q,We),B)}(v.shapeFlag&256||Q&&vn(Q.vnode)&&Q.vnode.shapeFlag&256)&&g.a&&qe(g.a,B),g.isMounted=!0,v=_=I=null}};g.scope.on();const p=g.effect=new Cs(U);g.scope.off();const d=g.update=p.run.bind(p),N=g.job=p.runIfDirty.bind(p);N.i=g,N.id=g.uid,p.scheduler=()=>kr(N),ln(g,!0),d()},X=(g,v,_)=>{v.component=g;const I=g.vnode.props;g.vnode=v,g.next=null,su(g,v.props,I,_),cu(g,v.children,_),ht(),Ks(g),gt()},ae=(g,v,_,I,B,M,G,U,p=!1)=>{const d=g&&g.children,N=g?g.shapeFlag:0,F=v.children,{patchFlag:Y,shapeFlag:R}=v;if(Y>0){if(Y&128){Nt(d,F,_,I,B,M,G,U,p);return}else if(Y&256){Ee(d,F,_,I,B,M,G,U,p);return}}R&8?(N&16&&pt(d,B,M),F!==d&&u(_,F)):N&16?R&16?Nt(d,F,_,I,B,M,G,U,p):pt(d,B,M,!0):(N&8&&u(_,""),R&16&&E(F,_,I,B,M,G,U,p))},Ee=(g,v,_,I,B,M,G,U,p)=>{g=g||fn,v=v||fn;const d=g.length,N=v.length,F=Math.min(d,N);let Y;for(Y=0;YN?pt(g,B,M,!0,!1,F):E(v,_,I,B,M,G,U,p,F)},Nt=(g,v,_,I,B,M,G,U,p)=>{let d=0;const N=v.length;let F=g.length-1,Y=N-1;for(;d<=F&&d<=Y;){const R=g[d],$=v[d]=p?xt(v[d]):wt(v[d]);if(Kn(R,$))k(R,$,_,null,B,M,G,U,p);else break;d++}for(;d<=F&&d<=Y;){const R=g[F],$=v[Y]=p?xt(v[Y]):wt(v[Y]);if(Kn(R,$))k(R,$,_,null,B,M,G,U,p);else break;F--,Y--}if(d>F){if(d<=Y){const R=Y+1,$=RY)for(;d<=F;)Me(g[d],B,M,!0),d++;else{const R=d,$=d,x=new Map;for(d=$;d<=Y;d++){const Ze=v[d]=p?xt(v[d]):wt(v[d]);Ze.key!=null&&x.set(Ze.key,d)}let Q,ie=0;const ve=Y-$+1;let Ve=!1,We=0;const dn=new Array(ve);for(d=0;d=ve){Me(Ze,B,M,!0);continue}let Ct;if(Ze.key!=null)Ct=x.get(Ze.key);else for(Q=$;Q<=Y;Q++)if(dn[Q-$]===0&&Kn(Ze,v[Q])){Ct=Q;break}Ct===void 0?Me(Ze,B,M,!0):(dn[Ct-$]=d+1,Ct>=We?We=Ct:Ve=!0,k(Ze,v[Ct],_,null,B,M,G,U,p),ie++)}const ds=Ve?fu(dn):fn;for(Q=ds.length-1,d=ve-1;d>=0;d--){const Ze=$+d,Ct=v[Ze],Al=v[Ze+1],El=Ze+1{const{el:M,type:G,transition:U,children:p,shapeFlag:d}=g;if(d&6){Fe(g.component.subTree,v,_,I);return}if(d&128){g.suspense.move(v,_,I);return}if(d&64){G.move(g,v,_,ot);return}if(G===de){o(M,v,_);for(let F=0;FU.enter(M),B));else{const{leave:F,delayLeave:Y,afterLeave:R}=U,$=()=>{g.ctx.isUnmounted?s(M):o(M,v,_)},x=()=>{const Q=M._isLeaving||!!M[Or];M._isLeaving&&M[Or](!0),U.persisted&&!Q?$():F(M,()=>{$(),R&&R()})};Y?Y(M,$,x):x()}else o(M,v,_)},Me=(g,v,_,I=!1,B=!1)=>{const{type:M,props:G,ref:U,children:p,dynamicChildren:d,shapeFlag:N,patchFlag:F,dirs:Y,cacheIndex:R,memo:$}=g;if(F===-2&&(B=!1),U!=null&&(ht(),Gn(U,null,_,g,!0),gt()),R!=null&&(v.renderCache[R]=void 0),N&256){v.ctx.deactivate(g);return}const x=N&1&&Y,Q=!vn(g);let ie;if(Q&&(ie=G&&G.onVnodeBeforeUnmount)&&kt(ie,v,g),N&6)pn(g.component,_,I);else{if(N&128){g.suspense.unmount(_,I);return}x&&sn(g,null,v,"beforeUnmount"),N&64?g.type.remove(g,v,_,ot,I):d&&!d.hasOnce&&(M!==de||F>0&&F&64)?pt(d,v,_,!1,!0):(M===de&&F&384||!B&&N&16)&&pt(p,v,_),I&&Qt(g)}const ve=$!=null&&R==null;(Q&&(ie=G&&G.onVnodeUnmounted)||x||ve)&&qe(()=>{ie&&kt(ie,v,g),x&&sn(g,null,v,"unmounted"),ve&&(g.el=null)},_)},Qt=g=>{const{type:v,el:_,anchor:I,transition:B}=g;if(v===de){en(_,I);return}if(v===Pr){m(g);return}const M=()=>{s(_),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:G,delayLeave:U}=B,p=()=>G(_,M);U?U(g.el,M,p):p()}else M()},en=(g,v)=>{let _;for(;g!==v;)_=h(g),s(g),g=_;s(v)},pn=(g,v,_)=>{const{bum:I,scope:B,job:M,subTree:G,um:U,m:p,a:d}=g;Fi(p),Fi(d),I&&ar(I),B.stop(),M&&(M.flags|=8,Me(G,g,v,_)),U&&qe(U,v),qe(()=>{g.isUnmounted=!0},v)},pt=(g,v,_,I=!1,B=!1,M=0)=>{for(let G=M;G{if(g.shapeFlag&6)return Wt(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const v=h(g.anchor||g.el),_=v&&v[Ec];return _?h(_):v};let Ut=!1;const tn=(g,v,_)=>{let I;g==null?v._vnode&&(Me(v._vnode,null,null,!0),I=v._vnode.component):k(v._vnode||null,g,v,null,null,null,_),v._vnode=g,Ut||(Ut=!0,Ks(I),Xs(),Ut=!1)},ot={p:k,um:Me,m:Fe,r:Qt,mt:ue,mc:E,pc:ae,pbc:z,n:Wt,o:e};return{render:tn,hydrate:void 0,createApp:Xc(tn)}}function xr({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 ln({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function du(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Si(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 Ii(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ii(t)}function Fi(e){if(e)for(let t=0;te.__isSuspense;function hu(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):wc(e)}const de=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),Pr=Symbol.for("v-stc"),Ft=[];let Je=null;function q(e=!1){Ft.push(Je=e?null:[])}function Mr(){Ft.pop(),Je=Ft[Ft.length-1]||null}let qn=1;function Ro(e,t=!1){qn+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Mi(e){return e.dynamicChildren=qn>0?Je||fn:null,Mr(),qn>0&&Je&&Je.push(e),e}function J(e,t,n,o,s,r){return Mi(P(e,t,n,o,s,r,!0))}function tt(e,t,n,o,s){return Mi(ke(e,t,n,o,s,!0))}function zn(e){return e?e.__v_isVNode===!0:!1}function Kn(e,t){return e.type===t.type&&e.key===t.key}const Di=({key:e})=>e??null,Wo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||Ne(e)||oe(e)?{i:De,r:e,k:t,f:!!n}:e:null);function P(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&&Di(t),ref:t&&Wo(t),scopeId:Zs,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?(Uo(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),qn>0&&!i&&Je&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Je.push(l),l}const ke=gu;function gu(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===ii)&&(e=vt),zn(e)){const a=kn(e,t,!0);return n&&Uo(a,n),qn>0&&!r&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(Au(e)&&(e=e.__vccOpts),t){t=mu(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=Le(a)),ge(l)&&(Oo(l)&&!te(l)&&(l=Ce({},l)),t.style=Fn(l))}const i=we(e)?1:Pi(e)?128:So(e)?64:ge(e)?4:oe(e)?2:0;return P(e,t,n,o,s,i,r,!0)}function mu(e){return e?Oo(e)||Oi(e)?Ce({},e):e:null}function kn(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,c=t?_u(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Di(c),ref:t&&t.ref?n&&r?te(r)?r.concat(Wo(t)):[r,Wo(t)]:Wo(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&&kn(e.ssContent),ssFallback:e.ssFallback&&kn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Nr(u,l.clone(u)),u}function $e(e=" ",t=0){return ke(Hn,null,e,t)}function Te(e="",t=!1){return t?(q(),tt(vt,null,e)):ke(vt,null,e)}function wt(e){return e==null||typeof e=="boolean"?ke(vt):te(e)?ke(de,null,e.slice()):zn(e)?xt(e):ke(Hn,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kn(e)}function Uo(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),Uo(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Oi(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Uo(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 _u(...e){const t={};for(let n=0;nBe||De;let jo,Xn;{const e=go(),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)}};jo=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),Xn=t("__VUE_SSR_SETTERS__",n=>$n=n)}const Jn=e=>{const t=Be;return jo(e),e.scope.on(),()=>{e.scope.off(),jo(t)}},Bi=()=>{Be&&Be.scope.off(),jo(null)};function Ri(e){return e.vnode.shapeFlag&4}let $n=!1;function wu(e,t=!1,n=!1){t&&Xn(t);const{props:o,children:s}=e.vnode,r=Ri(e);ru(e,o,r,t),lu(e,s,n||t);const i=r?ku(e,t):void 0;return t&&Xn(!1),i}function ku(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Gc);const{setup:o}=n;if(o){ht();const s=e.setupContext=o.length>1?Ou(e):null,r=Jn(e),i=_n(o,e,0,[e.props,s]),a=gs(i);if(gt(),r(),(a||e.sp)&&!vn(e)&&Cr(e),a){if(i.then(Bi,Bi),t)return i.then(l=>{Xn(!0);try{Wi(e,l,t)}finally{Xn(!1)}}).catch(l=>{Wn(l,e,0)});e.asyncDep=i}else Wi(e,i)}else Ui(e)}function Wi(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ge(t)&&(e.setupState=Vs(t)),Ui(e)}function Ui(e,t,n){const o=e.type;e.render||(e.render=o.render||dt);{const s=Jn(e);ht();try{Yc(e)}finally{gt(),s()}}}const $u={get(e,t){return Ue(e,"get",""),e[t]}};function Ou(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,$u),slots:e.slots,emit:e.emit,expose:t}}function Go(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Vs(gn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Yn)return Yn[n](e)},has(t,n){return n in t||n in Yn}})):e.proxy}const Nu=/(?:^|[-_])\w/g,Cu=e=>e.replace(Nu,t=>t.toUpperCase()).replace(/[-_]/g,"");function ji(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function Gi(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?Cu(o):n?"App":"Anonymous"}function Au(e){return oe(e)&&"__vccOpts"in e}const se=(e,t)=>dc(e,t,$n);function Yi(e,t,n){try{Ro(-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{Ro(1)}}const Eu="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Dr;const Vi=typeof window<"u"&&window.trustedTypes;if(Vi)try{Dr=Vi.createPolicy("vue",{createHTML:e=>e})}catch{}const Hi=Dr?e=>Dr.createHTML(e):e=>e,Tu="http://www.w3.org/2000/svg",Lu="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,qi=Mt&&Mt.createElement("template"),Su={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(Tu,e):t==="mathml"?Mt.createElementNS(Lu,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{qi.innerHTML=Hi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=qi.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]}},Iu=Symbol("_vtc");function Fu(e,t,n){const o=e[Iu];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Go=Symbol("_vod"),zi=Symbol("_vsh"),xu={name:"show",beforeMount(e,{value:t},{transition:n}){e[Go]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Jn(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),Jn(e,!0),o.enter(e)):o.leave(e,()=>{Jn(e,!1)}):Jn(e,t))},beforeUnmount(e,{value:t}){Jn(e,t)}};function Jn(e,t){e.style.display=t?e[Go]:"none",e[zi]=!t}const Pu=Symbol(""),Mu=/(?:^|;)\s*display\s*:/;function Du(e,t,n){const o=e.style,s=we(n);let r=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Zn(o,a,"")}else for(const i in t)n[i]==null&&Zn(o,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?Ru(e,i,!we(t)&&t?t[i]:void 0,a)||Zn(o,i,a):Zn(o,i,"")}}else if(s){if(t!==n){const i=o[Pu];i&&(n+=";"+i),o.cssText=n,r=Mu.test(n)}}else t&&e.removeAttribute("style");Go in e&&(e[Go]=r?o.display:"",e[zi]&&(o.display="none"))}const Yo=/\s*!important$/;function Zn(e,t,n){if(Q(n))n.forEach(o=>Zn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Yo.test(n)?e.setProperty(t,n.replace(Yo,""),"important"):e.setProperty(t,n);else{const o=Bu(e,t);Yo.test(n)?e.setProperty(Qe(o),n.replace(Yo,""),"important"):e[o]=n}}const Ki=["Webkit","Moz","ms"],Br={};function Bu(e,t){const n=Br[t];if(n)return n;let o=xe(t);if(o!=="filter"&&o in e)return Br[t]=o;o=fo(o);for(let s=0;sRr||(Hu.then(()=>Rr=0),Rr=Date.now());function zu(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(Q(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,Ku=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Fu(e,o,i):t==="style"?Du(e,n,o):io(t)?ao(t)||ju(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xu(e,t,o,i))?(Zi(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ji(e,t,o,i,r,t!=="value")):e._isVueCE&&(Ju(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(o)))?Zi(e,xe(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ji(e,t,o,i))};function Xu(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&ea(t)&&ne(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 ea(t)&&we(n)?!1:t in e}function Ju(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 ta={};function Zu(e,t,n){let o=Un(e,t);co(o)&&(o=Ce({},o,t));class s extends Wr{constructor(i){super(o,i,n)}}return s.def=o,s}const Qu=typeof HTMLElement<"u"?HTMLElement:class{};class Wr extends Qu{constructor(t,n={},o=ra){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!==ra?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ce({},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 Wr){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,wr(()=>{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&&!Q(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=bs(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)fe(this,o)||Object.defineProperty(this,o,{get:()=>et(n[o])})}_resolveProps(t){const{props:n}=t,o=Q(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):ta;const s=xe(t);n&&this._numberProps&&this._numberProps[s]&&(o=bs(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===ta?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(Qe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Qe(t),n+""):n||this.removeAttribute(Qe(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ke(this._def,Ce(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,co(i[0])?Ce({detail:i},i[0]):{detail:i}))};o.emit=(r,...i)=>{s(r,i),Qe(r)!==r&&s(Qe(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)=>ep.some(n=>e[`${n}Key`]&&!t.includes(n))},np=(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{oa().render(...e)},ra=(...e)=>{const t=oa().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=ip(o);if(!s)return;const r=t._component;!ne(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,sp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function sp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ip(e){return we(e)?document.querySelector(e):e}/*! +**/let Dr;const Vi=typeof window<"u"&&window.trustedTypes;if(Vi)try{Dr=Vi.createPolicy("vue",{createHTML:e=>e})}catch{}const Hi=Dr?e=>Dr.createHTML(e):e=>e,Tu="http://www.w3.org/2000/svg",Lu="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,qi=Mt&&Mt.createElement("template"),Su={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(Tu,e):t==="mathml"?Mt.createElementNS(Lu,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{qi.innerHTML=Hi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=qi.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]}},Iu=Symbol("_vtc");function Fu(e,t,n){const o=e[Iu];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Yo=Symbol("_vod"),zi=Symbol("_vsh"),xu={name:"show",beforeMount(e,{value:t},{transition:n}){e[Yo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Zn(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),Zn(e,!0),o.enter(e)):o.leave(e,()=>{Zn(e,!1)}):Zn(e,t))},beforeUnmount(e,{value:t}){Zn(e,t)}};function Zn(e,t){e.style.display=t?e[Yo]:"none",e[zi]=!t}const Pu=Symbol(""),Mu=/(?:^|;)\s*display\s*:/;function Du(e,t,n){const o=e.style,s=we(n);let r=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Qn(o,a,"")}else for(const i in t)n[i]==null&&Qn(o,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?Ru(e,i,!we(t)&&t?t[i]:void 0,a)||Qn(o,i,a):Qn(o,i,"")}}else if(s){if(t!==n){const i=o[Pu];i&&(n+=";"+i),o.cssText=n,r=Mu.test(n)}}else t&&e.removeAttribute("style");Yo in e&&(e[Yo]=r?o.display:"",e[zi]&&(o.display="none"))}const Vo=/\s*!important$/;function Qn(e,t,n){if(te(n))n.forEach(o=>Qn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Vo.test(n)?e.setProperty(t,n.replace(Vo,""),"important"):e.setProperty(t,n);else{const o=Bu(e,t);Vo.test(n)?e.setProperty(Qe(o),n.replace(Vo,""),"important"):e[o]=n}}const Ki=["Webkit","Moz","ms"],Br={};function Bu(e,t){const n=Br[t];if(n)return n;let o=xe(t);if(o!=="filter"&&o in e)return Br[t]=o;o=ho(o);for(let s=0;sRr||(Hu.then(()=>Rr=0),Rr=Date.now());function zu(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,Ku=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Fu(e,o,i):t==="style"?Du(e,n,o):ao(t)?lo(t)||ju(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xu(e,t,o,i))?(Zi(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ji(e,t,o,i,r,t!=="value")):e._isVueCE&&(Ju(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(o)))?Zi(e,xe(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ji(e,t,o,i))};function Xu(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&ea(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 ea(t)&&we(n)?!1:t in e}function Ju(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 ta={};function Zu(e,t,n){let o=jn(e,t);uo(o)&&(o=Ce({},o,t));class s extends Wr{constructor(i){super(o,i,n)}}return s.def=o,s}const Qu=typeof HTMLElement<"u"?HTMLElement:class{};class Wr extends Qu{constructor(t,n={},o=ra){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!==ra?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ce({},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 Wr){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,To(()=>{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]=bs(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:()=>et(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):ta;const s=xe(t);n&&this._numberProps&&this._numberProps[s]&&(o=bs(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===ta?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(Qe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Qe(t),n+""):n||this.removeAttribute(Qe(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ke(this._def,Ce(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,uo(i[0])?Ce({detail:i},i[0]):{detail:i}))};o.emit=(r,...i)=>{s(r,i),Qe(r)!==r&&s(Qe(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)=>ep.some(n=>e[`${n}Key`]&&!t.includes(n))},np=(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{oa().render(...e)},ra=(...e)=>{const t=oa().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=ip(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,sp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function sp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ip(e){return we(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let sa;const Vo=e=>sa=e,ia=Symbol();function Ur(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Qn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Qn||(Qn={}));function ap(){const e=lr(!0),t=e.run(()=>ce({}));let n=[],o=[];const s=gn({install(r){Vo(s),s._a=r,r.provide(ia,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 aa=()=>{};function la(e,t,n,o=aa){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&Ns()&&Wl(s),s}function On(e,...t){e.slice().forEach(n=>{n(...t)})}const lp=e=>e(),ca=Symbol(),jr=Symbol();function Gr(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];Ur(s)&&Ur(o)&&e.hasOwnProperty(n)&&!Ne(o)&&!Et(o)?e[n]=Gr(s,o):e[n]=o}return e}const cp=Symbol();function up(e){return!Ur(e)||!e.hasOwnProperty(cp)}const{assign:Vt}=Object;function pp(e){return!!(Ne(e)&&e.effect)}function dp(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=lc(n.state.value[e]);return Vt(u,r,Object.keys(i||{}).reduce((f,g)=>(f[g]=gn(re(()=>{Vo(n);const y=n._s.get(e);return i[g].call(y,y)})),f),{}))}return l=ua(e,c,t,n,o,!0),l}function ua(e,t,n={},o,s,r){let i;const a=Vt({actions:{}},n),l={deep:!0};let c,u,f=[],g=[],y;const k=o.state.value[e];!r&&!k&&(o.state.value[e]={});let $;function D(w){let T;c=u=!1,typeof w=="function"?(w(o.state.value[e]),T={type:Qn.patchFunction,storeId:e,events:y}):(Gr(o.state.value[e],w),T={type:Qn.patchObject,payload:w,storeId:e,events:y});const H=$=Symbol();wr().then(()=>{$===H&&(c=!0)}),u=!0,On(f,T,o.state.value[e])}const E=r?function(){const{state:T}=n,H=T?T():{};this.$patch(te=>{Vt(te,H)})}:aa;function L(){i.stop(),f=[],g=[],o._s.delete(e)}const b=(w,T="")=>{if(ca in w)return w[jr]=T,w;const H=function(){Vo(o);const te=Array.from(arguments),q=[],ie=[];function _e(z){q.push(z)}function X(z){ie.push(z)}On(g,{args:te,name:H[jr],store:C,after:_e,onError:X});let W;try{W=w.apply(this&&this.$id===e?this:C,te)}catch(z){throw On(ie,z),z}return W instanceof Promise?W.then(z=>(On(q,z),z)).catch(z=>(On(ie,z),Promise.reject(z))):(On(q,W),W)};return H[ca]=!0,H[jr]=T,H},m={_p:o,$id:e,$onAction:la.bind(null,g),$patch:D,$reset:E,$subscribe(w,T={}){const H=la(f,w,T.detached,()=>te()),te=i.run(()=>St(()=>o.state.value[e],q=>{(T.flush==="sync"?u:c)&&w({storeId:e,type:Qn.direct,events:y},q)},Vt({},l,T)));return H},$dispose:L},C=ko(m);o._s.set(e,C);const O=(o._a&&o._a.runWithContext||lp)(()=>o._e.run(()=>(i=lr()).run(()=>t({action:b}))));for(const w in O){const T=O[w];if(Ne(T)&&!pp(T)||Et(T))r||(k&&up(T)&&(Ne(T)?T.value=k[w]:Gr(T,k[w])),o.state.value[e][w]=T);else if(typeof T=="function"){const H=b(T,w);O[w]=H,a.actions[w]=T}}return Vt(C,O),Vt(ue(C),O),Object.defineProperty(C,"$state",{get:()=>o.state.value[e],set:w=>{D(T=>{Vt(T,w)})}}),o._p.forEach(w=>{Vt(C,i.run(()=>w({store:C,app:o._a,pinia:o,options:a})))}),k&&r&&n.hydrate&&n.hydrate(C.$state,k),c=!0,u=!0,C}/*! #__NO_SIDE_EFFECTS__ */function Yr(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=$c();return a=a||(c?He(ia,null):null),a&&Vo(a),a=sa,a._s.has(o)||(r?ua(o,t,s,a):dp(o,s,a)),a._s.get(o)}return i.$id=o,i}const fp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},mp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},bp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},yp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},vp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Op={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Np={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Cp={menuComingSoon:"Menü folgt in Kürze"},Ap={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Ep={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Tp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Lp={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"},Sp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"]},Fp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},xp={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"}},Pp={menuComingSoon:"Menu coming soon"},Mp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Bp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Rp={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Wp={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Up={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},jp={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"},Gp={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."}},Yp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Vp={menuComingSoon:"Menú próximamente"},Hp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},qp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},zp={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Kp={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Xp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Jp={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"},Zp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Qp={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"}},ed={menuComingSoon:"Menu bientôt disponible"},td={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},nd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},od={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},rd={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"}},sd={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"},id={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ad={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},ld={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},cd={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:"कुल"}},ud={menuComingSoon:"मेनू शीघ्र आ रहा है"},pd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},dd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},fd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},gd={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"},md={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_d={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"}},bd={menuComingSoon:"Menu in arrivo"},yd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},vd={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wd={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kd={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$d={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"},Od={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."}},Nd={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"}},Cd={menuComingSoon:"Menu em breve"},Ad={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Ed={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Td={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"}},Ld={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"},Sd={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Id={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ă"},Fd={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ă."}},xd={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"}},Pd={menuComingSoon:"Meniu în curând"},Md={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dd={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Bd={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Rd={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Wd={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Ud={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},jd={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:"Языки"}},Gd={menuComingSoon:"Меню скоро появится"},Yd={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vd={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Hd={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},qd={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},zd={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Kd={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Xd={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Jd={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:"总计"}},Zd={menuComingSoon:"菜单即将推出"},Qd={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ef={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},tf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let sa;const Ho=e=>sa=e,ia=Symbol();function Ur(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var eo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(eo||(eo={}));function ap(){const e=cr(!0),t=e.run(()=>le({}));let n=[],o=[];const s=gn({install(r){Ho(s),s._a=r,r.provide(ia,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 aa=()=>{};function la(e,t,n,o=aa){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&Ns()&&Wl(s),s}function On(e,...t){e.slice().forEach(n=>{n(...t)})}const lp=e=>e(),ca=Symbol(),jr=Symbol();function Gr(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];Ur(s)&&Ur(o)&&e.hasOwnProperty(n)&&!Ne(o)&&!Tt(o)?e[n]=Gr(s,o):e[n]=o}return e}const cp=Symbol();function up(e){return!Ur(e)||!e.hasOwnProperty(cp)}const{assign:Vt}=Object;function pp(e){return!!(Ne(e)&&e.effect)}function dp(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=lc(n.state.value[e]);return Vt(u,r,Object.keys(i||{}).reduce((f,h)=>(f[h]=gn(se(()=>{Ho(n);const y=n._s.get(e);return i[h].call(y,y)})),f),{}))}return l=ua(e,c,t,n,o,!0),l}function ua(e,t,n={},o,s,r){let i;const a=Vt({actions:{}},n),l={deep:!0};let c,u,f=[],h=[],y;const w=o.state.value[e];!r&&!w&&(o.state.value[e]={});let k;function D(E){let L;c=u=!1,typeof E=="function"?(E(o.state.value[e]),L={type:eo.patchFunction,storeId:e,events:y}):(Gr(o.state.value[e],E),L={type:eo.patchObject,payload:E,storeId:e,events:y});const z=k=Symbol();To().then(()=>{k===z&&(c=!0)}),u=!0,On(f,L,o.state.value[e])}const A=r?function(){const{state:L}=n,z=L?L():{};this.$patch(j=>{Vt(j,z)})}:aa;function T(){i.stop(),f=[],h=[],o._s.delete(e)}const b=(E,L="")=>{if(ca in E)return E[jr]=L,E;const z=function(){Ho(o);const j=Array.from(arguments),V=[],Z=[];function ue(X){V.push(X)}function K(X){Z.push(X)}On(h,{args:j,name:z[jr],store:O,after:ue,onError:K});let W;try{W=E.apply(this&&this.$id===e?this:O,j)}catch(X){throw On(Z,X),X}return W instanceof Promise?W.then(X=>(On(V,X),X)).catch(X=>(On(Z,X),Promise.reject(X))):(On(V,W),W)};return z[ca]=!0,z[jr]=L,z},m={_p:o,$id:e,$onAction:la.bind(null,h),$patch:D,$reset:A,$subscribe(E,L={}){const z=la(f,E,L.detached,()=>j()),j=i.run(()=>yt(()=>o.state.value[e],V=>{(L.flush==="sync"?u:c)&&E({storeId:e,type:eo.direct,events:y},V)},Vt({},l,L)));return z},$dispose:T},O=ko(m);o._s.set(e,O);const C=(o._a&&o._a.runWithContext||lp)(()=>o._e.run(()=>(i=cr()).run(()=>t({action:b}))));for(const E in C){const L=C[E];if(Ne(L)&&!pp(L)||Tt(L))r||(w&&up(L)&&(Ne(L)?L.value=w[E]:Gr(L,w[E])),o.state.value[e][E]=L);else if(typeof L=="function"){const z=b(L,E);C[E]=z,a.actions[E]=L}}return Vt(O,C),Vt(pe(O),C),Object.defineProperty(O,"$state",{get:()=>o.state.value[e],set:E=>{D(L=>{Vt(L,E)})}}),o._p.forEach(E=>{Vt(O,i.run(()=>E({store:O,app:o._a,pinia:o,options:a})))}),w&&r&&n.hydrate&&n.hydrate(O.$state,w),c=!0,u=!0,O}/*! #__NO_SIDE_EFFECTS__ */function Yr(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=$c();return a=a||(c?He(ia,null):null),a&&Ho(a),a=sa,a._s.has(o)||(r?ua(o,t,s,a):dp(o,s,a)),a._s.get(o)}return i.$id=o,i}const fp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},mp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},bp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},yp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},vp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Op={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Np={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Cp={menuComingSoon:"Menü folgt in Kürze"},Ap={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Ep={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Tp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Lp={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"},Sp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"]},Fp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},xp={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"}},Pp={menuComingSoon:"Menu coming soon"},Mp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Bp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Rp={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Wp={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Up={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},jp={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"},Gp={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."}},Yp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Vp={menuComingSoon:"Menú próximamente"},Hp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},qp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},zp={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Kp={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Xp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Jp={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"},Zp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Qp={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"}},ed={menuComingSoon:"Menu bientôt disponible"},td={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},nd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},od={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},rd={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"}},sd={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"},id={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ad={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},ld={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},cd={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:"कुल"}},ud={menuComingSoon:"मेनू शीघ्र आ रहा है"},pd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},dd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},fd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},gd={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"},md={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_d={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"}},bd={menuComingSoon:"Menu in arrivo"},yd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},vd={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wd={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kd={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$d={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"},Od={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."}},Nd={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"}},Cd={menuComingSoon:"Menu em breve"},Ad={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Ed={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Td={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"}},Ld={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"},Sd={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Id={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ă"},Fd={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ă."}},xd={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"}},Pd={menuComingSoon:"Meniu în curând"},Md={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dd={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Bd={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Rd={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Wd={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Ud={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},jd={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:"Языки"}},Gd={menuComingSoon:"Меню скоро появится"},Yd={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vd={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Hd={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},qd={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},zd={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Kd={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Xd={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Jd={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:"总计"}},Zd={menuComingSoon:"菜单即将推出"},Qd={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ef={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},tf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function nf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ho=typeof window<"u",Ht=(e,t=!1)=>t?Symbol.for(e):Symbol(e),of=(e,t,n)=>rf({l:e,k:t,s:n}),rf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=e=>typeof e=="number"&&isFinite(e),sf=e=>ga(e)==="[object Date]",qt=e=>ga(e)==="[object RegExp]",qo=e=>oe(e)&&Object.keys(e).length===0,Re=Object.assign,af=Object.create,ge=(e=null)=>af(e);let pa;const Dt=()=>pa||(pa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ge());function da(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function fa(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,s,r)=>`${s}="${fa(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,s,r)=>`${s}='${fa(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const cf=Object.prototype.hasOwnProperty;function lt(e,t){return cf.call(e,t)}const Oe=Array.isArray,ye=e=>typeof e=="function",Y=e=>typeof e=="string",le=e=>typeof e=="boolean",de=e=>e!==null&&typeof e=="object",uf=e=>de(e)&&ye(e.then)&&ye(e.catch),ha=Object.prototype.toString,ga=e=>ha.call(e),oe=e=>{if(!de(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},pf=e=>e==null?"":Oe(e)||oe(e)&&e.toString===ha?JSON.stringify(e,null,2):String(e);function df(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}function zo(e){let t=e;return()=>++t}const Ko=e=>!de(e)||Oe(e);function Xo(e,t){if(Ko(e)||Ko(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:s}=n.pop();Object.keys(o).forEach(r=>{r!=="__proto__"&&(de(o[r])&&!de(s[r])&&(s[r]=Array.isArray(o[r])?[]:ge()),Ko(s[r])||Ko(o[r])?s[r]=o[r]:n.push({src:o[r],des:s[r]}))})}}/*! + */function nf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const qo=typeof window<"u",Ht=(e,t=!1)=>t?Symbol.for(e):Symbol(e),of=(e,t,n)=>rf({l:e,k:t,s:n}),rf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=e=>typeof e=="number"&&isFinite(e),sf=e=>ga(e)==="[object Date]",qt=e=>ga(e)==="[object RegExp]",zo=e=>re(e)&&Object.keys(e).length===0,Re=Object.assign,af=Object.create,me=(e=null)=>af(e);let pa;const Dt=()=>pa||(pa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function da(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function fa(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,s,r)=>`${s}="${fa(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,s,r)=>`${s}='${fa(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const cf=Object.prototype.hasOwnProperty;function lt(e,t){return cf.call(e,t)}const Oe=Array.isArray,ye=e=>typeof e=="function",H=e=>typeof e=="string",ce=e=>typeof e=="boolean",fe=e=>e!==null&&typeof e=="object",uf=e=>fe(e)&&ye(e.then)&&ye(e.catch),ha=Object.prototype.toString,ga=e=>ha.call(e),re=e=>{if(!fe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},pf=e=>e==null?"":Oe(e)||re(e)&&e.toString===ha?JSON.stringify(e,null,2):String(e);function df(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}function Ko(e){let t=e;return()=>++t}const Xo=e=>!fe(e)||Oe(e);function Jo(e,t){if(Xo(e)||Xo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:s}=n.pop();Object.keys(o).forEach(r=>{r!=="__proto__"&&(fe(o[r])&&!fe(s[r])&&(s[r]=Array.isArray(o[r])?[]:me()),Xo(s[r])||Xo(o[r])?s[r]=o[r]:n.push({src:o[r],des:s[r]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ff(e,t,n){return{line:e,column:t,offset:n}}function Jo(e,t,n){return{start:e,end:t}}const hf=/\{([0-9a-zA-Z]+)\}/g;function ma(e,...t){return t.length===1&&gf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(hf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const _a=Object.assign,ba=e=>typeof e=="string",gf=e=>e!==null&&typeof e=="object";function ya(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}const Vr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mf={[Vr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function _f(e,t,...n){const o=ma(mf[e],...n||[]),s={message:String(o),code:e};return t&&(s.location=t),s}const ee={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},bf={[ee.EXPECTED_TOKEN]:"Expected token: '{0}'",[ee.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ee.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ee.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ee.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ee.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ee.EMPTY_PLACEHOLDER]:"Empty placeholder",[ee.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ee.INVALID_LINKED_FORMAT]:"Invalid linked format",[ee.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ee.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ee.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ee.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ee.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ee.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Nn(e,t,n={}){const{domain:o,messages:s,args:r}=n,i=ma((s||bf)[e]||"",...r||[]),a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=o,a}function yf(e){throw e}const Bt=" ",vf="\r",Ye=` -`,wf="\u2028",kf="\u2029";function $f(e){const t=e;let n=0,o=1,s=1,r=0;const i=O=>t[O]===vf&&t[O+1]===Ye,a=O=>t[O]===Ye,l=O=>t[O]===kf,c=O=>t[O]===wf,u=O=>i(O)||a(O)||l(O)||c(O),f=()=>n,g=()=>o,y=()=>s,k=()=>r,$=O=>i(O)||l(O)||c(O)?Ye:t[O],D=()=>$(n),E=()=>$(n+r);function L(){return r=0,u(n)&&(o++,s=0),i(n)&&n++,n++,s++,t[n]}function b(){return i(n+r)&&r++,r++,t[n+r]}function m(){n=0,o=1,s=1,r=0}function C(O=0){r=O}function S(){const O=n+r;for(;O!==n;)L();r=0}return{index:f,line:g,column:y,peekOffset:k,charAt:$,currentChar:D,currentPeek:E,next:L,peek:b,reset:m,resetPeek:C,skipToPeek:S}}const zt=void 0,Of=".",va="'",Nf="tokenizer";function Cf(e,t={}){const n=t.location!==!1,o=$f(e),s=()=>o.index(),r=()=>ff(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,A,...F){const G=c();if(d.column+=A,d.offset+=A,u){const R=n?Jo(G.startLoc,d):null,N=Nn(p,R,{domain:Nf,args:F});u(N)}}function g(p,d,A){p.endLoc=r(),p.currentType=d;const F={type:d};return n&&(F.loc=Jo(p.startLoc,p.endLoc)),A!=null&&(F.value=A),F}const y=p=>g(p,14);function k(p,d){return p.currentChar()===d?(p.next(),d):(f(ee.EXPECTED_TOKEN,r(),0,d),"")}function $(p){let d="";for(;p.currentPeek()===Bt||p.currentPeek()===Ye;)d+=p.currentPeek(),p.peek();return d}function D(p){const d=$(p);return p.skipToPeek(),d}function E(p){if(p===zt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(p){if(p===zt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function b(p,d){const{currentType:A}=d;if(A!==2)return!1;$(p);const F=E(p.currentPeek());return p.resetPeek(),F}function m(p,d){const{currentType:A}=d;if(A!==2)return!1;$(p);const F=p.currentPeek()==="-"?p.peek():p.currentPeek(),G=L(F);return p.resetPeek(),G}function C(p,d){const{currentType:A}=d;if(A!==2)return!1;$(p);const F=p.currentPeek()===va;return p.resetPeek(),F}function S(p,d){const{currentType:A}=d;if(A!==8)return!1;$(p);const F=p.currentPeek()===".";return p.resetPeek(),F}function O(p,d){const{currentType:A}=d;if(A!==9)return!1;$(p);const F=E(p.currentPeek());return p.resetPeek(),F}function w(p,d){const{currentType:A}=d;if(!(A===8||A===12))return!1;$(p);const F=p.currentPeek()===":";return p.resetPeek(),F}function T(p,d){const{currentType:A}=d;if(A!==10)return!1;const F=()=>{const R=p.currentPeek();return R==="{"?E(p.peek()):R==="@"||R==="%"||R==="|"||R===":"||R==="."||R===Bt||!R?!1:R===Ye?(p.peek(),F()):q(p,!1)},G=F();return p.resetPeek(),G}function H(p){$(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function te(p){const d=$(p),A=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:A,hasSpace:d.length>0}}function q(p,d=!0){const A=(G=!1,R="",N=!1)=>{const x=p.currentPeek();return x==="{"?R==="%"?!1:G:x==="@"||!x?R==="%"?!0:G:x==="%"?(p.peek(),A(G,"%",!0)):x==="|"?R==="%"||N?!0:!(R===Bt||R===Ye):x===Bt?(p.peek(),A(!0,Bt,N)):x===Ye?(p.peek(),A(!0,Ye,N)):!0},F=A();return d&&p.resetPeek(),F}function ie(p,d){const A=p.currentChar();return A===zt?zt:d(A)?(p.next(),A):null}function _e(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function X(p){return ie(p,_e)}function W(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 z(p){return ie(p,W)}function ae(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Ee(p){return ie(p,ae)}function Ot(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Fe(p){return ie(p,Ot)}function Me(p){let d="",A="";for(;d=Ee(p);)A+=d;return A}function Qt(p){D(p);const d=p.currentChar();return d!=="%"&&f(ee.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function en(p){let d="";for(;;){const A=p.currentChar();if(A==="{"||A==="}"||A==="@"||A==="|"||!A)break;if(A==="%")if(q(p))d+=A,p.next();else break;else if(A===Bt||A===Ye)if(q(p))d+=A,p.next();else{if(H(p))break;d+=A,p.next()}else d+=A,p.next()}return d}function pn(p){D(p);let d="",A="";for(;d=z(p);)A+=d;return p.currentChar()===zt&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),A}function pt(p){D(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Me(p)}`):d+=Me(p),p.currentChar()===zt&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Wt(p){return p!==va&&p!==Ye}function Ut(p){D(p),k(p,"'");let d="",A="";for(;d=ie(p,Wt);)d==="\\"?A+=tn(p):A+=d;const F=p.currentChar();return F===Ye||F===zt?(f(ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),F===Ye&&(p.next(),k(p,"'")),A):(k(p,"'"),A)}function tn(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return ot(p,d,4);case"U":return ot(p,d,6);default:return f(ee.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function ot(p,d,A){k(p,d);let F="";for(let G=0;G{const F=p.currentChar();return F==="{"||F==="%"||F==="@"||F==="|"||F==="("||F===")"||!F||F===Bt?A:(A+=F,p.next(),d(A))};return d("")}function I(p){D(p);const d=k(p,"|");return D(p),d}function B(p,d){let A=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&f(ee.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),A=g(d,2,"{"),D(p),d.braceNest++,A;case"}":return d.braceNest>0&&d.currentType===2&&f(ee.EMPTY_PLACEHOLDER,r(),0),p.next(),A=g(d,3,"}"),d.braceNest--,d.braceNest>0&&D(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),A;case"@":return d.braceNest>0&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),A=M(p,d)||y(d),d.braceNest=0,A;default:{let G=!0,R=!0,N=!0;if(H(p))return d.braceNest>0&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),A=g(d,1,I(p)),d.braceNest=0,d.inLinked=!1,A;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,j(p,d);if(G=b(p,d))return A=g(d,5,pn(p)),D(p),A;if(R=m(p,d))return A=g(d,6,pt(p)),D(p),A;if(N=C(p,d))return A=g(d,7,Ut(p)),D(p),A;if(!G&&!R&&!N)return A=g(d,13,h(p)),f(ee.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,A.value),D(p),A;break}}return A}function M(p,d){const{currentType:A}=d;let F=null;const G=p.currentChar();switch((A===8||A===9||A===12||A===10)&&(G===Ye||G===Bt)&&f(ee.INVALID_LINKED_FORMAT,r(),0),G){case"@":return p.next(),F=g(d,8,"@"),d.inLinked=!0,F;case".":return D(p),p.next(),g(d,9,".");case":":return D(p),p.next(),g(d,10,":");default:return H(p)?(F=g(d,1,I(p)),d.braceNest=0,d.inLinked=!1,F):S(p,d)||w(p,d)?(D(p),M(p,d)):O(p,d)?(D(p),g(d,12,v(p))):T(p,d)?(D(p),G==="{"?B(p,d)||F:g(d,11,_(p))):(A===8&&f(ee.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,j(p,d))}}function j(p,d){let A={type:14};if(d.braceNest>0)return B(p,d)||y(d);if(d.inLinked)return M(p,d)||y(d);switch(p.currentChar()){case"{":return B(p,d)||y(d);case"}":return f(ee.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),g(d,3,"}");case"@":return M(p,d)||y(d);default:{if(H(p))return A=g(d,1,I(p)),d.braceNest=0,d.inLinked=!1,A;const{isModulo:G,hasSpace:R}=te(p);if(G)return R?g(d,0,en(p)):g(d,4,Qt(p));if(q(p))return g(d,0,en(p));break}}return A}function U(){const{currentType:p,offset:d,startLoc:A,endLoc:F}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=A,l.lastEndLoc=F,l.offset=s(),l.startLoc=r(),o.currentChar()===zt?g(l,14):j(o,l)}return{nextToken:U,currentOffset:s,currentPosition:r,context:c}}const Af="parser",Ef=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Tf(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 Lf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(b,m,C,S,...O){const w=b.currentPosition();if(w.offset+=S,w.column+=S,n){const T=t?Jo(C,w):null,H=Nn(m,T,{domain:Af,args:O});n(H)}}function r(b,m,C,S,...O){const w=b.currentPosition();if(w.offset+=S,w.column+=S,o){const T=t?Jo(C,w):null;o(_f(m,T,O))}}function i(b,m,C){const S={type:b};return t&&(S.start=m,S.end=m,S.loc={start:C,end:C}),S}function a(b,m,C,S){t&&(b.end=m,b.loc&&(b.loc.end=C))}function l(b,m){const C=b.context(),S=i(3,C.offset,C.startLoc);return S.value=m,a(S,b.currentOffset(),b.currentPosition()),S}function c(b,m){const C=b.context(),{lastOffset:S,lastStartLoc:O}=C,w=i(5,S,O);return w.index=parseInt(m,10),b.nextToken(),a(w,b.currentOffset(),b.currentPosition()),w}function u(b,m,C){const S=b.context(),{lastOffset:O,lastStartLoc:w}=S,T=i(4,O,w);return T.key=m,C===!0&&(T.modulo=!0),b.nextToken(),a(T,b.currentOffset(),b.currentPosition()),T}function f(b,m){const C=b.context(),{lastOffset:S,lastStartLoc:O}=C,w=i(9,S,O);return w.value=m.replace(Ef,Tf),b.nextToken(),a(w,b.currentOffset(),b.currentPosition()),w}function g(b){const m=b.nextToken(),C=b.context(),{lastOffset:S,lastStartLoc:O}=C,w=i(8,S,O);return m.type!==12?(s(b,ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,C.lastStartLoc,0),w.value="",a(w,S,O),{nextConsumeToken:m,node:w}):(m.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,ct(m)),w.value=m.value||"",a(w,b.currentOffset(),b.currentPosition()),{node:w})}function y(b,m){const C=b.context(),S=i(7,C.offset,C.startLoc);return S.value=m,a(S,b.currentOffset(),b.currentPosition()),S}function k(b){const m=b.context(),C=i(6,m.offset,m.startLoc);let S=b.nextToken();if(S.type===9){const O=g(b);C.modifier=O.node,S=O.nextConsumeToken||b.nextToken()}switch(S.type!==10&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),S=b.nextToken(),S.type===2&&(S=b.nextToken()),S.type){case 11:S.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),C.key=y(b,S.value||"");break;case 5:S.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),C.key=u(b,S.value||"");break;case 6:S.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),C.key=c(b,S.value||"");break;case 7:S.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),C.key=f(b,S.value||"");break;default:{s(b,ee.UNEXPECTED_EMPTY_LINKED_KEY,m.lastStartLoc,0);const O=b.context(),w=i(7,O.offset,O.startLoc);return w.value="",a(w,O.offset,O.startLoc),C.key=w,a(C,O.offset,O.startLoc),{nextConsumeToken:S,node:C}}}return a(C,b.currentOffset(),b.currentPosition()),{node:C}}function $(b){const m=b.context(),C=m.currentType===1?b.currentOffset():m.offset,S=m.currentType===1?m.endLoc:m.startLoc,O=i(2,C,S);O.items=[];let w=null,T=null;do{const q=w||b.nextToken();switch(w=null,q.type){case 0:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(q)),O.items.push(l(b,q.value||""));break;case 6:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(q)),O.items.push(c(b,q.value||""));break;case 4:T=!0;break;case 5:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(q)),O.items.push(u(b,q.value||"",!!T)),T&&(r(b,Vr.USE_MODULO_SYNTAX,m.lastStartLoc,0,ct(q)),T=null);break;case 7:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(q)),O.items.push(f(b,q.value||""));break;case 8:{const ie=k(b);O.items.push(ie.node),w=ie.nextConsumeToken||null;break}}}while(m.currentType!==14&&m.currentType!==1);const H=m.currentType===1?m.lastOffset:b.currentOffset(),te=m.currentType===1?m.lastEndLoc:b.currentPosition();return a(O,H,te),O}function D(b,m,C,S){const O=b.context();let w=S.items.length===0;const T=i(1,m,C);T.cases=[],T.cases.push(S);do{const H=$(b);w||(w=H.items.length===0),T.cases.push(H)}while(O.currentType!==14);return w&&s(b,ee.MUST_HAVE_MESSAGES_IN_PLURAL,C,0),a(T,b.currentOffset(),b.currentPosition()),T}function E(b){const m=b.context(),{offset:C,startLoc:S}=m,O=$(b);return m.currentType===14?O:D(b,C,S,O)}function L(b){const m=Cf(b,_a({},e)),C=m.context(),S=i(0,C.offset,C.startLoc);return t&&S.loc&&(S.loc.source=b),S.body=E(m),e.onCacheKey&&(S.cacheKey=e.onCacheKey(b)),C.currentType!==14&&s(m,ee.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,b[C.offset]||""),a(S,m.currentOffset(),m.currentPosition()),S}return{parse:L}}function ct(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 Sf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function wa(e,t){for(let n=0;nka(n)),e}function ka(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($,D){i.code+=$}function c($,D=!0){const E=D?o:"";l(s?E+" ".repeat($):E)}function u($=!0){const D=++i.indentLevel;$&&c(D)}function f($=!0){const D=--i.indentLevel;$&&c(D)}function g(){c(i.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:g,helper:$=>`_${$}`,needIndent:()=>i.needIndent}}function Df(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),An(e,t.key),t.modifier?(e.push(", "),An(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Bf(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=ba(t.mode)?t.mode:"normal",o=ba(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` + */function ff(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const hf=/\{([0-9a-zA-Z]+)\}/g;function ma(e,...t){return t.length===1&&gf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(hf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const _a=Object.assign,ba=e=>typeof e=="string",gf=e=>e!==null&&typeof e=="object";function ya(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}const Vr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mf={[Vr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function _f(e,t,...n){const o=ma(mf[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},bf={[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 Nn(e,t,n={}){const{domain:o,messages:s,args:r}=n,i=ma((s||bf)[e]||"",...r||[]),a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=o,a}function yf(e){throw e}const Bt=" ",vf="\r",Ye=` +`,wf="\u2028",kf="\u2029";function $f(e){const t=e;let n=0,o=1,s=1,r=0;const i=C=>t[C]===vf&&t[C+1]===Ye,a=C=>t[C]===Ye,l=C=>t[C]===kf,c=C=>t[C]===wf,u=C=>i(C)||a(C)||l(C)||c(C),f=()=>n,h=()=>o,y=()=>s,w=()=>r,k=C=>i(C)||l(C)||c(C)?Ye:t[C],D=()=>k(n),A=()=>k(n+r);function T(){return r=0,u(n)&&(o++,s=0),i(n)&&n++,n++,s++,t[n]}function b(){return i(n+r)&&r++,r++,t[n+r]}function m(){n=0,o=1,s=1,r=0}function O(C=0){r=C}function S(){const C=n+r;for(;C!==n;)T();r=0}return{index:f,line:h,column:y,peekOffset:w,charAt:k,currentChar:D,currentPeek:A,next:T,peek:b,reset:m,resetPeek:O,skipToPeek:S}}const zt=void 0,Of=".",va="'",Nf="tokenizer";function Cf(e,t={}){const n=t.location!==!1,o=$f(e),s=()=>o.index(),r=()=>ff(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,N,...F){const Y=c();if(d.column+=N,d.offset+=N,u){const R=n?Zo(Y.startLoc,d):null,$=Nn(p,R,{domain:Nf,args:F});u($)}}function h(p,d,N){p.endLoc=r(),p.currentType=d;const F={type:d};return n&&(F.loc=Zo(p.startLoc,p.endLoc)),N!=null&&(F.value=N),F}const y=p=>h(p,14);function w(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()===Ye;)d+=p.currentPeek(),p.peek();return d}function D(p){const d=k(p);return p.skipToPeek(),d}function A(p){if(p===zt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function T(p){if(p===zt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function b(p,d){const{currentType:N}=d;if(N!==2)return!1;k(p);const F=A(p.currentPeek());return p.resetPeek(),F}function m(p,d){const{currentType:N}=d;if(N!==2)return!1;k(p);const F=p.currentPeek()==="-"?p.peek():p.currentPeek(),Y=T(F);return p.resetPeek(),Y}function O(p,d){const{currentType:N}=d;if(N!==2)return!1;k(p);const F=p.currentPeek()===va;return p.resetPeek(),F}function S(p,d){const{currentType:N}=d;if(N!==8)return!1;k(p);const F=p.currentPeek()===".";return p.resetPeek(),F}function C(p,d){const{currentType:N}=d;if(N!==9)return!1;k(p);const F=A(p.currentPeek());return p.resetPeek(),F}function E(p,d){const{currentType:N}=d;if(!(N===8||N===12))return!1;k(p);const F=p.currentPeek()===":";return p.resetPeek(),F}function L(p,d){const{currentType:N}=d;if(N!==10)return!1;const F=()=>{const R=p.currentPeek();return R==="{"?A(p.peek()):R==="@"||R==="%"||R==="|"||R===":"||R==="."||R===Bt||!R?!1:R===Ye?(p.peek(),F()):V(p,!1)},Y=F();return p.resetPeek(),Y}function z(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function j(p){const d=k(p),N=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:N,hasSpace:d.length>0}}function V(p,d=!0){const N=(Y=!1,R="",$=!1)=>{const x=p.currentPeek();return x==="{"?R==="%"?!1:Y:x==="@"||!x?R==="%"?!0:Y:x==="%"?(p.peek(),N(Y,"%",!0)):x==="|"?R==="%"||$?!0:!(R===Bt||R===Ye):x===Bt?(p.peek(),N(!0,Bt,$)):x===Ye?(p.peek(),N(!0,Ye,$)):!0},F=N();return d&&p.resetPeek(),F}function Z(p,d){const N=p.currentChar();return N===zt?zt:d(N)?(p.next(),N):null}function ue(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function K(p){return Z(p,ue)}function W(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 X(p){return Z(p,W)}function ae(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Ee(p){return Z(p,ae)}function Nt(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Fe(p){return Z(p,Nt)}function Me(p){let d="",N="";for(;d=Ee(p);)N+=d;return N}function Qt(p){D(p);const d=p.currentChar();return d!=="%"&&f(ne.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function en(p){let d="";for(;;){const N=p.currentChar();if(N==="{"||N==="}"||N==="@"||N==="|"||!N)break;if(N==="%")if(V(p))d+=N,p.next();else break;else if(N===Bt||N===Ye)if(V(p))d+=N,p.next();else{if(z(p))break;d+=N,p.next()}else d+=N,p.next()}return d}function pn(p){D(p);let d="",N="";for(;d=X(p);)N+=d;return p.currentChar()===zt&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),N}function pt(p){D(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Me(p)}`):d+=Me(p),p.currentChar()===zt&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Wt(p){return p!==va&&p!==Ye}function Ut(p){D(p),w(p,"'");let d="",N="";for(;d=Z(p,Wt);)d==="\\"?N+=tn(p):N+=d;const F=p.currentChar();return F===Ye||F===zt?(f(ne.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),F===Ye&&(p.next(),w(p,"'")),N):(w(p,"'"),N)}function tn(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return ot(p,d,4);case"U":return ot(p,d,6);default:return f(ne.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function ot(p,d,N){w(p,d);let F="";for(let Y=0;Y{const F=p.currentChar();return F==="{"||F==="%"||F==="@"||F==="|"||F==="("||F===")"||!F||F===Bt?N:(N+=F,p.next(),d(N))};return d("")}function I(p){D(p);const d=w(p,"|");return D(p),d}function B(p,d){let N=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&f(ne.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),N=h(d,2,"{"),D(p),d.braceNest++,N;case"}":return d.braceNest>0&&d.currentType===2&&f(ne.EMPTY_PLACEHOLDER,r(),0),p.next(),N=h(d,3,"}"),d.braceNest--,d.braceNest>0&&D(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),N;case"@":return d.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),N=M(p,d)||y(d),d.braceNest=0,N;default:{let Y=!0,R=!0,$=!0;if(z(p))return d.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,r(),0),N=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,N;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(Y=b(p,d))return N=h(d,5,pn(p)),D(p),N;if(R=m(p,d))return N=h(d,6,pt(p)),D(p),N;if($=O(p,d))return N=h(d,7,Ut(p)),D(p),N;if(!Y&&!R&&!$)return N=h(d,13,g(p)),f(ne.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,N.value),D(p),N;break}}return N}function M(p,d){const{currentType:N}=d;let F=null;const Y=p.currentChar();switch((N===8||N===9||N===12||N===10)&&(Y===Ye||Y===Bt)&&f(ne.INVALID_LINKED_FORMAT,r(),0),Y){case"@":return p.next(),F=h(d,8,"@"),d.inLinked=!0,F;case".":return D(p),p.next(),h(d,9,".");case":":return D(p),p.next(),h(d,10,":");default:return z(p)?(F=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,F):S(p,d)||E(p,d)?(D(p),M(p,d)):C(p,d)?(D(p),h(d,12,v(p))):L(p,d)?(D(p),Y==="{"?B(p,d)||F:h(d,11,_(p))):(N===8&&f(ne.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,G(p,d))}}function G(p,d){let N={type:14};if(d.braceNest>0)return B(p,d)||y(d);if(d.inLinked)return M(p,d)||y(d);switch(p.currentChar()){case"{":return B(p,d)||y(d);case"}":return f(ne.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),h(d,3,"}");case"@":return M(p,d)||y(d);default:{if(z(p))return N=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,N;const{isModulo:Y,hasSpace:R}=j(p);if(Y)return R?h(d,0,en(p)):h(d,4,Qt(p));if(V(p))return h(d,0,en(p));break}}return N}function U(){const{currentType:p,offset:d,startLoc:N,endLoc:F}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=N,l.lastEndLoc=F,l.offset=s(),l.startLoc=r(),o.currentChar()===zt?h(l,14):G(o,l)}return{nextToken:U,currentOffset:s,currentPosition:r,context:c}}const Af="parser",Ef=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Tf(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 Lf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(b,m,O,S,...C){const E=b.currentPosition();if(E.offset+=S,E.column+=S,n){const L=t?Zo(O,E):null,z=Nn(m,L,{domain:Af,args:C});n(z)}}function r(b,m,O,S,...C){const E=b.currentPosition();if(E.offset+=S,E.column+=S,o){const L=t?Zo(O,E):null;o(_f(m,L,C))}}function i(b,m,O){const S={type:b};return t&&(S.start=m,S.end=m,S.loc={start:O,end:O}),S}function a(b,m,O,S){t&&(b.end=m,b.loc&&(b.loc.end=O))}function l(b,m){const O=b.context(),S=i(3,O.offset,O.startLoc);return S.value=m,a(S,b.currentOffset(),b.currentPosition()),S}function c(b,m){const O=b.context(),{lastOffset:S,lastStartLoc:C}=O,E=i(5,S,C);return E.index=parseInt(m,10),b.nextToken(),a(E,b.currentOffset(),b.currentPosition()),E}function u(b,m,O){const S=b.context(),{lastOffset:C,lastStartLoc:E}=S,L=i(4,C,E);return L.key=m,O===!0&&(L.modulo=!0),b.nextToken(),a(L,b.currentOffset(),b.currentPosition()),L}function f(b,m){const O=b.context(),{lastOffset:S,lastStartLoc:C}=O,E=i(9,S,C);return E.value=m.replace(Ef,Tf),b.nextToken(),a(E,b.currentOffset(),b.currentPosition()),E}function h(b){const m=b.nextToken(),O=b.context(),{lastOffset:S,lastStartLoc:C}=O,E=i(8,S,C);return m.type!==12?(s(b,ne.UNEXPECTED_EMPTY_LINKED_MODIFIER,O.lastStartLoc,0),E.value="",a(E,S,C),{nextConsumeToken:m,node:E}):(m.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,O.lastStartLoc,0,ct(m)),E.value=m.value||"",a(E,b.currentOffset(),b.currentPosition()),{node:E})}function y(b,m){const O=b.context(),S=i(7,O.offset,O.startLoc);return S.value=m,a(S,b.currentOffset(),b.currentPosition()),S}function w(b){const m=b.context(),O=i(6,m.offset,m.startLoc);let S=b.nextToken();if(S.type===9){const C=h(b);O.modifier=C.node,S=C.nextConsumeToken||b.nextToken()}switch(S.type!==10&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),S=b.nextToken(),S.type===2&&(S=b.nextToken()),S.type){case 11:S.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),O.key=y(b,S.value||"");break;case 5:S.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),O.key=u(b,S.value||"");break;case 6:S.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),O.key=c(b,S.value||"");break;case 7:S.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(S)),O.key=f(b,S.value||"");break;default:{s(b,ne.UNEXPECTED_EMPTY_LINKED_KEY,m.lastStartLoc,0);const C=b.context(),E=i(7,C.offset,C.startLoc);return E.value="",a(E,C.offset,C.startLoc),O.key=E,a(O,C.offset,C.startLoc),{nextConsumeToken:S,node:O}}}return a(O,b.currentOffset(),b.currentPosition()),{node:O}}function k(b){const m=b.context(),O=m.currentType===1?b.currentOffset():m.offset,S=m.currentType===1?m.endLoc:m.startLoc,C=i(2,O,S);C.items=[];let E=null,L=null;do{const V=E||b.nextToken();switch(E=null,V.type){case 0:V.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(V)),C.items.push(l(b,V.value||""));break;case 6:V.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(V)),C.items.push(c(b,V.value||""));break;case 4:L=!0;break;case 5:V.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(V)),C.items.push(u(b,V.value||"",!!L)),L&&(r(b,Vr.USE_MODULO_SYNTAX,m.lastStartLoc,0,ct(V)),L=null);break;case 7:V.value==null&&s(b,ne.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ct(V)),C.items.push(f(b,V.value||""));break;case 8:{const Z=w(b);C.items.push(Z.node),E=Z.nextConsumeToken||null;break}}}while(m.currentType!==14&&m.currentType!==1);const z=m.currentType===1?m.lastOffset:b.currentOffset(),j=m.currentType===1?m.lastEndLoc:b.currentPosition();return a(C,z,j),C}function D(b,m,O,S){const C=b.context();let E=S.items.length===0;const L=i(1,m,O);L.cases=[],L.cases.push(S);do{const z=k(b);E||(E=z.items.length===0),L.cases.push(z)}while(C.currentType!==14);return E&&s(b,ne.MUST_HAVE_MESSAGES_IN_PLURAL,O,0),a(L,b.currentOffset(),b.currentPosition()),L}function A(b){const m=b.context(),{offset:O,startLoc:S}=m,C=k(b);return m.currentType===14?C:D(b,O,S,C)}function T(b){const m=Cf(b,_a({},e)),O=m.context(),S=i(0,O.offset,O.startLoc);return t&&S.loc&&(S.loc.source=b),S.body=A(m),e.onCacheKey&&(S.cacheKey=e.onCacheKey(b)),O.currentType!==14&&s(m,ne.UNEXPECTED_LEXICAL_ANALYSIS,O.lastStartLoc,0,b[O.offset]||""),a(S,m.currentOffset(),m.currentPosition()),S}return{parse:T}}function ct(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 Sf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function wa(e,t){for(let n=0;nka(n)),e}function ka(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,D){i.code+=k}function c(k,D=!0){const A=D?o:"";l(s?A+" ".repeat(k):A)}function u(k=!0){const D=++i.indentLevel;k&&c(D)}function f(k=!0){const D=--i.indentLevel;k&&c(D)}function h(){c(i.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:h,helper:k=>`_${k}`,needIndent:()=>i.needIndent}}function Df(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),An(e,t.key),t.modifier?(e.push(", "),An(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Bf(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=ba(t.mode)?t.mode:"normal",o=ba(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=Mf(e,{filename:o,breakLineCode:s,needIndent:r});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(r),i.length>0&&(a.push(`const { ${ya(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),a.newline()),a.push("return "),An(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 jf(e,t={}){const n=_a({},t),o=!!n.jit,s=!!n.minify,r=n.optimize==null?!0:n.optimize,a=Lf(n).parse(e);return o?(r&&Ff(a),s&&Cn(a),{ast:a,code:""}):(If(a,n),Uf(a,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Gf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Dt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Dt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Dt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function kt(e){return de(e)&&qr(e)===0&&(lt(e,"b")||lt(e,"body"))}const $a=["b","body"];function Yf(e){return Kt(e,$a)}const Oa=["c","cases"];function Vf(e){return Kt(e,Oa,[])}const Na=["s","static"];function Hf(e){return Kt(e,Na)}const Ca=["i","items"];function qf(e){return Kt(e,Ca,[])}const Aa=["t","type"];function qr(e){return Kt(e,Aa)}const Ea=["v","value"];function Zo(e,t){const n=Kt(e,Ea);if(n!=null)return n;throw eo(t)}const Ta=["m","modifier"];function zf(e){return Kt(e,Ta)}const La=["k","key"];function Kf(e){const t=Kt(e,La);if(t)return t;throw eo(6)}function Kt(e,t,n){for(let o=0;o{i===void 0?i=a:i+=a},g[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},g[2]=()=>{g[0](),s++},g[3]=()=>{if(s>0)s--,o=4,g[0]();else{if(s=0,i===void 0||(i=eh(i),i===!1))return!1;g[1]()}};function y(){const k=e[n+1];if(o===5&&k==="'"||o===6&&k==='"')return n++,a="\\"+k,g[0](),!0}for(;o!==null;)if(n++,r=e[n],!(r==="\\"&&y())){if(l=Qf(r),f=Xt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=g[c[1]],u&&(a=r,u()===!1))))return;if(o===7)return t}}const Ia=new Map;function nh(e,t){return de(e)?e[t]:null}function oh(e,t){if(!de(e))return null;let n=Ia.get(t);if(n||(n=th(t),n&&Ia.set(t,n)),!n)return null;const o=n.length;let s=e,r=0;for(;re,sh=e=>"",ih="text",ah=e=>e.length===0?"":df(e),lh=pf;function Fa(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ch(e){const t=Ae(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ae(e.named.count)||Ae(e.named.n))?Ae(e.named.count)?e.named.count:Ae(e.named.n)?e.named.n:t:t}function uh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ph(e={}){const t=e.locale,n=ch(e),o=de(e.pluralRules)&&Y(t)&&ye(e.pluralRules[t])?e.pluralRules[t]:Fa,s=de(e.pluralRules)&&Y(t)&&ye(e.pluralRules[t])?Fa:void 0,r=E=>E[o(n,E.length,s)],i=e.list||[],a=E=>i[E],l=e.named||ge();Ae(e.pluralIndex)&&uh(n,l);const c=E=>l[E];function u(E){const L=ye(e.messages)?e.messages(E):de(e.messages)?e.messages[E]:!1;return L||(e.parent?e.parent.message(E):sh)}const f=E=>e.modifiers?e.modifiers[E]:rh,g=oe(e.processor)&&ye(e.processor.normalize)?e.processor.normalize:ah,y=oe(e.processor)&&ye(e.processor.interpolate)?e.processor.interpolate:lh,k=oe(e.processor)&&Y(e.processor.type)?e.processor.type:ih,D={list:a,named:c,plural:r,linked:(E,...L)=>{const[b,m]=L;let C="text",S="";L.length===1?de(b)?(S=b.modifier||S,C=b.type||C):Y(b)&&(S=b||S):L.length===2&&(Y(b)&&(S=b||S),Y(m)&&(C=m||C));const O=u(E)(D),w=C==="vnode"&&Oe(O)&&S?O[0]:O;return S?f(S)(w,C):w},message:u,type:k,interpolate:y,normalize:g,values:Re(ge(),i,l)};return D}let to=null;function dh(e){to=e}function fh(e,t,n){to&&to.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const hh=gh("function:translate");function gh(e){return t=>to&&to.emit(e,t)}const mh=Vr.__EXTEND_POINT__,cn=zo(mh),_h={FALLBACK_TO_TRANSLATE:cn(),CANNOT_FORMAT_NUMBER:cn(),FALLBACK_TO_NUMBER_FORMAT:cn(),CANNOT_FORMAT_DATE:cn(),FALLBACK_TO_DATE_FORMAT:cn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:cn(),__EXTEND_POINT__:cn()},xa=ee.__EXTEND_POINT__,un=zo(xa),ut={INVALID_ARGUMENT:xa,INVALID_DATE_ARGUMENT:un(),INVALID_ISO_DATE_ARGUMENT:un(),NOT_SUPPORT_NON_STRING_MESSAGE:un(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:un(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:un(),NOT_SUPPORT_LOCALE_TYPE:un(),__EXTEND_POINT__:un()};function $t(e){return Nn(e,null,void 0)}function zr(e,t){return t.locale!=null?Pa(t.locale):Pa(e.locale)}let Kr;function Pa(e){if(Y(e))return e;if(ye(e)){if(e.resolvedOnce&&Kr!=null)return Kr;if(e.constructor.name==="Function"){const t=e();if(uf(t))throw $t(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Kr=t}else throw $t(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw $t(ut.NOT_SUPPORT_LOCALE_TYPE)}function bh(e,t,n){return[...new Set([n,...Oe(t)?t:de(t)?Object.keys(t):Y(t)?[t]:[n]])]}function Ma(e,t,n){const o=Y(n)?n:En,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(o);if(!r){r=[];let i=[n];for(;Oe(i);)i=Da(r,i,t);const a=Oe(t)||!oe(t)?t:t.default?t.default:null;i=Y(a)?[a]:a,Oe(i)&&Da(r,i,!1),s.__localeChainCache.set(o,r)}return r}function Da(e,t,n){let o=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function kh(){return{upper:(e,t)=>t==="text"&&Y(e)?e.toUpperCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&Y(e)?e.toLowerCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&Y(e)?Ra(e):t==="vnode"&&de(e)&&"__v_isVNode"in e?Ra(e.children):e}}let Wa;function Ua(e){Wa=e}let ja;function $h(e){ja=e}let Ga;function Oh(e){Ga=e}let Ya=null;const Nh=e=>{Ya=e},Ch=()=>Ya;let Va=null;const Ha=e=>{Va=e},Ah=()=>Va;let qa=0;function Eh(e={}){const t=ye(e.onWarn)?e.onWarn:nf,n=Y(e.version)?e.version:wh,o=Y(e.locale)||ye(e.locale)?e.locale:En,s=ye(o)?En:o,r=Oe(e.fallbackLocale)||oe(e.fallbackLocale)||Y(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=oe(e.messages)?e.messages:Xr(s),a=oe(e.datetimeFormats)?e.datetimeFormats:Xr(s),l=oe(e.numberFormats)?e.numberFormats:Xr(s),c=Re(ge(),e.modifiers,kh()),u=e.pluralRules||ge(),f=ye(e.missing)?e.missing:null,g=le(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,y=le(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,k=!!e.fallbackFormat,$=!!e.unresolving,D=ye(e.postTranslation)?e.postTranslation:null,E=oe(e.processor)?e.processor:null,L=le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,m=ye(e.messageCompiler)?e.messageCompiler:Wa,C=ye(e.messageResolver)?e.messageResolver:ja||nh,S=ye(e.localeFallbacker)?e.localeFallbacker:Ga||bh,O=de(e.fallbackContext)?e.fallbackContext:void 0,w=e,T=de(w.__datetimeFormatters)?w.__datetimeFormatters:new Map,H=de(w.__numberFormatters)?w.__numberFormatters:new Map,te=de(w.__meta)?w.__meta:{};qa++;const q={version:n,cid:qa,locale:o,fallbackLocale:r,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:g,fallbackWarn:y,fallbackFormat:k,unresolving:$,postTranslation:D,processor:E,warnHtmlMessage:L,escapeParameter:b,messageCompiler:m,messageResolver:C,localeFallbacker:S,fallbackContext:O,onWarn:t,__meta:te};return q.datetimeFormats=a,q.numberFormats=l,q.__datetimeFormatters=T,q.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&fh(q,n,te),q}const Xr=e=>({[e]:ge()});function Jr(e,t,n,o,s){const{missing:r,onWarn:i}=e;if(r!==null){const a=r(e,n,t,s);return Y(a)?a:t}else return t}function no(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Th(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oSh(n,e)}function Sh(e,t){const n=Yf(t);if(n==null)throw eo(0);if(qr(n)===1){const r=Vf(n);return e.plural(r.reduce((i,a)=>[...i,za(e,a)],[]))}else return za(e,n)}function za(e,t){const n=Hf(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=qf(t).reduce((s,r)=>[...s,Qr(e,r)],[]);return e.normalize(o)}}function Qr(e,t){const n=qr(t);switch(n){case 3:return Zo(t,n);case 9:return Zo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw eo(n)}case 5:{const o=t;if(lt(o,"i")&&Ae(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&Ae(o.index))return e.interpolate(e.list(o.index));throw eo(n)}case 6:{const o=t,s=zf(o),r=Kf(o);return e.linked(Qr(e,r),s?Qr(e,s):void 0,e.type)}case 7:return Zo(t,n);case 8:return Zo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Ka=e=>e;let Tn=ge();function Xa(e,t={}){let n=!1;const o=t.onError||yf;return t.onError=s=>{n=!0,o(s)},{...jf(e,t),detectError:n}}const Ih=(e,t)=>{if(!Y(e))throw $t(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ka)(e),s=Tn[o];if(s)return s;const{code:r,detectError:i}=Xa(e,t),a=new Function(`return ${r}`)();return i?a:Tn[o]=a}};function Fh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Y(e)){le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ka)(e),s=Tn[o];if(s)return s;const{ast:r,detectError:i}=Xa(e,{...t,location:!1,jit:!0}),a=Zr(r);return i?a:Tn[o]=a}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Zr(e))}else return Zr(e)}}const Ja=()=>"",nt=e=>ye(e);function Za(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:s,messageCompiler:r,fallbackLocale:i,messages:a}=e,[l,c]=es(...t),u=le(c.missingWarn)?c.missingWarn:e.missingWarn,f=le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,g=le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,k=Y(c.default)||le(c.default)?le(c.default)?r?l:()=>l:c.default:n?r?l:()=>l:"",$=n||k!=="",D=zr(e,c);g&&xh(c);let[E,L,b]=y?[l,D,a[D]||ge()]:Qa(e,l,D,i,f,u),m=E,C=l;if(!y&&!(Y(m)||kt(m)||nt(m))&&$&&(m=k,C=m),!y&&(!(Y(m)||kt(m)||nt(m))||!Y(L)))return s?Qo:l;let S=!1;const O=()=>{S=!0},w=nt(m)?m:el(e,l,L,m,C,O);if(S)return m;const T=Dh(e,L,b,c),H=ph(T),te=Ph(e,w,H);let q=o?o(te,l):te;if(g&&Y(q)&&(q=lf(q)),__INTLIFY_PROD_DEVTOOLS__){const ie={timestamp:Date.now(),key:Y(l)?l:nt(m)?m.key:"",locale:L||(nt(m)?m.locale:""),format:Y(m)?m:nt(m)?m.source:"",message:q};ie.meta=Re({},e.__meta,Ch()||{}),hh(ie)}return q}function xh(e){Oe(e.list)?e.list=e.list.map(t=>Y(t)?da(t):t):de(e.named)&&Object.keys(e.named).forEach(t=>{Y(e.named[t])&&(e.named[t]=da(e.named[t]))})}function Qa(e,t,n,o,s,r){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=ge(),g,y=null;const k="translate";for(let $=0;$o;return c.locale=n,c.key=t,c}const l=i(o,Mh(e,n,s,o,a,r));return l.locale=n,l.key=t,l.source=o,l}function Ph(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,s=ge();if(!Y(t)&&!Ae(t)&&!nt(t)&&!kt(t))throw $t(ut.INVALID_ARGUMENT);const r=Ae(t)?String(t):(nt(t),t);return Ae(n)?s.plural=n:Y(n)?s.default=n:oe(n)&&!qo(n)?s.named=n:Oe(n)&&(s.list=n),Ae(o)?s.plural=o:Y(o)?s.default=o:oe(o)&&Re(s,o),[r,s]}function Mh(e,t,n,o,s,r){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw r&&r(i),i},onCacheKey:i=>of(t,n,i)}}function Dh(e,t,n,o){const{modifiers:s,pluralRules:r,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,g={locale:t,modifiers:s,pluralRules:r,messages:y=>{let k=i(n,y);if(k==null&&u){const[,,$]=Qa(u,y,t,a,l,c);k=i($,y)}if(Y(k)||kt(k)){let $=!1;const E=el(e,y,t,k,y,()=>{$=!0});return $?Ja:E}else return nt(k)?k:Ja}};return e.processor&&(g.processor=e.processor),o.list&&(g.list=o.list),o.named&&(g.named=o.named),Ae(o.plural)&&(g.pluralIndex=o.plural),g}function tl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__datetimeFormatters:a}=e,[l,c,u,f]=ts(...t),g=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,k=zr(e,u),$=i(e,s,k);if(!Y(l)||l==="")return new Intl.DateTimeFormat(k,f).format(c);let D={},E,L=null;const b="datetime format";for(let S=0;S<$.length&&(E=$[S],D=n[E]||{},L=D[l],!oe(L));S++)Jr(e,l,E,g,b);if(!oe(L)||!Y(E))return o?Qo:l;let m=`${E}__${l}`;qo(f)||(m=`${m}__${JSON.stringify(f)}`);let C=a.get(m);return C||(C=new Intl.DateTimeFormat(E,Re({},L,f)),a.set(m,C)),y?C.formatToParts(c):C.format(c)}const nl=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function ts(...e){const[t,n,o,s]=e,r=ge();let i=ge(),a;if(Y(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw $t(ut.INVALID_ISO_DATE_ARGUMENT);const c=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();a=new Date(c);try{a.toISOString()}catch{throw $t(ut.INVALID_ISO_DATE_ARGUMENT)}}else if(sf(t)){if(isNaN(t.getTime()))throw $t(ut.INVALID_DATE_ARGUMENT);a=t}else if(Ae(t))a=t;else throw $t(ut.INVALID_ARGUMENT);return Y(n)?r.key=n:oe(n)&&Object.keys(n).forEach(l=>{nl.includes(l)?i[l]=n[l]:r[l]=n[l]}),Y(o)?r.locale=o:oe(o)&&(i=o),oe(s)&&(i=s),[r.key||"",a,r,i]}function ol(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__datetimeFormatters.has(r)&&o.__datetimeFormatters.delete(r)}}function rl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__numberFormatters:a}=e,[l,c,u,f]=ns(...t),g=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,k=zr(e,u),$=i(e,s,k);if(!Y(l)||l==="")return new Intl.NumberFormat(k,f).format(c);let D={},E,L=null;const b="number format";for(let S=0;S<$.length&&(E=$[S],D=n[E]||{},L=D[l],!oe(L));S++)Jr(e,l,E,g,b);if(!oe(L)||!Y(E))return o?Qo:l;let m=`${E}__${l}`;qo(f)||(m=`${m}__${JSON.stringify(f)}`);let C=a.get(m);return C||(C=new Intl.NumberFormat(E,Re({},L,f)),a.set(m,C)),y?C.formatToParts(c):C.format(c)}const sl=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function ns(...e){const[t,n,o,s]=e,r=ge();let i=ge();if(!Ae(t))throw $t(ut.INVALID_ARGUMENT);const a=t;return Y(n)?r.key=n:oe(n)&&Object.keys(n).forEach(l=>{sl.includes(l)?i[l]=n[l]:r[l]=n[l]}),Y(o)?r.locale=o:oe(o)&&(i=o),oe(s)&&(i=s),[r.key||"",a,r,i]}function il(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__numberFormatters.has(r)&&o.__numberFormatters.delete(r)}}Gf();/*! + */function Gf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Dt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Dt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Dt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function $t(e){return fe(e)&&qr(e)===0&&(lt(e,"b")||lt(e,"body"))}const $a=["b","body"];function Yf(e){return Kt(e,$a)}const Oa=["c","cases"];function Vf(e){return Kt(e,Oa,[])}const Na=["s","static"];function Hf(e){return Kt(e,Na)}const Ca=["i","items"];function qf(e){return Kt(e,Ca,[])}const Aa=["t","type"];function qr(e){return Kt(e,Aa)}const Ea=["v","value"];function Qo(e,t){const n=Kt(e,Ea);if(n!=null)return n;throw to(t)}const Ta=["m","modifier"];function zf(e){return Kt(e,Ta)}const La=["k","key"];function Kf(e){const t=Kt(e,La);if(t)return t;throw to(6)}function Kt(e,t,n){for(let o=0;o{i===void 0?i=a:i+=a},h[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},h[2]=()=>{h[0](),s++},h[3]=()=>{if(s>0)s--,o=4,h[0]();else{if(s=0,i===void 0||(i=eh(i),i===!1))return!1;h[1]()}};function y(){const w=e[n+1];if(o===5&&w==="'"||o===6&&w==='"')return n++,a="\\"+w,h[0](),!0}for(;o!==null;)if(n++,r=e[n],!(r==="\\"&&y())){if(l=Qf(r),f=Xt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(a=r,u()===!1))))return;if(o===7)return t}}const Ia=new Map;function nh(e,t){return fe(e)?e[t]:null}function oh(e,t){if(!fe(e))return null;let n=Ia.get(t);if(n||(n=th(t),n&&Ia.set(t,n)),!n)return null;const o=n.length;let s=e,r=0;for(;re,sh=e=>"",ih="text",ah=e=>e.length===0?"":df(e),lh=pf;function Fa(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ch(e){const t=Ae(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ae(e.named.count)||Ae(e.named.n))?Ae(e.named.count)?e.named.count:Ae(e.named.n)?e.named.n:t:t}function uh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ph(e={}){const t=e.locale,n=ch(e),o=fe(e.pluralRules)&&H(t)&&ye(e.pluralRules[t])?e.pluralRules[t]:Fa,s=fe(e.pluralRules)&&H(t)&&ye(e.pluralRules[t])?Fa:void 0,r=A=>A[o(n,A.length,s)],i=e.list||[],a=A=>i[A],l=e.named||me();Ae(e.pluralIndex)&&uh(n,l);const c=A=>l[A];function u(A){const T=ye(e.messages)?e.messages(A):fe(e.messages)?e.messages[A]:!1;return T||(e.parent?e.parent.message(A):sh)}const f=A=>e.modifiers?e.modifiers[A]:rh,h=re(e.processor)&&ye(e.processor.normalize)?e.processor.normalize:ah,y=re(e.processor)&&ye(e.processor.interpolate)?e.processor.interpolate:lh,w=re(e.processor)&&H(e.processor.type)?e.processor.type:ih,D={list:a,named:c,plural:r,linked:(A,...T)=>{const[b,m]=T;let O="text",S="";T.length===1?fe(b)?(S=b.modifier||S,O=b.type||O):H(b)&&(S=b||S):T.length===2&&(H(b)&&(S=b||S),H(m)&&(O=m||O));const C=u(A)(D),E=O==="vnode"&&Oe(C)&&S?C[0]:C;return S?f(S)(E,O):E},message:u,type:w,interpolate:y,normalize:h,values:Re(me(),i,l)};return D}let no=null;function dh(e){no=e}function fh(e,t,n){no&&no.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const hh=gh("function:translate");function gh(e){return t=>no&&no.emit(e,t)}const mh=Vr.__EXTEND_POINT__,cn=Ko(mh),_h={FALLBACK_TO_TRANSLATE:cn(),CANNOT_FORMAT_NUMBER:cn(),FALLBACK_TO_NUMBER_FORMAT:cn(),CANNOT_FORMAT_DATE:cn(),FALLBACK_TO_DATE_FORMAT:cn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:cn(),__EXTEND_POINT__:cn()},xa=ne.__EXTEND_POINT__,un=Ko(xa),ut={INVALID_ARGUMENT:xa,INVALID_DATE_ARGUMENT:un(),INVALID_ISO_DATE_ARGUMENT:un(),NOT_SUPPORT_NON_STRING_MESSAGE:un(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:un(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:un(),NOT_SUPPORT_LOCALE_TYPE:un(),__EXTEND_POINT__:un()};function Ot(e){return Nn(e,null,void 0)}function zr(e,t){return t.locale!=null?Pa(t.locale):Pa(e.locale)}let Kr;function Pa(e){if(H(e))return e;if(ye(e)){if(e.resolvedOnce&&Kr!=null)return Kr;if(e.constructor.name==="Function"){const t=e();if(uf(t))throw Ot(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Kr=t}else throw Ot(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ot(ut.NOT_SUPPORT_LOCALE_TYPE)}function bh(e,t,n){return[...new Set([n,...Oe(t)?t:fe(t)?Object.keys(t):H(t)?[t]:[n]])]}function Ma(e,t,n){const o=H(n)?n:En,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(o);if(!r){r=[];let i=[n];for(;Oe(i);)i=Da(r,i,t);const a=Oe(t)||!re(t)?t:t.default?t.default:null;i=H(a)?[a]:a,Oe(i)&&Da(r,i,!1),s.__localeChainCache.set(o,r)}return r}function Da(e,t,n){let o=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function kh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&fe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&fe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?Ra(e):t==="vnode"&&fe(e)&&"__v_isVNode"in e?Ra(e.children):e}}let Wa;function Ua(e){Wa=e}let ja;function $h(e){ja=e}let Ga;function Oh(e){Ga=e}let Ya=null;const Nh=e=>{Ya=e},Ch=()=>Ya;let Va=null;const Ha=e=>{Va=e},Ah=()=>Va;let qa=0;function Eh(e={}){const t=ye(e.onWarn)?e.onWarn:nf,n=H(e.version)?e.version:wh,o=H(e.locale)||ye(e.locale)?e.locale:En,s=ye(o)?En:o,r=Oe(e.fallbackLocale)||re(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=re(e.messages)?e.messages:Xr(s),a=re(e.datetimeFormats)?e.datetimeFormats:Xr(s),l=re(e.numberFormats)?e.numberFormats:Xr(s),c=Re(me(),e.modifiers,kh()),u=e.pluralRules||me(),f=ye(e.missing)?e.missing:null,h=ce(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,y=ce(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,k=!!e.unresolving,D=ye(e.postTranslation)?e.postTranslation:null,A=re(e.processor)?e.processor:null,T=ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,m=ye(e.messageCompiler)?e.messageCompiler:Wa,O=ye(e.messageResolver)?e.messageResolver:ja||nh,S=ye(e.localeFallbacker)?e.localeFallbacker:Ga||bh,C=fe(e.fallbackContext)?e.fallbackContext:void 0,E=e,L=fe(E.__datetimeFormatters)?E.__datetimeFormatters:new Map,z=fe(E.__numberFormatters)?E.__numberFormatters:new Map,j=fe(E.__meta)?E.__meta:{};qa++;const V={version:n,cid:qa,locale:o,fallbackLocale:r,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:h,fallbackWarn:y,fallbackFormat:w,unresolving:k,postTranslation:D,processor:A,warnHtmlMessage:T,escapeParameter:b,messageCompiler:m,messageResolver:O,localeFallbacker:S,fallbackContext:C,onWarn:t,__meta:j};return V.datetimeFormats=a,V.numberFormats=l,V.__datetimeFormatters=L,V.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&fh(V,n,j),V}const Xr=e=>({[e]:me()});function Jr(e,t,n,o,s){const{missing:r,onWarn:i}=e;if(r!==null){const a=r(e,n,t,s);return H(a)?a:t}else return t}function oo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Th(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oSh(n,e)}function Sh(e,t){const n=Yf(t);if(n==null)throw to(0);if(qr(n)===1){const r=Vf(n);return e.plural(r.reduce((i,a)=>[...i,za(e,a)],[]))}else return za(e,n)}function za(e,t){const n=Hf(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=qf(t).reduce((s,r)=>[...s,Qr(e,r)],[]);return e.normalize(o)}}function Qr(e,t){const n=qr(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw to(n)}case 5:{const o=t;if(lt(o,"i")&&Ae(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&Ae(o.index))return e.interpolate(e.list(o.index));throw to(n)}case 6:{const o=t,s=zf(o),r=Kf(o);return e.linked(Qr(e,r),s?Qr(e,s):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Ka=e=>e;let Tn=me();function Xa(e,t={}){let n=!1;const o=t.onError||yf;return t.onError=s=>{n=!0,o(s)},{...jf(e,t),detectError:n}}const Ih=(e,t)=>{if(!H(e))throw Ot(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ka)(e),s=Tn[o];if(s)return s;const{code:r,detectError:i}=Xa(e,t),a=new Function(`return ${r}`)();return i?a:Tn[o]=a}};function Fh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ka)(e),s=Tn[o];if(s)return s;const{ast:r,detectError:i}=Xa(e,{...t,location:!1,jit:!0}),a=Zr(r);return i?a:Tn[o]=a}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Zr(e))}else return Zr(e)}}const Ja=()=>"",nt=e=>ye(e);function Za(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:s,messageCompiler:r,fallbackLocale:i,messages:a}=e,[l,c]=es(...t),u=ce(c.missingWarn)?c.missingWarn:e.missingWarn,f=ce(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=ce(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,w=H(c.default)||ce(c.default)?ce(c.default)?r?l:()=>l:c.default:n?r?l:()=>l:"",k=n||w!=="",D=zr(e,c);h&&xh(c);let[A,T,b]=y?[l,D,a[D]||me()]:Qa(e,l,D,i,f,u),m=A,O=l;if(!y&&!(H(m)||$t(m)||nt(m))&&k&&(m=w,O=m),!y&&(!(H(m)||$t(m)||nt(m))||!H(T)))return s?er:l;let S=!1;const C=()=>{S=!0},E=nt(m)?m:el(e,l,T,m,O,C);if(S)return m;const L=Dh(e,T,b,c),z=ph(L),j=Ph(e,E,z);let V=o?o(j,l):j;if(h&&H(V)&&(V=lf(V)),__INTLIFY_PROD_DEVTOOLS__){const Z={timestamp:Date.now(),key:H(l)?l:nt(m)?m.key:"",locale:T||(nt(m)?m.locale:""),format:H(m)?m:nt(m)?m.source:"",message:V};Z.meta=Re({},e.__meta,Ch()||{}),hh(Z)}return V}function xh(e){Oe(e.list)?e.list=e.list.map(t=>H(t)?da(t):t):fe(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=da(e.named[t]))})}function Qa(e,t,n,o,s,r){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=me(),h,y=null;const w="translate";for(let k=0;ko;return c.locale=n,c.key=t,c}const l=i(o,Mh(e,n,s,o,a,r));return l.locale=n,l.key=t,l.source=o,l}function Ph(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,s=me();if(!H(t)&&!Ae(t)&&!nt(t)&&!$t(t))throw Ot(ut.INVALID_ARGUMENT);const r=Ae(t)?String(t):(nt(t),t);return Ae(n)?s.plural=n:H(n)?s.default=n:re(n)&&!zo(n)?s.named=n:Oe(n)&&(s.list=n),Ae(o)?s.plural=o:H(o)?s.default=o:re(o)&&Re(s,o),[r,s]}function Mh(e,t,n,o,s,r){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw r&&r(i),i},onCacheKey:i=>of(t,n,i)}}function Dh(e,t,n,o){const{modifiers:s,pluralRules:r,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:s,pluralRules:r,messages:y=>{let w=i(n,y);if(w==null&&u){const[,,k]=Qa(u,y,t,a,l,c);w=i(k,y)}if(H(w)||$t(w)){let k=!1;const A=el(e,y,t,w,y,()=>{k=!0});return k?Ja:A}else return nt(w)?w:Ja}};return e.processor&&(h.processor=e.processor),o.list&&(h.list=o.list),o.named&&(h.named=o.named),Ae(o.plural)&&(h.pluralIndex=o.plural),h}function tl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__datetimeFormatters:a}=e,[l,c,u,f]=ts(...t),h=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,w=zr(e,u),k=i(e,s,w);if(!H(l)||l==="")return new Intl.DateTimeFormat(w,f).format(c);let D={},A,T=null;const b="datetime format";for(let S=0;S{nl.includes(l)?i[l]=n[l]:r[l]=n[l]}),H(o)?r.locale=o:re(o)&&(i=o),re(s)&&(i=s),[r.key||"",a,r,i]}function ol(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__datetimeFormatters.has(r)&&o.__datetimeFormatters.delete(r)}}function rl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__numberFormatters:a}=e,[l,c,u,f]=ns(...t),h=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,w=zr(e,u),k=i(e,s,w);if(!H(l)||l==="")return new Intl.NumberFormat(w,f).format(c);let D={},A,T=null;const b="number format";for(let S=0;S{sl.includes(l)?i[l]=n[l]:r[l]=n[l]}),H(o)?r.locale=o:re(o)&&(i=o),re(s)&&(i=s),[r.key||"",a,r,i]}function il(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__numberFormatters.has(r)&&o.__numberFormatters.delete(r)}}Gf();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Bh="9.14.5";function Rh(){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 Wh=_h.__EXTEND_POINT__,Rt=zo(Wh);Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt();const al=ut.__EXTEND_POINT__,ze=zo(al),Ie={UNEXPECTED_RETURN_TYPE:al,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 Nn(e,null,void 0)}const os=Ht("__translateVNode"),rs=Ht("__datetimeParts"),ss=Ht("__numberParts"),ll=Ht("__setPluralRules"),cl=Ht("__injectWithOption"),is=Ht("__dispose");function oo(e){if(!de(e)||kt(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))de(e[t])&&oo(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]||ge(),Xo(c,i[l])):Xo(c,i)}else Y(a)&&Xo(JSON.parse(a),i)}),s==null&&r)for(const a in i)lt(i,a)&&oo(i[a]);return i}function ul(e){return e.type}function pl(e,t,n){let o=de(t.messages)?t.messages:ge();"__i18nGlobal"in n&&(o=er(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const s=Object.keys(o);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,o[r])});{if(de(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(de(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function dl(e){return ke(Vn,null,e,0)}const fl="__INTLIFY_META__",hl=()=>[],Uh=()=>!1;let gl=0;function ml(e){return(t,n,o,s)=>e(n,o,Pt()||void 0,s)}const jh=()=>{const e=Pt();let t=null;return e&&(t=ul(e)[fl])?{[fl]:t}:null};function as(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,i=Ho?ce:No,a=!!e.translateExistCompatible;let l=le(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:Y(e.locale)?e.locale:En),u=i(n&&l?n.fallbackLocale.value:Y(e.fallbackLocale)||Oe(e.fallbackLocale)||oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(er(c.value,e)),g=i(oe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),y=i(oe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let k=n?n.missingWarn:le(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,$=n?n.fallbackWarn:le(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,D=n?n.fallbackRoot:le(e.fallbackRoot)?e.fallbackRoot:!0,E=!!e.fallbackFormat,L=ye(e.missing)?e.missing:null,b=ye(e.missing)?ml(e.missing):null,m=ye(e.postTranslation)?e.postTranslation:null,C=n?n.warnHtmlMessage:le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const O=n?n.modifiers:oe(e.modifiers)?e.modifiers:{};let w=e.pluralRules||n&&n.pluralRules,T;T=(()=>{s&&Ha(null);const N={version:Bh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:O,pluralRules:w,missing:b===null?void 0:b,missingWarn:k,fallbackWarn:$,fallbackFormat:E,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:C,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};N.datetimeFormats=g.value,N.numberFormats=y.value,N.__datetimeFormatters=oe(T)?T.__datetimeFormatters:void 0,N.__numberFormatters=oe(T)?T.__numberFormatters:void 0;const x=Eh(N);return s&&Ha(x),x})(),no(T,c.value,u.value);function te(){return[c.value,u.value,f.value,g.value,y.value]}const q=re({get:()=>c.value,set:N=>{c.value=N,T.locale=c.value}}),ie=re({get:()=>u.value,set:N=>{u.value=N,T.fallbackLocale=u.value,no(T,c.value,N)}}),_e=re(()=>f.value),X=re(()=>g.value),W=re(()=>y.value);function z(){return ye(m)?m:null}function ae(N){m=N,T.postTranslation=N}function Ee(){return L}function Ot(N){N!==null&&(b=ml(N)),L=N,T.missing=b}const Fe=(N,x,J,se,ve,Ve)=>{te();let We;try{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=n?Ah():void 0),We=N(T)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=void 0)}if(J!=="translate exists"&&Ae(We)&&We===Qo||J==="translate exists"&&!We){const[dn,ds]=x();return n&&D?se(n):ve(dn)}else{if(Ve(We))return We;throw Pe(Ie.UNEXPECTED_RETURN_TYPE)}};function Me(...N){return Fe(x=>Reflect.apply(Za,null,[x,...N]),()=>es(...N),"translate",x=>Reflect.apply(x.t,x,[...N]),x=>x,x=>Y(x))}function Qt(...N){const[x,J,se]=N;if(se&&!de(se))throw Pe(Ie.INVALID_ARGUMENT);return Me(x,J,Re({resolvedMessage:!0},se||{}))}function en(...N){return Fe(x=>Reflect.apply(tl,null,[x,...N]),()=>ts(...N),"datetime format",x=>Reflect.apply(x.d,x,[...N]),()=>Ba,x=>Y(x))}function pn(...N){return Fe(x=>Reflect.apply(rl,null,[x,...N]),()=>ns(...N),"number format",x=>Reflect.apply(x.n,x,[...N]),()=>Ba,x=>Y(x))}function pt(N){return N.map(x=>Y(x)||Ae(x)||le(x)?dl(String(x)):x)}const Ut={normalize:pt,interpolate:N=>N,type:"vnode"};function tn(...N){return Fe(x=>{let J;const se=x;try{se.processor=Ut,J=Reflect.apply(Za,null,[se,...N])}finally{se.processor=null}return J},()=>es(...N),"translate",x=>x[os](...N),x=>[dl(x)],x=>Oe(x))}function ot(...N){return Fe(x=>Reflect.apply(rl,null,[x,...N]),()=>ns(...N),"number format",x=>x[ss](...N),hl,x=>Y(x)||Oe(x))}function Ln(...N){return Fe(x=>Reflect.apply(tl,null,[x,...N]),()=>ts(...N),"datetime format",x=>x[rs](...N),hl,x=>Y(x)||Oe(x))}function h(N){w=N,T.pluralRules=w}function v(N,x){return Fe(()=>{if(!N)return!1;const J=Y(x)?x:c.value,se=B(J),ve=T.messageResolver(se,N);return a?ve!=null:kt(ve)||nt(ve)||Y(ve)},()=>[N],"translate exists",J=>Reflect.apply(J.te,J,[N,x]),Uh,J=>le(J))}function _(N){let x=null;const J=Ma(T,u.value,c.value);for(let se=0;se{l&&(c.value=N,T.locale=N,no(T,c.value,u.value))}),St(n.fallbackLocale,N=>{l&&(u.value=N,T.fallbackLocale=N,no(T,c.value,u.value))}));const R={id:gl,locale:q,fallbackLocale:ie,get inheritLocale(){return l},set inheritLocale(N){l=N,N&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,no(T,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:_e,get modifiers(){return O},get pluralRules(){return w||{}},get isGlobal(){return s},get missingWarn(){return k},set missingWarn(N){k=N,T.missingWarn=k},get fallbackWarn(){return $},set fallbackWarn(N){$=N,T.fallbackWarn=$},get fallbackRoot(){return D},set fallbackRoot(N){D=N},get fallbackFormat(){return E},set fallbackFormat(N){E=N,T.fallbackFormat=E},get warnHtmlMessage(){return C},set warnHtmlMessage(N){C=N,T.warnHtmlMessage=N},get escapeParameter(){return S},set escapeParameter(N){S=N,T.escapeParameter=N},t:Me,getLocaleMessage:B,setLocaleMessage:M,mergeLocaleMessage:j,getPostTranslationHandler:z,setPostTranslationHandler:ae,getMissingHandler:Ee,setMissingHandler:Ot,[ll]:h};return R.datetimeFormats=X,R.numberFormats=W,R.rt=Qt,R.te=v,R.tm=I,R.d=en,R.n=pn,R.getDateTimeFormat=U,R.setDateTimeFormat=p,R.mergeDateTimeFormat=d,R.getNumberFormat=A,R.setNumberFormat=F,R.mergeNumberFormat=G,R[cl]=o,R[os]=tn,R[rs]=Ln,R[ss]=ot,R}function Gh(e){const t=Y(e.locale)?e.locale:En,n=Y(e.fallbackLocale)||Oe(e.fallbackLocale)||oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=ye(e.missing)?e.missing:void 0,s=le(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=le(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=le(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=oe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ye(e.postTranslation)?e.postTranslation:void 0,f=Y(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,y=le(e.sync)?e.sync:!0;let k=e.messages;if(oe(e.sharedMessages)){const S=e.sharedMessages;k=Object.keys(S).reduce((w,T)=>{const H=w[T]||(w[T]={});return Re(H,S[T]),w},k||{})}const{__i18n:$,__root:D,__injectWithOption:E}=e,L=e.datetimeFormats,b=e.numberFormats,m=e.flatJson,C=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:k,flatJson:m,datetimeFormats:L,numberFormats:b,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:C,__i18n:$,__root:D,__injectWithOption:E}}function ls(e={},t){{const n=as(Gh(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 le(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=le(r)?!r:r},get silentFallbackWarn(){return le(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=le(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(!Y(i))throw Pe(Ie.INVALID_ARGUMENT);const g=i;return Y(a)?c.locale=a:Oe(a)?u=a:oe(a)&&(f=a),Oe(l)?u=l:oe(l)&&(f=l),Reflect.apply(n.t,n,[g,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(!Y(i))throw Pe(Ie.INVALID_ARGUMENT);const g=i;return Y(a)?c.locale=a:Ae(a)?c.plural=a:Oe(a)?u=a:oe(a)&&(f=a),Y(l)?c.locale=l:Oe(l)?u=l:oe(l)&&(f=l),Reflect.apply(n.t,n,[g,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 cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,s)=>[...o,...s.type===pe?s.children:[s]],[]):t.reduce((n,o)=>{const s=e[o];return s&&(n[o]=s()),n},ge())}function _l(e){return pe}const bl=Un({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ae(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(f=>f!=="_"),i=ge();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=Y(e.plural)?+e.plural:e.plural);const a=Yh(t,r),l=s[os](e.keypath,a,i),c=Re(ge(),o),u=Y(e.tag)||de(e.tag)?e.tag:_l();return Yi(u,c,l)}}});function Vh(e){return Oe(e)&&!Y(e[0])}function yl(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const i={part:!0};let a=ge();e.locale&&(i.locale=e.locale),Y(e.format)?i.key=e.format:de(e.format)&&(Y(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((g,y)=>n.includes(y)?Re(ge(),g,{[y]:e.format[y]}):g,ge()));const l=o(e.value,i,a);let c=[i.key];Oe(l)?c=l.map((g,y)=>{const k=s[g.type],$=k?k({[g.type]:g.value,index:y,parts:l}):[g.value];return Vh($)&&($[0].key=`${g.type}-${y}`),$}):Y(l)&&(c=[l]);const u=Re(ge(),r),f=Y(e.tag)||de(e.tag)?e.tag:_l();return Yi(f,u,c)}}const vl=Un({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return yl(e,t,sl,(...o)=>n[ss](...o))}}),wl=Un({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return yl(e,t,nl,(...o)=>n[rs](...o))}});function Hh(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 qh(e){const t=i=>{const{instance:a,modifiers:l,value:c}=i;if(!a||!a.$)throw Pe(Ie.UNEXPECTED_ERROR);const u=Hh(e,a.$),f=kl(c);return[Reflect.apply(u.t,u,[...$l(f)]),u]};return{created:(i,a)=>{const[l,c]=t(a);Ho&&e.global===c&&(i.__i18nWatcher=St(c.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Ho&&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=kl(a);i.textContent=Reflect.apply(l.t,l,[...$l(c)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function kl(e){if(Y(e))return{path:e};if(oe(e)){if(!("path"in e))throw Pe(Ie.REQUIRED_VALUE,"path");return e}else throw Pe(Ie.INVALID_VALUE)}function $l(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,i={},a=o||{};return Y(n)&&(i.locale=n),Ae(s)&&(i.plural=s),Ae(r)&&(i.plural=r),[t,a,i]}function zh(e,t,...n){const o=oe(n[0])?n[0]:{},s=!!o.useI18nComponentName;(le(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":bl.name,"I18nT"].forEach(i=>e.component(i,bl)),[vl.name,"I18nN"].forEach(i=>e.component(i,vl)),[wl.name,"I18nD"].forEach(i=>e.component(i,wl))),e.directive("t",qh(t))}function Kh(e,t,n){return{beforeCreate(){const o=Pt();if(!o)throw Pe(Ie.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=Ol(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=ls(r);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Ol(e,s);else{this.$i18n=ls({__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&&pl(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(Ie.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 Ol(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[ll](t.pluralizationRules||e.pluralizationRules);const n=er(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 Xh=Ht("global-vue-i18n");function Jh(e={},t){const n=__VUE_I18N_LEGACY_API__&&le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=le(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[i,a]=Zh(e,n),l=Ht("");function c(g){return r.get(g)||null}function u(g,y){r.set(g,y)}function f(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(y,...k){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,g),oe(k[0])){const E=k[0];g.__composerExtend=E.__composerExtend,g.__vueI18nExtend=E.__vueI18nExtend}let $=null;!n&&o&&($=ag(y,g.global)),__VUE_I18N_FULL_INSTALL__&&zh(y,g,...k),__VUE_I18N_LEGACY_API__&&n&&y.mixin(Kh(a,a.__composer,g));const D=y.unmount;y.unmount=()=>{$&&$(),g.dispose(),D()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return g}}function Jt(e={}){const t=Pt();if(t==null)throw Pe(Ie.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Pe(Ie.NOT_INSTALLED);const n=Qh(t),o=tg(n),s=ul(t),r=eg(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Pe(Ie.NOT_AVAILABLE_IN_LEGACY_MODE);return sg(t,r,o,e)}if(r==="global")return pl(o,e,s),o;if(r==="parent"){let l=ng(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=as(l),i.__composerExtend&&(a[is]=i.__composerExtend(a)),rg(i,t,a),i.__setInstance(t,a)}return a}function Zh(e,t,n){const o=lr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>as(e));if(s==null)throw Pe(Ie.UNEXPECTED_ERROR);return[o,s]}}function Qh(e){{const t=He(e.isCE?Xh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Pe(e.isCE?Ie.NOT_INSTALLED_WITH_PROVIDE:Ie.UNEXPECTED_ERROR);return t}}function eg(e,t){return qo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tg(e){return e.mode==="composition"?e.global:e.global.__composer}function ng(e,t,n=!1){let o=null;const s=t.root;let r=og(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[cl]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function og(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rg(e,t,n){Yt(()=>{},t),Po(()=>{const o=n;e.__deleteInstance(t);const s=o[is];s&&(s(),delete o[is])},t)}function sg(e,t,n,o={}){const s=t==="local",r=No(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Pe(Ie.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=le(o.inheritLocale)?o.inheritLocale:!Y(o.locale),a=ce(!s||i?n.locale.value:Y(o.locale)?o.locale:En),l=ce(!s||i?n.fallbackLocale.value:Y(o.fallbackLocale)||Oe(o.fallbackLocale)||oe(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:a.value),c=ce(er(a.value,o)),u=ce(oe(o.datetimeFormats)?o.datetimeFormats:{[a.value]:{}}),f=ce(oe(o.numberFormats)?o.numberFormats:{[a.value]:{}}),g=s?n.missingWarn:le(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,y=s?n.fallbackWarn:le(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,k=s?n.fallbackRoot:le(o.fallbackRoot)?o.fallbackRoot:!0,$=!!o.fallbackFormat,D=ye(o.missing)?o.missing:null,E=ye(o.postTranslation)?o.postTranslation:null,L=s?n.warnHtmlMessage:le(o.warnHtmlMessage)?o.warnHtmlMessage:!0,b=!!o.escapeParameter,m=s?n.modifiers:oe(o.modifiers)?o.modifiers:{},C=o.pluralRules||s&&n.pluralRules;function S(){return[a.value,l.value,c.value,u.value,f.value]}const O=re({get:()=>r.value?r.value.locale.value:a.value,set:_=>{r.value&&(r.value.locale.value=_),a.value=_}}),w=re({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:_=>{r.value&&(r.value.fallbackLocale.value=_),l.value=_}}),T=re(()=>r.value?r.value.messages.value:c.value),H=re(()=>u.value),te=re(()=>f.value);function q(){return r.value?r.value.getPostTranslationHandler():E}function ie(_){r.value&&r.value.setPostTranslationHandler(_)}function _e(){return r.value?r.value.getMissingHandler():D}function X(_){r.value&&r.value.setMissingHandler(_)}function W(_){return S(),_()}function z(..._){return r.value?W(()=>Reflect.apply(r.value.t,null,[..._])):W(()=>"")}function ae(..._){return r.value?Reflect.apply(r.value.rt,null,[..._]):""}function Ee(..._){return r.value?W(()=>Reflect.apply(r.value.d,null,[..._])):W(()=>"")}function Ot(..._){return r.value?W(()=>Reflect.apply(r.value.n,null,[..._])):W(()=>"")}function Fe(_){return r.value?r.value.tm(_):{}}function Me(_,I){return r.value?r.value.te(_,I):!1}function Qt(_){return r.value?r.value.getLocaleMessage(_):{}}function en(_,I){r.value&&(r.value.setLocaleMessage(_,I),c.value[_]=I)}function pn(_,I){r.value&&r.value.mergeLocaleMessage(_,I)}function pt(_){return r.value?r.value.getDateTimeFormat(_):{}}function Wt(_,I){r.value&&(r.value.setDateTimeFormat(_,I),u.value[_]=I)}function Ut(_,I){r.value&&r.value.mergeDateTimeFormat(_,I)}function tn(_){return r.value?r.value.getNumberFormat(_):{}}function ot(_,I){r.value&&(r.value.setNumberFormat(_,I),f.value[_]=I)}function Ln(_,I){r.value&&r.value.mergeNumberFormat(_,I)}const h={get id(){return r.value?r.value.id:-1},locale:O,fallbackLocale:w,messages:T,datetimeFormats:H,numberFormats:te,get inheritLocale(){return r.value?r.value.inheritLocale:i},set inheritLocale(_){r.value&&(r.value.inheritLocale=_)},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:C},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(_){r.value&&(r.value.missingWarn=_)},get fallbackWarn(){return r.value?r.value.fallbackWarn:y},set fallbackWarn(_){r.value&&(r.value.missingWarn=_)},get fallbackRoot(){return r.value?r.value.fallbackRoot:k},set fallbackRoot(_){r.value&&(r.value.fallbackRoot=_)},get fallbackFormat(){return r.value?r.value.fallbackFormat:$},set fallbackFormat(_){r.value&&(r.value.fallbackFormat=_)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:L},set warnHtmlMessage(_){r.value&&(r.value.warnHtmlMessage=_)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(_){r.value&&(r.value.escapeParameter=_)},t:z,getPostTranslationHandler:q,setPostTranslationHandler:ie,getMissingHandler:_e,setMissingHandler:X,rt:ae,d:Ee,n:Ot,tm:Fe,te:Me,getLocaleMessage:Qt,setLocaleMessage:en,mergeLocaleMessage:pn,getDateTimeFormat:pt,setDateTimeFormat:Wt,mergeDateTimeFormat:Ut,getNumberFormat:tn,setNumberFormat:ot,mergeNumberFormat:Ln};function v(_){_.locale.value=a.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(I=>{_.mergeLocaleMessage(I,c.value[I])}),Object.keys(u.value).forEach(I=>{_.mergeDateTimeFormat(I,u.value[I])}),Object.keys(f.value).forEach(I=>{_.mergeNumberFormat(I,f.value[I])}),_.escapeParameter=b,_.fallbackFormat=$,_.fallbackRoot=k,_.fallbackWarn=y,_.missingWarn=g,_.warnHtmlMessage=L}return si(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Pe(Ie.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=r.value=e.proxy.$i18n.__composer;t==="global"?(a.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,u.value=_.datetimeFormats.value,f.value=_.numberFormats.value):s&&v(_)}),h}const ig=["locale","fallbackLocale","availableLocales"],Nl=["t","rt","d","n","tm","te"];function ag(e,t){const n=Object.create(null);return ig.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Pe(Ie.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,Nl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Pe(Ie.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,Nl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Rh(),__INTLIFY_JIT_COMPILATION__?Ua(Fh):Ua(Ih),$h(oh),Oh(Ma),__INTLIFY_PROD_DEVTOOLS__){const e=Dt();e.__INTLIFY__=!0,dh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const lg=Object.assign({"./locales/ar/aria.json":fp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":gp,"./locales/ar/legend.json":mp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":bp,"./locales/ar/prayerLaps.json":yp,"./locales/ar/search.json":vp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Op,"./locales/de/legend.json":Np,"./locales/de/messages.json":Cp,"./locales/de/options.json":Ap,"./locales/de/prayerLaps.json":Ep,"./locales/de/search.json":Tp,"./locales/de/tabs.json":Lp,"./locales/en/aria.json":Sp,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Fp,"./locales/en/legend.json":xp,"./locales/en/messages.json":Pp,"./locales/en/options.json":Mp,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":Bp,"./locales/en/search.json":Rp,"./locales/en/tabs.json":Wp,"./locales/es/aria.json":Up,"./locales/es/buttons.json":jp,"./locales/es/detail.json":Gp,"./locales/es/legend.json":Yp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Hp,"./locales/es/prayerLaps.json":qp,"./locales/es/search.json":zp,"./locales/es/tabs.json":Kp,"./locales/fr/aria.json":Xp,"./locales/fr/buttons.json":Jp,"./locales/fr/detail.json":Zp,"./locales/fr/legend.json":Qp,"./locales/fr/messages.json":ed,"./locales/fr/options.json":td,"./locales/fr/popup.json":nd,"./locales/fr/prayerLaps.json":od,"./locales/fr/search.json":rd,"./locales/fr/tabs.json":sd,"./locales/hi/aria.json":id,"./locales/hi/buttons.json":ad,"./locales/hi/detail.json":ld,"./locales/hi/legend.json":cd,"./locales/hi/messages.json":ud,"./locales/hi/options.json":pd,"./locales/hi/prayerLaps.json":dd,"./locales/hi/search.json":fd,"./locales/it/aria.json":hd,"./locales/it/buttons.json":gd,"./locales/it/detail.json":md,"./locales/it/legend.json":_d,"./locales/it/messages.json":bd,"./locales/it/options.json":yd,"./locales/it/prayerLaps.json":vd,"./locales/it/search.json":wd,"./locales/pt/aria.json":kd,"./locales/pt/buttons.json":$d,"./locales/pt/detail.json":Od,"./locales/pt/legend.json":Nd,"./locales/pt/messages.json":Cd,"./locales/pt/options.json":Ad,"./locales/pt/prayerLaps.json":Ed,"./locales/pt/search.json":Td,"./locales/pt/tabs.json":Ld,"./locales/ro/aria.json":Sd,"./locales/ro/buttons.json":Id,"./locales/ro/detail.json":Fd,"./locales/ro/legend.json":xd,"./locales/ro/messages.json":Pd,"./locales/ro/options.json":Md,"./locales/ro/prayerLaps.json":Dd,"./locales/ro/search.json":Bd,"./locales/ru/aria.json":Rd,"./locales/ru/buttons.json":Wd,"./locales/ru/detail.json":Ud,"./locales/ru/legend.json":jd,"./locales/ru/messages.json":Gd,"./locales/ru/options.json":Yd,"./locales/ru/prayerLaps.json":Vd,"./locales/ru/search.json":Hd,"./locales/ru/tabs.json":qd,"./locales/zh/aria.json":zd,"./locales/zh/buttons.json":Kd,"./locales/zh/detail.json":Xd,"./locales/zh/legend.json":Jd,"./locales/zh/messages.json":Zd,"./locales/zh/options.json":Qd,"./locales/zh/prayerLaps.json":ef,"./locales/zh/search.json":tf}),ro={};for(const[e,t]of Object.entries(lg)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;ro[o]??(ro[o]={}),ro[o][s]=t}const Cl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function cg(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Cl.includes(t)?t:"en"}function ug(){return Jh({legacy:!1,globalInjection:!0,locale:cg(),fallbackLocale:"en",messages:ro,missingWarn:!1,fallbackWarn:!1})}function Zt(e,t){const n=t||pg(e);Yt(()=>{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 pg(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),s=re(()=>{var k;return((k=n==null?void 0:n.value)==null?void 0:k.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 g(){r.value&&(r.value=!1,f(),l&&(l.removeEventListener("pointerdown",y,!0),l=null),i&&(clearTimeout(i),i=null))}function y(){g()}return Yt(()=>{var E,L,b;if(u())return;const k=Pt(),$=(b=(L=(E=k==null?void 0:k.proxy)==null?void 0:E.$el)==null?void 0:L.getRootNode)==null?void 0:b.call(L);if(!$||typeof $.querySelector!="function")return;let D=0;a=setInterval(()=>{D++,$.querySelector("canvas")?(clearInterval(a),a=null,r.value=!0,l=$,$.addEventListener("pointerdown",y,!0),i=setTimeout(g,14e3)):D>40&&(clearInterval(a),a=null)},300)}),wn(()=>{a&&clearInterval(a),i&&clearTimeout(i),l&&l.removeEventListener("pointerdown",y,!0)}),Zt(` + */const Bh="9.14.5";function Rh(){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 Wh=_h.__EXTEND_POINT__,Rt=Ko(Wh);Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt();const al=ut.__EXTEND_POINT__,ze=Ko(al),Ie={UNEXPECTED_RETURN_TYPE:al,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 Nn(e,null,void 0)}const os=Ht("__translateVNode"),rs=Ht("__datetimeParts"),ss=Ht("__numberParts"),ll=Ht("__setPluralRules"),cl=Ht("__injectWithOption"),is=Ht("__dispose");function ro(e){if(!fe(e)||$t(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))fe(e[t])&&ro(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(),Jo(c,i[l])):Jo(c,i)}else H(a)&&Jo(JSON.parse(a),i)}),s==null&&r)for(const a in i)lt(i,a)&&ro(i[a]);return i}function ul(e){return e.type}function pl(e,t,n){let o=fe(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=tr(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 dl(e){return ke(Hn,null,e,0)}const fl="__INTLIFY_META__",hl=()=>[],Uh=()=>!1;let gl=0;function ml(e){return(t,n,o,s)=>e(n,o,Pt()||void 0,s)}const jh=()=>{const e=Pt();let t=null;return e&&(t=ul(e)[fl])?{[fl]:t}:null};function as(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,i=qo?le:No,a=!!e.translateExistCompatible;let l=ce(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:H(e.locale)?e.locale:En),u=i(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||Oe(e.fallbackLocale)||re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(tr(c.value,e)),h=i(re(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),y=i(re(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=n?n.missingWarn:ce(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,k=n?n.fallbackWarn:ce(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,D=n?n.fallbackRoot:ce(e.fallbackRoot)?e.fallbackRoot:!0,A=!!e.fallbackFormat,T=ye(e.missing)?e.missing:null,b=ye(e.missing)?ml(e.missing):null,m=ye(e.postTranslation)?e.postTranslation:null,O=n?n.warnHtmlMessage:ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const C=n?n.modifiers:re(e.modifiers)?e.modifiers:{};let E=e.pluralRules||n&&n.pluralRules,L;L=(()=>{s&&Ha(null);const $={version:Bh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:C,pluralRules:E,missing:b===null?void 0:b,missingWarn:w,fallbackWarn:k,fallbackFormat:A,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:O,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};$.datetimeFormats=h.value,$.numberFormats=y.value,$.__datetimeFormatters=re(L)?L.__datetimeFormatters:void 0,$.__numberFormatters=re(L)?L.__numberFormatters:void 0;const x=Eh($);return s&&Ha(x),x})(),oo(L,c.value,u.value);function j(){return[c.value,u.value,f.value,h.value,y.value]}const V=se({get:()=>c.value,set:$=>{c.value=$,L.locale=c.value}}),Z=se({get:()=>u.value,set:$=>{u.value=$,L.fallbackLocale=u.value,oo(L,c.value,$)}}),ue=se(()=>f.value),K=se(()=>h.value),W=se(()=>y.value);function X(){return ye(m)?m:null}function ae($){m=$,L.postTranslation=$}function Ee(){return T}function Nt($){$!==null&&(b=ml($)),T=$,L.missing=b}const Fe=($,x,Q,ie,ve,Ve)=>{j();let We;try{__INTLIFY_PROD_DEVTOOLS__,s||(L.fallbackContext=n?Ah():void 0),We=$(L)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(L.fallbackContext=void 0)}if(Q!=="translate exists"&&Ae(We)&&We===er||Q==="translate exists"&&!We){const[dn,ds]=x();return n&&D?ie(n):ve(dn)}else{if(Ve(We))return We;throw Pe(Ie.UNEXPECTED_RETURN_TYPE)}};function Me(...$){return Fe(x=>Reflect.apply(Za,null,[x,...$]),()=>es(...$),"translate",x=>Reflect.apply(x.t,x,[...$]),x=>x,x=>H(x))}function Qt(...$){const[x,Q,ie]=$;if(ie&&!fe(ie))throw Pe(Ie.INVALID_ARGUMENT);return Me(x,Q,Re({resolvedMessage:!0},ie||{}))}function en(...$){return Fe(x=>Reflect.apply(tl,null,[x,...$]),()=>ts(...$),"datetime format",x=>Reflect.apply(x.d,x,[...$]),()=>Ba,x=>H(x))}function pn(...$){return Fe(x=>Reflect.apply(rl,null,[x,...$]),()=>ns(...$),"number format",x=>Reflect.apply(x.n,x,[...$]),()=>Ba,x=>H(x))}function pt($){return $.map(x=>H(x)||Ae(x)||ce(x)?dl(String(x)):x)}const Ut={normalize:pt,interpolate:$=>$,type:"vnode"};function tn(...$){return Fe(x=>{let Q;const ie=x;try{ie.processor=Ut,Q=Reflect.apply(Za,null,[ie,...$])}finally{ie.processor=null}return Q},()=>es(...$),"translate",x=>x[os](...$),x=>[dl(x)],x=>Oe(x))}function ot(...$){return Fe(x=>Reflect.apply(rl,null,[x,...$]),()=>ns(...$),"number format",x=>x[ss](...$),hl,x=>H(x)||Oe(x))}function Ln(...$){return Fe(x=>Reflect.apply(tl,null,[x,...$]),()=>ts(...$),"datetime format",x=>x[rs](...$),hl,x=>H(x)||Oe(x))}function g($){E=$,L.pluralRules=E}function v($,x){return Fe(()=>{if(!$)return!1;const Q=H(x)?x:c.value,ie=B(Q),ve=L.messageResolver(ie,$);return a?ve!=null:$t(ve)||nt(ve)||H(ve)},()=>[$],"translate exists",Q=>Reflect.apply(Q.te,Q,[$,x]),Uh,Q=>ce(Q))}function _($){let x=null;const Q=Ma(L,u.value,c.value);for(let ie=0;ie{l&&(c.value=$,L.locale=$,oo(L,c.value,u.value))}),yt(n.fallbackLocale,$=>{l&&(u.value=$,L.fallbackLocale=$,oo(L,c.value,u.value))}));const R={id:gl,locale:V,fallbackLocale:Z,get inheritLocale(){return l},set inheritLocale($){l=$,$&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,oo(L,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:ue,get modifiers(){return C},get pluralRules(){return E||{}},get isGlobal(){return s},get missingWarn(){return w},set missingWarn($){w=$,L.missingWarn=w},get fallbackWarn(){return k},set fallbackWarn($){k=$,L.fallbackWarn=k},get fallbackRoot(){return D},set fallbackRoot($){D=$},get fallbackFormat(){return A},set fallbackFormat($){A=$,L.fallbackFormat=A},get warnHtmlMessage(){return O},set warnHtmlMessage($){O=$,L.warnHtmlMessage=$},get escapeParameter(){return S},set escapeParameter($){S=$,L.escapeParameter=$},t:Me,getLocaleMessage:B,setLocaleMessage:M,mergeLocaleMessage:G,getPostTranslationHandler:X,setPostTranslationHandler:ae,getMissingHandler:Ee,setMissingHandler:Nt,[ll]:g};return R.datetimeFormats=K,R.numberFormats=W,R.rt=Qt,R.te=v,R.tm=I,R.d=en,R.n=pn,R.getDateTimeFormat=U,R.setDateTimeFormat=p,R.mergeDateTimeFormat=d,R.getNumberFormat=N,R.setNumberFormat=F,R.mergeNumberFormat=Y,R[cl]=o,R[os]=tn,R[rs]=Ln,R[ss]=ot,R}function Gh(e){const t=H(e.locale)?e.locale:En,n=H(e.fallbackLocale)||Oe(e.fallbackLocale)||re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=ye(e.missing)?e.missing:void 0,s=ce(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ce(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=ce(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=re(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ye(e.postTranslation)?e.postTranslation:void 0,f=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,y=ce(e.sync)?e.sync:!0;let w=e.messages;if(re(e.sharedMessages)){const S=e.sharedMessages;w=Object.keys(S).reduce((E,L)=>{const z=E[L]||(E[L]={});return Re(z,S[L]),E},w||{})}const{__i18n:k,__root:D,__injectWithOption:A}=e,T=e.datetimeFormats,b=e.numberFormats,m=e.flatJson,O=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:w,flatJson:m,datetimeFormats:T,numberFormats:b,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:O,__i18n:k,__root:D,__injectWithOption:A}}function ls(e={},t){{const n=as(Gh(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 ce(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=ce(r)?!r:r},get silentFallbackWarn(){return ce(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=ce(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(!H(i))throw Pe(Ie.INVALID_ARGUMENT);const h=i;return H(a)?c.locale=a:Oe(a)?u=a:re(a)&&(f=a),Oe(l)?u=l:re(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(!H(i))throw Pe(Ie.INVALID_ARGUMENT);const h=i;return H(a)?c.locale=a:Ae(a)?c.plural=a:Oe(a)?u=a:re(a)&&(f=a),H(l)?c.locale=l:Oe(l)?u=l:re(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 cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yh({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 _l(e){return de}const bl=jn({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ae(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||Jt({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=H(e.plural)?+e.plural:e.plural);const a=Yh(t,r),l=s[os](e.keypath,a,i),c=Re(me(),o),u=H(e.tag)||fe(e.tag)?e.tag:_l();return Yi(u,c,l)}}});function Vh(e){return Oe(e)&&!H(e[0])}function yl(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const i={part:!0};let a=me();e.locale&&(i.locale=e.locale),H(e.format)?i.key=e.format:fe(e.format)&&(H(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((h,y)=>n.includes(y)?Re(me(),h,{[y]:e.format[y]}):h,me()));const l=o(e.value,i,a);let c=[i.key];Oe(l)?c=l.map((h,y)=>{const w=s[h.type],k=w?w({[h.type]:h.value,index:y,parts:l}):[h.value];return Vh(k)&&(k[0].key=`${h.type}-${y}`),k}):H(l)&&(c=[l]);const u=Re(me(),r),f=H(e.tag)||fe(e.tag)?e.tag:_l();return Yi(f,u,c)}}const vl=jn({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return yl(e,t,sl,(...o)=>n[ss](...o))}}),wl=jn({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return yl(e,t,nl,(...o)=>n[rs](...o))}});function Hh(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 qh(e){const t=i=>{const{instance:a,modifiers:l,value:c}=i;if(!a||!a.$)throw Pe(Ie.UNEXPECTED_ERROR);const u=Hh(e,a.$),f=kl(c);return[Reflect.apply(u.t,u,[...$l(f)]),u]};return{created:(i,a)=>{const[l,c]=t(a);qo&&e.global===c&&(i.__i18nWatcher=yt(c.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{qo&&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=kl(a);i.textContent=Reflect.apply(l.t,l,[...$l(c)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function kl(e){if(H(e))return{path:e};if(re(e)){if(!("path"in e))throw Pe(Ie.REQUIRED_VALUE,"path");return e}else throw Pe(Ie.INVALID_VALUE)}function $l(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,i={},a=o||{};return H(n)&&(i.locale=n),Ae(s)&&(i.plural=s),Ae(r)&&(i.plural=r),[t,a,i]}function zh(e,t,...n){const o=re(n[0])?n[0]:{},s=!!o.useI18nComponentName;(ce(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":bl.name,"I18nT"].forEach(i=>e.component(i,bl)),[vl.name,"I18nN"].forEach(i=>e.component(i,vl)),[wl.name,"I18nD"].forEach(i=>e.component(i,wl))),e.directive("t",qh(t))}function Kh(e,t,n){return{beforeCreate(){const o=Pt();if(!o)throw Pe(Ie.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=Ol(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=ls(r);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Ol(e,s);else{this.$i18n=ls({__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&&pl(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(Ie.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 Ol(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[ll](t.pluralizationRules||e.pluralizationRules);const n=tr(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 Xh=Ht("global-vue-i18n");function Jh(e={},t){const n=__VUE_I18N_LEGACY_API__&&ce(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ce(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[i,a]=Zh(e,n),l=Ht("");function c(h){return r.get(h)||null}function u(h,y){r.set(h,y)}function f(h){r.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(y,...w){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,h),re(w[0])){const A=w[0];h.__composerExtend=A.__composerExtend,h.__vueI18nExtend=A.__vueI18nExtend}let k=null;!n&&o&&(k=ag(y,h.global)),__VUE_I18N_FULL_INSTALL__&&zh(y,h,...w),__VUE_I18N_LEGACY_API__&&n&&y.mixin(Kh(a,a.__composer,h));const D=y.unmount;y.unmount=()=>{k&&k(),h.dispose(),D()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return h}}function Jt(e={}){const t=Pt();if(t==null)throw Pe(Ie.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Pe(Ie.NOT_INSTALLED);const n=Qh(t),o=tg(n),s=ul(t),r=eg(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Pe(Ie.NOT_AVAILABLE_IN_LEGACY_MODE);return sg(t,r,o,e)}if(r==="global")return pl(o,e,s),o;if(r==="parent"){let l=ng(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=as(l),i.__composerExtend&&(a[is]=i.__composerExtend(a)),rg(i,t,a),i.__setInstance(t,a)}return a}function Zh(e,t,n){const o=cr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>as(e));if(s==null)throw Pe(Ie.UNEXPECTED_ERROR);return[o,s]}}function Qh(e){{const t=He(e.isCE?Xh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Pe(e.isCE?Ie.NOT_INSTALLED_WITH_PROVIDE:Ie.UNEXPECTED_ERROR);return t}}function eg(e,t){return zo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tg(e){return e.mode==="composition"?e.global:e.global.__composer}function ng(e,t,n=!1){let o=null;const s=t.root;let r=og(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[cl]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function og(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rg(e,t,n){Yt(()=>{},t),Mo(()=>{const o=n;e.__deleteInstance(t);const s=o[is];s&&(s(),delete o[is])},t)}function sg(e,t,n,o={}){const s=t==="local",r=No(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Pe(Ie.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=ce(o.inheritLocale)?o.inheritLocale:!H(o.locale),a=le(!s||i?n.locale.value:H(o.locale)?o.locale:En),l=le(!s||i?n.fallbackLocale.value:H(o.fallbackLocale)||Oe(o.fallbackLocale)||re(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:a.value),c=le(tr(a.value,o)),u=le(re(o.datetimeFormats)?o.datetimeFormats:{[a.value]:{}}),f=le(re(o.numberFormats)?o.numberFormats:{[a.value]:{}}),h=s?n.missingWarn:ce(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,y=s?n.fallbackWarn:ce(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,w=s?n.fallbackRoot:ce(o.fallbackRoot)?o.fallbackRoot:!0,k=!!o.fallbackFormat,D=ye(o.missing)?o.missing:null,A=ye(o.postTranslation)?o.postTranslation:null,T=s?n.warnHtmlMessage:ce(o.warnHtmlMessage)?o.warnHtmlMessage:!0,b=!!o.escapeParameter,m=s?n.modifiers:re(o.modifiers)?o.modifiers:{},O=o.pluralRules||s&&n.pluralRules;function S(){return[a.value,l.value,c.value,u.value,f.value]}const C=se({get:()=>r.value?r.value.locale.value:a.value,set:_=>{r.value&&(r.value.locale.value=_),a.value=_}}),E=se({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:_=>{r.value&&(r.value.fallbackLocale.value=_),l.value=_}}),L=se(()=>r.value?r.value.messages.value:c.value),z=se(()=>u.value),j=se(()=>f.value);function V(){return r.value?r.value.getPostTranslationHandler():A}function Z(_){r.value&&r.value.setPostTranslationHandler(_)}function ue(){return r.value?r.value.getMissingHandler():D}function K(_){r.value&&r.value.setMissingHandler(_)}function W(_){return S(),_()}function X(..._){return r.value?W(()=>Reflect.apply(r.value.t,null,[..._])):W(()=>"")}function ae(..._){return r.value?Reflect.apply(r.value.rt,null,[..._]):""}function Ee(..._){return r.value?W(()=>Reflect.apply(r.value.d,null,[..._])):W(()=>"")}function Nt(..._){return r.value?W(()=>Reflect.apply(r.value.n,null,[..._])):W(()=>"")}function Fe(_){return r.value?r.value.tm(_):{}}function Me(_,I){return r.value?r.value.te(_,I):!1}function Qt(_){return r.value?r.value.getLocaleMessage(_):{}}function en(_,I){r.value&&(r.value.setLocaleMessage(_,I),c.value[_]=I)}function pn(_,I){r.value&&r.value.mergeLocaleMessage(_,I)}function pt(_){return r.value?r.value.getDateTimeFormat(_):{}}function Wt(_,I){r.value&&(r.value.setDateTimeFormat(_,I),u.value[_]=I)}function Ut(_,I){r.value&&r.value.mergeDateTimeFormat(_,I)}function tn(_){return r.value?r.value.getNumberFormat(_):{}}function ot(_,I){r.value&&(r.value.setNumberFormat(_,I),f.value[_]=I)}function Ln(_,I){r.value&&r.value.mergeNumberFormat(_,I)}const g={get id(){return r.value?r.value.id:-1},locale:C,fallbackLocale:E,messages:L,datetimeFormats:z,numberFormats:j,get inheritLocale(){return r.value?r.value.inheritLocale:i},set inheritLocale(_){r.value&&(r.value.inheritLocale=_)},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:O},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:h},set missingWarn(_){r.value&&(r.value.missingWarn=_)},get fallbackWarn(){return r.value?r.value.fallbackWarn:y},set fallbackWarn(_){r.value&&(r.value.missingWarn=_)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(_){r.value&&(r.value.fallbackRoot=_)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(_){r.value&&(r.value.fallbackFormat=_)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:T},set warnHtmlMessage(_){r.value&&(r.value.warnHtmlMessage=_)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(_){r.value&&(r.value.escapeParameter=_)},t:X,getPostTranslationHandler:V,setPostTranslationHandler:Z,getMissingHandler:ue,setMissingHandler:K,rt:ae,d:Ee,n:Nt,tm:Fe,te:Me,getLocaleMessage:Qt,setLocaleMessage:en,mergeLocaleMessage:pn,getDateTimeFormat:pt,setDateTimeFormat:Wt,mergeDateTimeFormat:Ut,getNumberFormat:tn,setNumberFormat:ot,mergeNumberFormat:Ln};function v(_){_.locale.value=a.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(I=>{_.mergeLocaleMessage(I,c.value[I])}),Object.keys(u.value).forEach(I=>{_.mergeDateTimeFormat(I,u.value[I])}),Object.keys(f.value).forEach(I=>{_.mergeNumberFormat(I,f.value[I])}),_.escapeParameter=b,_.fallbackFormat=k,_.fallbackRoot=w,_.fallbackWarn=y,_.missingWarn=h,_.warnHtmlMessage=T}return si(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Pe(Ie.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=r.value=e.proxy.$i18n.__composer;t==="global"?(a.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,u.value=_.datetimeFormats.value,f.value=_.numberFormats.value):s&&v(_)}),g}const ig=["locale","fallbackLocale","availableLocales"],Nl=["t","rt","d","n","tm","te"];function ag(e,t){const n=Object.create(null);return ig.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Pe(Ie.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,Nl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Pe(Ie.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,Nl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Rh(),__INTLIFY_JIT_COMPILATION__?Ua(Fh):Ua(Ih),$h(oh),Oh(Ma),__INTLIFY_PROD_DEVTOOLS__){const e=Dt();e.__INTLIFY__=!0,dh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const lg=Object.assign({"./locales/ar/aria.json":fp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":gp,"./locales/ar/legend.json":mp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":bp,"./locales/ar/prayerLaps.json":yp,"./locales/ar/search.json":vp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Op,"./locales/de/legend.json":Np,"./locales/de/messages.json":Cp,"./locales/de/options.json":Ap,"./locales/de/prayerLaps.json":Ep,"./locales/de/search.json":Tp,"./locales/de/tabs.json":Lp,"./locales/en/aria.json":Sp,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Fp,"./locales/en/legend.json":xp,"./locales/en/messages.json":Pp,"./locales/en/options.json":Mp,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":Bp,"./locales/en/search.json":Rp,"./locales/en/tabs.json":Wp,"./locales/es/aria.json":Up,"./locales/es/buttons.json":jp,"./locales/es/detail.json":Gp,"./locales/es/legend.json":Yp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Hp,"./locales/es/prayerLaps.json":qp,"./locales/es/search.json":zp,"./locales/es/tabs.json":Kp,"./locales/fr/aria.json":Xp,"./locales/fr/buttons.json":Jp,"./locales/fr/detail.json":Zp,"./locales/fr/legend.json":Qp,"./locales/fr/messages.json":ed,"./locales/fr/options.json":td,"./locales/fr/popup.json":nd,"./locales/fr/prayerLaps.json":od,"./locales/fr/search.json":rd,"./locales/fr/tabs.json":sd,"./locales/hi/aria.json":id,"./locales/hi/buttons.json":ad,"./locales/hi/detail.json":ld,"./locales/hi/legend.json":cd,"./locales/hi/messages.json":ud,"./locales/hi/options.json":pd,"./locales/hi/prayerLaps.json":dd,"./locales/hi/search.json":fd,"./locales/it/aria.json":hd,"./locales/it/buttons.json":gd,"./locales/it/detail.json":md,"./locales/it/legend.json":_d,"./locales/it/messages.json":bd,"./locales/it/options.json":yd,"./locales/it/prayerLaps.json":vd,"./locales/it/search.json":wd,"./locales/pt/aria.json":kd,"./locales/pt/buttons.json":$d,"./locales/pt/detail.json":Od,"./locales/pt/legend.json":Nd,"./locales/pt/messages.json":Cd,"./locales/pt/options.json":Ad,"./locales/pt/prayerLaps.json":Ed,"./locales/pt/search.json":Td,"./locales/pt/tabs.json":Ld,"./locales/ro/aria.json":Sd,"./locales/ro/buttons.json":Id,"./locales/ro/detail.json":Fd,"./locales/ro/legend.json":xd,"./locales/ro/messages.json":Pd,"./locales/ro/options.json":Md,"./locales/ro/prayerLaps.json":Dd,"./locales/ro/search.json":Bd,"./locales/ru/aria.json":Rd,"./locales/ru/buttons.json":Wd,"./locales/ru/detail.json":Ud,"./locales/ru/legend.json":jd,"./locales/ru/messages.json":Gd,"./locales/ru/options.json":Yd,"./locales/ru/prayerLaps.json":Vd,"./locales/ru/search.json":Hd,"./locales/ru/tabs.json":qd,"./locales/zh/aria.json":zd,"./locales/zh/buttons.json":Kd,"./locales/zh/detail.json":Xd,"./locales/zh/legend.json":Jd,"./locales/zh/messages.json":Zd,"./locales/zh/options.json":Qd,"./locales/zh/prayerLaps.json":ef,"./locales/zh/search.json":tf}),so={};for(const[e,t]of Object.entries(lg)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;so[o]??(so[o]={}),so[o][s]=t}const Cl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function cg(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Cl.includes(t)?t:"en"}function ug(){return Jh({legacy:!1,globalInjection:!0,locale:cg(),fallbackLocale:"en",messages:so,missingWarn:!1,fallbackWarn:!1})}function Zt(e,t){const n=t||pg(e);Yt(()=>{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 pg(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),s=se(()=>{var w;return((w=n==null?void 0:n.value)==null?void 0:w.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=le(!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",y,!0),l=null),i&&(clearTimeout(i),i=null))}function y(){h()}return Yt(()=>{var A,T,b;if(u())return;const w=Pt(),k=(b=(T=(A=w==null?void 0:w.proxy)==null?void 0:A.$el)==null?void 0:T.getRootNode)==null?void 0:b.call(T);if(!k||typeof k.querySelector!="function")return;let D=0;a=setInterval(()=>{D++,k.querySelector("canvas")?(clearInterval(a),a=null,r.value=!0,l=k,k.addEventListener("pointerdown",y,!0),i=setTimeout(h,14e3)):D>40&&(clearInterval(a),a=null)},300)}),wn(()=>{a&&clearInterval(a),i&&clearTimeout(i),l&&l.removeEventListener("pointerdown",y,!0)}),Zt(` .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"),(k,$)=>r.value?(V(),K("div",{key:0,class:Le(["pin-hint",{dark:o.value}]),role:"status"},[P("span",dg,[$[0]||($[0]=P("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$e(" "+Z(s.value)+" ",1),P("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):Te("",!0)}};let hg=0;const gg=Yr("ui",{state:()=>({_storeInstanceId:++hg,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)}))}}}),mg=Yr("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()}}}),_g=Yr("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]=gn({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]=gn({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}}}),bg={activeSource:"pray-tools"},yg=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},vg={class:"profile-loader"},wg={key:0,class:"profile-error"},kg={key:1,class:"profile-error"},$g=yg({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=re(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),s=re(()=>{var m;return((m=o.value)==null?void 0:m.profile)||null}),r=re(()=>{var m;return((m=o.value)==null?void 0:m.tk)||""}),i=re(()=>{var m;return((m=o.value)==null?void 0:m.dataSource)||bg.activeSource}),a=re(()=>{var m;return((m=o.value)==null?void 0:m.colorSet)||"default"}),l=re(()=>!1),c=re(()=>{var m;return((m=o.value)==null?void 0:m.pinHint)!==!1}),u=re(()=>{var C,S;const m=(((C=o.value)==null?void 0:C.locale)||((S=o.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return Cl.includes(m)?m:""}),f=He("appI18n",null);Cc(()=>{u.value&&f&&(f.global.locale.value=u.value)});const g=re(()=>{var m,C;return u.value||((C=(m=f==null?void 0:f.global)==null?void 0:m.locale)==null?void 0:C.value)||"en"}),y=re(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),k=He("profileModules",null);if(!k)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const $=re(()=>{if(!s.value)return null;const m=`./${s.value}.vue`;return k[m]?Sc(k[m]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(k)),null)});bt("mapboxToken",r),bt("dataSource",i),bt("colorSet",a),bt("profileConfig",o),bt("instanceId",y),bt("lang",g);const D=gg(),E=mg(),L=_g();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((b=D.setTheme)==null||b.call(D,m))}catch{}return bt("uiStore",D),bt("mapStore",E),bt("dataStore",L),(m,C)=>(V(),K("div",vg,[o.value?$.value?(V(),tt(ai($.value),{key:2})):(V(),K("div",kg,[P("p",null,[C[1]||(C[1]=$e("⚠️ Profile ",-1)),P("strong",null,'"'+Z(s.value)+'"',1),C[2]||(C[2]=$e(" not found.",-1))])])):(V(),K("div",wg,[...C[0]||(C[0]=[P("p",null,[$e("⚠️ "),P("strong",null,"doxa-map"),$e(": missing or invalid "),P("code",null,"profile-config"),$e(" prop.")],-1),P("p",null,[$e("Example: "),P("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),$.value&&l.value?(V(),tt(ai(et(null)),{key:3})):Te("",!0),$.value&&c.value?(V(),tt(fg,{key:4})):Te("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),Og=Object.assign({"./connectivity-list.vue":()=>nr(()=>Promise.resolve().then(()=>Ug),void 0),"./connectivity-map.vue":()=>nr(()=>Promise.resolve().then(()=>Sm),void 0),"./data-tables.vue":()=>nr(()=>Promise.resolve().then(()=>e_),void 0)});function Ng(){return Zu($g,{configureApp(e){e.use(ap()),e.use(ug()),e.provide("profileModules",Og)}})}const Cg=Ng();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Cg));const Ag={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"}}]},Eg={class:"ci-tot"},Tg={class:"ci-chip"},Lg={class:"ci-chip"},Sg={class:"ci-chip"},Ig={class:"ci-chip"},Fg=["onClick"],xg={class:"sec-name"},Pg={class:"sec-meta"},Mg={class:"r-name"},Dg={class:"r-sub"},Bg={class:"r-num"},Rg={class:"r-sub"},Wg={class:"r-num"},Ug=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=He("profileConfig",ce(null)),n=re(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=re(()=>Ag.countries||[]),s=re(()=>{const f=new Map;for(const g of o.value){const y=g.region||"Other";f.has(y)||f.set(y,[]),f.get(y).push(g)}return[...f.entries()].map(([g,y])=>({name:g,items:y.slice().sort((k,$)=>$.people_groups-k.people_groups),groups:y.reduce((k,$)=>k+$.people_groups,0),unknown:y.filter(k=>k.internet_access==="unknown").length})).sort((g,y)=>y.groups-g.groups)}),r=ce({}),i=f=>!!r.value[f],a=f=>{r.value={...r.value,[f]:!r.value[f]}},l=re(()=>{const f=o.value;return{countries:f.length,resolved:f.filter(g=>g.internet_access!=="unknown").length,unknown:f.filter(g=>g.internet_access==="unknown").length,low:f.filter(g=>g.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 Zt(".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,g)=>(V(),K("div",{class:Le(["ci",{"is-dark":n.value}])},[g[1]||(g[1]=P("h2",{class:"ci-h"},"Cities with Internet",-1)),g[2]||(g[2]=P("p",{class:"ci-sub"},[$e(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),P("strong",null,"unknown means unmeasured, never assumed"),$e(". ")],-1)),P("div",Eg,[P("span",Tg,Z(l.value.countries)+" countries",1),P("span",Lg,Z(l.value.resolved)+" measured",1),P("span",Sg,Z(l.value.unknown)+" unknown",1),P("span",Ig,Z(l.value.low)+" low-connectivity",1)]),(V(!0),K(pe,null,at(s.value,y=>(V(),K("section",{key:y.name,class:"sec"},[P("button",{type:"button",class:"sec-head",onClick:k=>a(y.name)},[P("span",{class:Le(["sec-caret",{open:!i(y.name)}])},"▶",2),P("h3",xg,Z(y.name),1),P("span",Pg,[$e(Z(y.items.length)+" countries · "+Z(y.groups.toLocaleString())+" people groups ",1),y.unknown?(V(),K(pe,{key:0},[$e(" · "+Z(y.unknown)+" unmeasured",1)],64)):Te("",!0)])],8,Fg),kc(P("div",null,[(V(!0),K(pe,null,at(y.items,k=>(V(),K("div",{key:k.iso3,class:"row"},[P("div",null,[P("div",Mg,Z(k.country),1),P("div",Dg,[$e(Z(k.people_groups)+" people groups · "+Z(k.clusters)+" locations ",1),k.multi?(V(),K(pe,{key:0},[$e(" · "+Z(k.multi)+" population centres",1)],64)):Te("",!0)])]),P("div",Bg,[k.internet_pct!==null&&k.internet_pct!==void 0?(V(),K(pe,{key:0},[$e(Z(k.internet_pct)+"% ",1),P("div",Rg,Z(k.internet_year),1)],64)):(V(),K(pe,{key:1},[$e("—")],64))]),P("div",Wg,[k.mobile_per_100!==null&&k.mobile_per_100!==void 0?(V(),K(pe,{key:0},[$e(Z(k.mobile_per_100)+" ",1),g[0]||(g[0]=P("div",{class:"r-sub"},"mob/100",-1))],64)):(V(),K(pe,{key:1},[$e("—")],64))]),P("span",{class:Le(["pill",c(k.internet_access)])},Z(u(k.internet_access)),3)]))),128))],512),[[xu,!i(y.name)]])]))),128)),g[3]||(g[3]=P("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"})),us={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 jg(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(us.boundaries),o&&(r.push(us.mapbox),r.push(us.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 Gg={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return Zt(` +`,"pin-hint"),(w,k)=>r.value?(q(),J("div",{key:0,class:Le(["pin-hint",{dark:o.value}]),role:"status"},[P("span",dg,[k[0]||(k[0]=P("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$e(" "+ee(s.value)+" ",1),P("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:h},"×")])],2)):Te("",!0)}};let hg=0;const gg=Yr("ui",{state:()=>({_storeInstanceId:++hg,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)}))}}}),mg=Yr("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()}}}),_g=Yr("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]=gn({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]=gn({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}}}),bg={activeSource:"pray-tools"},yg=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},vg={class:"profile-loader"},wg={key:0,class:"profile-error"},kg={key:1,class:"profile-error"},$g=yg({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=se(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),s=se(()=>{var m;return((m=o.value)==null?void 0:m.profile)||null}),r=se(()=>{var m;return((m=o.value)==null?void 0:m.tk)||""}),i=se(()=>{var m;return((m=o.value)==null?void 0:m.dataSource)||bg.activeSource}),a=se(()=>{var m;return((m=o.value)==null?void 0:m.colorSet)||"default"}),l=se(()=>!1),c=se(()=>{var m;return((m=o.value)==null?void 0:m.pinHint)!==!1}),u=se(()=>{var O,S;const m=(((O=o.value)==null?void 0:O.locale)||((S=o.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return Cl.includes(m)?m:""}),f=He("appI18n",null);Cc(()=>{u.value&&f&&(f.global.locale.value=u.value)});const h=se(()=>{var m,O;return u.value||((O=(m=f==null?void 0:f.global)==null?void 0:m.locale)==null?void 0:O.value)||"en"}),y=se(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),w=He("profileModules",null);if(!w)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const k=se(()=>{if(!s.value)return null;const m=`./${s.value}.vue`;return w[m]?Sc(w[m]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(w)),null)});bt("mapboxToken",r),bt("dataSource",i),bt("colorSet",a),bt("profileConfig",o),bt("instanceId",y),bt("lang",h);const D=gg(),A=mg(),T=_g();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((b=D.setTheme)==null||b.call(D,m))}catch{}return bt("uiStore",D),bt("mapStore",A),bt("dataStore",T),(m,O)=>(q(),J("div",vg,[o.value?k.value?(q(),tt(ai(k.value),{key:2})):(q(),J("div",kg,[P("p",null,[O[1]||(O[1]=$e("⚠️ Profile ",-1)),P("strong",null,'"'+ee(s.value)+'"',1),O[2]||(O[2]=$e(" not found.",-1))])])):(q(),J("div",wg,[...O[0]||(O[0]=[P("p",null,[$e("⚠️ "),P("strong",null,"doxa-map"),$e(": missing or invalid "),P("code",null,"profile-config"),$e(" prop.")],-1),P("p",null,[$e("Example: "),P("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),k.value&&l.value?(q(),tt(ai(et(null)),{key:3})):Te("",!0),k.value&&c.value?(q(),tt(fg,{key:4})):Te("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),Og=Object.assign({"./connectivity-list.vue":()=>or(()=>Promise.resolve().then(()=>Ug),void 0),"./connectivity-map.vue":()=>or(()=>Promise.resolve().then(()=>Lm),void 0),"./data-tables.vue":()=>or(()=>Promise.resolve().then(()=>Qm),void 0)});function Ng(){return Zu($g,{configureApp(e){e.use(ap()),e.use(ug()),e.provide("profileModules",Og)}})}const Cg=Ng();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Cg));const Ag={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"}}]},Eg={class:"ci-tot"},Tg={class:"ci-chip"},Lg={class:"ci-chip"},Sg={class:"ci-chip"},Ig={class:"ci-chip"},Fg=["onClick"],xg={class:"sec-name"},Pg={class:"sec-meta"},Mg={class:"r-name"},Dg={class:"r-sub"},Bg={class:"r-num"},Rg={class:"r-sub"},Wg={class:"r-num"},Ug=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=He("profileConfig",le(null)),n=se(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=se(()=>Ag.countries||[]),s=se(()=>{const f=new Map;for(const h of o.value){const y=h.region||"Other";f.has(y)||f.set(y,[]),f.get(y).push(h)}return[...f.entries()].map(([h,y])=>({name:h,items:y.slice().sort((w,k)=>k.people_groups-w.people_groups),groups:y.reduce((w,k)=>w+k.people_groups,0),unknown:y.filter(w=>w.internet_access==="unknown").length})).sort((h,y)=>y.groups-h.groups)}),r=le({}),i=f=>!!r.value[f],a=f=>{r.value={...r.value,[f]:!r.value[f]}},l=se(()=>{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 Zt(".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(),J("div",{class:Le(["ci",{"is-dark":n.value}])},[h[1]||(h[1]=P("h2",{class:"ci-h"},"Cities with Internet",-1)),h[2]||(h[2]=P("p",{class:"ci-sub"},[$e(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),P("strong",null,"unknown means unmeasured, never assumed"),$e(". ")],-1)),P("div",Eg,[P("span",Tg,ee(l.value.countries)+" countries",1),P("span",Lg,ee(l.value.resolved)+" measured",1),P("span",Sg,ee(l.value.unknown)+" unknown",1),P("span",Ig,ee(l.value.low)+" low-connectivity",1)]),(q(!0),J(de,null,at(s.value,y=>(q(),J("section",{key:y.name,class:"sec"},[P("button",{type:"button",class:"sec-head",onClick:w=>a(y.name)},[P("span",{class:Le(["sec-caret",{open:!i(y.name)}])},"▶",2),P("h3",xg,ee(y.name),1),P("span",Pg,[$e(ee(y.items.length)+" countries · "+ee(y.groups.toLocaleString())+" people groups ",1),y.unknown?(q(),J(de,{key:0},[$e(" · "+ee(y.unknown)+" unmeasured",1)],64)):Te("",!0)])],8,Fg),kc(P("div",null,[(q(!0),J(de,null,at(y.items,w=>(q(),J("div",{key:w.iso3,class:"row"},[P("div",null,[P("div",Mg,ee(w.country),1),P("div",Dg,[$e(ee(w.people_groups)+" people groups · "+ee(w.clusters)+" locations ",1),w.multi?(q(),J(de,{key:0},[$e(" · "+ee(w.multi)+" population centres",1)],64)):Te("",!0)])]),P("div",Bg,[w.internet_pct!==null&&w.internet_pct!==void 0?(q(),J(de,{key:0},[$e(ee(w.internet_pct)+"% ",1),P("div",Rg,ee(w.internet_year),1)],64)):(q(),J(de,{key:1},[$e("—")],64))]),P("div",Wg,[w.mobile_per_100!==null&&w.mobile_per_100!==void 0?(q(),J(de,{key:0},[$e(ee(w.mobile_per_100)+" ",1),h[0]||(h[0]=P("div",{class:"r-sub"},"mob/100",-1))],64)):(q(),J(de,{key:1},[$e("—")],64))]),P("span",{class:Le(["pill",c(w.internet_access)])},ee(u(w.internet_access)),3)]))),128))],512),[[xu,!i(y.name)]])]))),128)),h[3]||(h[3]=P("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"})),us={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 jg(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(us.boundaries),o&&(r.push(us.mapbox),r.push(us.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 Gg={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return Zt(` .map-toolbar { position: absolute; top: 6px; @@ -77,6 +77,9 @@ gap: var(--map-toolbar-gap, 8px); z-index: 10; } +.map-toolbar.has-open-menu { + z-index: 3000; +} .map-toolbar .mcb, .map-toolbar .hbg-btn { width: 32px; height: 32px; } .map-toolbar .hbg-ctrl { margin: 10px 0 0 0; } @@ -84,7 +87,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(t,n)=>(V(),K("div",{class:Le(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[ci(t.$slots,"default")],2))}},Yg=["title","disabled"],so={__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 Zt(` +`,"map-toolbar"),(t,n)=>(q(),J("div",{class:Le(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[ci(t.$slots,"default")],2))}},Yg=["title","disabled"],io={__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 Zt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -108,7 +111,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)=>(V(),K("button",{class:Le(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[ci(t.$slots,"default")],10,Yg))}},Vg={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Jt(),n=e;function o(){var s;(s=n.map)==null||s.zoomIn()}return(s,r)=>(V(),tt(so,{"is-dark":e.isDark,title:et(t)("buttons.zoomIn"),onClick:o},{default:rn(()=>[...r[0]||(r[0]=[P("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},Hg={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Jt(),n=e;function o(){var s;(s=n.map)==null||s.zoomOut()}return(s,r)=>(V(),tt(so,{"is-dark":e.isDark,title:et(t)("buttons.zoomOut"),onClick:o},{default:rn(()=>[...r[0]||(r[0]=[P("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},qg={__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}=Jt(),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)=>(V(),tt(so,{"is-dark":e.isDark,title:et(t)("buttons.resetView"),onClick:s},{default:rn(()=>[...i[0]||(i[0]=[P("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[P("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"]))}},zg={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Kg={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Xg={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:n}=Jt(),o=e,s=t,r=ce(!1);let i=null,a=null,l=null,c=null,u=null,f=null,g=null,y=null,k=null,$=null,D=null,E=0,L=0,b=null,m=null;function C(){if(typeof document>"u")return!1;const X=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(X)||X.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function S(){var X,W,z;return((z=(W=(X=o.mapContainer)==null?void 0:X.getRootNode)==null?void 0:W.call(X))==null?void 0:z.host)??null}function O(){var W,z;const X=(z=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:z.call(W);return document.fullscreenElement||document.webkitFullscreenElement||(X&&X instanceof ShadowRoot?X.fullscreenElement:null)||null}function w(X){const W=X.requestFullscreen||X.webkitRequestFullscreen;if(!W)return Promise.reject(new Error("Fullscreen API unavailable"));const z=W.call(X);return z&&typeof z.then=="function"?z:Promise.resolve()}function T(){const X=document.exitFullscreen||document.webkitExitFullscreen;if(!X)return Promise.reject(new Error("Fullscreen API unavailable"));const W=X.call(document);return W&&typeof W.then=="function"?W:Promise.resolve()}function H(){const X=S();if(!X)return!1;if(l=X,a=X.style.cssText,X.style.position="fixed",X.style.top="0",X.style.left="0",X.style.right="0",X.style.bottom="0",X.style.width="100vw",X.style.height="100vh",X.style.height="100dvh",X.style.zIndex="2147483647",X.style.margin="0",X.style.borderRadius="0",X.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){E=window.scrollY||window.pageYOffset||0,L=window.scrollX||window.pageXOffset||0;const W=document.body,z=document.documentElement;c=W?W.style.overflow:null,u=z?z.style.overflow:null,f=W?W.style.position:null,g=W?W.style.top:null,y=W?W.style.left:null,k=W?W.style.width:null,$=W?W.style.touchAction:null,D=z?z.style.touchAction:null,z&&(z.style.overflow="hidden",z.style.touchAction="none"),W&&(W.style.overflow="hidden",W.style.position="fixed",W.style.top=`-${E}px`,W.style.left=`-${L}px`,W.style.width="100%",W.style.touchAction="none"),b=ae=>{if(!l)return;const Ee=ae.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||ae.cancelable&&ae.preventDefault()},m=ae=>{if(!l)return;const Ee=ae.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||ae.cancelable&&ae.preventDefault()},document.addEventListener("touchmove",b,{passive:!1,capture:!0}),document.addEventListener("wheel",m,{passive:!1,capture:!0})}return!0}function te(){if(l){if(l.style.cssText=a||"",l=null,a=null,typeof document<"u"){const X=document.body,W=document.documentElement;X&&(X.style.overflow=c??"",X.style.position=f??"",X.style.top=g??"",X.style.left=y??"",X.style.width=k??"",X.style.touchAction=$??""),W&&(W.style.overflow=u??"",W.style.touchAction=D??""),b&&(document.removeEventListener("touchmove",b,{capture:!0}),b=null),m&&(document.removeEventListener("wheel",m,{capture:!0}),m=null),typeof window<"u"&&(E||L)&&window.scrollTo(L,E)}c=null,u=null,f=null,g=null,y=null,k=null,$=null,D=null,E=0,L=0}}function q(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function ie(){if(!C()){r.value?(te(),r.value=!1,s("change",!1)):H()&&(r.value=!0,s("change",!0)),q();return}if(O())T().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const W=S()??document.documentElement;w(W).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{w(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function _e(){r.value=!!O(),s("change",r.value)}return Yt(()=>{var W,z;document.addEventListener("fullscreenchange",_e),document.addEventListener("webkitfullscreenchange",_e);const X=(z=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:z.call(W);X instanceof ShadowRoot&&(i=X,X.addEventListener("fullscreenchange",_e),X.addEventListener("webkitfullscreenchange",_e))}),wn(()=>{document.removeEventListener("fullscreenchange",_e),document.removeEventListener("webkitfullscreenchange",_e),i&&(i.removeEventListener("fullscreenchange",_e),i.removeEventListener("webkitfullscreenchange",_e),i=null),l&&te()}),(X,W)=>(V(),tt(so,{"is-dark":e.isDark,active:r.value,title:et(n)("buttons.toggleFullscreen"),onClick:ie},{default:rn(()=>[r.value?(V(),K("svg",Kg,[...W[1]||(W[1]=[P("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)])])):(V(),K("svg",zg,[...W[0]||(W[0]=[P("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"]))}},Jg=tr&&tr.tagName.toUpperCase()==="SCRIPT"&&tr.src||new URL("cities-internet.js",document.baseURI).href,ps=e=>String(e||"").trim().replace(/\/+$/,"");function Zg(){try{const t=String(Jg||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Qg(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return ps(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return ps(n)}return ps(Zg()||"")}function em({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=Qg(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 tm={class:"share-wrap"},nm={class:"share-steps"},om={class:"share-tabs"},rm={key:0,class:"share-body"},sm={class:"share-url-box"},im={class:"share-url-text"},am={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},lm={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"},cm={key:1,class:"share-body"},um={class:"share-size-pills"},pm=["onClick"],dm={class:"share-code-box"},fm={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},hm={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"},gm={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Zt(` +`,"map-control-button"),(t,n)=>(q(),J("button",{class:Le(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[ci(t.$slots,"default")],10,Yg))}},Vg={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Jt(),n=e;function o(){var s;(s=n.map)==null||s.zoomIn()}return(s,r)=>(q(),tt(io,{"is-dark":e.isDark,title:et(t)("buttons.zoomIn"),onClick:o},{default:rn(()=>[...r[0]||(r[0]=[P("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},Hg={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Jt(),n=e;function o(){var s;(s=n.map)==null||s.zoomOut()}return(s,r)=>(q(),tt(io,{"is-dark":e.isDark,title:et(t)("buttons.zoomOut"),onClick:o},{default:rn(()=>[...r[0]||(r[0]=[P("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},qg={__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}=Jt(),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(),tt(io,{"is-dark":e.isDark,title:et(t)("buttons.resetView"),onClick:s},{default:rn(()=>[...i[0]||(i[0]=[P("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[P("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"]))}},zg={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Kg={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Xg={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:n}=Jt(),o=e,s=t,r=le(!1);let i=null,a=null,l=null,c=null,u=null,f=null,h=null,y=null,w=null,k=null,D=null,A=0,T=0,b=null,m=null;function O(){if(typeof document>"u")return!1;const K=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(K)||K.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function S(){var K,W,X;return((X=(W=(K=o.mapContainer)==null?void 0:K.getRootNode)==null?void 0:W.call(K))==null?void 0:X.host)??null}function C(){var W,X;const K=(X=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:X.call(W);return document.fullscreenElement||document.webkitFullscreenElement||(K&&K instanceof ShadowRoot?K.fullscreenElement:null)||null}function E(K){const W=K.requestFullscreen||K.webkitRequestFullscreen;if(!W)return Promise.reject(new Error("Fullscreen API unavailable"));const X=W.call(K);return X&&typeof X.then=="function"?X:Promise.resolve()}function L(){const K=document.exitFullscreen||document.webkitExitFullscreen;if(!K)return Promise.reject(new Error("Fullscreen API unavailable"));const W=K.call(document);return W&&typeof W.then=="function"?W:Promise.resolve()}function z(){const K=S();if(!K)return!1;if(l=K,a=K.style.cssText,K.style.position="fixed",K.style.top="0",K.style.left="0",K.style.right="0",K.style.bottom="0",K.style.width="100vw",K.style.height="100vh",K.style.height="100dvh",K.style.zIndex="2147483647",K.style.margin="0",K.style.borderRadius="0",K.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){A=window.scrollY||window.pageYOffset||0,T=window.scrollX||window.pageXOffset||0;const W=document.body,X=document.documentElement;c=W?W.style.overflow:null,u=X?X.style.overflow:null,f=W?W.style.position:null,h=W?W.style.top:null,y=W?W.style.left:null,w=W?W.style.width:null,k=W?W.style.touchAction:null,D=X?X.style.touchAction:null,X&&(X.style.overflow="hidden",X.style.touchAction="none"),W&&(W.style.overflow="hidden",W.style.position="fixed",W.style.top=`-${A}px`,W.style.left=`-${T}px`,W.style.width="100%",W.style.touchAction="none"),b=ae=>{if(!l)return;const Ee=ae.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||ae.cancelable&&ae.preventDefault()},m=ae=>{if(!l)return;const Ee=ae.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||ae.cancelable&&ae.preventDefault()},document.addEventListener("touchmove",b,{passive:!1,capture:!0}),document.addEventListener("wheel",m,{passive:!1,capture:!0})}return!0}function j(){if(l){if(l.style.cssText=a||"",l=null,a=null,typeof document<"u"){const K=document.body,W=document.documentElement;K&&(K.style.overflow=c??"",K.style.position=f??"",K.style.top=h??"",K.style.left=y??"",K.style.width=w??"",K.style.touchAction=k??""),W&&(W.style.overflow=u??"",W.style.touchAction=D??""),b&&(document.removeEventListener("touchmove",b,{capture:!0}),b=null),m&&(document.removeEventListener("wheel",m,{capture:!0}),m=null),typeof window<"u"&&(A||T)&&window.scrollTo(T,A)}c=null,u=null,f=null,h=null,y=null,w=null,k=null,D=null,A=0,T=0}}function V(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function Z(){if(!O()){r.value?(j(),r.value=!1,s("change",!1)):z()&&(r.value=!0,s("change",!0)),V();return}if(C())L().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const W=S()??document.documentElement;E(W).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{E(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function ue(){r.value=!!C(),s("change",r.value)}return Yt(()=>{var W,X;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const K=(X=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:X.call(W);K instanceof ShadowRoot&&(i=K,K.addEventListener("fullscreenchange",ue),K.addEventListener("webkitfullscreenchange",ue))}),wn(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),i&&(i.removeEventListener("fullscreenchange",ue),i.removeEventListener("webkitfullscreenchange",ue),i=null),l&&j()}),(K,W)=>(q(),tt(io,{"is-dark":e.isDark,active:r.value,title:et(n)("buttons.toggleFullscreen"),onClick:Z},{default:rn(()=>[r.value?(q(),J("svg",Kg,[...W[1]||(W[1]=[P("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(),J("svg",zg,[...W[0]||(W[0]=[P("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"]))}},Jg=nr&&nr.tagName.toUpperCase()==="SCRIPT"&&nr.src||new URL("cities-internet.js",document.baseURI).href,ps=e=>String(e||"").trim().replace(/\/+$/,"");function Zg(){try{const t=String(Jg||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Qg(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return ps(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return ps(n)}return ps(Zg()||"")}function em({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=Qg(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 tm={class:"share-steps"},nm={class:"share-tabs"},om={key:0,class:"share-body"},rm={class:"share-url-box"},sm={class:"share-url-text"},im={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},am={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"},lm={key:1,class:"share-body"},cm={class:"share-size-pills"},um=["onClick"],pm={class:"share-code-box"},dm={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},fm={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"},hm={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Zt(` .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); @@ -132,7 +135,7 @@ border-radius:12px; box-shadow:0 6px 24px rgba(0,0,0,0.45); padding:0; - z-index:1100; + z-index:3000; color:#e6edf3; font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:13px; @@ -415,9 +418,10 @@ @media(max-width:767px){ .share-pop{ position:fixed; - top:120px; + top:64px; left:10px; - right:52px; + right:10px; + z-index:3000; width:auto; max-width:none; max-height:calc(100vh - 96px); @@ -426,4 +430,4 @@ z-index:9999; } } -`,"share-button");const{t,tm:n,rt:o}=Jt(),s=e,r=ce(!1),i=ce(null),a=ce(null),l=ce("link"),c=ce(!1),u=ce(!1),f=ce("medium"),g={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},y=He("profileConfig",null),k=re(()=>em({embedPath:s.embedPath,profileConfig:et(y)||null})),$=re(()=>{const O=g[f.value].height;return''});function D(){r.value=!r.value,r.value&&(l.value="link",c.value=!1,u.value=!1)}function E(){r.value=!1}async function L(O){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(O),!0}catch{}try{const w=document.createElement("textarea");w.value=O,w.setAttribute("readonly",""),w.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(w),w.select();const T=document.execCommand("copy");return document.body.removeChild(w),T}catch{return!1}}async function b(){await L(k.value)&&(c.value=!0,setTimeout(()=>{c.value=!1},2e3))}async function m(){await L($.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}function C(O){if(!r.value)return;const w=O.composedPath?O.composedPath():[O.target];i.value&&w.some(H=>H===i.value)||a.value&&w.some(H=>H===a.value||H===a.value.$el)||!w.some(H=>{var te,q;return(q=(te=H==null?void 0:H.classList)==null?void 0:te.contains)==null?void 0:q.call(te,"mapboxgl-canvas")})||E()}function S(O){O.key==="Escape"&&r.value&&E()}return Yt(()=>{document.addEventListener("click",C,!0),document.addEventListener("keydown",S)}),wn(()=>{document.removeEventListener("click",C,!0),document.removeEventListener("keydown",S)}),(O,w)=>(V(),K("div",tm,[ke(so,{ref_key:"btnEl",ref:a,"is-dark":e.isDark,active:r.value,title:et(t)("buttons.shareEmbed"),onClick:D},{default:rn(()=>[...w[2]||(w[2]=[P("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[P("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),P("polyline",{points:"16 6 12 2 8 6"}),P("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),r.value?(V(),K("div",{key:0,ref_key:"popoverEl",ref:i,class:Le(["share-pop",{light:!e.isDark}])},[P("div",{class:"share-header"},[w[4]||(w[4]=P("span",{class:"share-title"},"Share",-1)),P("button",{class:"share-close",onClick:E,"aria-label":"Close"},[...w[3]||(w[3]=[P("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[P("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),P("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),P("ul",nm,[(V(!0),K(pe,null,at(et(n)("buttons.shareSteps"),(T,H)=>(V(),K("li",{key:H},Z(et(o)(T)),1))),128))]),P("div",om,[P("button",{class:Le(["share-tab",{active:l.value==="link"}]),onClick:w[0]||(w[0]=T=>l.value="link")},"Embed link",2),P("button",{class:Le(["share-tab",{active:l.value==="embed"}]),onClick:w[1]||(w[1]=T=>l.value="embed")},"Add to Your Website",2)]),l.value==="link"?(V(),K("div",rm,[P("div",sm,[P("div",im,Z(k.value),1)]),P("button",{class:Le(["share-primary-btn",{copied:c.value}]),onClick:b},[c.value?(V(),K("svg",lm,[...w[6]||(w[6]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),K("svg",am,[...w[5]||(w[5]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Z(c.value?"Copied!":"Copy Link"),1)],2)])):Te("",!0),l.value==="embed"?(V(),K("div",cm,[w[9]||(w[9]=P("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),P("div",um,[(V(),K(pe,null,at(g,(T,H)=>P("button",{key:H,class:Le(["share-size-pill",{active:f.value===H}]),onClick:te=>f.value=H},Z(T.label),11,pm)),64))]),P("div",dm,Z($.value),1),P("button",{class:Le(["share-secondary-btn",{copied:u.value}]),onClick:m},[u.value?(V(),K("svg",hm,[...w[8]||(w[8]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),K("svg",fm,[...w[7]||(w[7]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Z(u.value?"Copied!":"Copy Code"),1)],2)])):Te("",!0)],2)):Te("",!0)]))}},mm={class:"gm-legend"},_m={class:"gm-keys"},bm={key:1,class:"gm-err"},ym={key:2,class:"gm-sheet"},vm={class:"gm-sh-head"},wm={class:"gm-sh-name"},km={key:0,class:"gm-ai"},$m={class:"gm-stat"},Om={class:"gm-stat"},Nm={class:"gm-stat"},Cm={class:"gm-stat"},Am={class:"gm-stat"},Em={key:1,class:"gm-list"},Tm={class:"gm-list-h"},Lm={key:2,class:"gm-list"},Sm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=He("profileConfig",ce(null)),n=re(()=>{var E;return((E=t.value)==null?void 0:E.isDark)===!0}),o=re(()=>{var E;return((E=t.value)==null?void 0:E.tk)||window.DOXA_TOKEN||""}),s=re(()=>{var E;return String(((E=t.value)==null?void 0:E.assetsBase)||"./assets").replace(/\/+$/,"")}),r=ce(null),i=No(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"}],g=E=>(f.find(L=>L.id===E)||{}).color||"#9aa2ad",y=re(()=>{const E={};for(const L of a.value)E[L.iso3]=L;return E});async function k(){const[E,L]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(b=>b.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(b=>b.json())]);return a.value=E.countries||[],L}function $(E,L){const b=y.value,C={type:"FeatureCollection",features:(L.features||[]).map(S=>{var T;const O=(T=S.properties)==null?void 0:T.iso3,w=b[O];return{type:"Feature",properties:{iso3:O,band:(w==null?void 0:w.band)||"none",color:w?g(w.band):"rgba(0,0,0,0)",hasData:!!w},geometry:S.geometry}})};if(E.getSource("ci-src")){E.getSource("ci-src").setData(C);return}E.addSource("ci-src",{type:"geojson",data:C}),E.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),E.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),E.on("click","ci-fill",S=>{var w,T,H;const O=(H=(T=(w=S.features)==null?void 0:w[0])==null?void 0:T.properties)==null?void 0:H.iso3;O&&y.value[O]&&(l.value=y.value[O])}),E.on("mouseenter","ci-fill",()=>{E.getCanvas().style.cursor="pointer"}),E.on("mouseleave","ci-fill",()=>{E.getCanvas().style.cursor=""})}Yt(async()=>{const E=window.mapboxgl;if(!E||!r.value){u.value="mapbox-gl not loaded";return}try{const L=await k(),b=new E.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=gn(b),jg(b,{boundaries:!0}),b.once("load",()=>$(b,L))}catch(L){u.value=String(L.message||L)}}),wn(()=>{var E;try{(E=i.value)==null||E.remove()}catch{}});const D=E=>(Number(E)||0).toLocaleString();return Zt(".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"),(E,L)=>(V(),K("div",{class:Le(["gm",{"is-dark":n.value}])},[P("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),i.value?(V(),tt(Gg,{key:0},{default:rn(()=>[ke(Vg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(Hg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(qg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(Xg,{"map-container":r.value,"is-dark":n.value},null,8,["map-container","is-dark"]),ke(gm,{"is-dark":n.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Te("",!0),P("div",mm,[L[2]||(L[2]=P("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),P("div",_m,[(V(),K(pe,null,at(f,b=>P("span",{key:b.id,class:"gm-key"},[P("i",{class:"gm-sw",style:go({background:b.color})},null,4),$e(Z(b.label),1)])),64))]),L[3]||(L[3]=P("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?(V(),K("div",bm,Z(u.value),1)):Te("",!0),l.value?(V(),K("div",ym,[P("div",vm,[P("span",wm,Z(l.value.country),1),P("button",{type:"button",class:"gm-x",onClick:L[0]||(L[0]=b=>l.value=null)},"Close")]),c.value?(V(),K("div",km,[L[4]||(L[4]=P("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),P("button",{type:"button",class:"gm-ai-x",onClick:L[1]||(L[1]=b=>c.value=!1),"aria-label":"Dismiss"},"×")])):Te("",!0),P("div",$m,[L[5]||(L[5]=P("span",null,"Internet users",-1)),P("b",null,Z(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),P("div",Om,[L[6]||(L[6]=P("span",null,"Measured",-1)),P("b",null,Z(l.value.internet_year||"—"),1)]),P("div",Nm,[L[7]||(L[7]=P("span",null,"Mobile per 100",-1)),P("b",null,Z(l.value.mobile_per_100??"—"),1)]),P("div",Cm,[L[8]||(L[8]=P("span",null,"People groups",-1)),P("b",null,Z(D(l.value.people_groups)),1)]),P("div",Am,[L[9]||(L[9]=P("span",null,"Top platform",-1)),P("b",null,[$e(Z(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(V(),K(pe,{key:0},[$e(" · "+Z(l.value.top_platform_pct)+"%",1)],64)):Te("",!0)])]),l.value.carriers&&l.value.carriers.length?(V(),K("div",Em,[P("div",Tm,"Carriers & ISPs ("+Z(l.value.carrier_count)+")",1),P("ul",null,[(V(!0),K(pe,null,at(l.value.carriers,(b,m)=>(V(),K("li",{key:m},Z(b),1))),128))])])):Te("",!0),l.value.platforms&&l.value.platforms.length?(V(),K("div",Lm,[L[10]||(L[10]=P("div",{class:"gm-list-h"},"Social platforms",-1)),P("ul",null,[(V(!0),K(pe,null,at(l.value.platforms,(b,m)=>(V(),K("li",{key:m},Z(b.name)+" · "+Z(b.pct)+"%",1))),128))])])):Te("",!0),L[11]||(L[11]=P("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))])):Te("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Im={class:"dt-head"},Fm={class:"dt-title"},xm={class:"dt-count"},Pm={key:0,class:"dt-grain"},Mm={class:"dt-actions"},Dm={key:0,class:"dt-err"},Bm={class:"dt-wrap"},Rm={class:"dt-hint"},Wm={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},Um={class:"dt-sheet-head"},jm={class:"dt-dl"},Gm=["href"],Ym={key:1},Vm={key:2},Hm={key:2,class:"dt-caveats"},qm={class:"dt-cav-k"},zm={__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=No(null),l=ce(null),c=ce(!1),u=re(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),f=re(()=>{var O;return((O=n.table)==null?void 0:O.meta)||{}}),g=re(()=>{var O;return(((O=n.table)==null?void 0:O.rows)||[]).length}),y=re(()=>Object.entries(f.value).filter(([O,w])=>typeof w=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(O)).map(([O,w])=>({key:O.replace(/_/g," "),text:w})));let k=null;function $(){return window.Tabulator?Promise.resolve(window.Tabulator):k||(k=new Promise((O,w)=>{const T=document.createElement("script");T.src=`${u.value}/vendor/tabulator/tabulator.min.js`,T.onload=()=>O(window.Tabulator),T.onerror=()=>w(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(T)}),k)}async function D(O){if(!(!O||O.querySelector("style[data-tabulator]")))try{const w=await fetch(`${u.value}/vendor/tabulator/tabulator.min.css`);if(!w.ok)return;const T=document.createElement("style");T.setAttribute("data-tabulator",""),T.textContent=await w.text(),O.appendChild(T)}catch{}}function E(O){var te,q;if(!i.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const w=((te=n.table)==null?void 0:te.columns)||[],H=(s.value?w.slice(0,3):w).map((ie,_e)=>({title:ie.title,field:ie.field,headerFilter:ie.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:ie.type==="number"?"number":ie.type==="boolean"?"boolean":"string",formatter:ie.type==="boolean"?"tickCross":void 0,.../_url$/.test(ie.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&_e{r.value=_e.getData(),o("row-click",_e.getData())}),a.value.on("tableBuilt",()=>{c.value=!0})}const L=O=>{var w,T;return((T=(((w=n.table)==null?void 0:w.columns)||[]).find(H=>H.field===O))==null?void 0:T.title)||O.replace(/_/g," ")},b=O=>typeof O=="string"&&O.includes(", ")&&O.length>40?O.split(", "):null,m=O=>typeof O=="string"&&/^https?:\/\//.test(O),C=re(()=>r.value?Object.entries(r.value).filter(([,O])=>O!==""&&O!==null&&O!==void 0):[]);function S(O){var w;try{(w=a.value)==null||w.download(O,`${(f.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${O}`)}catch(T){l.value=String(T.message||T)}}return Yt(async()=>{var O,w;try{await D((w=(O=i.value)==null?void 0:O.getRootNode)==null?void 0:w.call(O)),E(await $())}catch(T){l.value=String(T.message||T)}}),wn(()=>{var O;try{(O=a.value)==null||O.destroy()}catch{}}),St(()=>n.table,()=>{var O,w;try{(w=a.value)==null||w.replaceData(((O=n.table)==null?void 0:O.rows)||[])}catch{}}),Zt(".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,w)=>{var T,H;return V(),K("div",{class:Le(["dt",{"is-dark":e.isDark}])},[P("div",Im,[P("h3",Fm,Z(f.value.title||"Data"),1),P("span",xm,Z(g.value.toLocaleString())+" rows",1),f.value.grain?(V(),K("span",Pm,"· "+Z(f.value.grain),1)):Te("",!0),P("span",Mm,[P("button",{type:"button",class:"dt-btn",onClick:w[0]||(w[0]=te=>S("csv"))},"CSV"),P("button",{type:"button",class:"dt-btn",onClick:w[1]||(w[1]=te=>S("json"))},"JSON")])]),l.value?(V(),K("div",Dm,Z(l.value),1)):Te("",!0),P("div",Bm,[P("div",{ref_key:"host",ref:i},null,512)]),P("p",Rm,"Tap any row for its full detail"+Z(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(V(),K("div",{key:1,class:"dt-scrim",onClick:w[3]||(w[3]=np(te=>r.value=null,["self"]))},[P("div",Wm,[P("div",Um,[P("strong",null,Z(r.value[(H=(((T=e.table)==null?void 0:T.columns)||[])[0])==null?void 0:H.field]||"Detail"),1),P("button",{type:"button",class:"dt-close",onClick:w[2]||(w[2]=te=>r.value=null)},"Close")]),P("dl",jm,[(V(!0),K(pe,null,at(C.value,([te,q])=>(V(),K(pe,{key:te},[P("dt",null,Z(L(te)),1),P("dd",null,[m(q)?(V(),K("a",{key:0,href:q,target:"_blank",rel:"noopener"},Z(q),9,Gm)):b(q)?(V(),K("ul",Ym,[(V(!0),K(pe,null,at(b(q),(ie,_e)=>(V(),K("li",{key:_e},Z(ie),1))),128))])):(V(),K("span",Vm,Z(q===!0?"yes":q===!1?"no":q),1))])],64))),128))])])])):Te("",!0),y.value.length?(V(),K("div",Hm,[(V(!0),K(pe,null,at(y.value,te=>(V(),K("div",{key:te.key},[P("span",qm,Z(te.key)+":",1),$e(" "+Z(te.text),1)]))),128))])):Te("",!0)],2)}}},Km={class:"ct-tabs"},Xm=["onClick"],Jm={key:0,class:"ct-n"},Zm={key:0,class:"ct-err"},Qm={key:1,class:"ct-load"},e_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=He("profileConfig",ce(null)),n=re(()=>{var g;return((g=t.value)==null?void 0:g.isDark)===!0}),o=re(()=>{var g;return String(((g=t.value)==null?void 0:g.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=re(()=>s.find(g=>g.id===r.value)||s[0]),a=ce({}),l=ce(!1),c=ce(null);async function u(g){if(!a.value[g]){l.value=!0,c.value=null;try{const y=await fetch(`${o.value}/tables/${g}.json`);if(!y.ok)throw new Error(`table not found (${y.status})`);a.value={...a.value,[g]:await y.json()}}catch(y){c.value=String(y.message||y)}finally{l.value=!1}}}St(i,g=>g&&u(g.file),{immediate:!0});const f=re(()=>{var g;return a.value[(g=i.value)==null?void 0:g.file]||null});return Zt(".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"),(g,y)=>(V(),K("div",{class:Le(["ct",{"is-dark":n.value}])},[y[0]||(y[0]=P("h2",{class:"ct-h"},"Cities Data",-1)),y[1]||(y[1]=P("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)),P("div",Km,[(V(),K(pe,null,at(s,k=>P("button",{key:k.id,type:"button",class:Le(["ct-tab",{on:r.value===k.id}]),onClick:$=>r.value=k.id},[$e(Z(k.label),1),a.value[k.file]?(V(),K("span",Jm,Z((a.value[k.file].rows||[]).length.toLocaleString()),1)):Te("",!0)],10,Xm)),64))]),c.value?(V(),K("div",Zm,Z(c.value),1)):f.value?(V(),tt(zm,{key:i.value.id,table:f.value,"assets-base":o.value,"is-dark":n.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(V(),K("div",Qm,"Loading "+Z(i.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"share-button");const{t,tm:n,rt:o}=Jt(),s=e,r=le(null),i=le(!1);yt(i,async z=>{var V;const j=(V=r.value)==null?void 0:V.closest(".map-toolbar");j&&j.classList.toggle("has-open-menu",z),z&&(await To(),l())});const a=le(0);function l(){var K,W,X;const z=(K=r.value)==null?void 0:K.querySelector(".share-pop"),j=(X=(W=r.value)==null?void 0:W.getRootNode())==null?void 0:X.host;if(!z||!j||window.matchMedia("(max-width: 767px)").matches){a.value=0;return}a.value=0;const V=j.getBoundingClientRect(),Z=z.getBoundingClientRect(),ue=Z.bottom-(V.bottom-8);ue>0&&(a.value=-Math.min(ue,Math.max(0,Z.top-V.top-8)))}const c=le(null),u=le(null),f=le("link"),h=le(!1),y=le(!1),w=le("medium"),k={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},D=He("profileConfig",null),A=se(()=>em({embedPath:s.embedPath,profileConfig:et(D)||null})),T=se(()=>{const z=k[w.value].height;return''});function b(){i.value=!i.value,i.value&&(f.value="link",h.value=!1,y.value=!1)}function m(){i.value=!1}async function O(z){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(z),!0}catch{}try{const j=document.createElement("textarea");j.value=z,j.setAttribute("readonly",""),j.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(j),j.select();const V=document.execCommand("copy");return document.body.removeChild(j),V}catch{return!1}}async function S(){await O(A.value)&&(h.value=!0,setTimeout(()=>{h.value=!1},2e3))}async function C(){await O(T.value)&&(y.value=!0,setTimeout(()=>{y.value=!1},2e3))}function E(z){if(!i.value)return;const j=z.composedPath?z.composedPath():[z.target];c.value&&j.some(Z=>Z===c.value)||u.value&&j.some(Z=>Z===u.value||Z===u.value.$el)||!j.some(Z=>{var ue,K;return(K=(ue=Z==null?void 0:Z.classList)==null?void 0:ue.contains)==null?void 0:K.call(ue,"mapboxgl-canvas")})||m()}function L(z){z.key==="Escape"&&i.value&&m()}return Yt(()=>{document.addEventListener("click",E,!0),document.addEventListener("keydown",L)}),wn(()=>{document.removeEventListener("click",E,!0),document.removeEventListener("keydown",L)}),(z,j)=>(q(),J("div",{ref_key:"rootEl",ref:r,class:"share-wrap"},[ke(io,{ref_key:"btnEl",ref:u,"is-dark":e.isDark,active:i.value,title:et(t)("buttons.shareEmbed"),onClick:b},{default:rn(()=>[...j[2]||(j[2]=[P("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[P("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),P("polyline",{points:"16 6 12 2 8 6"}),P("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),i.value?(q(),J("div",{key:0,ref_key:"popoverEl",ref:c,class:Le(["share-pop",{light:!e.isDark}]),style:Fn(a.value?{top:a.value+"px"}:null)},[P("div",{class:"share-header"},[j[4]||(j[4]=P("span",{class:"share-title"},"Share",-1)),P("button",{class:"share-close",onClick:m,"aria-label":"Close"},[...j[3]||(j[3]=[P("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[P("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),P("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),P("ul",tm,[(q(!0),J(de,null,at(et(n)("buttons.shareSteps"),(V,Z)=>(q(),J("li",{key:Z},ee(et(o)(V)),1))),128))]),P("div",nm,[P("button",{class:Le(["share-tab",{active:f.value==="link"}]),onClick:j[0]||(j[0]=V=>f.value="link")},"Embed link",2),P("button",{class:Le(["share-tab",{active:f.value==="embed"}]),onClick:j[1]||(j[1]=V=>f.value="embed")},"Add to Your Website",2)]),f.value==="link"?(q(),J("div",om,[P("div",rm,[P("div",sm,ee(A.value),1)]),P("button",{class:Le(["share-primary-btn",{copied:h.value}]),onClick:S},[h.value?(q(),J("svg",am,[...j[6]||(j[6]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(q(),J("svg",im,[...j[5]||(j[5]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+ee(h.value?"Copied!":"Copy Link"),1)],2)])):Te("",!0),f.value==="embed"?(q(),J("div",lm,[j[9]||(j[9]=P("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),P("div",cm,[(q(),J(de,null,at(k,(V,Z)=>P("button",{key:Z,class:Le(["share-size-pill",{active:w.value===Z}]),onClick:ue=>w.value=Z},ee(V.label),11,um)),64))]),P("div",pm,ee(T.value),1),P("button",{class:Le(["share-secondary-btn",{copied:y.value}]),onClick:C},[y.value?(q(),J("svg",fm,[...j[8]||(j[8]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(q(),J("svg",dm,[...j[7]||(j[7]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+ee(y.value?"Copied!":"Copy Code"),1)],2)])):Te("",!0)],6)):Te("",!0)],512))}},gm={class:"gm-legend"},mm={class:"gm-keys"},_m={key:1,class:"gm-err"},bm={key:2,class:"gm-sheet"},ym={class:"gm-sh-head"},vm={class:"gm-sh-name"},wm={key:0,class:"gm-ai"},km={class:"gm-stat"},$m={class:"gm-stat"},Om={class:"gm-stat"},Nm={class:"gm-stat"},Cm={class:"gm-stat"},Am={key:1,class:"gm-list"},Em={class:"gm-list-h"},Tm={key:2,class:"gm-list"},Lm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=He("profileConfig",le(null)),n=se(()=>{var A;return((A=t.value)==null?void 0:A.isDark)===!0}),o=se(()=>{var A;return((A=t.value)==null?void 0:A.tk)||window.DOXA_TOKEN||""}),s=se(()=>{var A;return String(((A=t.value)==null?void 0:A.assetsBase)||"./assets").replace(/\/+$/,"")}),r=le(null),i=No(null),a=le([]),l=le(null),c=le(!0),u=le(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=A=>(f.find(T=>T.id===A)||{}).color||"#9aa2ad",y=se(()=>{const A={};for(const T of a.value)A[T.iso3]=T;return A});async function w(){const[A,T]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(b=>b.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(b=>b.json())]);return a.value=A.countries||[],T}function k(A,T){const b=y.value,O={type:"FeatureCollection",features:(T.features||[]).map(S=>{var L;const C=(L=S.properties)==null?void 0:L.iso3,E=b[C];return{type:"Feature",properties:{iso3:C,band:(E==null?void 0:E.band)||"none",color:E?h(E.band):"rgba(0,0,0,0)",hasData:!!E},geometry:S.geometry}})};if(A.getSource("ci-src")){A.getSource("ci-src").setData(O);return}A.addSource("ci-src",{type:"geojson",data:O}),A.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),A.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),A.on("click","ci-fill",S=>{var E,L,z;const C=(z=(L=(E=S.features)==null?void 0:E[0])==null?void 0:L.properties)==null?void 0:z.iso3;C&&y.value[C]&&(l.value=y.value[C])}),A.on("mouseenter","ci-fill",()=>{A.getCanvas().style.cursor="pointer"}),A.on("mouseleave","ci-fill",()=>{A.getCanvas().style.cursor=""})}Yt(async()=>{const A=window.mapboxgl;if(!A||!r.value){u.value="mapbox-gl not loaded";return}try{const T=await w(),b=new A.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=gn(b),jg(b,{boundaries:!0}),b.once("load",()=>k(b,T))}catch(T){u.value=String(T.message||T)}}),wn(()=>{var A;try{(A=i.value)==null||A.remove()}catch{}});const D=A=>(Number(A)||0).toLocaleString();return Zt(".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"),(A,T)=>(q(),J("div",{class:Le(["gm",{"is-dark":n.value}])},[P("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),i.value?(q(),tt(Gg,{key:0},{default:rn(()=>[ke(Vg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(Hg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(qg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(Xg,{"map-container":r.value,"is-dark":n.value},null,8,["map-container","is-dark"]),ke(hm,{"is-dark":n.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Te("",!0),P("div",gm,[T[2]||(T[2]=P("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),P("div",mm,[(q(),J(de,null,at(f,b=>P("span",{key:b.id,class:"gm-key"},[P("i",{class:"gm-sw",style:Fn({background:b.color})},null,4),$e(ee(b.label),1)])),64))]),T[3]||(T[3]=P("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(),J("div",_m,ee(u.value),1)):Te("",!0),l.value?(q(),J("div",bm,[P("div",ym,[P("span",vm,ee(l.value.country),1),P("button",{type:"button",class:"gm-x",onClick:T[0]||(T[0]=b=>l.value=null)},"Close")]),c.value?(q(),J("div",wm,[T[4]||(T[4]=P("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),P("button",{type:"button",class:"gm-ai-x",onClick:T[1]||(T[1]=b=>c.value=!1),"aria-label":"Dismiss"},"×")])):Te("",!0),P("div",km,[T[5]||(T[5]=P("span",null,"Internet users",-1)),P("b",null,ee(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),P("div",$m,[T[6]||(T[6]=P("span",null,"Measured",-1)),P("b",null,ee(l.value.internet_year||"—"),1)]),P("div",Om,[T[7]||(T[7]=P("span",null,"Mobile per 100",-1)),P("b",null,ee(l.value.mobile_per_100??"—"),1)]),P("div",Nm,[T[8]||(T[8]=P("span",null,"People groups",-1)),P("b",null,ee(D(l.value.people_groups)),1)]),P("div",Cm,[T[9]||(T[9]=P("span",null,"Top platform",-1)),P("b",null,[$e(ee(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(q(),J(de,{key:0},[$e(" · "+ee(l.value.top_platform_pct)+"%",1)],64)):Te("",!0)])]),l.value.carriers&&l.value.carriers.length?(q(),J("div",Am,[P("div",Em,"Carriers & ISPs ("+ee(l.value.carrier_count)+")",1),P("ul",null,[(q(!0),J(de,null,at(l.value.carriers,(b,m)=>(q(),J("li",{key:m},ee(b),1))),128))])])):Te("",!0),l.value.platforms&&l.value.platforms.length?(q(),J("div",Tm,[T[10]||(T[10]=P("div",{class:"gm-list-h"},"Social platforms",-1)),P("ul",null,[(q(!0),J(de,null,at(l.value.platforms,(b,m)=>(q(),J("li",{key:m},ee(b.name)+" · "+ee(b.pct)+"%",1))),128))])])):Te("",!0),T[11]||(T[11]=P("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))])):Te("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Sm={class:"dt-head"},Im={class:"dt-title"},Fm={class:"dt-count"},xm={key:0,class:"dt-grain"},Pm={class:"dt-actions"},Mm={key:0,class:"dt-err"},Dm={class:"dt-wrap"},Bm={class:"dt-hint"},Rm={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},Wm={class:"dt-sheet-head"},Um={class:"dt-dl"},jm=["href"],Gm={key:1},Ym={key:2},Vm={key:2,class:"dt-caveats"},Hm={class:"dt-cav-k"},qm={__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=le(!1),r=le(null),i=le(null),a=No(null),l=le(null),c=le(!1),u=se(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),f=se(()=>{var C;return((C=n.table)==null?void 0:C.meta)||{}}),h=se(()=>{var C;return(((C=n.table)==null?void 0:C.rows)||[]).length}),y=se(()=>Object.entries(f.value).filter(([C,E])=>typeof E=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(C)).map(([C,E])=>({key:C.replace(/_/g," "),text:E})));let w=null;function k(){return window.Tabulator?Promise.resolve(window.Tabulator):w||(w=new Promise((C,E)=>{const L=document.createElement("script");L.src=`${u.value}/vendor/tabulator/tabulator.min.js`,L.onload=()=>C(window.Tabulator),L.onerror=()=>E(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(L)}),w)}async function D(C){if(!(!C||C.querySelector("style[data-tabulator]")))try{const E=await fetch(`${u.value}/vendor/tabulator/tabulator.min.css`);if(!E.ok)return;const L=document.createElement("style");L.setAttribute("data-tabulator",""),L.textContent=await E.text(),C.appendChild(L)}catch{}}function A(C){var j,V;if(!i.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const E=((j=n.table)==null?void 0:j.columns)||[],z=(s.value?E.slice(0,3):E).map((Z,ue)=>({title:Z.title,field:Z.field,headerFilter:Z.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:Z.type==="number"?"number":Z.type==="boolean"?"boolean":"string",formatter:Z.type==="boolean"?"tickCross":void 0,.../_url$/.test(Z.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&ue{r.value=ue.getData(),o("row-click",ue.getData())}),a.value.on("tableBuilt",()=>{c.value=!0})}const T=C=>{var E,L;return((L=(((E=n.table)==null?void 0:E.columns)||[]).find(z=>z.field===C))==null?void 0:L.title)||C.replace(/_/g," ")},b=C=>typeof C=="string"&&C.includes(", ")&&C.length>40?C.split(", "):null,m=C=>typeof C=="string"&&/^https?:\/\//.test(C),O=se(()=>r.value?Object.entries(r.value).filter(([,C])=>C!==""&&C!==null&&C!==void 0):[]);function S(C){var E;try{(E=a.value)==null||E.download(C,`${(f.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${C}`)}catch(L){l.value=String(L.message||L)}}return Yt(async()=>{var C,E;try{await D((E=(C=i.value)==null?void 0:C.getRootNode)==null?void 0:E.call(C)),A(await k())}catch(L){l.value=String(L.message||L)}}),wn(()=>{var C;try{(C=a.value)==null||C.destroy()}catch{}}),yt(()=>n.table,()=>{var C,E;try{(E=a.value)==null||E.replaceData(((C=n.table)==null?void 0:C.rows)||[])}catch{}}),Zt(".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"),(C,E)=>{var L,z;return q(),J("div",{class:Le(["dt",{"is-dark":e.isDark}])},[P("div",Sm,[P("h3",Im,ee(f.value.title||"Data"),1),P("span",Fm,ee(h.value.toLocaleString())+" rows",1),f.value.grain?(q(),J("span",xm,"· "+ee(f.value.grain),1)):Te("",!0),P("span",Pm,[P("button",{type:"button",class:"dt-btn",onClick:E[0]||(E[0]=j=>S("csv"))},"CSV"),P("button",{type:"button",class:"dt-btn",onClick:E[1]||(E[1]=j=>S("json"))},"JSON")])]),l.value?(q(),J("div",Mm,ee(l.value),1)):Te("",!0),P("div",Dm,[P("div",{ref_key:"host",ref:i},null,512)]),P("p",Bm,"Tap any row for its full detail"+ee(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(q(),J("div",{key:1,class:"dt-scrim",onClick:E[3]||(E[3]=np(j=>r.value=null,["self"]))},[P("div",Rm,[P("div",Wm,[P("strong",null,ee(r.value[(z=(((L=e.table)==null?void 0:L.columns)||[])[0])==null?void 0:z.field]||"Detail"),1),P("button",{type:"button",class:"dt-close",onClick:E[2]||(E[2]=j=>r.value=null)},"Close")]),P("dl",Um,[(q(!0),J(de,null,at(O.value,([j,V])=>(q(),J(de,{key:j},[P("dt",null,ee(T(j)),1),P("dd",null,[m(V)?(q(),J("a",{key:0,href:V,target:"_blank",rel:"noopener"},ee(V),9,jm)):b(V)?(q(),J("ul",Gm,[(q(!0),J(de,null,at(b(V),(Z,ue)=>(q(),J("li",{key:ue},ee(Z),1))),128))])):(q(),J("span",Ym,ee(V===!0?"yes":V===!1?"no":V),1))])],64))),128))])])])):Te("",!0),y.value.length?(q(),J("div",Vm,[(q(!0),J(de,null,at(y.value,j=>(q(),J("div",{key:j.key},[P("span",Hm,ee(j.key)+":",1),$e(" "+ee(j.text),1)]))),128))])):Te("",!0)],2)}}},zm={class:"ct-tabs"},Km=["onClick"],Xm={key:0,class:"ct-n"},Jm={key:0,class:"ct-err"},Zm={key:1,class:"ct-load"},Qm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=He("profileConfig",le(null)),n=se(()=>{var h;return((h=t.value)==null?void 0:h.isDark)===!0}),o=se(()=>{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=le("cities"),i=se(()=>s.find(h=>h.id===r.value)||s[0]),a=le({}),l=le(!1),c=le(null);async function u(h){if(!a.value[h]){l.value=!0,c.value=null;try{const y=await fetch(`${o.value}/tables/${h}.json`);if(!y.ok)throw new Error(`table not found (${y.status})`);a.value={...a.value,[h]:await y.json()}}catch(y){c.value=String(y.message||y)}finally{l.value=!1}}}yt(i,h=>h&&u(h.file),{immediate:!0});const f=se(()=>{var h;return a.value[(h=i.value)==null?void 0:h.file]||null});return Zt(".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,y)=>(q(),J("div",{class:Le(["ct",{"is-dark":n.value}])},[y[0]||(y[0]=P("h2",{class:"ct-h"},"Cities Data",-1)),y[1]||(y[1]=P("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)),P("div",zm,[(q(),J(de,null,at(s,w=>P("button",{key:w.id,type:"button",class:Le(["ct-tab",{on:r.value===w.id}]),onClick:k=>r.value=w.id},[$e(ee(w.label),1),a.value[w.file]?(q(),J("span",Xm,ee((a.value[w.file].rows||[]).length.toLocaleString()),1)):Te("",!0)],10,Km)),64))]),c.value?(q(),J("div",Jm,ee(c.value),1)):f.value?(q(),tt(qm,{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(),J("div",Zm,"Loading "+ee(i.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/cities-internet/connectivity-list/index.html b/public/doxa-maps/cities-internet/connectivity-list/index.html index 0b00ae88a..1320110db 100644 --- a/public/doxa-maps/cities-internet/connectivity-list/index.html +++ b/public/doxa-maps/cities-internet/connectivity-list/index.html @@ -29,7 +29,7 @@ - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-V318qF0ag0Nca5SgUEjJbeJtJ/+P+UJAh8KElxWkM4OKSE1abHJ9EA/5oavrzzCk","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-V318qF0ag0Nca5SgUEjJbeJtJ/+P+UJAh8KElxWkM4OKSE1abHJ9EA/5oavrzzCk\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-cCTCOaVw6fFyUJALzX65o84kBdPIgcEs54zN76YSnxK0fLEgxJMujRac4Mn0c68m","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-cCTCOaVw6fFyUJALzX65o84kBdPIgcEs54zN76YSnxK0fLEgxJMujRac4Mn0c68m\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-research-map>"}}]}]}; - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-+KwVCLoJ5vU5ij9zrPcdmMxCaG+/kTybOPwnWzVDaanKB1DE/60Lxg+f85/rmwCj","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-+KwVCLoJ5vU5ij9zrPcdmMxCaG+/kTybOPwnWzVDaanKB1DE/60Lxg+f85/rmwCj\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-ZnhhkQKe4NOO96T23+c31QiLAD6xvVU4+MmH5cr2Iq1KvXMLmjYh0ogopwn2qngq","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-ZnhhkQKe4NOO96T23+c31QiLAD6xvVU4+MmH5cr2Iq1KvXMLmjYh0ogopwn2qngq\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-l+6lodalROq02d4VK29Fb6jfNCXjdqTAlg2cJDC7lP8vVnjfwUop2vqqUJyGvy4i\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-V318qF0ag0Nca5SgUEjJbeJtJ/+P+UJAh8KElxWkM4OKSE1abHJ9EA/5oavrzzCk","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-V318qF0ag0Nca5SgUEjJbeJtJ/+P+UJAh8KElxWkM4OKSE1abHJ9EA/5oavrzzCk\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-cCTCOaVw6fFyUJALzX65o84kBdPIgcEs54zN76YSnxK0fLEgxJMujRac4Mn0c68m","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-cCTCOaVw6fFyUJALzX65o84kBdPIgcEs54zN76YSnxK0fLEgxJMujRac4Mn0c68m\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-+KwVCLoJ5vU5ij9zrPcdmMxCaG+/kTybOPwnWzVDaanKB1DE/60Lxg+f85/rmwCj","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-+KwVCLoJ5vU5ij9zrPcdmMxCaG+/kTybOPwnWzVDaanKB1DE/60Lxg+f85/rmwCj\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-YbwXMIQIkPSFnB4EVR35AtlHApWzCG+2lb16xUEKxHLU6zo1jfpppUDZb7i+irxP","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-YbwXMIQIkPSFnB4EVR35AtlHApWzCG+2lb16xUEKxHLU6zo1jfpppUDZb7i+irxP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-85Dt1LFnF/2QJuLwCA3wGUdyHVzzvSvn2yR5/yHocZAy0daRVTt4Ne/GQwxjcgfq","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-85Dt1LFnF/2QJuLwCA3wGUdyHVzzvSvn2yR5/yHocZAy0daRVTt4Ne/GQwxjcgfq\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-85Dt1LFnF/2QJuLwCA3wGUdyHVzzvSvn2yR5/yHocZAy0daRVTt4Ne/GQwxjcgfq\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \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-mIUBiPRTRCFeroP6gVFVBHFc5OrSTbiteS1ZA712oPCqcsxnKJ9SGL0hGCfvD+ZZ", + "integrity": "sha384-Vdkr17okYlO/8YQzSQ5WcZDp4sFdMQIBuiGIPVW/vTdt4Vm66ZAP6a8iMru+KCJO", "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-PoK3jcKdPhcRy+tKKgSOJPlp+qf/xjPQyPUvkvyBnxvOvvqHVoVpNrsfEcUmMtIF", + "integrity": "sha384-V318qF0ag0Nca5SgUEjJbeJtJ/+P+UJAh8KElxWkM4OKSE1abHJ9EA/5oavrzzCk", "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-++1FLMg8Gtk0U74DEb5Ph/ssmRf1XPYoh0HjZUZsjDY2qEA9j7E2jcdIBWp1RDvx", + "integrity": "sha384-cCTCOaVw6fFyUJALzX65o84kBdPIgcEs54zN76YSnxK0fLEgxJMujRac4Mn0c68m", "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-xSHOBOCWceazH+o+MtO+Uer82MQwBWRUI65eI7InjtIJKphOnJJl7JINIeokLjPL", + "integrity": "sha384-+KwVCLoJ5vU5ij9zrPcdmMxCaG+/kTybOPwnWzVDaanKB1DE/60Lxg+f85/rmwCj", "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-jxRwI8firVmQQ2GBO4RwmWu9A8DWBIP7cujipx48BIF6GFtOlIeQDxjeCQWC2i9d", + "integrity": "sha384-xOjYixJyf5PTq4rXXDk+tzKh6FxRfeLwSEgrI8/9C6WHBnIrlkERGi1c2pK6ULMq", "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-+qn4Jgd/wiWiIpPyTQZ2X5v2txHBN8TfCeQ4aUU1iOrJbUWLkD6ZAVq+yWmgDTVs", + "integrity": "sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9", "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/doxa-maps/my-upg-100-list/index.html b/public/doxa-maps/my-upg-100-list/index.html index 4125cf780..83967946b 100644 --- a/public/doxa-maps/my-upg-100-list/index.html +++ b/public/doxa-maps/my-upg-100-list/index.html @@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"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-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-xWVGzfHVndkN78TPxmKe7zhxiux9K/vtKuDbQlxkNsoX5ThQNYM3yxq96JIWU5W9\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}}]}]}; - + - + - +