diff --git a/plugin-designs/all-people-groups/all-people-groups.vue b/plugin-designs/all-people-groups/all-people-groups.vue index 5db28aee6..8c5d46aa6 100644 --- a/plugin-designs/all-people-groups/all-people-groups.vue +++ b/plugin-designs/all-people-groups/all-people-groups.vue @@ -32,6 +32,7 @@ import { useShadowStyles } from '@map/composables/useShadowStyles.js' import { DataSourceManager } from '@map/utils/DataSourceManager.js' import MapToolbar from '@map/components/map-controls/MapToolbar.vue' import ShareButton from '@map/components/map-controls/ShareButton.vue' +import { resolveAssetsBase } from '@map/utils/embedBase.js' useShadowStyles(` .apg-root { position:absolute;inset:0;overflow:hidden; @@ -90,8 +91,9 @@ const isDark = computed(() => profileConfig.value?.isDark === true) const SHARE_EMBED_PATH = 'all-people-groups/all-people-groups/index.html' const mapProvider = resolveMapProvider(profileConfig) -const assetsBase = computed(() => - String(profileConfig?.value?.assetsBase || '/assets').replace(/\/+$/, '')) +// Through the shared resolver, not a '/assets' fallback: that root path 404s whenever the tree +// is served below the site root, and inside the Research Gallery no assetsBase is passed at all. +const assetsBase = computed(() => resolveAssetsBase(profileConfig?.value || {})) // ─── The four categories (the Driver's palette) ────────────────────────────── const CATS = [ diff --git a/public/doxa-maps/all-people-groups/all-people-groups.js b/public/doxa-maps/all-people-groups/all-people-groups.js index 97888af94..7cc9697c5 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -1,45 +1,45 @@ -(function(){"use strict";var mo=typeof document<"u"?document.currentScript:null;const qy="modulepreload",Wy=function(e){return"/"+e},Yy={},qc=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** +(function(){"use strict";var bo=typeof document<"u"?document.currentScript:null;const Wy="modulepreload",Yy=function(e){return"/"+e},Jy={},Wc=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function pa(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const $e={},bo=[],mt=()=>{},Zs=()=>!1,yn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),_n=e=>e.startsWith("onUpdate:"),Ee=Object.assign,da=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Wc=Object.prototype.hasOwnProperty,fe=(e,t)=>Wc.call(e,t),Z=Array.isArray,Vt=e=>Fo(e)==="[object Map]",$n=e=>Fo(e)==="[object Set]",Qs=e=>Fo(e)==="[object Date]",ne=e=>typeof e=="function",Ae=e=>typeof e=="string",Ze=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",er=e=>(be(e)||ne(e))&&ne(e.then)&&ne(e.catch),tr=Object.prototype.toString,Fo=e=>tr.call(e),Yc=e=>Fo(e).slice(8,-1),An=e=>Fo(e)==="[object Object]",vn=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Do=pa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sn=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Jc=/-\w/g,xe=Sn(e=>e.replace(Jc,t=>t.slice(1).toUpperCase())),Xc=/\B([A-Z])/g,nt=Sn(e=>e.replace(Xc,"-$1").toLowerCase()),kn=Sn(e=>e.charAt(0).toUpperCase()+e.slice(1)),fa=Sn(e=>e?`on${kn(e)}`:""),bt=(e,t)=>!Object.is(e,t),ha=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Zc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},nr=e=>{const t=Ae(e)?Number(e):NaN;return isNaN(t)?e:t};let ar;const wn=()=>ar||(ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Bo(e){if(Z(e)){const t={};for(let o=0;o{if(o){const n=o.split(eu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(Ae(e))t=e;else if(Z(e))for(let o=0;o!!(e&&e.__v_isRef===!0),Je=e=>Ae(e)?e:e==null?"":Z(e)||be(e)&&(e.toString===tr||!ne(e.toString))?ir(e)?Je(e.value):JSON.stringify(e,lr,2):String(e),lr=(e,t)=>ir(t)?lr(e,t.value):Vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[ma(n,s)+" =>"]=a,o),{})}:$n(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ma(o))}:Ze(t)?ma(t):be(t)&&!Z(t)&&!An(t)?String(t):t,ma=(e,t="")=>{var o;return Ze(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function da(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Ae={},yo=[],bt=()=>{},Zs=()=>!1,_n=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$n=e=>e.startsWith("onUpdate:"),Ce=Object.assign,fa=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Yc=Object.prototype.hasOwnProperty,fe=(e,t)=>Yc.call(e,t),ee=Array.isArray,Ht=e=>Do(e)==="[object Map]",An=e=>Do(e)==="[object Set]",Qs=e=>Do(e)==="[object Date]",ne=e=>typeof e=="function",Se=e=>typeof e=="string",tt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",er=e=>(be(e)||ne(e))&&ne(e.then)&&ne(e.catch),tr=Object.prototype.toString,Do=e=>tr.call(e),Jc=e=>Do(e).slice(8,-1),Sn=e=>Do(e)==="[object Object]",vn=e=>Se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Go=da(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),kn=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Xc=/-\w/g,xe=kn(e=>e.replace(Xc,t=>t.slice(1).toUpperCase())),Zc=/\B([A-Z])/g,st=kn(e=>e.replace(Zc,"-$1").toLowerCase()),wn=kn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ha=kn(e=>e?`on${wn(e)}`:""),yt=(e,t)=>!Object.is(e,t),ma=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Qc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},nr=e=>{const t=Se(e)?Number(e):NaN;return isNaN(t)?e:t};let ar;const Pn=()=>ar||(ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Bo(e){if(ee(e)){const t={};for(let o=0;o{if(o){const n=o.split(tu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ze(e){let t="";if(Se(e))t=e;else if(ee(e))for(let o=0;o!!(e&&e.__v_isRef===!0),Qe=e=>Se(e)?e:e==null?"":ee(e)||be(e)&&(e.toString===tr||!ne(e.toString))?ir(e)?Qe(e.value):JSON.stringify(e,lr,2):String(e),lr=(e,t)=>ir(t)?lr(e,t.value):Ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[ba(n,s)+" =>"]=a,o),{})}:An(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ba(o))}:tt(t)?ba(t):be(t)&&!ee(t)&&!Sn(t)?String(t):t,ba=(e,t="")=>{var o;return tt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Me;class cr{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&&Me&&(Me.active?(this.parent=Me,this.index=(Me.scopes||(Me.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Me===this)Me=this.prevScope;else{let t=Me;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(jo){let t=jo;for(jo=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Go;){let t=Go;for(Go=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function fr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function hr(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),va(n),ru(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Aa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(mr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function mr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Uo)||(e.globalVersion=Uo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Aa(e))))return;e.flags|=2;const t=e.dep,o=ve,n=ct;ve=e,ct=!0;try{fr(e);const a=e.fn(e._value);(t.version===0||bt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ve=o,ct=n,hr(e),e.flags&=-3}}function va(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)va(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ru(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let ct=!0;const br=[];function yt(){br.push(ct),ct=!1}function _t(){const e=br.pop();ct=e===void 0?!0:e}function yr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ve;ve=void 0;try{t()}finally{ve=o}}}let Uo=0;class iu{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Sa{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(!ve||!ct||ve===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ve)o=this.activeLink=new iu(ve,this),ve.deps?(o.prevDep=ve.depsTail,ve.depsTail.nextDep=o,ve.depsTail=o):ve.deps=ve.depsTail=o,_r(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ve.depsTail,o.nextDep=void 0,ve.depsTail.nextDep=o,ve.depsTail=o,ve.deps===o&&(ve.deps=n)}return o}trigger(t){this.version++,Uo++,this.notify(t)}notify(t){_a();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{$a()}}}function _r(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)_r(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Tn=new WeakMap,so=Symbol(""),ka=Symbol(""),Ko=Symbol("");function Ue(e,t,o){if(ct&&ve){let n=Tn.get(e);n||Tn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Sa),a.map=n,a.key=o),a.track()}}function Lt(e,t,o,n,a,s){const r=Tn.get(e);if(!r){Uo++;return}const i=l=>{l&&l.trigger()};if(_a(),t==="clear")r.forEach(i);else{const l=Z(e),c=l&&vn(o);if(l&&o==="length"){const u=Number(n);r.forEach((d,h)=>{(h==="length"||h===Ko||!Ze(h)&&h>=u)&&i(d)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(Ko)),t){case"add":l?c&&i(r.get("length")):(i(r.get(so)),Vt(e)&&i(r.get(ka)));break;case"delete":l||(i(r.get(so)),Vt(e)&&i(r.get(ka)));break;case"set":Vt(e)&&i(r.get(so));break}}$a()}function lu(e,t){const o=Tn.get(e);return o&&o.get(t)}function yo(e){const t=pe(e);return t===e?t:(Ue(t,"iterate",Ko),Qe(e)?t:t.map(ut))}function Ln(e){return Ue(e=pe(e),"iterate",Ko),e}function $t(e,t){return Nt(e)?_o(Ct(e)?ut(t):t):ut(t)}const cu={__proto__:null,[Symbol.iterator](){return wa(this,Symbol.iterator,e=>$t(this,e))},concat(...e){return yo(this).concat(...e.map(t=>Z(t)?yo(t):t))},entries(){return wa(this,"entries",e=>(e[1]=$t(this,e[1]),e))},every(e,t){return Et(this,"every",e,t,void 0,arguments)},filter(e,t){return Et(this,"filter",e,t,o=>o.map(n=>$t(this,n)),arguments)},find(e,t){return Et(this,"find",e,t,o=>$t(this,o),arguments)},findIndex(e,t){return Et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Et(this,"findLast",e,t,o=>$t(this,o),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 Pa(this,"includes",e)},indexOf(...e){return Pa(this,"indexOf",e)},join(e){return yo(this).join(e)},lastIndexOf(...e){return Pa(this,"lastIndexOf",e)},map(e,t){return Et(this,"map",e,t,void 0,arguments)},pop(){return zo(this,"pop")},push(...e){return zo(this,"push",e)},reduce(e,...t){return $r(this,"reduce",e,t)},reduceRight(e,...t){return $r(this,"reduceRight",e,t)},shift(){return zo(this,"shift")},some(e,t){return Et(this,"some",e,t,void 0,arguments)},splice(...e){return zo(this,"splice",e)},toReversed(){return yo(this).toReversed()},toSorted(e){return yo(this).toSorted(e)},toSpliced(...e){return yo(this).toSpliced(...e)},unshift(...e){return zo(this,"unshift",e)},values(){return wa(this,"values",e=>$t(this,e))}};function wa(e,t,o){const n=Ln(e),a=n[t]();return n!==e&&!Qe(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const uu=Array.prototype;function Et(e,t,o,n,a,s){const r=Ln(e),i=r!==e&&!Qe(e),l=r[t];if(l!==uu[t]){const d=l.apply(e,s);return i?ut(d):d}let c=o;r!==e&&(i?c=function(d,h){return o.call(this,$t(e,d),h,e)}:o.length>2&&(c=function(d,h){return o.call(this,d,h,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function $r(e,t,o,n){const a=Ln(e),s=a!==e&&!Qe(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,d){return i&&(i=!1,c=$t(e,c)),o.call(this,c,$t(e,u),d,e)}):o.length>3&&(r=function(c,u,d){return o.call(this,c,u,d,e)}));const l=a[t](r,...n);return i?$t(e,l):l}function Pa(e,t,o){const n=pe(e);Ue(n,"iterate",Ko);const a=n[t](...o);return(a===-1||a===!1)&&In(o[0])?(o[0]=pe(o[0]),n[t](...o)):a}function zo(e,t,o=[]){yt(),_a();const n=pe(e)[t].apply(e,o);return $a(),_t(),n}const gu=pa("__proto__,__v_isRef,__isVue"),Ar=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ze));function pu(e){Ze(e)||(e=String(e));const t=pe(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class vr{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Lr:Tr:s?Pr:wr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Z(t);if(!a){let l;if(r&&(l=cu[o]))return l;if(o==="hasOwnProperty")return pu}const i=Reflect.get(t,o,Pe(t)?t:n);if((Ze(o)?Ar.has(o):gu(o))||(a||Ue(t,"get",o),s))return i;if(Pe(i)){const l=r&&vn(o)?i:i.value;return a&&be(l)?La(l):l}return be(i)?a?La(i):Mn(i):i}}class Sr extends vr{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Z(t)&&vn(o);if(!this._isShallow){const c=Nt(s);if(!Qe(n)&&!Nt(n)&&(s=pe(s),n=pe(n)),!r&&Pe(s)&&!Pe(n))return c||(s.value=n),!0}const i=r?Number(o)e,En=e=>Reflect.getPrototypeOf(e);function bu(e,t,o){return function(...n){const a=this.__v_raw,s=pe(a),r=Vt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?Ta:t?_o:ut;return!t&&Ue(s,"iterate",l?ka:so),Ee(Object.create(c),{next(){const{value:d,done:h}=c.next();return h?{value:d,done:h}:{value:i?[u(d[0]),u(d[1])]:u(d),done:h}}})}}function Cn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yu(e,t){const o={get(a){const s=this.__v_raw,r=pe(s),i=pe(a);e||(bt(a,i)&&Ue(r,"get",a),Ue(r,"get",i));const{has:l}=En(r),c=t?Ta:e?_o:ut;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Ue(pe(a),"iterate",so),a.size},has(a){const s=this.__v_raw,r=pe(s),i=pe(a);return e||(bt(a,i)&&Ue(r,"has",a),Ue(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=pe(i),c=t?Ta:e?_o:ut;return!e&&Ue(l,"iterate",so),i.forEach((u,d)=>a.call(s,c(u),c(d),r))}};return Ee(o,e?{add:Cn("add"),set:Cn("set"),delete:Cn("delete"),clear:Cn("clear")}:{add(a){const s=pe(this),r=En(s),i=pe(a),l=!t&&!Qe(a)&&!Nt(a)?i:a;return r.has.call(s,l)||bt(a,l)&&r.has.call(s,a)||bt(i,l)&&r.has.call(s,i)||(s.add(l),Lt(s,"add",l,l)),this},set(a,s){!t&&!Qe(s)&&!Nt(s)&&(s=pe(s));const r=pe(this),{has:i,get:l}=En(r);let c=i.call(r,a);c||(a=pe(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?bt(s,u)&&Lt(r,"set",a,s):Lt(r,"add",a,s),this},delete(a){const s=pe(this),{has:r,get:i}=En(s);let l=r.call(s,a);l||(a=pe(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&Lt(s,"delete",a,void 0),c},clear(){const a=pe(this),s=a.size!==0,r=a.clear();return s&&Lt(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=bu(a,e,t)}),o}function Nn(e,t){const o=yu(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(fe(o,a)&&a in n?o:n,a,s)}const _u={get:Nn(!1,!1)},$u={get:Nn(!1,!0)},Au={get:Nn(!0,!1)},vu={get:Nn(!0,!0)},wr=new WeakMap,Pr=new WeakMap,Tr=new WeakMap,Lr=new WeakMap;function Su(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Mn(e){return Nt(e)?e:Rn(e,!1,du,_u,wr)}function ku(e){return Rn(e,!1,hu,$u,Pr)}function La(e){return Rn(e,!0,fu,Au,Tr)}function Xy(e){return Rn(e,!0,mu,vu,Lr)}function Rn(e,t,o,n,a){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Su(Yc(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Ct(e){return Nt(e)?Ct(e.__v_raw):!!(e&&e.__v_isReactive)}function Nt(e){return!!(e&&e.__v_isReadonly)}function Qe(e){return!!(e&&e.__v_isShallow)}function In(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function Vo(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&or(e,"__v_skip",!0),e}const ut=e=>be(e)?Mn(e):e,_o=e=>be(e)?La(e):e;function Pe(e){return e?e.__v_isRef===!0:!1}function ie(e){return Er(e,!1)}function Ea(e){return Er(e,!0)}function Er(e,t){return Pe(e)?e:new wu(e,t)}class wu{constructor(t,o){this.dep=new Sa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:pe(t),this._value=o?t:ut(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Qe(t)||Nt(t);t=n?t:pe(t),bt(t,o)&&(this._rawValue=t,this._value=n?t:ut(t),this.dep.trigger())}}function Mt(e){return Pe(e)?e.value:e}const Pu={get:(e,t,o)=>t==="__v_raw"?e:Mt(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Pe(a)&&!Pe(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Cr(e){return Ct(e)?e:new Proxy(e,Pu)}function Tu(e){const t=Z(e)?new Array(e.length):{};for(const o in e)t[o]=Eu(e,o);return t}class Lu{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Ze(o)?o:String(o),this._raw=pe(t);let a=!0,s=t;if(!Z(t)||Ze(this._key)||!vn(this._key))do a=!In(s)||Qe(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=Mt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Pe(this._raw[this._key])){const o=this._object[this._key];if(Pe(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return lu(this._raw,this._key)}}function Eu(e,t,o){return new Lu(e,t,o)}class Cu{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Sa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Uo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ve!==this)return dr(this,!0),!0}get value(){const t=this.dep.track();return mr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Nu(e,t,o=!1){let n,a;return ne(e)?n=e:(n=e.get,a=e.set),new Cu(n,a,o)}const xn={},On=new WeakMap;let ro;function Mu(e,t=!1,o=ro){if(o){let n=On.get(o);n||On.set(o,n=[]),n.push(e)}}function Ru(e,t,o=$e){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=$=>a?$:Qe($)||a===!1||a===0?Ht($,1):Ht($);let u,d,h,y,T=!1,A=!1;if(Pe(e)?(d=()=>e.value,T=Qe(e)):Ct(e)?(d=()=>c(e),T=!0):Z(e)?(A=!0,T=e.some($=>Ct($)||Qe($)),d=()=>e.map($=>{if(Pe($))return $.value;if(Ct($))return c($);if(ne($))return l?l($,2):$()})):ne(e)?t?d=l?()=>l(e,2):e:d=()=>{if(h){yt();try{h()}finally{_t()}}const $=ro;ro=u;try{return l?l(e,3,[y]):e(y)}finally{ro=$}}:d=mt,t&&a){const $=d,E=a===!0?1/0:a;d=()=>Ht($(),E)}const P=ur(),M=()=>{u.stop(),P&&P.active&&da(P.effects,u)};if(s&&t){const $=t;t=(...E)=>{const k=$(...E);return M(),k}}let L=A?new Array(e.length).fill(xn):xn;const _=$=>{if(!(!(u.flags&1)||!u.dirty&&!$))if(t){const E=u.run();if($||a||T||(A?E.some((k,v)=>bt(k,L[v])):bt(E,L))){h&&h();const k=ro;ro=u;try{const v=[E,L===xn?void 0:A&&L[0]===xn?[]:L,y];L=E,l?l(t,3,v):t(...v)}finally{ro=k}}}else u.run()};return i&&i(_),u=new gr(d),u.scheduler=r?()=>r(_,!1):_,y=$=>Mu($,!1,u),h=u.onStop=()=>{const $=On.get(u);if($){if(l)l($,4);else for(const E of $)E();On.delete(u)}},t?n?_(!0):L=u.run():r?r(_.bind(null,!0),!0):u.run(),M.pause=u.pause.bind(u),M.resume=u.resume.bind(u),M.stop=M,M}function Ht(e,t=1/0,o){if(t<=0||!be(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Pe(e))Ht(e.value,t,o);else if(Z(e))for(let n=0;n{Ht(n,t,o)});else if(An(e)){for(const n in e)Ht(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ht(e[n],t,o)}return e}/** +**/let Ie;class cr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ie&&(Ie.active?(this.parent=Ie,this.index=(Ie.scopes||(Ie.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Ie===this)Ie=this.prevScope;else{let t=Ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(Uo){let t=Uo;for(Uo=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;jo;){let t=jo;for(jo=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function fr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function hr(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),va(n),iu(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Sa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(mr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function mr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ko)||(e.globalVersion=Ko,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Sa(e))))return;e.flags|=2;const t=e.dep,o=ve,n=ut;ve=e,ut=!0;try{fr(e);const a=e.fn(e._value);(t.version===0||yt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ve=o,ut=n,hr(e),e.flags&=-3}}function va(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)va(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function iu(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let ut=!0;const br=[];function _t(){br.push(ut),ut=!1}function $t(){const e=br.pop();ut=e===void 0?!0:e}function yr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ve;ve=void 0;try{t()}finally{ve=o}}}let Ko=0;class lu{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ka{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(!ve||!ut||ve===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ve)o=this.activeLink=new lu(ve,this),ve.deps?(o.prevDep=ve.depsTail,ve.depsTail.nextDep=o,ve.depsTail=o):ve.deps=ve.depsTail=o,_r(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ve.depsTail,o.nextDep=void 0,ve.depsTail.nextDep=o,ve.depsTail=o,ve.deps===o&&(ve.deps=n)}return o}trigger(t){this.version++,Ko++,this.notify(t)}notify(t){$a();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Aa()}}}function _r(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)_r(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Tn=new WeakMap,ro=Symbol(""),wa=Symbol(""),zo=Symbol("");function Ke(e,t,o){if(ut&&ve){let n=Tn.get(e);n||Tn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new ka),a.map=n,a.key=o),a.track()}}function Et(e,t,o,n,a,s){const r=Tn.get(e);if(!r){Ko++;return}const i=l=>{l&&l.trigger()};if($a(),t==="clear")r.forEach(i);else{const l=ee(e),c=l&&vn(o);if(l&&o==="length"){const u=Number(n);r.forEach((d,h)=>{(h==="length"||h===zo||!tt(h)&&h>=u)&&i(d)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(zo)),t){case"add":l?c&&i(r.get("length")):(i(r.get(ro)),Ht(e)&&i(r.get(wa)));break;case"delete":l||(i(r.get(ro)),Ht(e)&&i(r.get(wa)));break;case"set":Ht(e)&&i(r.get(ro));break}}Aa()}function cu(e,t){const o=Tn.get(e);return o&&o.get(t)}function _o(e){const t=pe(e);return t===e?t:(Ke(t,"iterate",zo),ot(e)?t:t.map(gt))}function En(e){return Ke(e=pe(e),"iterate",zo),e}function At(e,t){return Mt(e)?$o(Nt(e)?gt(t):t):gt(t)}const uu={__proto__:null,[Symbol.iterator](){return Pa(this,Symbol.iterator,e=>At(this,e))},concat(...e){return _o(this).concat(...e.map(t=>ee(t)?_o(t):t))},entries(){return Pa(this,"entries",e=>(e[1]=At(this,e[1]),e))},every(e,t){return Ct(this,"every",e,t,void 0,arguments)},filter(e,t){return Ct(this,"filter",e,t,o=>o.map(n=>At(this,n)),arguments)},find(e,t){return Ct(this,"find",e,t,o=>At(this,o),arguments)},findIndex(e,t){return Ct(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ct(this,"findLast",e,t,o=>At(this,o),arguments)},findLastIndex(e,t){return Ct(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ct(this,"forEach",e,t,void 0,arguments)},includes(...e){return La(this,"includes",e)},indexOf(...e){return La(this,"indexOf",e)},join(e){return _o(this).join(e)},lastIndexOf(...e){return La(this,"lastIndexOf",e)},map(e,t){return Ct(this,"map",e,t,void 0,arguments)},pop(){return Vo(this,"pop")},push(...e){return Vo(this,"push",e)},reduce(e,...t){return $r(this,"reduce",e,t)},reduceRight(e,...t){return $r(this,"reduceRight",e,t)},shift(){return Vo(this,"shift")},some(e,t){return Ct(this,"some",e,t,void 0,arguments)},splice(...e){return Vo(this,"splice",e)},toReversed(){return _o(this).toReversed()},toSorted(e){return _o(this).toSorted(e)},toSpliced(...e){return _o(this).toSpliced(...e)},unshift(...e){return Vo(this,"unshift",e)},values(){return Pa(this,"values",e=>At(this,e))}};function Pa(e,t,o){const n=En(e),a=n[t]();return n!==e&&!ot(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const gu=Array.prototype;function Ct(e,t,o,n,a,s){const r=En(e),i=r!==e&&!ot(e),l=r[t];if(l!==gu[t]){const d=l.apply(e,s);return i?gt(d):d}let c=o;r!==e&&(i?c=function(d,h){return o.call(this,At(e,d),h,e)}:o.length>2&&(c=function(d,h){return o.call(this,d,h,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function $r(e,t,o,n){const a=En(e),s=a!==e&&!ot(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,d){return i&&(i=!1,c=At(e,c)),o.call(this,c,At(e,u),d,e)}):o.length>3&&(r=function(c,u,d){return o.call(this,c,u,d,e)}));const l=a[t](r,...n);return i?At(e,l):l}function La(e,t,o){const n=pe(e);Ke(n,"iterate",zo);const a=n[t](...o);return(a===-1||a===!1)&&On(o[0])?(o[0]=pe(o[0]),n[t](...o)):a}function Vo(e,t,o=[]){_t(),$a();const n=pe(e)[t].apply(e,o);return Aa(),$t(),n}const pu=da("__proto__,__v_isRef,__isVue"),Ar=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(tt));function du(e){tt(e)||(e=String(e));const t=pe(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class Sr{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Tr:Lr:s?Pr:wr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=ee(t);if(!a){let l;if(r&&(l=uu[o]))return l;if(o==="hasOwnProperty")return du}const i=Reflect.get(t,o,Le(t)?t:n);if((tt(o)?Ar.has(o):pu(o))||(a||Ke(t,"get",o),s))return i;if(Le(i)){const l=r&&vn(o)?i:i.value;return a&&be(l)?Ea(l):l}return be(i)?a?Ea(i):Rn(i):i}}class vr extends Sr{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=ee(t)&&vn(o);if(!this._isShallow){const c=Mt(s);if(!ot(n)&&!Mt(n)&&(s=pe(s),n=pe(n)),!r&&Le(s)&&!Le(n))return c||(s.value=n),!0}const i=r?Number(o)e,Cn=e=>Reflect.getPrototypeOf(e);function yu(e,t,o){return function(...n){const a=this.__v_raw,s=pe(a),r=Ht(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?Ta:t?$o:gt;return!t&&Ke(s,"iterate",l?wa:ro),Ce(Object.create(c),{next(){const{value:d,done:h}=c.next();return h?{value:d,done:h}:{value:i?[u(d[0]),u(d[1])]:u(d),done:h}}})}}function Nn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _u(e,t){const o={get(a){const s=this.__v_raw,r=pe(s),i=pe(a);e||(yt(a,i)&&Ke(r,"get",a),Ke(r,"get",i));const{has:l}=Cn(r),c=t?Ta:e?$o:gt;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Ke(pe(a),"iterate",ro),a.size},has(a){const s=this.__v_raw,r=pe(s),i=pe(a);return e||(yt(a,i)&&Ke(r,"has",a),Ke(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=pe(i),c=t?Ta:e?$o:gt;return!e&&Ke(l,"iterate",ro),i.forEach((u,d)=>a.call(s,c(u),c(d),r))}};return Ce(o,e?{add:Nn("add"),set:Nn("set"),delete:Nn("delete"),clear:Nn("clear")}:{add(a){const s=pe(this),r=Cn(s),i=pe(a),l=!t&&!ot(a)&&!Mt(a)?i:a;return r.has.call(s,l)||yt(a,l)&&r.has.call(s,a)||yt(i,l)&&r.has.call(s,i)||(s.add(l),Et(s,"add",l,l)),this},set(a,s){!t&&!ot(s)&&!Mt(s)&&(s=pe(s));const r=pe(this),{has:i,get:l}=Cn(r);let c=i.call(r,a);c||(a=pe(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?yt(s,u)&&Et(r,"set",a,s):Et(r,"add",a,s),this},delete(a){const s=pe(this),{has:r,get:i}=Cn(s);let l=r.call(s,a);l||(a=pe(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&Et(s,"delete",a,void 0),c},clear(){const a=pe(this),s=a.size!==0,r=a.clear();return s&&Et(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=yu(a,e,t)}),o}function Mn(e,t){const o=_u(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(fe(o,a)&&a in n?o:n,a,s)}const $u={get:Mn(!1,!1)},Au={get:Mn(!1,!0)},Su={get:Mn(!0,!1)},vu={get:Mn(!0,!0)},wr=new WeakMap,Pr=new WeakMap,Lr=new WeakMap,Tr=new WeakMap;function ku(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Rn(e){return Mt(e)?e:In(e,!1,fu,$u,wr)}function wu(e){return In(e,!1,mu,Au,Pr)}function Ea(e){return In(e,!0,hu,Su,Lr)}function Zy(e){return In(e,!0,bu,vu,Tr)}function In(e,t,o,n,a){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=ku(Jc(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Nt(e){return Mt(e)?Nt(e.__v_raw):!!(e&&e.__v_isReactive)}function Mt(e){return!!(e&&e.__v_isReadonly)}function ot(e){return!!(e&&e.__v_isShallow)}function On(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function Ho(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&or(e,"__v_skip",!0),e}const gt=e=>be(e)?Rn(e):e,$o=e=>be(e)?Ea(e):e;function Le(e){return e?e.__v_isRef===!0:!1}function se(e){return Er(e,!1)}function Ca(e){return Er(e,!0)}function Er(e,t){return Le(e)?e:new Pu(e,t)}class Pu{constructor(t,o){this.dep=new ka,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:pe(t),this._value=o?t:gt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||ot(t)||Mt(t);t=n?t:pe(t),yt(t,o)&&(this._rawValue=t,this._value=n?t:gt(t),this.dep.trigger())}}function Rt(e){return Le(e)?e.value:e}const Lu={get:(e,t,o)=>t==="__v_raw"?e:Rt(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Le(a)&&!Le(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Cr(e){return Nt(e)?e:new Proxy(e,Lu)}function Tu(e){const t=ee(e)?new Array(e.length):{};for(const o in e)t[o]=Cu(e,o);return t}class Eu{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=tt(o)?o:String(o),this._raw=pe(t);let a=!0,s=t;if(!ee(t)||tt(this._key)||!vn(this._key))do a=!On(s)||ot(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=Rt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Le(this._raw[this._key])){const o=this._object[this._key];if(Le(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return cu(this._raw,this._key)}}function Cu(e,t,o){return new Eu(e,t,o)}class Nu{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new ka(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ko-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ve!==this)return dr(this,!0),!0}get value(){const t=this.dep.track();return mr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Mu(e,t,o=!1){let n,a;return ne(e)?n=e:(n=e.get,a=e.set),new Nu(n,a,o)}const xn={},Fn=new WeakMap;let io;function Ru(e,t=!1,o=io){if(o){let n=Fn.get(o);n||Fn.set(o,n=[]),n.push(e)}}function Iu(e,t,o=Ae){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=_=>a?_:ot(_)||a===!1||a===0?qt(_,1):qt(_);let u,d,h,y,P=!1,A=!1;if(Le(e)?(d=()=>e.value,P=ot(e)):Nt(e)?(d=()=>c(e),P=!0):ee(e)?(A=!0,P=e.some(_=>Nt(_)||ot(_)),d=()=>e.map(_=>{if(Le(_))return _.value;if(Nt(_))return c(_);if(ne(_))return l?l(_,2):_()})):ne(e)?t?d=l?()=>l(e,2):e:d=()=>{if(h){_t();try{h()}finally{$t()}}const _=io;io=u;try{return l?l(e,3,[y]):e(y)}finally{io=_}}:d=bt,t&&a){const _=d,E=a===!0?1/0:a;d=()=>qt(_(),E)}const N=ur(),M=()=>{u.stop(),N&&N.active&&fa(N.effects,u)};if(s&&t){const _=t;t=(...E)=>{const S=_(...E);return M(),S}}let w=A?new Array(e.length).fill(xn):xn;const $=_=>{if(!(!(u.flags&1)||!u.dirty&&!_))if(t){const E=u.run();if(_||a||P||(A?E.some((S,L)=>yt(S,w[L])):yt(E,w))){h&&h();const S=io;io=u;try{const L=[E,w===xn?void 0:A&&w[0]===xn?[]:w,y];w=E,l?l(t,3,L):t(...L)}finally{io=S}}}else u.run()};return i&&i($),u=new gr(d),u.scheduler=r?()=>r($,!1):$,y=_=>Ru(_,!1,u),h=u.onStop=()=>{const _=Fn.get(u);if(_){if(l)l(_,4);else for(const E of _)E();Fn.delete(u)}},t?n?$(!0):w=u.run():r?r($.bind(null,!0),!0):u.run(),M.pause=u.pause.bind(u),M.resume=u.resume.bind(u),M.stop=M,M}function qt(e,t=1/0,o){if(t<=0||!be(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Le(e))qt(e.value,t,o);else if(ee(e))for(let n=0;n{qt(n,t,o)});else if(Sn(e)){for(const n in e)qt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&qt(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Ho=[];let Ca=!1;function Zy(e,...t){if(Ca)return;Ca=!0,yt();const o=Ho.length?Ho[Ho.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Iu();if(n)$o(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${Ei(o,s.type)}>`).join(` +**/const qo=[];let Na=!1;function Qy(e,...t){if(Na)return;Na=!0,_t();const o=qo.length?qo[qo.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Ou();if(n)Ao(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${Ei(o,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...xu(a)),console.warn(...s)}_t(),Ca=!1}function Iu(){let e=Ho[Ho.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function xu(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Ou(o))}),t}function Ou({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Ei(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Fu(e.props),s]:[a+s]}function Fu(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Nr(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Nr(e,t,o){return Ae(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Pe(t)?(t=Nr(e,pe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ne(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),o?t:[`${e}=`,t])}function $o(e,t,o,n){try{return n?e(...n):e()}catch(a){qo(a,t,o)}}function gt(e,t,o,n){if(ne(e)){const a=$o(e,t,o,n);return a&&er(a)&&a.catch(s=>{qo(s,t,o)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Ke[n],s=Yo(a);s=Yo(o)?Ke.push(e):Ke.splice(Bu(t),0,e),e.flags|=1,Rr()}}function Rr(){Fn||(Fn=Mr.then(Or))}function Gu(e){if(!Z(e))qt&&e.id===-1?qt.splice(vo+1,0,e):e.flags&1||(Ao.push(e),e.flags|=1);else for(let t=0;tYo(o)-Yo(n));if(Ao.length=0,qt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Or(e){try{for(At=0;At{n._d&&Yn(-1);const s=Dn(t),r=xt.length;let i;try{i=e(...a)}finally{for(let l=xt.length;l>r;l--)Ja();Dn(s),n._d&&Yn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function io(e,t,o,n){const a=e.dirs,s=t&&t.dirs;for(let r=0;r1)return o&&ne(t)?t.call(n&&n.proxy):t}}function ju(){return!!(Dt()||co)}const Uu=Symbol.for("v-scx"),Ku=()=>Ne(Uu);function zu(e,t){return Ma(e,null,t)}function Rt(e,t,o){return Ma(e,t,o)}function Ma(e,t,o=$e){const{immediate:n,deep:a,flush:s,once:r}=o,i=Ee({},o),l=t&&n||!t&&s!=="post";let c;if(Po){if(s==="sync"){const y=Ku();c=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=mt,y.resume=mt,y.pause=mt,y}}const u=Be;i.call=(y,T,A)=>gt(y,u,T,A);let d=!1;s==="post"?i.scheduler=y=>{He(y,u&&u.suspense)}:s!=="sync"&&(d=!0,i.scheduler=(y,T)=>{T?y():Na(y)}),i.augmentJob=y=>{t&&(y.flags|=4),d&&(y.flags|=2,u&&(y.id=u.uid,y.i=u))};const h=Ru(e,t,i);return Po&&(c?c.push(h):l&&h()),h}function Vu(e,t,o){const n=this.proxy,a=Ae(e)?e.includes(".")?Dr(n,e):()=>n[e]:e.bind(n,n);let s;ne(t)?s=t:(s=t.handler,o=t);const r=ln(this),i=Ma(a,s.bind(n),o);return r(),i}function Dr(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,lo=e=>e&&(e.disabled||e.disabled===""),Hu=e=>e&&(e.defer||e.defer===""),Gr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,jr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ra=(e,t)=>{const o=e&&e.to;return Ae(o)?t?t(o):null:o},qu={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,r,i,l,c){const{mc:u,pc:d,pbc:h,o:{insert:y,querySelector:T,createText:A,createComment:P,parentNode:M}}=c,L=lo(t.props);let{dynamicChildren:_}=t;const $=(v,w,m)=>{v.shapeFlag&16&&u(v.children,w,m,a,s,r,i,l)},E=(v=t)=>{const w=lo(v.props),m=v.target=Ra(v.props,T),G=Ia(m,v,A,y);m&&(r!=="svg"&&Gr(m)?r="svg":r!=="mathml"&&jr(m)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(m),w||($(v,m,G),Jo(v,!1)))},k=v=>{const w=()=>{if(Wt.get(v)===w){if(Wt.delete(v),lo(v.props)){const m=M(v.el)||o;$(v,m,v.anchor),Jo(v,!0)}E(v)}};Wt.set(v,w),He(w,s)};if(e==null){const v=t.el=A(""),w=t.anchor=A("");if(y(v,o,n),y(w,o,n),Hu(t.props)||s&&s.pendingBranch){k(t);return}L&&($(t,o,w),Jo(t,!0)),E()}else{t.el=e.el;const v=t.anchor=e.anchor,w=Wt.get(e);if(w){w.flags|=8,Wt.delete(e),k(t);return}t.targetStart=e.targetStart;const m=t.target=e.target,G=t.targetAnchor=e.targetAnchor,K=lo(e.props),j=K?o:m,Y=K?v:G;if(r==="svg"||Gr(m)?r="svg":(r==="mathml"||jr(m))&&(r="mathml"),_?(h(e.dynamicChildren,_,j,a,s,r,i),Wa(e,t,!0)):l||d(e,t,j,Y,a,s,r,i,!1),L)K?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):jn(t,o,v,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const le=Ra(t.props,T);le&&(t.target=le,jn(t,le,null,c,0))}else K&&jn(t,m,G,c,1);Jo(t,L)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:h}=e,y=lo(h),T=s||!y,A=Wt.get(e);if(A&&(A.flags|=8,Wt.delete(e)),d&&(a(c),a(u)),s&&a(l),!A&&(y||d)&&r&16)for(let P=0;P1){for(const o of e)if(o.type!==vt){t=o;break}}return t}function Ur(e){if(!zn(e))return Gn(e.type)&&e.children?Ju(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&ne(o.default))return o.default()}}function Oa(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Oa(Gn(o.type)&&Ur(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Xo(e,t){return ne(e)?Ee({name:e.name},t,{setup:e}):e}function Fa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Kr(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Un=new WeakMap;function Zo(e,t,o,n,a=!1){if(Z(e)){e.forEach((A,P)=>Zo(A,t&&(Z(t)?t[P]:t),o,n,a));return}if(So(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Zo(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Xa(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===$e?i.refs={}:i.refs,d=i.setupState,h=pe(d),y=d===$e?Zs:A=>Kr(u,A)?!1:fe(h,A),T=(A,P)=>!(P&&Kr(u,P));if(c!=null&&c!==l){if(zr(t),Ae(c))u[c]=null,y(c)&&(d[c]=null);else if(Pe(c)){const A=t;T(c,A.k)&&(c.value=null),A.k&&(u[A.k]=null)}}if(ne(l))$o(l,i,12,[r,u]);else{const A=Ae(l),P=Pe(l);if(A||P){const M=()=>{if(e.f){const L=A?y(l)?d[l]:u[l]:T()||!e.k?l.value:u[e.k];if(a)Z(L)&&da(L,s);else if(Z(L))L.includes(s)||L.push(s);else if(A)u[l]=[s],y(l)&&(d[l]=u[l]);else{const _=[s];T(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else A?(u[l]=r,y(l)&&(d[l]=r)):P&&(T(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const L=()=>{M(),Un.delete(e)};L.id=-1,Un.set(e,L),He(L,o)}else zr(e),M()}}}function zr(e){const t=Un.get(e);t&&(t.flags|=8,Un.delete(e))}const Vr=e=>e.nodeType===8;wn().requestIdleCallback,wn().cancelIdleCallback;function Xu(e,t){if(Vr(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Vr(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const So=e=>!!e.type.__asyncLoader;function Zu(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const h=()=>(d++,c=null,y()),y=()=>{let T;return c||(T=c=t().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),l)return new Promise((P,M)=>{l(A,()=>P(h()),()=>M(A),d+1)});throw A}).then(A=>T!==c&&c?c:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),u=A,A)))};return Xo({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(T,A,P){const M=T.isConnected;let L=!1;(A.bu||(A.bu=[])).push(()=>L=!0);const _=()=>{L||!T.parentNode||M&&!T.isConnected||P()},$=s?()=>{const E=s(_,k=>Xu(T,k));E&&(A.bum||(A.bum=[])).push(E)}:_;u?$():y().then(()=>!A.isUnmounted&&$())},get __asyncResolved(){return u},setup(){const T=Be;if(Fa(T),u)return()=>Kn(u,T);const A=E=>{c=null,qo(E,T,13,!n)};if(i&&T.suspense||Po)return y().then(E=>()=>Kn(E,T)).catch(E=>(A(E),()=>n?Te(n,{error:E}):null));const P=ie(!1),M=ie(),L=ie(!!a);let _,$;return Hn(()=>{_!=null&&clearTimeout(_),$!=null&&clearTimeout($)}),a&&($=setTimeout(()=>{T.isUnmounted||(L.value=!1)},a)),r!=null&&(_=setTimeout(()=>{if(!T.isUnmounted&&!P.value&&!M.value){const E=new Error(`Async component timed out after ${r}ms.`);A(E),M.value=E}},r)),y().then(()=>{T.isUnmounted||(P.value=!0,T.parent&&zn(T.parent.vnode)&&T.parent.update())}).catch(E=>{if(T.isUnmounted){c=null;return}A(E),M.value=E}),()=>{if(P.value&&u)return Kn(u,T);if(M.value&&n)return Te(n,{error:M.value});if(o&&!L.value)return Kn(o,T)}}})}function Kn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=Te(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const zn=e=>e.type.__isKeepAlive;function Qu(e,t){Hr(e,"a",t)}function eg(e,t){Hr(e,"da",t)}function Hr(e,t,o=Be){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Vn(t,n,o),o){let a=o.parent;for(;a&&a.parent;)zn(a.parent.vnode)&&tg(n,t,o,a),a=a.parent}}function tg(e,t,o,n){const a=Vn(t,e,n,!0);Hn(()=>{da(n[t],a)},o)}function Vn(e,t,o=Be,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{yt();const i=ln(o),l=gt(t,o,e,r);return i(),_t(),l});return n?a.unshift(s):a.push(s),s}}const It=e=>(t,o=Be)=>{(!Po||e==="sp")&&Vn(e,(...n)=>t(...n),o)},qr=It("bm"),ko=It("m"),og=It("bu"),ng=It("u"),Qo=It("bum"),Hn=It("um"),ag=It("sp"),sg=It("rtg"),rg=It("rtc");function ig(e,t=Be){Vn("ec",e,t)}const lg="components",Wr=Symbol.for("v-ndc");function Yr(e){return Ae(e)?cg(lg,e,!1)||e:e||Wr}function cg(e,t,o=!0,n=!1){const a=ze||Be;if(a){const s=a.type;{const i=Li(s,!1);if(i&&(i===t||i===xe(t)||i===kn(xe(t))))return s}const r=Jr(a[e]||s[e],t)||Jr(a.appContext[e],t);return!r&&n?s:r}}function Jr(e,t){return e&&(e[t]||e[xe(t)]||e[kn(xe(t))])}function Da(e,t,o,n){let a;const s=o,r=Z(e);if(r||Ae(e)){const i=r&&Ct(e);let l=!1,c=!1;i&&(l=!Qe(e),c=Nt(e),e=Ln(e)),a=new Array(e.length);for(let u=0,d=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return ye(),go(De,null,[Te("slot",c,n)],u?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=xt.length;ye();let l;try{const c=r&&Xr(r(o)),u=o.key||s||c&&c.key;l=go(De,{key:(u&&!Ze(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=xt.length;u>i;u--)Ja();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Xr(e){return e.some(t=>an(t)?!(t.type===vt||t.type===De&&!Xr(t.children)):!0)?e:null}const Ga=e=>e?wi(e)?Xa(e):Ga(e.parent):null,en=Ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ga(e.parent),$root:e=>Ga(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Na(e.update)}),$nextTick:e=>e.n||(e.n=Wo.bind(e.proxy)),$watch:e=>Vu.bind(e)}),ja=(e,t)=>e!==$e&&!e.__isScriptSetup&&fe(e,t),ug={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const h=r[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(ja(n,t))return r[t]=1,n[t];if(a!==$e&&fe(a,t))return r[t]=2,a[t];if(fe(s,t))return r[t]=3,s[t];if(o!==$e&&fe(o,t))return r[t]=4,o[t];Ua&&(r[t]=0)}}const c=en[t];let u,d;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==$e&&fe(o,t))return r[t]=4,o[t];if(d=l.config.globalProperties,fe(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return ja(a,t)?(a[t]=o,!0):n!==$e&&fe(n,t)?(n[t]=o,!0):fe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==$e&&i[0]!=="$"&&fe(e,i)||ja(t,i)||fe(s,i)||fe(n,i)||fe(en,i)||fe(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:fe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Zr(e){return Z(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ua=!0;function gg(e){const t=ti(e),o=e.proxy,n=e.ctx;Ua=!1,t.beforeCreate&&Qr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:h,beforeUpdate:y,updated:T,activated:A,deactivated:P,beforeDestroy:M,beforeUnmount:L,destroyed:_,unmounted:$,render:E,renderTracked:k,renderTriggered:v,errorCaptured:w,serverPrefetch:m,expose:G,inheritAttrs:K,components:j,directives:Y,filters:le}=t;if(c&&pg(c,n,null),r)for(const U in r){const J=r[U];ne(J)&&(n[U]=J.bind(o))}if(a){const U=a.call(o,o);be(U)&&(e.data=Mn(U))}if(Ua=!0,s)for(const U in s){const J=s[U],ge=ne(J)?J.bind(o,o):ne(J.get)?J.get.bind(o,o):mt,te=!ne(J)&&ne(J.set)?J.set.bind(o):mt,se=he({get:ge,set:te});Object.defineProperty(n,U,{enumerable:!0,configurable:!0,get:()=>se.value,set:me=>se.value=me})}if(i)for(const U in i)ei(i[U],n,o,U);if(l){const U=ne(l)?l.call(o):l;Reflect.ownKeys(U).forEach(J=>{at(J,U[J])})}u&&Qr(u,e,"c");function O(U,J){Z(J)?J.forEach(ge=>U(ge.bind(o))):J&&U(J.bind(o))}if(O(qr,d),O(ko,h),O(og,y),O(ng,T),O(Qu,A),O(eg,P),O(ig,w),O(rg,k),O(sg,v),O(Qo,L),O(Hn,$),O(ag,m),Z(G))if(G.length){const U=e.exposed||(e.exposed={});G.forEach(J=>{Object.defineProperty(U,J,{get:()=>o[J],set:ge=>o[J]=ge,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===mt&&(e.render=E),K!=null&&(e.inheritAttrs=K),j&&(e.components=j),Y&&(e.directives=Y),m&&Fa(e)}function pg(e,t,o=mt){Z(e)&&(e=Ka(e));for(const n in e){const a=e[n];let s;be(a)?"default"in a?s=Ne(a.from||n,a.default,!0):s=Ne(a.from||n):s=Ne(a),Pe(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function Qr(e,t,o){gt(Z(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function ei(e,t,o,n){let a=n.includes(".")?Dr(o,n):()=>o[n];if(Ae(e)){const s=t[e];ne(s)&&Rt(a,s)}else if(ne(e))Rt(a,e.bind(o));else if(be(e))if(Z(e))e.forEach(s=>ei(s,t,o,n));else{const s=ne(e.handler)?e.handler.bind(o):t[e.handler];ne(s)&&Rt(a,s,e)}}function ti(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>qn(l,c,r,!0)),qn(l,t,r)),be(t)&&s.set(t,l),l}function qn(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&qn(e,s,o,!0),a&&a.forEach(r=>qn(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=dg[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const dg={data:oi,props:ni,emits:ni,methods:tn,computed:tn,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:tn,directives:tn,watch:hg,provide:oi,inject:fg};function oi(e,t){return t?e?function(){return Ee(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function fg(e,t){return tn(Ka(e),Ka(t))}function Ka(e){if(Z(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${nt(t)}Modifiers`];function _g(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||$e;let a=o;const s=t.startsWith("update:"),r=s&&yg(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>Ae(u)?u.trim():u)),r.number&&(a=a.map(Zc)));let i,l=n[i=fa(t)]||n[i=fa(xe(t))];!l&&s&&(l=n[i=fa(nt(t))]),l&>(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,gt(c,e,6,a)}}const $g=new WeakMap;function si(e,t,o=!1){const n=o?$g:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!ne(e)){const l=c=>{const u=si(c,t,!0);u&&(i=!0,Ee(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(be(e)&&n.set(e,null),null):(Z(s)?s.forEach(l=>r[l]=null):Ee(r,s),be(e)&&n.set(e,r),r)}function Wn(e,t){return!e||!yn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,nt(t))||fe(e,t))}function Qy(){}function ri(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:d,data:h,setupState:y,ctx:T,inheritAttrs:A}=e,P=Dn(e);let M,L;try{if(o.shapeFlag&4){const $=a||n,E=$;M=St(c.call(E,$,u,d,y,h,T)),L=i}else{const $=t;M=St($.length>1?$(d,{attrs:i,slots:r,emit:l}):$(d,null)),L=t.props?i:Ag(i)}}catch($){xt.length=0,qo($,e,1),M=Te(vt)}let _=M;if(L&&A!==!1){const $=Object.keys(L),{shapeFlag:E}=_;$.length&&E&7&&(s&&$.some(_n)&&(L=vg(L,s)),_=wo(_,L,!1,!0))}if(o.dirs&&(_=wo(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(o.dirs):o.dirs),o.transition){const $=Gn(_.type)&&Ur(_)||_;Oa($,o.transition)}return M=_,Dn(P),M}const Ag=e=>{let t;for(const o in e)(o==="class"||o==="style"||yn(o))&&((t||(t={}))[o]=e[o]);return t},vg=(e,t)=>{const o={};for(const n in e)(!_n(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sg(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ii(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;dObject.create(ci),gi=e=>Object.getPrototypeOf(e)===ci;function wg(e,t,o,n=!1){const a={},s=ui();e.propsDefaults=Object.create(null),pi(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:ku(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Pg(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=pe(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[h,y]=di(d,t,!0);Ee(r,h),y&&i.push(...y)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return be(e)&&n.set(e,bo),bo;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ha=e=>Z(e)?e.map(St):[St(e)],Lg=(e,t,o)=>{if(t._n)return t;const n=Bn((...a)=>Ha(t(...a)),o);return n._c=!1,n},hi=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Va(a))continue;const s=e[a];if(ne(s))t[a]=Lg(a,s,n);else if(s!=null){const r=Ha(s);t[a]=()=>r}}},mi=(e,t)=>{const o=Ha(t);e.slots.default=()=>o},bi=(e,t,o)=>{for(const n in t)(o||!Va(n))&&(e[n]=t[n])},Eg=(e,t,o)=>{const n=e.slots=ui();if(e.vnode.shapeFlag&32){const a=t._;a?(bi(n,t,o),o&&or(n,"_",a,!0)):hi(t,n)}else t&&mi(e,t)},Cg=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=$e;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:bi(a,t,o):(s=!t.$stable,hi(t,a)),r=t}else t&&(mi(e,t),r={default:1});if(s)for(const i in a)!Va(i)&&r[i]==null&&delete a[i]},He=xg;function Ng(e){return Mg(e)}function Mg(e,t){const o=wn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:h,setScopeId:y=mt,insertStaticContent:T}=e,A=(f,S,b,R=null,B=null,D=null,H=void 0,V=null,g=!!S.dynamicChildren)=>{if(f===S)return;f&&!sn(f,S)&&(R=tt(f),me(f,B,D,!0),f=null),S.patchFlag===-2&&(g=!1,S.dynamicChildren=null);const{type:p,ref:N,shapeFlag:I}=S;switch(p){case on:P(f,S,b,R);break;case vt:M(f,S,b,R);break;case Ya:f==null&&L(S,b,R,H);break;case De:j(f,S,b,R,B,D,H,V,g);break;default:I&1?E(f,S,b,R,B,D,H,V,g):I&6?Y(f,S,b,R,B,D,H,V,g):(I&64||I&128)&&p.process(f,S,b,R,B,D,H,V,g,lt)}N!=null&&B?Zo(N,f&&f.ref,D,S||f,!S):N==null&&f&&f.ref!=null&&Zo(f.ref,null,D,f,!0)},P=(f,S,b,R)=>{if(f==null)n(S.el=i(S.children),b,R);else{const B=S.el=f.el;S.children!==f.children&&c(B,S.children)}},M=(f,S,b,R)=>{f==null?n(S.el=l(S.children||""),b,R):S.el=f.el},L=(f,S,b,R)=>{[f.el,f.anchor]=T(f.children,S,b,R,f.el,f.anchor)},_=({el:f,anchor:S},b,R)=>{let B;for(;f&&f!==S;)B=h(f),n(f,b,R),f=B;n(S,b,R)},$=({el:f,anchor:S})=>{let b;for(;f&&f!==S;)b=h(f),a(f),f=b;a(S)},E=(f,S,b,R,B,D,H,V,g)=>{if(S.type==="svg"?H="svg":S.type==="math"&&(H="mathml"),f==null)k(S,b,R,B,D,H,V,g);else{const p=f.el&&f.el._isVueCE?f.el:null;try{p&&p._beginPatch(),m(f,S,B,D,H,V,g)}finally{p&&p._endPatch()}}},k=(f,S,b,R,B,D,H,V)=>{let g,p;const{props:N,shapeFlag:I,transition:q,dirs:z}=f;if(g=f.el=r(f.type,D,N&&N.is,N),I&8?u(g,f.children):I&16&&w(f.children,g,null,R,B,qa(f,D),H,V),z&&io(f,null,R,"created"),v(g,f,f.scopeId,H,R),N){for(const x in N)x!=="value"&&!Do(x)&&s(g,x,null,N[x],D,R);"value"in N&&s(g,"value",null,N.value,D),(p=N.onVnodeBeforeMount)&&kt(p,R,f)}z&&io(f,null,R,"beforeMount");const C=Rg(B,q);C&&q.beforeEnter(g),n(g,S,b),((p=N&&N.onVnodeMounted)||C||z)&&He(()=>{try{p&&kt(p,R,f),C&&q.enter(g),z&&io(f,null,R,"mounted")}finally{}},B)},v=(f,S,b,R,B)=>{if(b&&y(f,b),R)for(let D=0;D{for(let p=g;p{const V=S.el=f.el;let{patchFlag:g,dynamicChildren:p,dirs:N}=S;g|=f.patchFlag&16;const I=f.props||$e,q=S.props||$e;let z;if(b&&uo(b,!1),(z=q.onVnodeBeforeUpdate)&&kt(z,b,S,f),N&&io(S,f,b,"beforeUpdate"),b&&uo(b,!0),p&&(!f.dynamicChildren||f.dynamicChildren.length!==p.length)&&(g=0,H=!1,p=null),(I.innerHTML&&q.innerHTML==null||I.textContent&&q.textContent==null)&&u(V,""),p?G(f.dynamicChildren,p,V,b,R,qa(S,B),D):H||J(f,S,V,null,b,R,qa(S,B),D,!1),g>0){if(g&16)K(V,I,q,b,B);else if(g&2&&I.class!==q.class&&s(V,"class",null,q.class,B),g&4&&s(V,"style",I.style,q.style,B),g&8){const C=S.dynamicProps;for(let x=0;x{z&&kt(z,b,S,f),N&&io(S,f,b,"updated")},R)},G=(f,S,b,R,B,D,H)=>{for(let V=0;V{if(S!==b){if(S!==$e)for(const D in S)!Do(D)&&!(D in b)&&s(f,D,S[D],null,B,R);for(const D in b){if(Do(D))continue;const H=b[D],V=S[D];H!==V&&D!=="value"&&s(f,D,V,H,B,R)}"value"in b&&s(f,"value",S.value,b.value,B)}},j=(f,S,b,R,B,D,H,V,g)=>{const p=S.el=f?f.el:i(""),N=S.anchor=f?f.anchor:i("");let{patchFlag:I,dynamicChildren:q,slotScopeIds:z}=S;z&&(V=V?V.concat(z):z),f==null?(n(p,b,R),n(N,b,R),w(S.children||[],b,N,B,D,H,V,g)):I>0&&I&64&&q&&f.dynamicChildren&&f.dynamicChildren.length===q.length?(G(f.dynamicChildren,q,b,B,D,H,V),(S.key!=null||B&&S===B.subTree)&&Wa(f,S,!0)):J(f,S,b,N,B,D,H,V,g)},Y=(f,S,b,R,B,D,H,V,g)=>{S.slotScopeIds=V,f==null?S.shapeFlag&512?B.ctx.activate(S,b,R,H,g):le(S,b,R,B,D,H,g):F(f,S,g)},le=(f,S,b,R,B,D,H)=>{const V=f.component=jg(f,R,B);if(zn(f)&&(V.ctx.renderer=lt),Ug(V,!1,H),V.asyncDep){if(B&&B.registerDep(V,O,H),!f.el){const g=V.subTree=Te(vt);M(null,g,S,b),f.placeholder=g.el}}else O(V,f,S,b,B,D,H)},F=(f,S,b)=>{const R=S.component=f.component;if(Sg(f,S,b))if(R.asyncDep&&!R.asyncResolved){U(R,S,b);return}else R.next=S,R.update();else S.el=f.el,R.vnode=S},O=(f,S,b,R,B,D,H)=>{const V=()=>{if(f.isMounted){let{next:I,bu:q,u:z,parent:C,vnode:x}=f;{const je=yi(f);if(je){I&&(I.el=x.el,U(f,I,H)),je.asyncDep.then(()=>{He(()=>{f.isUnmounted||p()},B)});return}}let X=I,ce;uo(f,!1),I?(I.el=x.el,U(f,I,H)):I=x,q&&ha(q),(ce=I.props&&I.props.onVnodeBeforeUpdate)&&kt(ce,C,I,x),uo(f,!0);const ke=ri(f),We=f.subTree;f.subTree=ke,A(We,ke,d(We.el),tt(We),f,B,D),I.el=ke.el,X===null&&kg(f,ke.el),z&&He(z,B),(ce=I.props&&I.props.onVnodeUpdated)&&He(()=>kt(ce,C,I,x),B)}else{let I;const{el:q,props:z}=S,{bm:C,m:x,parent:X,root:ce,type:ke}=f,We=So(S);uo(f,!1),C&&ha(C),!We&&(I=z&&z.onVnodeBeforeMount)&&kt(I,X,S),uo(f,!0);{ce.ce&&ce.ce._hasShadowRoot()&&ce.ce._injectChildStyle(ke,f.parent?f.parent.type:void 0);const je=f.subTree=ri(f);A(null,je,b,R,f,B,D),S.el=je.el}if(x&&He(x,B),!We&&(I=z&&z.onVnodeMounted)){const je=S;He(()=>kt(I,X,je),B)}(S.shapeFlag&256||X&&So(X.vnode)&&X.vnode.shapeFlag&256)&&f.a&&He(f.a,B),f.isMounted=!0,S=b=R=null}};f.scope.on();const g=f.effect=new gr(V);f.scope.off();const p=f.update=g.run.bind(g),N=f.job=g.runIfDirty.bind(g);N.i=f,N.id=f.uid,g.scheduler=()=>Na(N),uo(f,!0),p()},U=(f,S,b)=>{S.component=f;const R=f.vnode.props;f.vnode=S,f.next=null,Pg(f,S.props,R,b),Cg(f,S.children,b),yt(),Ir(f),_t()},J=(f,S,b,R,B,D,H,V,g=!1)=>{const p=f&&f.children,N=f?f.shapeFlag:0,I=S.children,{patchFlag:q,shapeFlag:z}=S;if(q>0){if(q&128){te(p,I,b,R,B,D,H,V,g);return}else if(q&256){ge(p,I,b,R,B,D,H,V,g);return}}z&8?(N&16&&Fe(p,B,D),I!==p&&u(b,I)):N&16?z&16?te(p,I,b,R,B,D,H,V,g):Fe(p,B,D,!0):(N&8&&u(b,""),z&16&&w(I,b,R,B,D,H,V,g))},ge=(f,S,b,R,B,D,H,V,g)=>{f=f||bo,S=S||bo;const p=f.length,N=S.length,I=Math.min(p,N);let q;for(q=0;qN?Fe(f,B,D,!0,!1,I):w(S,b,R,B,D,H,V,g,I)},te=(f,S,b,R,B,D,H,V,g)=>{let p=0;const N=S.length;let I=f.length-1,q=N-1;for(;p<=I&&p<=q;){const z=f[p],C=S[p]=g?Ft(S[p]):St(S[p]);if(sn(z,C))A(z,C,b,null,B,D,H,V,g);else break;p++}for(;p<=I&&p<=q;){const z=f[I],C=S[q]=g?Ft(S[q]):St(S[q]);if(sn(z,C))A(z,C,b,null,B,D,H,V,g);else break;I--,q--}if(p>I){if(p<=q){const z=q+1,C=zq)for(;p<=I;)me(f[p],B,D,!0),p++;else{const z=p,C=p,x=new Map;for(p=C;p<=q;p++){const ot=S[p]=g?Ft(S[p]):St(S[p]);ot.key!=null&&x.set(ot.key,p)}let X,ce=0;const ke=q-C+1;let We=!1,je=0;const ho=new Array(ke);for(p=0;p=ke){me(ot,B,D,!0);continue}let Tt;if(ot.key!=null)Tt=x.get(ot.key);else for(X=C;X<=q;X++)if(ho[X-C]===0&&sn(ot,S[X])){Tt=X;break}Tt===void 0?me(ot,B,D,!0):(ho[Tt-C]=p+1,Tt>=je?je=Tt:We=!0,A(ot,S[Tt],b,null,B,D,H,V,g),ce++)}const Xs=We?Ig(ho):bo;for(X=Xs.length-1,p=ke-1;p>=0;p--){const ot=C+p,Tt=S[ot],Vc=S[ot+1],Hc=ot+1{const{el:D,type:H,transition:V,children:g,shapeFlag:p}=f;if(p&6){se(f.component.subTree,S,b,R);return}if(p&128){f.suspense.move(S,b,R);return}if(p&64){H.move(f,S,b,lt);return}if(H===De){n(D,S,b);for(let I=0;IV.enter(D),B));else{const{leave:I,delayLeave:q,afterLeave:z}=V,C=()=>{f.ctx.isUnmounted?a(D):n(D,S,b)},x=()=>{const X=D._isLeaving||!!D[xa];D._isLeaving&&D[xa](!0),V.persisted&&!X?C():I(D,()=>{C(),z&&z()})};q?q(D,C,x):x()}else n(D,S,b)},me=(f,S,b,R=!1,B=!1)=>{const{type:D,props:H,ref:V,children:g,dynamicChildren:p,shapeFlag:N,patchFlag:I,dirs:q,cacheIndex:z,memo:C}=f;if(I===-2&&(B=!1),V!=null&&(yt(),Zo(V,null,b,f,!0),_t()),z!=null&&(S.renderCache[z]=void 0),N&256){S.ctx.deactivate(f);return}const x=N&1&&q,X=!So(f);let ce;if(X&&(ce=H&&H.onVnodeBeforeUnmount)&&kt(ce,S,f),N&6)Ie(f.component,b,R);else{if(N&128){f.suspense.unmount(b,R);return}x&&io(f,null,S,"beforeUnmount"),N&64?f.type.remove(f,S,b,lt,R):p&&!p.hasOnce&&(D!==De||I>0&&I&64)?Fe(p,S,b,!1,!0):(D===De&&I&384||!B&&N&16)&&Fe(g,S,b),R&&oe(f)}const ke=C!=null&&z==null;(X&&(ce=H&&H.onVnodeUnmounted)||x||ke)&&He(()=>{ce&&kt(ce,S,f),x&&io(f,null,S,"unmounted"),ke&&(f.el=null)},b)},oe=f=>{const{type:S,el:b,anchor:R,transition:B}=f;if(S===De){re(b,R);return}if(S===Ya){$(f);return}const D=()=>{a(b),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(f.shapeFlag&1&&B&&!B.persisted){const{leave:H,delayLeave:V}=B,g=()=>H(b,D);V?V(f.el,D,g):g()}else D()},re=(f,S)=>{let b;for(;f!==S;)b=h(f),a(f),f=b;a(S)},Ie=(f,S,b)=>{const{bum:R,scope:B,job:D,subTree:H,um:V,m:g,a:p}=f;_i(g),_i(p),R&&ha(R),B.stop(),D&&(D.flags|=8,me(H,f,S,b)),V&&He(V,S),He(()=>{f.isUnmounted=!0},S)},Fe=(f,S,b,R=!1,B=!1,D=0)=>{for(let H=D;H{if(f.shapeFlag&6)return tt(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const S=h(f.anchor||f.el),b=S&&S[Br];return b?h(b):S};let it=!1;const ao=(f,S,b)=>{let R;f==null?S._vnode&&(me(S._vnode,null,null,!0),R=S._vnode.component):A(S._vnode||null,f,S,null,null,null,b),S._vnode=f,it||(it=!0,Ir(R),xr(),it=!1)},lt={p:A,um:me,m:se,r:oe,mt:le,mc:w,pc:J,pbc:G,n:tt,o:e};return{render:ao,hydrate:void 0,createApp:bg(ao)}}function qa({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function uo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Rg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Wa(e,t,o=!1){const n=e.children,a=t.children;if(Z(n)&&Z(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function yi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:yi(t)}function _i(e){if(e)for(let t=0;te.__isSuspense;function xg(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Gu(e)}const De=Symbol.for("v-fgt"),on=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),Ya=Symbol.for("v-stc"),xt=[];let et=null;function ye(e=!1){xt.push(et=e?null:[])}function Ja(){xt.pop(),et=xt[xt.length-1]||null}let nn=1;function Yn(e,t=!1){nn+=e,e<0&&et&&t&&(et.hasOnce=!0)}function vi(e){return e.dynamicChildren=nn>0?et||bo:null,Ja(),nn>0&&et&&et.push(e),e}function Le(e,t,o,n,a,s){return vi(Q(e,t,o,n,a,s,!0))}function go(e,t,o,n,a){return vi(Te(e,t,o,n,a,!0))}function an(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const Si=({key:e})=>e??null,Jn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||Pe(e)||ne(e)?{i:ze,r:e,k:t,f:!!o}:e:null);function Q(e,t=null,o=null,n=0,a=null,s=e===De?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Si(t),ref:t&&Jn(t),scopeId:Fr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:ze};return i?(Xn(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ae(o)?8:16),nn>0&&!r&&et&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&et.push(l),l}const Te=Og;function Og(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Wr)&&(e=vt),an(e)){const i=wo(e,t,!0);return o&&Xn(i,o),nn>0&&!s&&et&&(i.shapeFlag&6?et[et.indexOf(e)]=i:et.push(i)),i.patchFlag=-2,i}if(Wg(e)&&(e=e.__vccOpts),t){t=Fg(t);let{class:i,style:l}=t;i&&!Ae(i)&&(t.class=Ye(i)),be(l)&&(In(l)&&!Z(l)&&(l=Ee({},l)),t.style=Bo(l))}const r=Ae(e)?1:Ai(e)?128:Gn(e)?64:be(e)?4:ne(e)?2:0;return Q(e,t,o,n,a,r,s,!0)}function Fg(e){return e?In(e)||gi(e)?Ee({},e):e:null}function wo(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Dg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Si(c),ref:t&&t.ref?o&&s?Z(s)?s.concat(Jn(t)):[s,Jn(t)]:Jn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==De?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&wo(e.ssContent),ssFallback:e.ssFallback&&wo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Oa(u,l.clone(u)),u}function pt(e=" ",t=0){return Te(on,null,e,t)}function Ot(e="",t=!1){return t?(ye(),go(vt,null,e)):Te(vt,null,e)}function St(e){return e==null||typeof e=="boolean"?Te(vt):Z(e)?Te(De,null,e.slice()):an(e)?Ft(e):Te(on,null,String(e))}function Ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:wo(e)}function Xn(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Z(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Xn(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!gi(t)?t._ctx=ze:a===3&&ze&&(ze.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ne(t)){if(n&65){Xn(e,{default:t});return}t={default:t,_ctx:ze},o=32}else t=String(t),n&64?(o=16,t=[pt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Dg(...e){const t={};for(let o=0;oBe||ze;let Zn,rn;{const e=wn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Zn=t("__VUE_INSTANCE_SETTERS__",o=>Be=o),rn=t("__VUE_SSR_SETTERS__",o=>Po=o)}const ln=e=>{const t=Be;return Zn(e),e.scope.on(),()=>{e.scope.off(),Zn(t)}},ki=()=>{Be&&Be.scope.off(),Zn(null)};function wi(e){return e.vnode.shapeFlag&4}let Po=!1;function Ug(e,t=!1,o=!1){t&&rn(t);const{props:n,children:a}=e.vnode,s=wi(e);wg(e,n,s,t),Eg(e,a,o||t);const r=s?Kg(e,t):void 0;return t&&rn(!1),r}function Kg(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ug);const{setup:n}=o;if(n){yt();const a=e.setupContext=n.length>1?Vg(e):null,s=ln(e),r=$o(n,e,0,[e.props,a]),i=er(r);if(_t(),s(),(i||e.sp)&&!So(e)&&Fa(e),i){if(r.then(ki,ki),t)return r.then(l=>{rn(!0);try{Pi(e,l,t)}finally{rn(!1)}}).catch(l=>{qo(l,e,0)});e.asyncDep=r}else Pi(e,r)}else Ti(e)}function Pi(e,t,o){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=Cr(t)),Ti(e)}function Ti(e,t,o){const n=e.type;e.render||(e.render=n.render||mt);{const a=ln(e);yt();try{gg(e)}finally{_t(),a()}}}const zg={get(e,t){return Ue(e,"get",""),e[t]}};function Vg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,zg),slots:e.slots,emit:e.emit,expose:t}}function Xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cr(Vo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in en)return en[o](e)},has(t,o){return o in t||o in en}})):e.proxy}const Hg=/(?:^|[-_])\w/g,qg=e=>e.replace(Hg,t=>t.toUpperCase()).replace(/[-_]/g,"");function Li(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Ei(e,t,o=!1){let n=Li(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?qg(n):o?"App":"Anonymous"}function Wg(e){return ne(e)&&"__vccOpts"in e}const he=(e,t)=>Nu(e,t,Po);function Ci(e,t,o){try{Yn(-1);const n=arguments.length;return n===2?be(t)&&!Z(t)?an(t)?Te(e,null,[t]):Te(e,t):Te(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&an(o)&&(o=[o]),Te(e,t,o))}finally{Yn(1)}}const Yg="3.5.42";/** +`,...xu(a)),console.warn(...s)}$t(),Na=!1}function Ou(){let e=qo[qo.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function xu(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...Fu(o))}),t}function Fu({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Ei(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Du(e.props),s]:[a+s]}function Du(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Nr(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Nr(e,t,o){return Se(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Le(t)?(t=Nr(e,pe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ne(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),o?t:[`${e}=`,t])}function Ao(e,t,o,n){try{return n?e(...n):e()}catch(a){Wo(a,t,o)}}function pt(e,t,o,n){if(ne(e)){const a=Ao(e,t,o,n);return a&&er(a)&&a.catch(s=>{Wo(s,t,o)}),a}if(ee(e)){const a=[];for(let s=0;s>>1,a=Ve[n],s=Jo(a);s=Jo(o)?Ve.push(e):Ve.splice(Bu(t),0,e),e.flags|=1,Rr()}}function Rr(){Dn||(Dn=Mr.then(xr))}function ju(e){if(!ee(e))Wt&&e.id===-1?Wt.splice(vo+1,0,e):e.flags&1||(So.push(e),e.flags|=1);else for(let t=0;tJo(o)-Jo(n));if(So.length=0,Wt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function xr(e){try{for(St=0;St{n._d&&Jn(-1);const s=Gn(t),r=xt.length;let i;try{i=e(...a)}finally{for(let l=xt.length;l>r;l--)Xa();Gn(s),n._d&&Jn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function lo(e,t,o,n){const a=e.dirs,s=t&&t.dirs;for(let r=0;r1)return o&&ne(t)?t.call(n&&n.proxy):t}}function Uu(){return!!(Gt()||uo)}const Ku=Symbol.for("v-scx"),zu=()=>Re(Ku);function Vu(e,t){return Ra(e,null,t)}function It(e,t,o){return Ra(e,t,o)}function Ra(e,t,o=Ae){const{immediate:n,deep:a,flush:s,once:r}=o,i=Ce({},o),l=t&&n||!t&&s!=="post";let c;if(Lo){if(s==="sync"){const y=zu();c=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=bt,y.resume=bt,y.pause=bt,y}}const u=Be;i.call=(y,P,A)=>pt(y,u,P,A);let d=!1;s==="post"?i.scheduler=y=>{We(y,u&&u.suspense)}:s!=="sync"&&(d=!0,i.scheduler=(y,P)=>{P?y():Ma(y)}),i.augmentJob=y=>{t&&(y.flags|=4),d&&(y.flags|=2,u&&(y.id=u.uid,y.i=u))};const h=Iu(e,t,i);return Lo&&(c?c.push(h):l&&h()),h}function Hu(e,t,o){const n=this.proxy,a=Se(e)?e.includes(".")?Dr(n,e):()=>n[e]:e.bind(n,n);let s;ne(t)?s=t:(s=t.handler,o=t);const r=cn(this),i=Ra(a,s.bind(n),o);return r(),i}function Dr(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,co=e=>e&&(e.disabled||e.disabled===""),qu=e=>e&&(e.defer||e.defer===""),Br=e=>typeof SVGElement<"u"&&e instanceof SVGElement,jr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ia=(e,t)=>{const o=e&&e.to;return Se(o)?t?t(o):null:o},Wu={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,r,i,l,c){const{mc:u,pc:d,pbc:h,o:{insert:y,querySelector:P,createText:A,createComment:N,parentNode:M}}=c,w=co(t.props);let{dynamicChildren:$}=t;const _=(L,k,m)=>{L.shapeFlag&16&&u(L.children,k,m,a,s,r,i,l)},E=(L=t)=>{const k=co(L.props),m=L.target=Ia(L.props,P),B=Oa(m,L,A,y);m&&(r!=="svg"&&Br(m)?r="svg":r!=="mathml"&&jr(m)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(m),k||(_(L,m,B),Xo(L,!1)))},S=L=>{const k=()=>{if(Yt.get(L)===k){if(Yt.delete(L),co(L.props)){const m=M(L.el)||o;_(L,m,L.anchor),Xo(L,!0)}E(L)}};Yt.set(L,k),We(k,s)};if(e==null){const L=t.el=A(""),k=t.anchor=A("");if(y(L,o,n),y(k,o,n),qu(t.props)||s&&s.pendingBranch){S(t);return}w&&(_(t,o,k),Xo(t,!0)),E()}else{t.el=e.el;const L=t.anchor=e.anchor,k=Yt.get(e);if(k){k.flags|=8,Yt.delete(e),S(t);return}t.targetStart=e.targetStart;const m=t.target=e.target,B=t.targetAnchor=e.targetAnchor,j=co(e.props),K=j?o:m,Y=j?L:B;if(r==="svg"||Br(m)?r="svg":(r==="mathml"||jr(m))&&(r="mathml"),$?(h(e.dynamicChildren,$,K,a,s,r,i),Ya(e,t,!0)):l||d(e,t,K,Y,a,s,r,i,!1),w)j?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Un(t,o,L,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Z=Ia(t.props,P);Z&&(t.target=Z,Un(t,Z,null,c,0))}else j&&Un(t,m,B,c,1);Xo(t,w)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:h}=e,y=co(h),P=s||!y,A=Yt.get(e);if(A&&(A.flags|=8,Yt.delete(e)),d&&(a(c),a(u)),s&&a(l),!A&&(y||d)&&r&16)for(let N=0;N1){for(const o of e)if(o.type!==vt){t=o;break}}return t}function Ur(e){if(!Vn(e))return jn(e.type)&&e.children?Xu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&ne(o.default))return o.default()}}function Fa(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Fa(jn(o.type)&&Ur(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zo(e,t){return ne(e)?Ce({name:e.name},t,{setup:e}):e}function Da(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Kr(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Kn=new WeakMap;function Qo(e,t,o,n,a=!1){if(ee(e)){e.forEach((A,N)=>Qo(A,t&&(ee(t)?t[N]:t),o,n,a));return}if(ko(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Qo(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Za(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ae?i.refs={}:i.refs,d=i.setupState,h=pe(d),y=d===Ae?Zs:A=>Kr(u,A)?!1:fe(h,A),P=(A,N)=>!(N&&Kr(u,N));if(c!=null&&c!==l){if(zr(t),Se(c))u[c]=null,y(c)&&(d[c]=null);else if(Le(c)){const A=t;P(c,A.k)&&(c.value=null),A.k&&(u[A.k]=null)}}if(ne(l))Ao(l,i,12,[r,u]);else{const A=Se(l),N=Le(l);if(A||N){const M=()=>{if(e.f){const w=A?y(l)?d[l]:u[l]:P()||!e.k?l.value:u[e.k];if(a)ee(w)&&fa(w,s);else if(ee(w))w.includes(s)||w.push(s);else if(A)u[l]=[s],y(l)&&(d[l]=u[l]);else{const $=[s];P(l,e.k)&&(l.value=$),e.k&&(u[e.k]=$)}}else A?(u[l]=r,y(l)&&(d[l]=r)):N&&(P(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const w=()=>{M(),Kn.delete(e)};w.id=-1,Kn.set(e,w),We(w,o)}else zr(e),M()}}}function zr(e){const t=Kn.get(e);t&&(t.flags|=8,Kn.delete(e))}const Vr=e=>e.nodeType===8;Pn().requestIdleCallback,Pn().cancelIdleCallback;function Zu(e,t){if(Vr(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Vr(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const ko=e=>!!e.type.__asyncLoader;function Qu(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const h=()=>(d++,c=null,y()),y=()=>{let P;return c||(P=c=t().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),l)return new Promise((N,M)=>{l(A,()=>N(h()),()=>M(A),d+1)});throw A}).then(A=>P!==c&&c?c:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),u=A,A)))};return Zo({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(P,A,N){const M=P.isConnected;let w=!1;(A.bu||(A.bu=[])).push(()=>w=!0);const $=()=>{w||!P.parentNode||M&&!P.isConnected||N()},_=s?()=>{const E=s($,S=>Zu(P,S));E&&(A.bum||(A.bum=[])).push(E)}:$;u?_():y().then(()=>!A.isUnmounted&&_())},get __asyncResolved(){return u},setup(){const P=Be;if(Da(P),u)return()=>zn(u,P);const A=E=>{c=null,Wo(E,P,13,!n)};if(i&&P.suspense||Lo)return y().then(E=>()=>zn(E,P)).catch(E=>(A(E),()=>n?Te(n,{error:E}):null));const N=se(!1),M=se(),w=se(!!a);let $,_;return qn(()=>{$!=null&&clearTimeout($),_!=null&&clearTimeout(_)}),a&&(_=setTimeout(()=>{P.isUnmounted||(w.value=!1)},a)),r!=null&&($=setTimeout(()=>{if(!P.isUnmounted&&!N.value&&!M.value){const E=new Error(`Async component timed out after ${r}ms.`);A(E),M.value=E}},r)),y().then(()=>{P.isUnmounted||(N.value=!0,P.parent&&Vn(P.parent.vnode)&&P.parent.update())}).catch(E=>{if(P.isUnmounted){c=null;return}A(E),M.value=E}),()=>{if(N.value&&u)return zn(u,P);if(M.value&&n)return Te(n,{error:M.value});if(o&&!w.value)return zn(o,P)}}})}function zn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=Te(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Vn=e=>e.type.__isKeepAlive;function eg(e,t){Hr(e,"a",t)}function tg(e,t){Hr(e,"da",t)}function Hr(e,t,o=Be){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Hn(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Vn(a.parent.vnode)&&og(n,t,o,a),a=a.parent}}function og(e,t,o,n){const a=Hn(t,e,n,!0);qn(()=>{fa(n[t],a)},o)}function Hn(e,t,o=Be,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{_t();const i=cn(o),l=pt(t,o,e,r);return i(),$t(),l});return n?a.unshift(s):a.push(s),s}}const Ot=e=>(t,o=Be)=>{(!Lo||e==="sp")&&Hn(e,(...n)=>t(...n),o)},qr=Ot("bm"),wo=Ot("m"),ng=Ot("bu"),ag=Ot("u"),en=Ot("bum"),qn=Ot("um"),sg=Ot("sp"),rg=Ot("rtg"),ig=Ot("rtc");function lg(e,t=Be){Hn("ec",e,t)}const cg="components",Wr=Symbol.for("v-ndc");function Yr(e){return Se(e)?ug(cg,e,!1)||e:e||Wr}function ug(e,t,o=!0,n=!1){const a=He||Be;if(a){const s=a.type;{const i=Ti(s,!1);if(i&&(i===t||i===xe(t)||i===wn(xe(t))))return s}const r=Jr(a[e]||s[e],t)||Jr(a.appContext[e],t);return!r&&n?s:r}}function Jr(e,t){return e&&(e[t]||e[xe(t)]||e[wn(xe(t))])}function Ga(e,t,o,n){let a;const s=o,r=ee(e);if(r||Se(e)){const i=r&&Nt(e);let l=!1,c=!1;i&&(l=!ot(e),c=Mt(e),e=En(e)),a=new Array(e.length);for(let u=0,d=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return ye(),po(Ge,null,[Te("slot",c,n)],u?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=xt.length;ye();let l;try{const c=r&&Xr(r(o)),u=o.key||s||c&&c.key;l=po(Ge,{key:(u&&!tt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=xt.length;u>i;u--)Xa();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Xr(e){return e.some(t=>sn(t)?!(t.type===vt||t.type===Ge&&!Xr(t.children)):!0)?e:null}const ja=e=>e?wi(e)?Za(e):ja(e.parent):null,tn=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=>ja(e.parent),$root:e=>ja(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ti(e),$forceUpdate:e=>e.f||(e.f=()=>{Ma(e.update)}),$nextTick:e=>e.n||(e.n=Yo.bind(e.proxy)),$watch:e=>Hu.bind(e)}),Ua=(e,t)=>e!==Ae&&!e.__isScriptSetup&&fe(e,t),gg={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const h=r[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(Ua(n,t))return r[t]=1,n[t];if(a!==Ae&&fe(a,t))return r[t]=2,a[t];if(fe(s,t))return r[t]=3,s[t];if(o!==Ae&&fe(o,t))return r[t]=4,o[t];Ka&&(r[t]=0)}}const c=tn[t];let u,d;if(c)return t==="$attrs"&&Ke(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ae&&fe(o,t))return r[t]=4,o[t];if(d=l.config.globalProperties,fe(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return Ua(a,t)?(a[t]=o,!0):n!==Ae&&fe(n,t)?(n[t]=o,!0):fe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==Ae&&i[0]!=="$"&&fe(e,i)||Ua(t,i)||fe(s,i)||fe(n,i)||fe(tn,i)||fe(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:fe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Zr(e){return ee(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ka=!0;function pg(e){const t=ti(e),o=e.proxy,n=e.ctx;Ka=!1,t.beforeCreate&&Qr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:h,beforeUpdate:y,updated:P,activated:A,deactivated:N,beforeDestroy:M,beforeUnmount:w,destroyed:$,unmounted:_,render:E,renderTracked:S,renderTriggered:L,errorCaptured:k,serverPrefetch:m,expose:B,inheritAttrs:j,components:K,directives:Y,filters:Z}=t;if(c&&dg(c,n,null),r)for(const U in r){const X=r[U];ne(X)&&(n[U]=X.bind(o))}if(a){const U=a.call(o,o);be(U)&&(e.data=Rn(U))}if(Ka=!0,s)for(const U in s){const X=s[U],ie=ne(X)?X.bind(o,o):ne(X.get)?X.get.bind(o,o):bt,Q=!ne(X)&&ne(X.set)?X.set.bind(o):bt,ue=he({get:ie,set:Q});Object.defineProperty(n,U,{enumerable:!0,configurable:!0,get:()=>ue.value,set:me=>ue.value=me})}if(i)for(const U in i)ei(i[U],n,o,U);if(l){const U=ne(l)?l.call(o):l;Reflect.ownKeys(U).forEach(X=>{rt(X,U[X])})}u&&Qr(u,e,"c");function x(U,X){ee(X)?X.forEach(ie=>U(ie.bind(o))):X&&U(X.bind(o))}if(x(qr,d),x(wo,h),x(ng,y),x(ag,P),x(eg,A),x(tg,N),x(lg,k),x(ig,S),x(rg,L),x(en,w),x(qn,_),x(sg,m),ee(B))if(B.length){const U=e.exposed||(e.exposed={});B.forEach(X=>{Object.defineProperty(U,X,{get:()=>o[X],set:ie=>o[X]=ie,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===bt&&(e.render=E),j!=null&&(e.inheritAttrs=j),K&&(e.components=K),Y&&(e.directives=Y),m&&Da(e)}function dg(e,t,o=bt){ee(e)&&(e=za(e));for(const n in e){const a=e[n];let s;be(a)?"default"in a?s=Re(a.from||n,a.default,!0):s=Re(a.from||n):s=Re(a),Le(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function Qr(e,t,o){pt(ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function ei(e,t,o,n){let a=n.includes(".")?Dr(o,n):()=>o[n];if(Se(e)){const s=t[e];ne(s)&&It(a,s)}else if(ne(e))It(a,e.bind(o));else if(be(e))if(ee(e))e.forEach(s=>ei(s,t,o,n));else{const s=ne(e.handler)?e.handler.bind(o):t[e.handler];ne(s)&&It(a,s,e)}}function ti(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Wn(l,c,r,!0)),Wn(l,t,r)),be(t)&&s.set(t,l),l}function Wn(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&Wn(e,s,o,!0),a&&a.forEach(r=>Wn(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=fg[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const fg={data:oi,props:ni,emits:ni,methods:on,computed:on,beforeCreate:qe,created:qe,beforeMount:qe,mounted:qe,beforeUpdate:qe,updated:qe,beforeDestroy:qe,beforeUnmount:qe,destroyed:qe,unmounted:qe,activated:qe,deactivated:qe,errorCaptured:qe,serverPrefetch:qe,components:on,directives:on,watch:mg,provide:oi,inject:hg};function oi(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 hg(e,t){return on(za(e),za(t))}function za(e){if(ee(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${st(t)}Modifiers`];function $g(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ae;let a=o;const s=t.startsWith("update:"),r=s&&_g(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>Se(u)?u.trim():u)),r.number&&(a=a.map(Qc)));let i,l=n[i=ha(t)]||n[i=ha(xe(t))];!l&&s&&(l=n[i=ha(st(t))]),l&&pt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,pt(c,e,6,a)}}const Ag=new WeakMap;function si(e,t,o=!1){const n=o?Ag:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!ne(e)){const l=c=>{const u=si(c,t,!0);u&&(i=!0,Ce(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(be(e)&&n.set(e,null),null):(ee(s)?s.forEach(l=>r[l]=null):Ce(r,s),be(e)&&n.set(e,r),r)}function Yn(e,t){return!e||!_n(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,st(t))||fe(e,t))}function e_(){}function ri(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:d,data:h,setupState:y,ctx:P,inheritAttrs:A}=e,N=Gn(e);let M,w;try{if(o.shapeFlag&4){const _=a||n,E=_;M=kt(c.call(E,_,u,d,y,h,P)),w=i}else{const _=t;M=kt(_.length>1?_(d,{attrs:i,slots:r,emit:l}):_(d,null)),w=t.props?i:Sg(i)}}catch(_){xt.length=0,Wo(_,e,1),M=Te(vt)}let $=M;if(w&&A!==!1){const _=Object.keys(w),{shapeFlag:E}=$;_.length&&E&7&&(s&&_.some($n)&&(w=vg(w,s)),$=Po($,w,!1,!0))}if(o.dirs&&($=Po($,null,!1,!0),$.dirs=$.dirs?$.dirs.concat(o.dirs):o.dirs),o.transition){const _=jn($.type)&&Ur($)||$;Fa(_,o.transition)}return M=$,Gn(N),M}const Sg=e=>{let t;for(const o in e)(o==="class"||o==="style"||_n(o))&&((t||(t={}))[o]=e[o]);return t},vg=(e,t)=>{const o={};for(const n in e)(!$n(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function kg(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ii(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;dObject.create(ci),gi=e=>Object.getPrototypeOf(e)===ci;function Pg(e,t,o,n=!1){const a={},s=ui();e.propsDefaults=Object.create(null),pi(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:wu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Lg(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=pe(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[h,y]=di(d,t,!0);Ce(r,h),y&&i.push(...y)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return be(e)&&n.set(e,yo),yo;if(ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",qa=e=>ee(e)?e.map(kt):[kt(e)],Eg=(e,t,o)=>{if(t._n)return t;const n=Bn((...a)=>qa(t(...a)),o);return n._c=!1,n},hi=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Ha(a))continue;const s=e[a];if(ne(s))t[a]=Eg(a,s,n);else if(s!=null){const r=qa(s);t[a]=()=>r}}},mi=(e,t)=>{const o=qa(t);e.slots.default=()=>o},bi=(e,t,o)=>{for(const n in t)(o||!Ha(n))&&(e[n]=t[n])},Cg=(e,t,o)=>{const n=e.slots=ui();if(e.vnode.shapeFlag&32){const a=t._;a?(bi(n,t,o),o&&or(n,"_",a,!0)):hi(t,n)}else t&&mi(e,t)},Ng=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=Ae;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:bi(a,t,o):(s=!t.$stable,hi(t,a)),r=t}else t&&(mi(e,t),r={default:1});if(s)for(const i in a)!Ha(i)&&r[i]==null&&delete a[i]},We=xg;function Mg(e){return Rg(e)}function Rg(e,t){const o=Pn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:h,setScopeId:y=bt,insertStaticContent:P}=e,A=(f,v,b,R=null,G=null,D=null,H=void 0,V=null,g=!!v.dynamicChildren)=>{if(f===v)return;f&&!rn(f,v)&&(R=Me(f),me(f,G,D,!0),f=null),v.patchFlag===-2&&(g=!1,v.dynamicChildren=null);const{type:p,ref:C,shapeFlag:I}=v;switch(p){case nn:N(f,v,b,R);break;case vt:M(f,v,b,R);break;case Ja:f==null&&w(v,b,R,H);break;case Ge:K(f,v,b,R,G,D,H,V,g);break;default:I&1?E(f,v,b,R,G,D,H,V,g):I&6?Y(f,v,b,R,G,D,H,V,g):(I&64||I&128)&&p.process(f,v,b,R,G,D,H,V,g,Je)}C!=null&&G?Qo(C,f&&f.ref,D,v||f,!v):C==null&&f&&f.ref!=null&&Qo(f.ref,null,D,f,!0)},N=(f,v,b,R)=>{if(f==null)n(v.el=i(v.children),b,R);else{const G=v.el=f.el;v.children!==f.children&&c(G,v.children)}},M=(f,v,b,R)=>{f==null?n(v.el=l(v.children||""),b,R):v.el=f.el},w=(f,v,b,R)=>{[f.el,f.anchor]=P(f.children,v,b,R,f.el,f.anchor)},$=({el:f,anchor:v},b,R)=>{let G;for(;f&&f!==v;)G=h(f),n(f,b,R),f=G;n(v,b,R)},_=({el:f,anchor:v})=>{let b;for(;f&&f!==v;)b=h(f),a(f),f=b;a(v)},E=(f,v,b,R,G,D,H,V,g)=>{if(v.type==="svg"?H="svg":v.type==="math"&&(H="mathml"),f==null)S(v,b,R,G,D,H,V,g);else{const p=f.el&&f.el._isVueCE?f.el:null;try{p&&p._beginPatch(),m(f,v,G,D,H,V,g)}finally{p&&p._endPatch()}}},S=(f,v,b,R,G,D,H,V)=>{let g,p;const{props:C,shapeFlag:I,transition:q,dirs:z}=f;if(g=f.el=r(f.type,D,C&&C.is,C),I&8?u(g,f.children):I&16&&k(f.children,g,null,R,G,Wa(f,D),H,V),z&&lo(f,null,R,"created"),L(g,f,f.scopeId,H,R),C){for(const O in C)O!=="value"&&!Go(O)&&s(g,O,null,C[O],D,R);"value"in C&&s(g,"value",null,C.value,D),(p=C.onVnodeBeforeMount)&&wt(p,R,f)}z&&lo(f,null,R,"beforeMount");const T=Ig(G,q);T&&q.beforeEnter(g),n(g,v,b),((p=C&&C.onVnodeMounted)||T||z)&&We(()=>{try{p&&wt(p,R,f),T&&q.enter(g),z&&lo(f,null,R,"mounted")}finally{}},G)},L=(f,v,b,R,G)=>{if(b&&y(f,b),R)for(let D=0;D{for(let p=g;p{const V=v.el=f.el;let{patchFlag:g,dynamicChildren:p,dirs:C}=v;g|=f.patchFlag&16;const I=f.props||Ae,q=v.props||Ae;let z;if(b&&go(b,!1),(z=q.onVnodeBeforeUpdate)&&wt(z,b,v,f),C&&lo(v,f,b,"beforeUpdate"),b&&go(b,!0),p&&(!f.dynamicChildren||f.dynamicChildren.length!==p.length)&&(g=0,H=!1,p=null),(I.innerHTML&&q.innerHTML==null||I.textContent&&q.textContent==null)&&u(V,""),p?B(f.dynamicChildren,p,V,b,R,Wa(v,G),D):H||X(f,v,V,null,b,R,Wa(v,G),D,!1),g>0){if(g&16)j(V,I,q,b,G);else if(g&2&&I.class!==q.class&&s(V,"class",null,q.class,G),g&4&&s(V,"style",I.style,q.style,G),g&8){const T=v.dynamicProps;for(let O=0;O{z&&wt(z,b,v,f),C&&lo(v,f,b,"updated")},R)},B=(f,v,b,R,G,D,H)=>{for(let V=0;V{if(v!==b){if(v!==Ae)for(const D in v)!Go(D)&&!(D in b)&&s(f,D,v[D],null,G,R);for(const D in b){if(Go(D))continue;const H=b[D],V=v[D];H!==V&&D!=="value"&&s(f,D,V,H,G,R)}"value"in b&&s(f,"value",v.value,b.value,G)}},K=(f,v,b,R,G,D,H,V,g)=>{const p=v.el=f?f.el:i(""),C=v.anchor=f?f.anchor:i("");let{patchFlag:I,dynamicChildren:q,slotScopeIds:z}=v;z&&(V=V?V.concat(z):z),f==null?(n(p,b,R),n(C,b,R),k(v.children||[],b,C,G,D,H,V,g)):I>0&&I&64&&q&&f.dynamicChildren&&f.dynamicChildren.length===q.length?(B(f.dynamicChildren,q,b,G,D,H,V),(v.key!=null||G&&v===G.subTree)&&Ya(f,v,!0)):X(f,v,b,C,G,D,H,V,g)},Y=(f,v,b,R,G,D,H,V,g)=>{v.slotScopeIds=V,f==null?v.shapeFlag&512?G.ctx.activate(v,b,R,H,g):Z(v,b,R,G,D,H,g):F(f,v,g)},Z=(f,v,b,R,G,D,H)=>{const V=f.component=Ug(f,R,G);if(Vn(f)&&(V.ctx.renderer=Je),Kg(V,!1,H),V.asyncDep){if(G&&G.registerDep(V,x,H),!f.el){const g=V.subTree=Te(vt);M(null,g,v,b),f.placeholder=g.el}}else x(V,f,v,b,G,D,H)},F=(f,v,b)=>{const R=v.component=f.component;if(kg(f,v,b))if(R.asyncDep&&!R.asyncResolved){U(R,v,b);return}else R.next=v,R.update();else v.el=f.el,R.vnode=v},x=(f,v,b,R,G,D,H)=>{const V=()=>{if(f.isMounted){let{next:I,bu:q,u:z,parent:T,vnode:O}=f;{const Ue=yi(f);if(Ue){I&&(I.el=O.el,U(f,I,H)),Ue.asyncDep.then(()=>{We(()=>{f.isUnmounted||p()},G)});return}}let J=I,re;go(f,!1),I?(I.el=O.el,U(f,I,H)):I=O,q&&ma(q),(re=I.props&&I.props.onVnodeBeforeUpdate)&&wt(re,T,I,O),go(f,!0);const we=ri(f),Xe=f.subTree;f.subTree=we,A(Xe,we,d(Xe.el),Me(Xe),f,G,D),I.el=we.el,J===null&&wg(f,we.el),z&&We(z,G),(re=I.props&&I.props.onVnodeUpdated)&&We(()=>wt(re,T,I,O),G)}else{let I;const{el:q,props:z}=v,{bm:T,m:O,parent:J,root:re,type:we}=f,Xe=ko(v);go(f,!1),T&&ma(T),!Xe&&(I=z&&z.onVnodeBeforeMount)&&wt(I,J,v),go(f,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(we,f.parent?f.parent.type:void 0);const Ue=f.subTree=ri(f);A(null,Ue,b,R,f,G,D),v.el=Ue.el}if(O&&We(O,G),!Xe&&(I=z&&z.onVnodeMounted)){const Ue=v;We(()=>wt(I,J,Ue),G)}(v.shapeFlag&256||J&&ko(J.vnode)&&J.vnode.shapeFlag&256)&&f.a&&We(f.a,G),f.isMounted=!0,v=b=R=null}};f.scope.on();const g=f.effect=new gr(V);f.scope.off();const p=f.update=g.run.bind(g),C=f.job=g.runIfDirty.bind(g);C.i=f,C.id=f.uid,g.scheduler=()=>Ma(C),go(f,!0),p()},U=(f,v,b)=>{v.component=f;const R=f.vnode.props;f.vnode=v,f.next=null,Lg(f,v.props,R,b),Ng(f,v.children,b),_t(),Ir(f),$t()},X=(f,v,b,R,G,D,H,V,g=!1)=>{const p=f&&f.children,C=f?f.shapeFlag:0,I=v.children,{patchFlag:q,shapeFlag:z}=v;if(q>0){if(q&128){Q(p,I,b,R,G,D,H,V,g);return}else if(q&256){ie(p,I,b,R,G,D,H,V,g);return}}z&8?(C&16&&le(p,G,D),I!==p&&u(b,I)):C&16?z&16?Q(p,I,b,R,G,D,H,V,g):le(p,G,D,!0):(C&8&&u(b,""),z&16&&k(I,b,R,G,D,H,V,g))},ie=(f,v,b,R,G,D,H,V,g)=>{f=f||yo,v=v||yo;const p=f.length,C=v.length,I=Math.min(p,C);let q;for(q=0;qC?le(f,G,D,!0,!1,I):k(v,b,R,G,D,H,V,g,I)},Q=(f,v,b,R,G,D,H,V,g)=>{let p=0;const C=v.length;let I=f.length-1,q=C-1;for(;p<=I&&p<=q;){const z=f[p],T=v[p]=g?Dt(v[p]):kt(v[p]);if(rn(z,T))A(z,T,b,null,G,D,H,V,g);else break;p++}for(;p<=I&&p<=q;){const z=f[I],T=v[q]=g?Dt(v[q]):kt(v[q]);if(rn(z,T))A(z,T,b,null,G,D,H,V,g);else break;I--,q--}if(p>I){if(p<=q){const z=q+1,T=zq)for(;p<=I;)me(f[p],G,D,!0),p++;else{const z=p,T=p,O=new Map;for(p=T;p<=q;p++){const at=v[p]=g?Dt(v[p]):kt(v[p]);at.key!=null&&O.set(at.key,p)}let J,re=0;const we=q-T+1;let Xe=!1,Ue=0;const mo=new Array(we);for(p=0;p=we){me(at,G,D,!0);continue}let Tt;if(at.key!=null)Tt=O.get(at.key);else for(J=T;J<=q;J++)if(mo[J-T]===0&&rn(at,v[J])){Tt=J;break}Tt===void 0?me(at,G,D,!0):(mo[Tt-T]=p+1,Tt>=Ue?Ue=Tt:Xe=!0,A(at,v[Tt],b,null,G,D,H,V,g),re++)}const Xs=Xe?Og(mo):yo;for(J=Xs.length-1,p=we-1;p>=0;p--){const at=T+p,Tt=v[at],Hc=v[at+1],qc=at+1{const{el:D,type:H,transition:V,children:g,shapeFlag:p}=f;if(p&6){ue(f.component.subTree,v,b,R);return}if(p&128){f.suspense.move(v,b,R);return}if(p&64){H.move(f,v,b,Je);return}if(H===Ge){n(D,v,b);for(let I=0;IV.enter(D),G));else{const{leave:I,delayLeave:q,afterLeave:z}=V,T=()=>{f.ctx.isUnmounted?a(D):n(D,v,b)},O=()=>{const J=D._isLeaving||!!D[xa];D._isLeaving&&D[xa](!0),V.persisted&&!J?T():I(D,()=>{T(),z&&z()})};q?q(D,T,O):O()}else n(D,v,b)},me=(f,v,b,R=!1,G=!1)=>{const{type:D,props:H,ref:V,children:g,dynamicChildren:p,shapeFlag:C,patchFlag:I,dirs:q,cacheIndex:z,memo:T}=f;if(I===-2&&(G=!1),V!=null&&(_t(),Qo(V,null,b,f,!0),$t()),z!=null&&(v.renderCache[z]=void 0),C&256){v.ctx.deactivate(f);return}const O=C&1&&q,J=!ko(f);let re;if(J&&(re=H&&H.onVnodeBeforeUnmount)&&wt(re,v,f),C&6)ge(f.component,b,R);else{if(C&128){f.suspense.unmount(b,R);return}O&&lo(f,null,v,"beforeUnmount"),C&64?f.type.remove(f,v,b,Je,R):p&&!p.hasOnce&&(D!==Ge||I>0&&I&64)?le(p,v,b,!1,!0):(D===Ge&&I&384||!G&&C&16)&&le(g,v,b),R&&_e(f)}const we=T!=null&&z==null;(J&&(re=H&&H.onVnodeUnmounted)||O||we)&&We(()=>{re&&wt(re,v,f),O&&lo(f,null,v,"unmounted"),we&&(f.el=null)},b)},_e=f=>{const{type:v,el:b,anchor:R,transition:G}=f;if(v===Ge){De(b,R);return}if(v===Ja){_(f);return}const D=()=>{a(b),G&&!G.persisted&&G.afterLeave&&G.afterLeave()};if(f.shapeFlag&1&&G&&!G.persisted){const{leave:H,delayLeave:V}=G,g=()=>H(b,D);V?V(f.el,D,g):g()}else D()},De=(f,v)=>{let b;for(;f!==v;)b=h(f),a(f),f=b;a(v)},ge=(f,v,b)=>{const{bum:R,scope:G,job:D,subTree:H,um:V,m:g,a:p}=f;_i(g),_i(p),R&&ma(R),G.stop(),D&&(D.flags|=8,me(H,f,v,b)),V&&We(V,v),We(()=>{f.isUnmounted=!0},v)},le=(f,v,b,R=!1,G=!1,D=0)=>{for(let H=D;H{if(f.shapeFlag&6)return Me(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const v=h(f.anchor||f.el),b=v&&v[Gr];return b?h(b):v};let ze=!1;const ct=(f,v,b)=>{let R;f==null?v._vnode&&(me(v._vnode,null,null,!0),R=v._vnode.component):A(v._vnode||null,f,v,null,null,null,b),v._vnode=f,ze||(ze=!0,Ir(R),Or(),ze=!1)},Je={p:A,um:me,m:ue,r:_e,mt:Z,mc:k,pc:X,pbc:B,n:Me,o:e};return{render:ct,hydrate:void 0,createApp:yg(ct)}}function Wa({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function go({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ig(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ya(e,t,o=!1){const n=e.children,a=t.children;if(ee(n)&&ee(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function yi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:yi(t)}function _i(e){if(e)for(let t=0;te.__isSuspense;function xg(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):ju(e)}const Ge=Symbol.for("v-fgt"),nn=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),Ja=Symbol.for("v-stc"),xt=[];let nt=null;function ye(e=!1){xt.push(nt=e?null:[])}function Xa(){xt.pop(),nt=xt[xt.length-1]||null}let an=1;function Jn(e,t=!1){an+=e,e<0&&nt&&t&&(nt.hasOnce=!0)}function Si(e){return e.dynamicChildren=an>0?nt||yo:null,Xa(),an>0&&nt&&nt.push(e),e}function Ee(e,t,o,n,a,s){return Si(te(e,t,o,n,a,s,!0))}function po(e,t,o,n,a){return Si(Te(e,t,o,n,a,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function rn(e,t){return e.type===t.type&&e.key===t.key}const vi=({key:e})=>e??null,Xn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Se(e)||Le(e)||ne(e)?{i:He,r:e,k:t,f:!!o}:e:null);function te(e,t=null,o=null,n=0,a=null,s=e===Ge?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vi(t),ref:t&&Xn(t),scopeId:Fr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:He};return i?(Zn(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Se(o)?8:16),an>0&&!r&&nt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&nt.push(l),l}const Te=Fg;function Fg(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Wr)&&(e=vt),sn(e)){const i=Po(e,t,!0);return o&&Zn(i,o),an>0&&!s&&nt&&(i.shapeFlag&6?nt[nt.indexOf(e)]=i:nt.push(i)),i.patchFlag=-2,i}if(Yg(e)&&(e=e.__vccOpts),t){t=Dg(t);let{class:i,style:l}=t;i&&!Se(i)&&(t.class=Ze(i)),be(l)&&(On(l)&&!ee(l)&&(l=Ce({},l)),t.style=Bo(l))}const r=Se(e)?1:Ai(e)?128:jn(e)?64:be(e)?4:ne(e)?2:0;return te(e,t,o,n,a,r,s,!0)}function Dg(e){return e?On(e)||gi(e)?Ce({},e):e:null}function Po(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Gg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vi(c),ref:t&&t.ref?o&&s?ee(s)?s.concat(Xn(t)):[s,Xn(t)]:Xn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ge?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Po(e.ssContent),ssFallback:e.ssFallback&&Po(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Fa(u,l.clone(u)),u}function dt(e=" ",t=0){return Te(nn,null,e,t)}function Ft(e="",t=!1){return t?(ye(),po(vt,null,e)):Te(vt,null,e)}function kt(e){return e==null||typeof e=="boolean"?Te(vt):ee(e)?Te(Ge,null,e.slice()):sn(e)?Dt(e):Te(nn,null,String(e))}function Dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Po(e)}function Zn(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ee(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Zn(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!gi(t)?t._ctx=He:a===3&&He&&(He.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ne(t)){if(n&65){Zn(e,{default:t});return}t={default:t,_ctx:He},o=32}else t=String(t),n&64?(o=16,t=[dt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Gg(...e){const t={};for(let o=0;oBe||He;let Qn,ln;{const e=Pn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Qn=t("__VUE_INSTANCE_SETTERS__",o=>Be=o),ln=t("__VUE_SSR_SETTERS__",o=>Lo=o)}const cn=e=>{const t=Be;return Qn(e),e.scope.on(),()=>{e.scope.off(),Qn(t)}},ki=()=>{Be&&Be.scope.off(),Qn(null)};function wi(e){return e.vnode.shapeFlag&4}let Lo=!1;function Kg(e,t=!1,o=!1){t&&ln(t);const{props:n,children:a}=e.vnode,s=wi(e);Pg(e,n,s,t),Cg(e,a,o||t);const r=s?zg(e,t):void 0;return t&&ln(!1),r}function zg(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,gg);const{setup:n}=o;if(n){_t();const a=e.setupContext=n.length>1?Hg(e):null,s=cn(e),r=Ao(n,e,0,[e.props,a]),i=er(r);if($t(),s(),(i||e.sp)&&!ko(e)&&Da(e),i){if(r.then(ki,ki),t)return r.then(l=>{ln(!0);try{Pi(e,l,t)}finally{ln(!1)}}).catch(l=>{Wo(l,e,0)});e.asyncDep=r}else Pi(e,r)}else Li(e)}function Pi(e,t,o){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=Cr(t)),Li(e)}function Li(e,t,o){const n=e.type;e.render||(e.render=n.render||bt);{const a=cn(e);_t();try{pg(e)}finally{$t(),a()}}}const Vg={get(e,t){return Ke(e,"get",""),e[t]}};function Hg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Vg),slots:e.slots,emit:e.emit,expose:t}}function Za(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cr(Ho(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in tn)return tn[o](e)},has(t,o){return o in t||o in tn}})):e.proxy}const qg=/(?:^|[-_])\w/g,Wg=e=>e.replace(qg,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ti(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Ei(e,t,o=!1){let n=Ti(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Wg(n):o?"App":"Anonymous"}function Yg(e){return ne(e)&&"__vccOpts"in e}const he=(e,t)=>Mu(e,t,Lo);function Ci(e,t,o){try{Jn(-1);const n=arguments.length;return n===2?be(t)&&!ee(t)?sn(t)?Te(e,null,[t]):Te(e,t):Te(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&sn(o)&&(o=[o]),Te(e,t,o))}finally{Jn(1)}}const Jg="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Za;const Ni=typeof window<"u"&&window.trustedTypes;if(Ni)try{Za=Ni.createPolicy("vue",{createHTML:e=>e})}catch{}const Mi=Za?e=>Za.createHTML(e):e=>e,Jg="http://www.w3.org/2000/svg",Xg="http://www.w3.org/1998/Math/MathML",Bt=typeof document<"u"?document:null,Ri=Bt&&Bt.createElement("template"),Zg={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Bt.createElementNS(Jg,e):t==="mathml"?Bt.createElementNS(Xg,e):o?Bt.createElement(e,{is:o}):Bt.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Bt.createTextNode(e),createComment:e=>Bt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{Ri.innerHTML=Mi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Ri.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Qg=Symbol("_vtc");function ep(e,t,o){const n=e[Qg];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Ii=Symbol("_vod"),tp=Symbol("_vsh"),op=Symbol(""),np=/(?:^|;)\s*display\s*:/;function ap(e,t,o){const n=e.style,a=Ae(o);let s=!1;if(o&&!a){if(t)if(Ae(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&cn(n,i,"")}else for(const r in t)o[r]==null&&cn(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?rp(e,r,!Ae(t)&&t?t[r]:void 0,i)||cn(n,r,i):cn(n,r,"")}}else if(a){if(t!==o){const r=n[op];r&&(o+=";"+r),n.cssText=o,s=np.test(o)}}else t&&e.removeAttribute("style");Ii in e&&(e[Ii]=s?n.display:"",e[tp]&&(n.display="none"))}const Qn=/\s*!important$/;function cn(e,t,o){if(Z(o))o.forEach(n=>cn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Qn.test(o)?e.setProperty(t,o.replace(Qn,""),"important"):e.setProperty(t,o);else{const n=sp(e,t);Qn.test(o)?e.setProperty(nt(n),o.replace(Qn,""),"important"):e[n]=o}}const xi=["Webkit","Moz","ms"],Qa={};function sp(e,t){const o=Qa[t];if(o)return o;let n=xe(t);if(n!=="filter"&&n in e)return Qa[t]=n;n=kn(n);for(let a=0;aes||(dp.then(()=>es=0),es=Date.now());function hp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Z(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,mp=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?ep(e,n,r):t==="style"?ap(e,o,n):yn(t)?_n(t)||cp(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):bp(e,t,n,r))?(Di(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fi(e,t,n,r,s,t!=="value")):e._isVueCE&&(yp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ae(n)))?Di(e,xe(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fi(e,t,n,r))};function bp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Gi(t)&&ne(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Gi(t)&&Ae(o)?!1:t in e}function yp(e,t){const o=e._def.props;if(!o)return!1;const n=xe(t);return Array.isArray(o)?o.some(a=>xe(a)===n):Object.keys(o).some(a=>xe(a)===n)}const ji={};function _p(e,t,o){let n=Xo(e,t);An(n)&&(n=Ee({},n,t));class a extends ts{constructor(r){super(n,r,o)}}return a.def=n,a}const $p=typeof HTMLElement<"u"?HTMLElement:class{};class ts extends $p{constructor(t,o={},n=zi){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==zi?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof ts){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,Wo(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=nr(this._props[l])),(i||(i=Object.create(null)))[xe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)fe(this,n)||Object.defineProperty(this,n,{get:()=>Mt(o[n])})}_resolveProps(t){const{props:o}=t,n=Z(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(xe))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):ji;const a=xe(t);o&&this._numberProps&&this._numberProps[a]&&(n=nr(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===ji?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(nt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(nt(t),o+""):o||this.removeAttribute(nt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),vp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Te(this._def,Ee(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,An(r[0])?Ee({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),nt(s)!==s&&a(nt(s),r)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{Ki().render(...e)},zi=(...e)=>{const t=Ki().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=kp(n);if(!a)return;const s=t._component;!ne(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Sp(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Sp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function kp(e){return Ae(e)?document.querySelector(e):e}/*! +**/let Qa;const Ni=typeof window<"u"&&window.trustedTypes;if(Ni)try{Qa=Ni.createPolicy("vue",{createHTML:e=>e})}catch{}const Mi=Qa?e=>Qa.createHTML(e):e=>e,Xg="http://www.w3.org/2000/svg",Zg="http://www.w3.org/1998/Math/MathML",Bt=typeof document<"u"?document:null,Ri=Bt&&Bt.createElement("template"),Qg={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Bt.createElementNS(Xg,e):t==="mathml"?Bt.createElementNS(Zg,e):o?Bt.createElement(e,{is:o}):Bt.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Bt.createTextNode(e),createComment:e=>Bt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{Ri.innerHTML=Mi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Ri.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ep=Symbol("_vtc");function tp(e,t,o){const n=e[ep];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Ii=Symbol("_vod"),op=Symbol("_vsh"),np=Symbol(""),ap=/(?:^|;)\s*display\s*:/;function sp(e,t,o){const n=e.style,a=Se(o);let s=!1;if(o&&!a){if(t)if(Se(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&un(n,i,"")}else for(const r in t)o[r]==null&&un(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?ip(e,r,!Se(t)&&t?t[r]:void 0,i)||un(n,r,i):un(n,r,"")}}else if(a){if(t!==o){const r=n[np];r&&(o+=";"+r),n.cssText=o,s=ap.test(o)}}else t&&e.removeAttribute("style");Ii in e&&(e[Ii]=s?n.display:"",e[op]&&(n.display="none"))}const ea=/\s*!important$/;function un(e,t,o){if(ee(o))o.forEach(n=>un(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))ea.test(o)?e.setProperty(t,o.replace(ea,""),"important"):e.setProperty(t,o);else{const n=rp(e,t);ea.test(o)?e.setProperty(st(n),o.replace(ea,""),"important"):e[n]=o}}const Oi=["Webkit","Moz","ms"],es={};function rp(e,t){const o=es[t];if(o)return o;let n=xe(t);if(n!=="filter"&&n in e)return es[t]=n;n=wn(n);for(let a=0;ats||(fp.then(()=>ts=0),ts=Date.now());function mp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(ee(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bp=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?tp(e,n,r):t==="style"?sp(e,o,n):_n(t)?$n(t)||up(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):yp(e,t,n,r))?(Di(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fi(e,t,n,r,s,t!=="value")):e._isVueCE&&(_p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Se(n)))?Di(e,xe(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fi(e,t,n,r))};function yp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bi(t)&&ne(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(t)&&Se(o)?!1:t in e}function _p(e,t){const o=e._def.props;if(!o)return!1;const n=xe(t);return Array.isArray(o)?o.some(a=>xe(a)===n):Object.keys(o).some(a=>xe(a)===n)}const ji={};function $p(e,t,o){let n=Zo(e,t);Sn(n)&&(n=Ce({},n,t));class a extends os{constructor(r){super(n,r,o)}}return a.def=n,a}const Ap=typeof HTMLElement<"u"?HTMLElement:class{};class os extends Ap{constructor(t,o={},n=zi){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==zi?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 os){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,Yo(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!ee(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=nr(this._props[l])),(i||(i=Object.create(null)))[xe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)fe(this,n)||Object.defineProperty(this,n,{get:()=>Rt(o[n])})}_resolveProps(t){const{props:o}=t,n=ee(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(xe))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):ji;const a=xe(t);o&&this._numberProps&&this._numberProps[a]&&(n=nr(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===ji?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(st(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(st(t),o+""):o||this.removeAttribute(st(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),vp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Te(this._def,Ce(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,Sn(r[0])?Ce({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),st(s)!==s&&a(st(s),r)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{Ki().render(...e)},zi=(...e)=>{const t=Ki().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=wp(n);if(!a)return;const s=t._component;!ne(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,kp(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function kp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function wp(e){return Se(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Vi;const ea=e=>Vi=e,Hi=Symbol();function os(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var un;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(un||(un={}));function wp(){const e=ba(!0),t=e.run(()=>ie({}));let o=[],n=[];const a=Vo({install(s){ea(a),a._a=s,s.provide(Hi,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const qi=()=>{};function Wi(e,t,o,n=qi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ur()&&su(a),a}function To(e,...t){e.slice().forEach(o=>{o(...t)})}const Pp=e=>e(),Yi=Symbol(),ns=Symbol();function as(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];os(a)&&os(n)&&e.hasOwnProperty(o)&&!Pe(n)&&!Ct(n)?e[o]=as(a,n):e[o]=n}return e}const Tp=Symbol();function Lp(e){return!os(e)||!e.hasOwnProperty(Tp)}const{assign:Yt}=Object;function Ep(e){return!!(Pe(e)&&e.effect)}function Cp(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=Tu(o.state.value[e]);return Yt(u,s,Object.keys(r||{}).reduce((d,h)=>(d[h]=Vo(he(()=>{ea(o);const y=o._s.get(e);return r[h].call(y,y)})),d),{}))}return l=Ji(e,c,t,o,n,!0),l}function Ji(e,t,o={},n,a,s){let r;const i=Yt({actions:{}},o),l={deep:!0};let c,u,d=[],h=[],y;const T=n.state.value[e];!s&&!T&&(n.state.value[e]={});let A;function P(w){let m;c=u=!1,typeof w=="function"?(w(n.state.value[e]),m={type:un.patchFunction,storeId:e,events:y}):(as(n.state.value[e],w),m={type:un.patchObject,payload:w,storeId:e,events:y});const G=A=Symbol();Wo().then(()=>{A===G&&(c=!0)}),u=!0,To(d,m,n.state.value[e])}const M=s?function(){const{state:m}=o,G=m?m():{};this.$patch(K=>{Yt(K,G)})}:qi;function L(){r.stop(),d=[],h=[],n._s.delete(e)}const _=(w,m="")=>{if(Yi in w)return w[ns]=m,w;const G=function(){ea(n);const K=Array.from(arguments),j=[],Y=[];function le(U){j.push(U)}function F(U){Y.push(U)}To(h,{args:K,name:G[ns],store:E,after:le,onError:F});let O;try{O=w.apply(this&&this.$id===e?this:E,K)}catch(U){throw To(Y,U),U}return O instanceof Promise?O.then(U=>(To(j,U),U)).catch(U=>(To(Y,U),Promise.reject(U))):(To(j,O),O)};return G[Yi]=!0,G[ns]=m,G},$={_p:n,$id:e,$onAction:Wi.bind(null,h),$patch:P,$reset:M,$subscribe(w,m={}){const G=Wi(d,w,m.detached,()=>K()),K=r.run(()=>Rt(()=>n.state.value[e],j=>{(m.flush==="sync"?u:c)&&w({storeId:e,type:un.direct,events:y},j)},Yt({},l,m)));return G},$dispose:L},E=Mn($);n._s.set(e,E);const v=(n._a&&n._a.runWithContext||Pp)(()=>n._e.run(()=>(r=ba()).run(()=>t({action:_}))));for(const w in v){const m=v[w];if(Pe(m)&&!Ep(m)||Ct(m))s||(T&&Lp(m)&&(Pe(m)?m.value=T[w]:as(m,T[w])),n.state.value[e][w]=m);else if(typeof m=="function"){const G=_(m,w);v[w]=G,i.actions[w]=m}}return Yt(E,v),Yt(pe(E),v),Object.defineProperty(E,"$state",{get:()=>n.state.value[e],set:w=>{P(m=>{Yt(m,w)})}}),n._p.forEach(w=>{Yt(E,r.run(()=>w({store:E,app:n._a,pinia:n,options:i})))}),T&&s&&o.hydrate&&o.hydrate(E.$state,T),c=!0,u=!0,E}/*! #__NO_SIDE_EFFECTS__ */function ss(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=ju();return i=i||(c?Ne(Hi,null):null),i&&ea(i),i=Vi,i._s.has(n)||(s?Ji(n,t,a,i):Cp(n,a,i)),i._s.get(n)}return r.$id=n,r}const rs="__doxaMapToken",is="doxa:map-token",Xi="__doxaMapTokenBridge",Lo=()=>{if(typeof window>"u")return"";const e=window[rs];return typeof e=="string"?e:""};function Zi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Lo())return Lo();window[rs]=t;try{window.dispatchEvent(new CustomEvent(is,{detail:t}))}catch{}return t}function Np(){if(typeof window>"u"||window[Xi])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Lo()&&(window[rs]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Lo()},set(t){Zi(t)}}),window[Xi]=!0}catch{}}function Mp(){Np();const e=ie(Lo());if(typeof window<"u"){const t=()=>{e.value=Lo()};window.addEventListener(is,t);try{Qo(()=>window.removeEventListener(is,t))}catch{}}return e}function Rp(e){return Zu({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Ip={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},xp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"]},Op={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Fp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},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:"اللغات"},tabInfo:{upg100Region:"المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.",upg100Zone:"قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.",upg100Group:"مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها."},a11y:{expandRow:"توسيع {label}",collapseRow:"طي {label}",clearSelection:"إلغاء التحديد"}},Dp={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"}},Bp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Gp={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},jp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Up={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Choose a region":"اختر منطقة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات","Hide country posters":"إخفاء ملصقات الدولة",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...",Map:"الخريطة","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد.","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة","Pick a region above, or click any dot to open that people group's country.":"اختر منطقة أعلاه، أو انقر على أي نقطة لفتح دولة تلك المجموعة البشرية.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"اختر منطقة أو دولة من تبويب قائمة المناطق لتضييق نطاق لوحة المعلومات هذه.",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة","Region Dashboards":"لوحات معلومات المناطق","Region dashboard":"لوحة معلومات المنطقة",Regions:"المناطق","Regions List":"قائمة المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Select View":"اختر العرض","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","View country posters":"عرض ملصقات الدولة",Views:"العروض","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة","Outside this region":"خارج هذه المنطقة",Pray:"صلّي","Loading region dashboards…":"جارٍ تحميل لوحات المناطق…","No regions found.":"لم يتم العثور على مناطق.","Region data could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل بيانات المناطق. هذه مشكلة في الاتصال، وليست تصفية.","People groups could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل الشعوب. هذه مشكلة في الاتصال، وليست تصفية.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},Kp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},zp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة",upg100Region:"المنطقة",upg100Zone:"قوائم UPG-100",upg100Group:"مجموعة شعبية"},Vp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},Hp={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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"]},qp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Wp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},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",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"},tabInfo:{upg100Region:"Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.",upg100Zone:"UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.",upg100Group:"Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon."},a11y:{expandRow:"{label} ausklappen",collapseRow:"{label} einklappen",clearSelection:"Auswahl aufheben"}},Yp={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"}},Jp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Xp={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Zp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Qp={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Choose a region":"Region auswählen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden","Hide country posters":"Länderposter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...",Map:"Karte","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt.","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben","Pick a region above, or click any dot to open that people group's country.":"Wählen Sie oben eine Region aus oder klicken Sie auf einen Punkt, um das Land dieser Volksgruppe zu öffnen.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Wählen Sie im Tab „Regionenliste“ eine Region oder ein Land aus, um dieses Dashboard einzugrenzen.",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung","Region Dashboards":"Regionen-Dashboards","Region dashboard":"Regions-Dashboard",Regions:"Regionen","Regions List":"Regionenliste",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Select View":"Ansicht auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","View country posters":"Länderposter ansehen",Views:"Ansichten","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","Outside this region":"Außerhalb dieser Region",Pray:"Ich bete","Loading region dashboards…":"Regions-Dashboards werden geladen…","No regions found.":"Keine Regionen gefunden.","Region data could not be loaded. This is a connection problem, not a filter.":"Regionsdaten konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","People groups could not be loaded. This is a connection problem, not a filter.":"Volksgruppen konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Die Karte konnte nicht starten. Das ist ein Karten-Token- oder Verbindungsproblem, kein Filter — die Zahlen oben sind davon nicht betroffen."},ed={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},td={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",upg100Region:"Region",upg100Zone:"UPG-100-Listen",upg100Group:"Volksgruppe"},od={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},nd={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster"},ad={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},sd={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"},tabInfo:{upg100Region:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.",upg100Zone:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.",upg100Group:"People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these."},a11y:{expandRow:"Expand {label}",collapseRow:"Collapse {label}",clearSelection:"Clear selection"}},rd={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"}},id={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},ld={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},cd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},ud={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Choose a region":"Choose a region","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters","Hide country posters":"Hide country posters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...",Map:"Map","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No poster has been generated for this country yet.":"No poster has been generated for this country yet.","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying","Pick a region above, or click any dot to open that people group's country.":"Pick a region above, or click any dot to open that people group's country.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Pick a region or a country on the Regions List tab to narrow this dashboard.",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress","Region Dashboards":"Region Dashboards","Region dashboard":"Region dashboard",Regions:"Regions","Regions List":"Regions List",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Select View":"Select View","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","View country posters":"View country posters",Views:"Views","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","Outside this region":"Outside this region",Pray:"Pray","Loading region dashboards…":"Loading region dashboards…","No regions found.":"No regions found.","Region data could not be loaded. This is a connection problem, not a filter.":"Region data could not be loaded. This is a connection problem, not a filter.","People groups could not be loaded. This is a connection problem, not a filter.":"People groups could not be loaded. This is a connection problem, not a filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected."},gd={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"}},pd={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",upg100Region:"Region",upg100Zone:"UPG-100 Lists",upg100Group:"People Group"},dd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},fd={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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"]},hd={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."}},md={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",default:"Leyenda"},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"},tabInfo:{upg100Region:"Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.",upg100Zone:"Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.",upg100Group:"Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos."},a11y:{expandRow:"Expandir {label}",collapseRow:"Contraer {label}",clearSelection:"Borrar la selección"}},bd={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"}},yd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},_d={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},$d={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Ad={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Choose a region":"Elige una región","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar los carteles del país",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país.","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración","Pick a region above, or click any dot to open that people group's country.":"Elige una región arriba, o haz clic en cualquier punto para abrir el país de ese pueblo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Elige una región o un país en la pestaña Lista de regiones para acotar este panel.",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración","Region Dashboards":"Paneles de regiones","Region dashboard":"Panel de la región",Regions:"Regiones","Regions List":"Lista de regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Select View":"Seleccionar vista","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","View country posters":"Ver los carteles del país",Views:"Vistas","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos","Outside this region":"Fuera de esta región",Pray:"Oración","Loading region dashboards…":"Cargando los paneles de regiones…","No regions found.":"No se encontraron regiones.","Region data could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los datos de las regiones. Es un problema de conexión, no un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los pueblos. Es un problema de conexión, no un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"El mapa no pudo iniciarse. Es un problema del token del mapa o de conexión, no un filtro: las cifras de arriba no se ven afectadas."},vd={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"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},Sd={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",upg100Region:"Región",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},kd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende"},wd={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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"]},Pd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Td={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",default:"Légende"},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"},tabInfo:{upg100Region:"Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.",upg100Zone:"Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.",upg100Group:"Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un."},a11y:{expandRow:"Développer {label}",collapseRow:"Réduire {label}",clearSelection:"Effacer la sélection"}},Ld={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"}},Ed={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Cd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Nd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Md={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Choose a region":"Choisissez une région","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres","Hide country posters":"Masquer les affiches du pays",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...",Map:"Carte","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays.","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière","Pick a region above, or click any dot to open that people group's country.":"Choisissez une région ci-dessus, ou cliquez sur un point pour ouvrir le pays de ce peuple.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Choisissez une région ou un pays dans l’onglet Liste des régions pour affiner ce tableau de bord.",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière","Region Dashboards":"Tableaux de bord des régions","Region dashboard":"Tableau de bord de la région",Regions:"Régions","Regions List":"Liste des régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Select View":"Sélectionner la vue","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","View country posters":"Voir les affiches du pays",Views:"Vues","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","Outside this region":"Hors de cette région",Pray:"Prier","Loading region dashboards…":"Chargement des tableaux de bord des régions…","No regions found.":"Aucune région trouvée.","Region data could not be loaded. This is a connection problem, not a filter.":"Les données des régions n'ont pas pu être chargées. Il s'agit d'un problème de connexion, pas d'un filtre.","People groups could not be loaded. This is a connection problem, not a filter.":"Les peuples n'ont pas pu être chargés. Il s'agit d'un problème de connexion, pas d'un filtre.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La carte n'a pas pu démarrer. Il s'agit d'un problème de jeton de carte ou de connexion, pas d'un filtre — les chiffres ci-dessus ne sont pas affectés."},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"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Id={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",upg100Region:"Région",upg100Zone:"Listes UPG-100",upg100Group:"Groupe de peuples"},xd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Od={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"]},Fd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Dd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},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:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"},tabInfo:{upg100Region:"क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।",upg100Zone:"UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।",upg100Group:"जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।"},a11y:{expandRow:"{label} का विस्तार करें",collapseRow:"{label} को छोटा करें",clearSelection:"चयन हटाएँ"}},Bd={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"}},Gd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},jd={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Ud={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Kd={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Choose a region":"क्षेत्र चुनें","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ","Hide country posters":"देश के पोस्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।",Map:"नक्शा","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग","Pick a region above, or click any dot to open that people group's country.":"ऊपर कोई क्षेत्र चुनें, या उस लोगों के समूह का देश खोलने के लिए किसी बिंदु पर क्लिक करें।","Pick a region or a country on the Regions List tab to narrow this dashboard.":"इस डैशबोर्ड को सीमित करने के लिए क्षेत्रों की सूची टैब में कोई क्षेत्र या देश चुनें।",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति","Region Dashboards":"क्षेत्र डैशबोर्ड","Region dashboard":"क्षेत्र डैशबोर्ड",Regions:"क्षेत्र","Regions List":"क्षेत्रों की सूची",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Select View":"दृश्य चुनें","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","View country posters":"देश के पोस्टर देखें",Views:"दृश्य","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह","Outside this region":"इस क्षेत्र के बाहर",Pray:"प्रार्थना करें","Loading region dashboards…":"क्षेत्र डैशबोर्ड लोड हो रहे हैं…","No regions found.":"कोई क्षेत्र नहीं मिला।","Region data could not be loaded. This is a connection problem, not a filter.":"क्षेत्र डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","People groups could not be loaded. This is a connection problem, not a filter.":"लोकसमूह लोड नहीं हो सके। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},zd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Vd={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश",upg100Region:"क्षेत्र",upg100Zone:"UPG-100 सूचियाँ",upg100Group:"जनसमूह"},Hd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},qd={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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"]},Wd={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Yd={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",default:"Legenda"},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",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"},tabInfo:{upg100Region:"Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.",upg100Zone:"Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.",upg100Group:"Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi."},a11y:{expandRow:"Espandi {label}",collapseRow:"Comprimi {label}",clearSelection:"Cancella la selezione"}},Jd={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"}},Xd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Zd={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},Qd={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},ef={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Choose a region":"Scegli una regione","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri","Hide country posters":"Nascondi i poster del paese",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…",Map:"Mappa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster.","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare","Pick a region above, or click any dot to open that people group's country.":"Scegli una regione qui sopra, oppure clicca su un punto per aprire il paese di quel gruppo etnico.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Scegli una regione o un paese nella scheda Elenco delle regioni per restringere questo cruscotto.",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera","Region Dashboards":"Cruscotti delle regioni","Region dashboard":"Cruscotto della regione",Regions:"Regioni","Regions List":"Elenco delle regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Select View":"Seleziona vista","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","View country posters":"Vedi i poster del paese",Views:"Viste","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","Outside this region":"Fuori da questa regione",Pray:"Prega","Loading region dashboards…":"Caricamento delle dashboard delle regioni…","No regions found.":"Nessuna regione trovata.","Region data could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i dati delle regioni. È un problema di connessione, non un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i gruppi di popolazione. È un problema di connessione, non un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La mappa non è potuta avviare. È un problema di token della mappa o di connessione, non un filtro: i dati sopra non sono interessati."},tf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},of={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese",upg100Region:"Regione",upg100Zone:"Liste UPG-100",upg100Group:"Gruppo etnico"},nf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},af={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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"]},sf={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."}},rf={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",default:"Legenda"},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"},tabInfo:{upg100Region:"Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.",upg100Zone:"Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.",upg100Group:"Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles."},a11y:{expandRow:"Expandir {label}",collapseRow:"Recolher {label}",clearSelection:"Limpar a seleção"}},lf={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"}},cf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},uf={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},gf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},pf={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Choose a region":"Escolha uma região","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar os cartazes do país",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país.","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração","Pick a region above, or click any dot to open that people group's country.":"Escolha uma região acima, ou clique em qualquer ponto para abrir o país desse povo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Escolha uma região ou um país na aba Lista de regiões para restringir este painel.",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração","Region Dashboards":"Painéis das regiões","Region dashboard":"Painel da região",Regions:"Regiões","Regions List":"Lista de regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Select View":"Selecionar visualização","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","View country posters":"Ver os cartazes do país",Views:"Visualizações","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","Outside this region":"Fora desta região",Pray:"Ore","Loading region dashboards…":"Carregando os painéis das regiões…","No regions found.":"Nenhuma região encontrada.","Region data could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os dados das regiões. É um problema de conexão, não um filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os povos. É um problema de conexão, não um filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"O mapa não pôde iniciar. É um problema do token do mapa ou de conexão, não um filtro — os números acima não são afetados."},df={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"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},ff={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",upg100Region:"Região",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},hf={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},mf={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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"]},bf={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ă."}},yf={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",default:"Legendă"},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",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"},tabInfo:{upg100Region:"Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.",upg100Zone:"Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.",upg100Group:"Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele."},a11y:{expandRow:"Extinde {label}",collapseRow:"Restrânge {label}",clearSelection:"Șterge selecția"}},_f={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"}},$f={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Af={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},vf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Sf={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Choose a region":"Alege o regiune","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele","Hide country posters":"Ascunde posterele țării",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…",Map:"Hartă","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster.","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii","Pick a region above, or click any dot to open that people group's country.":"Alege o regiune mai sus sau dă clic pe orice punct pentru a deschide țara acelui grup etnic.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Alege o regiune sau o țară din fila Lista regiunilor pentru a restrânge acest panou.",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune","Region Dashboards":"Panouri ale regiunilor","Region dashboard":"Panoul regiunii",Regions:"Regiuni","Regions List":"Lista regiunilor",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Select View":"Selectează vizualizarea","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","View country posters":"Vezi posterele țării",Views:"Vizualizări","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","Outside this region":"În afara acestei regiuni",Pray:"Roagă-te","Loading region dashboards…":"Se încarcă panourile regiunilor…","No regions found.":"Nu au fost găsite regiuni.","Region data could not be loaded. This is a connection problem, not a filter.":"Datele regiunilor nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","People groups could not be loaded. This is a connection problem, not a filter.":"Grupurile de popoare nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Harta nu a putut porni. Este o problemă de token al hărții sau de conexiune, nu un filtru — cifrele de mai sus nu sunt afectate."},kf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},wf={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară",upg100Region:"Regiune",upg100Zone:"Liste UPG-100",upg100Group:"Grup etnic"},Pf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},Tf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"]},Lf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Ef={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},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:"Языки"},tabInfo:{upg100Region:"Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.",upg100Zone:"Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.",upg100Group:"Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них."},a11y:{expandRow:"Развернуть {label}",collapseRow:"Свернуть {label}",clearSelection:"Снять выделение"}},Cf={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"}},Nf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Mf={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},Rf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},If={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Choose a region":"Выберите регион","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры","Hide country posters":"Скрыть плакаты страны",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...",Map:"Карта","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан.","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве","Pick a region above, or click any dot to open that people group's country.":"Выберите регион выше или нажмите на любую точку, чтобы открыть страну этой группы народа.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Выберите регион или страну на вкладке «Список регионов», чтобы сузить эту панель.",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия","Region Dashboards":"Панели регионов","Region dashboard":"Панель региона",Regions:"Регионы","Regions List":"Список регионов",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Select View":"Выберите вид","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","View country posters":"Показать плакаты страны",Views:"Виды","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей","Outside this region":"За пределами этого региона",Pray:"Молиться","Loading region dashboards…":"Загрузка панелей по регионам…","No regions found.":"Регионы не найдены.","Region data could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить данные по регионам. Это проблема соединения, а не фильтра.","People groups could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить народы. Это проблема соединения, а не фильтра.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},xf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Of={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна",upg100Region:"Регион",upg100Zone:"Списки UPG-100",upg100Group:"Народ"},Ff={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},Df={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"]},Bf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Gf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},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:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"},tabInfo:{upg100Region:"区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。",upg100Zone:"UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。",upg100Group:"族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。"},a11y:{expandRow:"展开{label}",collapseRow:"折叠{label}",clearSelection:"清除选择"}},jf={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"}},Uf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Kf={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},zf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Vf={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Choose a region":"选择区域","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选","Hide country posters":"隐藏国家海报",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…",Map:"地图","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No poster has been generated for this country yet.":"尚未为该国家生成海报。","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数","Pick a region above, or click any dot to open that people group's country.":"在上方选择一个区域,或点击任意圆点以打开该民族所在的国家。","Pick a region or a country on the Regions List tab to narrow this dashboard.":"在“区域列表”标签中选择一个区域或国家,以缩小此仪表板的范围。",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度","Region Dashboards":"区域仪表板","Region dashboard":"区域仪表板",Regions:"区域","Regions List":"区域列表",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Select View":"选择视图","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","View country posters":"查看国家海报",Views:"视图","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","Outside this region":"在此区域之外",Pray:"祷告","Loading region dashboards…":"正在加载区域面板…","No regions found.":"未找到区域。","Region data could not be loaded. This is a connection problem, not a filter.":"无法加载区域数据。这是连接问题,不是筛选问题。","People groups could not be loaded. This is a connection problem, not a filter.":"无法加载民族群体。这是连接问题,不是筛选问题。","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},Hf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},qf={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家",upg100Region:"区域",upg100Zone:"UPG-100 名单",upg100Group:"族群"};/*! + */let Vi;const ta=e=>Vi=e,Hi=Symbol();function ns(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(gn||(gn={}));function Pp(){const e=ya(!0),t=e.run(()=>se({}));let o=[],n=[];const a=Ho({install(s){ta(a),a._a=s,s.provide(Hi,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const qi=()=>{};function Wi(e,t,o,n=qi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ur()&&ru(a),a}function To(e,...t){e.slice().forEach(o=>{o(...t)})}const Lp=e=>e(),Yi=Symbol(),as=Symbol();function ss(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];ns(a)&&ns(n)&&e.hasOwnProperty(o)&&!Le(n)&&!Nt(n)?e[o]=ss(a,n):e[o]=n}return e}const Tp=Symbol();function Ep(e){return!ns(e)||!e.hasOwnProperty(Tp)}const{assign:Jt}=Object;function Cp(e){return!!(Le(e)&&e.effect)}function Np(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=Tu(o.state.value[e]);return Jt(u,s,Object.keys(r||{}).reduce((d,h)=>(d[h]=Ho(he(()=>{ta(o);const y=o._s.get(e);return r[h].call(y,y)})),d),{}))}return l=Ji(e,c,t,o,n,!0),l}function Ji(e,t,o={},n,a,s){let r;const i=Jt({actions:{}},o),l={deep:!0};let c,u,d=[],h=[],y;const P=n.state.value[e];!s&&!P&&(n.state.value[e]={});let A;function N(k){let m;c=u=!1,typeof k=="function"?(k(n.state.value[e]),m={type:gn.patchFunction,storeId:e,events:y}):(ss(n.state.value[e],k),m={type:gn.patchObject,payload:k,storeId:e,events:y});const B=A=Symbol();Yo().then(()=>{A===B&&(c=!0)}),u=!0,To(d,m,n.state.value[e])}const M=s?function(){const{state:m}=o,B=m?m():{};this.$patch(j=>{Jt(j,B)})}:qi;function w(){r.stop(),d=[],h=[],n._s.delete(e)}const $=(k,m="")=>{if(Yi in k)return k[as]=m,k;const B=function(){ta(n);const j=Array.from(arguments),K=[],Y=[];function Z(U){K.push(U)}function F(U){Y.push(U)}To(h,{args:j,name:B[as],store:E,after:Z,onError:F});let x;try{x=k.apply(this&&this.$id===e?this:E,j)}catch(U){throw To(Y,U),U}return x instanceof Promise?x.then(U=>(To(K,U),U)).catch(U=>(To(Y,U),Promise.reject(U))):(To(K,x),x)};return B[Yi]=!0,B[as]=m,B},_={_p:n,$id:e,$onAction:Wi.bind(null,h),$patch:N,$reset:M,$subscribe(k,m={}){const B=Wi(d,k,m.detached,()=>j()),j=r.run(()=>It(()=>n.state.value[e],K=>{(m.flush==="sync"?u:c)&&k({storeId:e,type:gn.direct,events:y},K)},Jt({},l,m)));return B},$dispose:w},E=Rn(_);n._s.set(e,E);const L=(n._a&&n._a.runWithContext||Lp)(()=>n._e.run(()=>(r=ya()).run(()=>t({action:$}))));for(const k in L){const m=L[k];if(Le(m)&&!Cp(m)||Nt(m))s||(P&&Ep(m)&&(Le(m)?m.value=P[k]:ss(m,P[k])),n.state.value[e][k]=m);else if(typeof m=="function"){const B=$(m,k);L[k]=B,i.actions[k]=m}}return Jt(E,L),Jt(pe(E),L),Object.defineProperty(E,"$state",{get:()=>n.state.value[e],set:k=>{N(m=>{Jt(m,k)})}}),n._p.forEach(k=>{Jt(E,r.run(()=>k({store:E,app:n._a,pinia:n,options:i})))}),P&&s&&o.hydrate&&o.hydrate(E.$state,P),c=!0,u=!0,E}/*! #__NO_SIDE_EFFECTS__ */function rs(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=Uu();return i=i||(c?Re(Hi,null):null),i&&ta(i),i=Vi,i._s.has(n)||(s?Ji(n,t,a,i):Np(n,a,i)),i._s.get(n)}return r.$id=n,r}const is="__doxaMapToken",ls="doxa:map-token",Xi="__doxaMapTokenBridge",Eo=()=>{if(typeof window>"u")return"";const e=window[is];return typeof e=="string"?e:""};function Zi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Eo())return Eo();window[is]=t;try{window.dispatchEvent(new CustomEvent(ls,{detail:t}))}catch{}return t}function Mp(){if(typeof window>"u"||window[Xi])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Eo()&&(window[is]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Eo()},set(t){Zi(t)}}),window[Xi]=!0}catch{}}function Rp(){Mp();const e=se(Eo());if(typeof window<"u"){const t=()=>{e.value=Eo()};window.addEventListener(ls,t);try{en(()=>window.removeEventListener(ls,t))}catch{}}return e}function Ip(e){return Qu({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Op={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},xp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف"},Fp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Dp={title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},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:"اللغات"},tabInfo:{upg100Region:"المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.",upg100Zone:"قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.",upg100Group:"مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها."},a11y:{expandRow:"توسيع {label}",collapseRow:"طي {label}",clearSelection:"إلغاء التحديد"}},Gp={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"}},Bp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},jp={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Up={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Kp={"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Choose a region":"اختر منطقة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُخْدُومَة","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات","Hide country posters":"إخفاء ملصقات الدولة",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...",Map:"الخريطة","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد.","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات شعبية","People committed to praying":"الأشخاص الذين التزموا بالصلاة","Pick a region above, or click any dot to open that people group's country.":"اختر منطقة أعلاه، أو انقر على أي نقطة لفتح دولة تلك المجموعة البشرية.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"اختر منطقة أو دولة من تبويب قائمة المناطق لتضييق نطاق لوحة المعلومات هذه.",Population:"عدد السكان","Prayer Coverage":"تغطية الصلاة","Prayer coverage progress":"تقدم تغطية الصلاة","Region Dashboards":"لوحات معلومات المناطق","Region dashboard":"لوحة معلومات المنطقة",Regions:"المناطق","Regions List":"قائمة المناطق",Religion:"الدين","Search names, country/continent, religions...":"ابحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Select View":"اختر العرض","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"المجموعات الشعبية غير المَخْدُومَة","View country posters":"عرض ملصقات الدولة",Views:"العروض","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"مجموعات شعبية متبنَّاة","people groups engaged":"مجموعات شعبية مُخْدُومَة","Outside this region":"خارج هذه المنطقة",Pray:"صلّي","Loading region dashboards…":"جارٍ تحميل لوحات المناطق…","No regions found.":"لم يتم العثور على مناطق.","Region data could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل بيانات المناطق. هذه مشكلة في الاتصال، وليست تصفية.","People groups could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل الشعوب. هذه مشكلة في الاتصال، وليست تصفية.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},zp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Vp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة",upg100Region:"المنطقة",upg100Zone:"قوائم UPG-100",upg100Group:"مجموعة شعبية"},Hp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},qp={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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile"},Wp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Yp={title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},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",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"},tabInfo:{upg100Region:"Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.",upg100Zone:"UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.",upg100Group:"Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon."},a11y:{expandRow:"{label} ausklappen",collapseRow:"{label} einklappen",clearSelection:"Auswahl aufheben"}},Jp={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"}},Xp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Zp={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Qp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ed={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Adoptiert","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Choose a region":"Region auswählen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Fortschritt der Arbeit vor Ort","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden","Hide country posters":"Länderposter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...",Map:"Karte","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt.","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben","Pick a region above, or click any dot to open that people group's country.":"Wählen Sie oben eine Region aus oder klicken Sie auf einen Punkt, um das Land dieser Volksgruppe zu öffnen.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Wählen Sie im Tab „Regionenliste“ eine Region oder ein Land aus, um dieses Dashboard einzugrenzen.",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung","Region Dashboards":"Regionen-Dashboards","Region dashboard":"Regions-Dashboard",Regions:"Regionen","Regions List":"Regionenliste",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Select View":"Ansicht auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Unberührte Volksgruppen","View country posters":"Länderposter ansehen",Views:"Ansichten","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","Outside this region":"Außerhalb dieser Region",Pray:"Ich bete","Loading region dashboards…":"Regions-Dashboards werden geladen…","No regions found.":"Keine Regionen gefunden.","Region data could not be loaded. This is a connection problem, not a filter.":"Regionsdaten konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","People groups could not be loaded. This is a connection problem, not a filter.":"Volksgruppen konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Die Karte konnte nicht starten. Das ist ein Karten-Token- oder Verbindungsproblem, kein Filter — die Zahlen oben sind davon nicht betroffen."},td={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},od={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",upg100Region:"Region",upg100Zone:"UPG-100-Listen",upg100Group:"Volksgruppe"},nd={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},ad={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row"},sd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},rd={title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"},tabInfo:{upg100Region:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.",upg100Zone:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.",upg100Group:"People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these."},a11y:{expandRow:"Expand {label}",collapseRow:"Collapse {label}",clearSelection:"Clear selection"}},id={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"}},ld={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},cd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},ud={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},gd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Choose a region":"Choose a region","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters","Hide country posters":"Hide country posters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...",Map:"Map","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No poster has been generated for this country yet.":"No poster has been generated for this country yet.","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying","Pick a region above, or click any dot to open that people group's country.":"Pick a region above, or click any dot to open that people group's country.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Pick a region or a country on the Regions List tab to narrow this dashboard.",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress","Region Dashboards":"Region Dashboards","Region dashboard":"Region dashboard",Regions:"Regions","Regions List":"Regions List",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Select View":"Select View","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","View country posters":"View country posters",Views:"Views","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","Outside this region":"Outside this region",Pray:"Pray","Loading region dashboards…":"Loading region dashboards…","No regions found.":"No regions found.","Region data could not be loaded. This is a connection problem, not a filter.":"Region data could not be loaded. This is a connection problem, not a filter.","People groups could not be loaded. This is a connection problem, not a filter.":"People groups could not be loaded. This is a connection problem, not a filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected."},pd={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"}},dd={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",upg100Region:"Region",upg100Zone:"UPG-100 Lists",upg100Group:"People Group"},fd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},hd={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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila"},md={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."}},bd={title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},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"},tabInfo:{upg100Region:"Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.",upg100Zone:"Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.",upg100Group:"Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos."},a11y:{expandRow:"Expandir {label}",collapseRow:"Contraer {label}",clearSelection:"Borrar la selección"}},yd={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"}},_d={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},$d={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},Ad={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Sd={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Adoptado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Choose a region":"Elige una región","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar los carteles del país",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país.","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración","Pick a region above, or click any dot to open that people group's country.":"Elige una región arriba, o haz clic en cualquier punto para abrir el país de ese pueblo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Elige una región o un país en la pestaña Lista de regiones para acotar este panel.",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración","Region Dashboards":"Paneles de regiones","Region dashboard":"Panel de la región",Regions:"Regiones","Regions List":"Lista de regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Select View":"Seleccionar vista","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","View country posters":"Ver los carteles del país",Views:"Vistas","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos étnicos adoptados","people groups engaged":"grupos étnicos comprometidos","Outside this region":"Fuera de esta región",Pray:"Oración","Loading region dashboards…":"Cargando los paneles de regiones…","No regions found.":"No se encontraron regiones.","Region data could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los datos de las regiones. Es un problema de conexión, no un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los pueblos. Es un problema de conexión, no un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"El mapa no pudo iniciarse. Es un problema del token del mapa o de conexión, no un filtro: las cifras de arriba no se ven afectadas."},vd={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"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},kd={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",upg100Region:"Región",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},wd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende"},Pd={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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne"},Ld={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Td={title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},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"},tabInfo:{upg100Region:"Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.",upg100Zone:"Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.",upg100Group:"Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un."},a11y:{expandRow:"Développer {label}",collapseRow:"Réduire {label}",clearSelection:"Effacer la sélection"}},Ed={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"}},Cd={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"}},Md={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Rd={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Choose a region":"Choisissez une région","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres","Hide country posters":"Masquer les affiches du pays",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...",Map:"Carte","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays.","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière","Pick a region above, or click any dot to open that people group's country.":"Choisissez une région ci-dessus, ou cliquez sur un point pour ouvrir le pays de ce peuple.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Choisissez une région ou un pays dans l’onglet Liste des régions pour affiner ce tableau de bord.",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière","Region Dashboards":"Tableaux de bord des régions","Region dashboard":"Tableau de bord de la région",Regions:"Régions","Regions List":"Liste des régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Select View":"Sélectionner la vue","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","View country posters":"Voir les affiches du pays",Views:"Vues","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","Outside this region":"Hors de cette région",Pray:"Prier","Loading region dashboards…":"Chargement des tableaux de bord des régions…","No regions found.":"Aucune région trouvée.","Region data could not be loaded. This is a connection problem, not a filter.":"Les données des régions n'ont pas pu être chargées. Il s'agit d'un problème de connexion, pas d'un filtre.","People groups could not be loaded. This is a connection problem, not a filter.":"Les peuples n'ont pas pu être chargés. Il s'agit d'un problème de connexion, pas d'un filtre.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La carte n'a pas pu démarrer. Il s'agit d'un problème de jeton de carte ou de connexion, pas d'un filtre — les chiffres ci-dessus ne sont pas affectés."},Id={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"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Od={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",upg100Region:"Région",upg100Zone:"Listes UPG-100",upg100Group:"Groupe de peuples"},xd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Fd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर"},Dd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Gd={title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},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:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"},tabInfo:{upg100Region:"क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।",upg100Zone:"UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।",upg100Group:"जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।"},a11y:{expandRow:"{label} का विस्तार करें",collapseRow:"{label} को छोटा करें",clearSelection:"चयन हटाएँ"}},Bd={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"}},jd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Ud={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Kd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},zd={"%count% people groups in %countries% countries":"%countries% देशों में %count% जनसमूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"गोद लिया गया","Adoption Progress":"गोद लेने की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Choose a region":"क्षेत्र चुनें","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"संपर्कित","Engagement Progress":"संलग्नता की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूरी प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ","Hide country posters":"देश के पोस्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।",Map:"नक्शा","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"जनसमूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग","Pick a region above, or click any dot to open that people group's country.":"ऊपर कोई क्षेत्र चुनें, या उस लोगों के समूह का देश खोलने के लिए किसी बिंदु पर क्लिक करें।","Pick a region or a country on the Regions List tab to narrow this dashboard.":"इस डैशबोर्ड को सीमित करने के लिए क्षेत्रों की सूची टैब में कोई क्षेत्र या देश चुनें।",Population:"जनसंख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति","Region Dashboards":"क्षेत्र डैशबोर्ड","Region dashboard":"क्षेत्र डैशबोर्ड",Regions:"क्षेत्र","Regions List":"क्षेत्रों की सूची",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें…","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Select View":"दृश्य चुनें","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनसंपर्कित जनसमूह","View country posters":"देश के पोस्टर देखें",Views:"दृश्य","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"जनसमूह गोद लिए गए","people groups engaged":"संपर्कित जनसमूह","Outside this region":"इस क्षेत्र के बाहर",Pray:"प्रार्थना करें","Loading region dashboards…":"क्षेत्र डैशबोर्ड लोड हो रहे हैं…","No regions found.":"कोई क्षेत्र नहीं मिला।","Region data could not be loaded. This is a connection problem, not a filter.":"क्षेत्र डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","People groups could not be loaded. This is a connection problem, not a filter.":"लोकसमूह लोड नहीं हो सके। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},Vd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Hd={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश",upg100Region:"क्षेत्र",upg100Zone:"UPG-100 सूचियाँ",upg100Group:"जनसमूह"},qd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Wd={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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga"},Yd={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Jd={title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},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",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"},tabInfo:{upg100Region:"Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.",upg100Zone:"Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.",upg100Group:"Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi."},a11y:{expandRow:"Espandi {label}",collapseRow:"Comprimi {label}",clearSelection:"Cancella la selezione"}},Xd={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"}},Zd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Qd={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},ef={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},tf={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Choose a region":"Scegli una regione","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri","Hide country posters":"Nascondi i poster del paese",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…",Map:"Mappa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster.","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare","Pick a region above, or click any dot to open that people group's country.":"Scegli una regione qui sopra, oppure clicca su un punto per aprire il paese di quel gruppo etnico.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Scegli una regione o un paese nella scheda Elenco delle regioni per restringere questo cruscotto.",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera","Region Dashboards":"Cruscotti delle regioni","Region dashboard":"Cruscotto della regione",Regions:"Regioni","Regions List":"Elenco delle regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Select View":"Seleziona vista","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","View country posters":"Vedi i poster del paese",Views:"Viste","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","Outside this region":"Fuori da questa regione",Pray:"Prega","Loading region dashboards…":"Caricamento delle dashboard delle regioni…","No regions found.":"Nessuna regione trovata.","Region data could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i dati delle regioni. È un problema di connessione, non un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i gruppi di popolazione. È un problema di connessione, non un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La mappa non è potuta avviare. È un problema di token della mappa o di connessione, non un filtro: i dati sopra non sono interessati."},of={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},nf={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese",upg100Region:"Regione",upg100Zone:"Liste UPG-100",upg100Group:"Gruppo etnico"},af={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},sf={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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha"},rf={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."}},lf={title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},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"},tabInfo:{upg100Region:"Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.",upg100Zone:"Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.",upg100Group:"Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles."},a11y:{expandRow:"Expandir {label}",collapseRow:"Recolher {label}",clearSelection:"Limpar a seleção"}},cf={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"}},uf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},gf={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},pf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},df={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Adotado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Choose a region":"Escolha uma região","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar os cartazes do país",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país.","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração","Pick a region above, or click any dot to open that people group's country.":"Escolha uma região acima, ou clique em qualquer ponto para abrir o país desse povo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Escolha uma região ou um país na aba Lista de regiões para restringir este painel.",Population:"População","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração","Region Dashboards":"Painéis das regiões","Region dashboard":"Painel da região",Regions:"Regiões","Regions List":"Lista de regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Select View":"Selecionar visualização","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","View country posters":"Ver os cartazes do país",Views:"Visualizações","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","Outside this region":"Fora desta região",Pray:"Ore","Loading region dashboards…":"Carregando os painéis das regiões…","No regions found.":"Nenhuma região encontrada.","Region data could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os dados das regiões. É um problema de conexão, não um filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os povos. É um problema de conexão, não um filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"O mapa não pôde iniciar. É um problema do token do mapa ou de conexão, não um filtro — os números acima não são afetados."},ff={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"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},hf={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",upg100Region:"Região",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},mf={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},bf={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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând"},yf={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ă."}},_f={title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},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",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"},tabInfo:{upg100Region:"Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.",upg100Zone:"Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.",upg100Group:"Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele."},a11y:{expandRow:"Extinde {label}",collapseRow:"Restrânge {label}",clearSelection:"Șterge selecția"}},$f={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"}},Af={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Sf={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},vf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},kf={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Choose a region":"Alege o regiune","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele","Hide country posters":"Ascunde posterele țării",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…",Map:"Hartă","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster.","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii","Pick a region above, or click any dot to open that people group's country.":"Alege o regiune mai sus sau dă clic pe orice punct pentru a deschide țara acelui grup etnic.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Alege o regiune sau o țară din fila Lista regiunilor pentru a restrânge acest panou.",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune","Region Dashboards":"Panouri ale regiunilor","Region dashboard":"Panoul regiunii",Regions:"Regiuni","Regions List":"Lista regiunilor",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Select View":"Selectează vizualizarea","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","View country posters":"Vezi posterele țării",Views:"Vizualizări","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","Outside this region":"În afara acestei regiuni",Pray:"Roagă-te","Loading region dashboards…":"Se încarcă panourile regiunilor…","No regions found.":"Nu au fost găsite regiuni.","Region data could not be loaded. This is a connection problem, not a filter.":"Datele regiunilor nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","People groups could not be loaded. This is a connection problem, not a filter.":"Grupurile de popoare nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Harta nu a putut porni. Este o problemă de token al hărții sau de conexiune, nu un filtru — cifrele de mai sus nu sunt afectate."},wf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},Pf={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară",upg100Region:"Regiune",upg100Zone:"Liste UPG-100",upg100Group:"Grup etnic"},Lf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},Tf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду"},Ef={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Cf={title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},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:"Языки"},tabInfo:{upg100Region:"Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.",upg100Zone:"Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.",upg100Group:"Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них."},a11y:{expandRow:"Развернуть {label}",collapseRow:"Свернуть {label}",clearSelection:"Снять выделение"}},Nf={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"}},Mf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Rf={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},If={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Of={"%count% people groups in %countries% countries":"%count% народов в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Ответственность взята","Adoption Progress":"Прогресс принятия ответственности","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Choose a region":"Выберите регион","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечён","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры","Hide country posters":"Скрыть плакаты страны",Intercessors:"Ходатаи","Load More":"Загрузить ещё","Loading results...":"Загрузка результатов...",Map:"Карта","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан.","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Народы","People committed to praying":"Люди, посвятившие себя молитве","Pick a region above, or click any dot to open that people group's country.":"Выберите регион выше или нажмите на любую точку, чтобы открыть страну этой группы народа.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Выберите регион или страну на вкладке «Список регионов», чтобы сузить эту панель.",Population:"Население","Prayer Coverage":"Молитвенный охват","Prayer coverage progress":"Прогресс молитвенного покрытия","Region Dashboards":"Панели регионов","Region dashboard":"Панель региона",Regions:"Регионы","Regions List":"Список регионов",Religion:"Религия","Search names, country/continent, religions...":"Поиск по названиям, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Select View":"Выберите вид","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые народы","View country posters":"Показать плакаты страны",Views:"Виды","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"народов, за которые взята ответственность","people groups engaged":"вовлечённые народы","Outside this region":"За пределами этого региона",Pray:"Молиться","Loading region dashboards…":"Загрузка панелей по регионам…","No regions found.":"Регионы не найдены.","Region data could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить данные по регионам. Это проблема соединения, а не фильтра.","People groups could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить народы. Это проблема соединения, а не фильтра.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},xf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Ff={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна",upg100Region:"Регион",upg100Zone:"Списки UPG-100",upg100Group:"Народ"},Df={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},Gf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数"},Bf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},jf={title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},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:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"},tabInfo:{upg100Region:"区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。",upg100Zone:"UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。",upg100Group:"族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。"},a11y:{expandRow:"展开{label}",collapseRow:"折叠{label}",clearSelection:"清除选择"}},Uf={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"}},Kf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},zf={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},Vf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Hf={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Choose a region":"选择区域","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选","Hide country posters":"隐藏国家海报",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…",Map:"地图","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No poster has been generated for this country yet.":"尚未为该国家生成海报。","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数","Pick a region above, or click any dot to open that people group's country.":"在上方选择一个区域,或点击任意圆点以打开该民族所在的国家。","Pick a region or a country on the Regions List tab to narrow this dashboard.":"在“区域列表”标签中选择一个区域或国家,以缩小此仪表板的范围。",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度","Region Dashboards":"区域仪表板","Region dashboard":"区域仪表板",Regions:"区域","Regions List":"区域列表",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Select View":"选择视图","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","View country posters":"查看国家海报",Views:"视图","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","Outside this region":"在此区域之外",Pray:"祷告","Loading region dashboards…":"正在加载区域面板…","No regions found.":"未找到区域。","Region data could not be loaded. This is a connection problem, not a filter.":"无法加载区域数据。这是连接问题,不是筛选问题。","People groups could not be loaded. This is a connection problem, not a filter.":"无法加载民族群体。这是连接问题,不是筛选问题。","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},qf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},Wf={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家",upg100Region:"区域",upg100Zone:"UPG-100 名单",upg100Group:"族群"};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Wf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ta=typeof window<"u",Jt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Yf=(e,t,o)=>Jf({l:e,k:t,s:o}),Jf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ce=e=>typeof e=="number"&&isFinite(e),Xf=e=>nl(e)==="[object Date]",Xt=e=>nl(e)==="[object RegExp]",oa=e=>ae(e)&&Object.keys(e).length===0,Ge=Object.assign,Zf=Object.create,_e=(e=null)=>Zf(e);let Qi;const Gt=()=>Qi||(Qi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:_e());function el(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function tl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Qf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${tl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${tl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const eh=Object.prototype.hasOwnProperty;function dt(e,t){return eh.call(e,t)}const we=Array.isArray,Se=e=>typeof e=="function",W=e=>typeof e=="string",ue=e=>typeof e=="boolean",de=e=>e!==null&&typeof e=="object",th=e=>de(e)&&Se(e.then)&&Se(e.catch),ol=Object.prototype.toString,nl=e=>ol.call(e),ae=e=>{if(!de(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},oh=e=>e==null?"":we(e)||ae(e)&&e.toString===ol?JSON.stringify(e,null,2):String(e);function nh(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function na(e){let t=e;return()=>++t}const aa=e=>!de(e)||we(e);function sa(e,t){if(aa(e)||aa(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(de(n[s])&&!de(a[s])&&(a[s]=Array.isArray(n[s])?[]:_e()),aa(a[s])||aa(n[s])?a[s]=n[s]:o.push({src:n[s],des:a[s]}))})}}/*! + */function Yf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const oa=typeof window<"u",Xt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Jf=(e,t,o)=>Xf({l:e,k:t,s:o}),Xf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),Zf=e=>nl(e)==="[object Date]",Zt=e=>nl(e)==="[object RegExp]",na=e=>ae(e)&&Object.keys(e).length===0,je=Object.assign,Qf=Object.create,$e=(e=null)=>Qf(e);let Qi;const jt=()=>Qi||(Qi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:$e());function el(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function tl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function eh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${tl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${tl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const th=Object.prototype.hasOwnProperty;function ft(e,t){return th.call(e,t)}const Pe=Array.isArray,ke=e=>typeof e=="function",W=e=>typeof e=="string",ce=e=>typeof e=="boolean",de=e=>e!==null&&typeof e=="object",oh=e=>de(e)&&ke(e.then)&&ke(e.catch),ol=Object.prototype.toString,nl=e=>ol.call(e),ae=e=>{if(!de(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},nh=e=>e==null?"":Pe(e)||ae(e)&&e.toString===ol?JSON.stringify(e,null,2):String(e);function ah(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function aa(e){let t=e;return()=>++t}const sa=e=>!de(e)||Pe(e);function ra(e,t){if(sa(e)||sa(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(de(n[s])&&!de(a[s])&&(a[s]=Array.isArray(n[s])?[]:$e()),sa(a[s])||sa(n[s])?a[s]=n[s]:o.push({src:n[s],des:a[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ah(e,t,o){return{line:e,column:t,offset:o}}function ra(e,t,o){return{start:e,end:t}}const sh=/\{([0-9a-zA-Z]+)\}/g;function al(e,...t){return t.length===1&&rh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(sh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const sl=Object.assign,rl=e=>typeof e=="string",rh=e=>e!==null&&typeof e=="object";function il(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const ls={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},ih={[ls.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function lh(e,t,...o){const n=al(ih[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}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},ch={[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 Eo(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=al((a||ch)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function uh(e){throw e}const jt=" ",gh="\r",qe=` -`,ph="\u2028",dh="\u2029";function fh(e){const t=e;let o=0,n=1,a=1,s=0;const r=v=>t[v]===gh&&t[v+1]===qe,i=v=>t[v]===qe,l=v=>t[v]===dh,c=v=>t[v]===ph,u=v=>r(v)||i(v)||l(v)||c(v),d=()=>o,h=()=>n,y=()=>a,T=()=>s,A=v=>r(v)||l(v)||c(v)?qe:t[v],P=()=>A(o),M=()=>A(o+s);function L(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function _(){return r(o+s)&&s++,s++,t[o+s]}function $(){o=0,n=1,a=1,s=0}function E(v=0){s=v}function k(){const v=o+s;for(;v!==o;)L();s=0}return{index:d,line:h,column:y,peekOffset:T,charAt:A,currentChar:P,currentPeek:M,next:L,peek:_,reset:$,resetPeek:E,skipToPeek:k}}const Zt=void 0,hh=".",ll="'",mh="tokenizer";function bh(e,t={}){const o=t.location!==!1,n=fh(e),a=()=>n.index(),s=()=>ah(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(g,p,N,...I){const q=c();if(p.column+=N,p.offset+=N,u){const z=o?ra(q.startLoc,p):null,C=Eo(g,z,{domain:mh,args:I});u(C)}}function h(g,p,N){g.endLoc=s(),g.currentType=p;const I={type:p};return o&&(I.loc=ra(g.startLoc,g.endLoc)),N!=null&&(I.value=N),I}const y=g=>h(g,14);function T(g,p){return g.currentChar()===p?(g.next(),p):(d(ee.EXPECTED_TOKEN,s(),0,p),"")}function A(g){let p="";for(;g.currentPeek()===jt||g.currentPeek()===qe;)p+=g.currentPeek(),g.peek();return p}function P(g){const p=A(g);return g.skipToPeek(),p}function M(g){if(g===Zt)return!1;const p=g.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function L(g){if(g===Zt)return!1;const p=g.charCodeAt(0);return p>=48&&p<=57}function _(g,p){const{currentType:N}=p;if(N!==2)return!1;A(g);const I=M(g.currentPeek());return g.resetPeek(),I}function $(g,p){const{currentType:N}=p;if(N!==2)return!1;A(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),q=L(I);return g.resetPeek(),q}function E(g,p){const{currentType:N}=p;if(N!==2)return!1;A(g);const I=g.currentPeek()===ll;return g.resetPeek(),I}function k(g,p){const{currentType:N}=p;if(N!==8)return!1;A(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function v(g,p){const{currentType:N}=p;if(N!==9)return!1;A(g);const I=M(g.currentPeek());return g.resetPeek(),I}function w(g,p){const{currentType:N}=p;if(!(N===8||N===12))return!1;A(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function m(g,p){const{currentType:N}=p;if(N!==10)return!1;const I=()=>{const z=g.currentPeek();return z==="{"?M(g.peek()):z==="@"||z==="%"||z==="|"||z===":"||z==="."||z===jt||!z?!1:z===qe?(g.peek(),I()):j(g,!1)},q=I();return g.resetPeek(),q}function G(g){A(g);const p=g.currentPeek()==="|";return g.resetPeek(),p}function K(g){const p=A(g),N=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:N,hasSpace:p.length>0}}function j(g,p=!0){const N=(q=!1,z="",C=!1)=>{const x=g.currentPeek();return x==="{"?z==="%"?!1:q:x==="@"||!x?z==="%"?!0:q:x==="%"?(g.peek(),N(q,"%",!0)):x==="|"?z==="%"||C?!0:!(z===jt||z===qe):x===jt?(g.peek(),N(!0,jt,C)):x===qe?(g.peek(),N(!0,qe,C)):!0},I=N();return p&&g.resetPeek(),I}function Y(g,p){const N=g.currentChar();return N===Zt?Zt:p(N)?(g.next(),N):null}function le(g){const p=g.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function F(g){return Y(g,le)}function O(g){const p=g.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function U(g){return Y(g,O)}function J(g){const p=g.charCodeAt(0);return p>=48&&p<=57}function ge(g){return Y(g,J)}function te(g){const p=g.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function se(g){return Y(g,te)}function me(g){let p="",N="";for(;p=ge(g);)N+=p;return N}function oe(g){P(g);const p=g.currentChar();return p!=="%"&&d(ee.EXPECTED_TOKEN,s(),0,p),g.next(),"%"}function re(g){let p="";for(;;){const N=g.currentChar();if(N==="{"||N==="}"||N==="@"||N==="|"||!N)break;if(N==="%")if(j(g))p+=N,g.next();else break;else if(N===jt||N===qe)if(j(g))p+=N,g.next();else{if(G(g))break;p+=N,g.next()}else p+=N,g.next()}return p}function Ie(g){P(g);let p="",N="";for(;p=U(g);)N+=p;return g.currentChar()===Zt&&d(ee.UNTERMINATED_CLOSING_BRACE,s(),0),N}function Fe(g){P(g);let p="";return g.currentChar()==="-"?(g.next(),p+=`-${me(g)}`):p+=me(g),g.currentChar()===Zt&&d(ee.UNTERMINATED_CLOSING_BRACE,s(),0),p}function tt(g){return g!==ll&&g!==qe}function it(g){P(g),T(g,"'");let p="",N="";for(;p=Y(g,tt);)p==="\\"?N+=ao(g):N+=p;const I=g.currentChar();return I===qe||I===Zt?(d(ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===qe&&(g.next(),T(g,"'")),N):(T(g,"'"),N)}function ao(g){const p=g.currentChar();switch(p){case"\\":case"'":return g.next(),`\\${p}`;case"u":return lt(g,p,4);case"U":return lt(g,p,6);default:return d(ee.UNKNOWN_ESCAPE_SEQUENCE,s(),0,p),""}}function lt(g,p,N){T(g,p);let I="";for(let q=0;q{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===jt?N:(N+=I,g.next(),p(N))};return p("")}function R(g){P(g);const p=T(g,"|");return P(g),p}function B(g,p){let N=null;switch(g.currentChar()){case"{":return p.braceNest>=1&&d(ee.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),N=h(p,2,"{"),P(g),p.braceNest++,N;case"}":return p.braceNest>0&&p.currentType===2&&d(ee.EMPTY_PLACEHOLDER,s(),0),g.next(),N=h(p,3,"}"),p.braceNest--,p.braceNest>0&&P(g),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),N;case"@":return p.braceNest>0&&d(ee.UNTERMINATED_CLOSING_BRACE,s(),0),N=D(g,p)||y(p),p.braceNest=0,N;default:{let q=!0,z=!0,C=!0;if(G(g))return p.braceNest>0&&d(ee.UNTERMINATED_CLOSING_BRACE,s(),0),N=h(p,1,R(g)),p.braceNest=0,p.inLinked=!1,N;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return d(ee.UNTERMINATED_CLOSING_BRACE,s(),0),p.braceNest=0,H(g,p);if(q=_(g,p))return N=h(p,5,Ie(g)),P(g),N;if(z=$(g,p))return N=h(p,6,Fe(g)),P(g),N;if(C=E(g,p))return N=h(p,7,it(g)),P(g),N;if(!q&&!z&&!C)return N=h(p,13,f(g)),d(ee.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,N.value),P(g),N;break}}return N}function D(g,p){const{currentType:N}=p;let I=null;const q=g.currentChar();switch((N===8||N===9||N===12||N===10)&&(q===qe||q===jt)&&d(ee.INVALID_LINKED_FORMAT,s(),0),q){case"@":return g.next(),I=h(p,8,"@"),p.inLinked=!0,I;case".":return P(g),g.next(),h(p,9,".");case":":return P(g),g.next(),h(p,10,":");default:return G(g)?(I=h(p,1,R(g)),p.braceNest=0,p.inLinked=!1,I):k(g,p)||w(g,p)?(P(g),D(g,p)):v(g,p)?(P(g),h(p,12,S(g))):m(g,p)?(P(g),q==="{"?B(g,p)||I:h(p,11,b(g))):(N===8&&d(ee.INVALID_LINKED_FORMAT,s(),0),p.braceNest=0,p.inLinked=!1,H(g,p))}}function H(g,p){let N={type:14};if(p.braceNest>0)return B(g,p)||y(p);if(p.inLinked)return D(g,p)||y(p);switch(g.currentChar()){case"{":return B(g,p)||y(p);case"}":return d(ee.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),h(p,3,"}");case"@":return D(g,p)||y(p);default:{if(G(g))return N=h(p,1,R(g)),p.braceNest=0,p.inLinked=!1,N;const{isModulo:q,hasSpace:z}=K(g);if(q)return z?h(p,0,re(g)):h(p,4,oe(g));if(j(g))return h(p,0,re(g));break}}return N}function V(){const{currentType:g,offset:p,startLoc:N,endLoc:I}=l;return l.lastType=g,l.lastOffset=p,l.lastStartLoc=N,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),n.currentChar()===Zt?h(l,14):H(n,l)}return{nextToken:V,currentOffset:a,currentPosition:s,context:c}}const yh="parser",_h=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function $h(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Ah(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(_,$,E,k,...v){const w=_.currentPosition();if(w.offset+=k,w.column+=k,o){const m=t?ra(E,w):null,G=Eo($,m,{domain:yh,args:v});o(G)}}function s(_,$,E,k,...v){const w=_.currentPosition();if(w.offset+=k,w.column+=k,n){const m=t?ra(E,w):null;n(lh($,m,v))}}function r(_,$,E){const k={type:_};return t&&(k.start=$,k.end=$,k.loc={start:E,end:E}),k}function i(_,$,E,k){t&&(_.end=$,_.loc&&(_.loc.end=E))}function l(_,$){const E=_.context(),k=r(3,E.offset,E.startLoc);return k.value=$,i(k,_.currentOffset(),_.currentPosition()),k}function c(_,$){const E=_.context(),{lastOffset:k,lastStartLoc:v}=E,w=r(5,k,v);return w.index=parseInt($,10),_.nextToken(),i(w,_.currentOffset(),_.currentPosition()),w}function u(_,$,E){const k=_.context(),{lastOffset:v,lastStartLoc:w}=k,m=r(4,v,w);return m.key=$,E===!0&&(m.modulo=!0),_.nextToken(),i(m,_.currentOffset(),_.currentPosition()),m}function d(_,$){const E=_.context(),{lastOffset:k,lastStartLoc:v}=E,w=r(9,k,v);return w.value=$.replace(_h,$h),_.nextToken(),i(w,_.currentOffset(),_.currentPosition()),w}function h(_){const $=_.nextToken(),E=_.context(),{lastOffset:k,lastStartLoc:v}=E,w=r(8,k,v);return $.type!==12?(a(_,ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),w.value="",i(w,k,v),{nextConsumeToken:$,node:w}):($.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ft($)),w.value=$.value||"",i(w,_.currentOffset(),_.currentPosition()),{node:w})}function y(_,$){const E=_.context(),k=r(7,E.offset,E.startLoc);return k.value=$,i(k,_.currentOffset(),_.currentPosition()),k}function T(_){const $=_.context(),E=r(6,$.offset,$.startLoc);let k=_.nextToken();if(k.type===9){const v=h(_);E.modifier=v.node,k=v.nextConsumeToken||_.nextToken()}switch(k.type!==10&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(k)),k=_.nextToken(),k.type===2&&(k=_.nextToken()),k.type){case 11:k.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(k)),E.key=y(_,k.value||"");break;case 5:k.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(k)),E.key=u(_,k.value||"");break;case 6:k.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(k)),E.key=c(_,k.value||"");break;case 7:k.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(k)),E.key=d(_,k.value||"");break;default:{a(_,ee.UNEXPECTED_EMPTY_LINKED_KEY,$.lastStartLoc,0);const v=_.context(),w=r(7,v.offset,v.startLoc);return w.value="",i(w,v.offset,v.startLoc),E.key=w,i(E,v.offset,v.startLoc),{nextConsumeToken:k,node:E}}}return i(E,_.currentOffset(),_.currentPosition()),{node:E}}function A(_){const $=_.context(),E=$.currentType===1?_.currentOffset():$.offset,k=$.currentType===1?$.endLoc:$.startLoc,v=r(2,E,k);v.items=[];let w=null,m=null;do{const j=w||_.nextToken();switch(w=null,j.type){case 0:j.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(j)),v.items.push(l(_,j.value||""));break;case 6:j.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(j)),v.items.push(c(_,j.value||""));break;case 4:m=!0;break;case 5:j.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(j)),v.items.push(u(_,j.value||"",!!m)),m&&(s(_,ls.USE_MODULO_SYNTAX,$.lastStartLoc,0,ft(j)),m=null);break;case 7:j.value==null&&a(_,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ft(j)),v.items.push(d(_,j.value||""));break;case 8:{const Y=T(_);v.items.push(Y.node),w=Y.nextConsumeToken||null;break}}}while($.currentType!==14&&$.currentType!==1);const G=$.currentType===1?$.lastOffset:_.currentOffset(),K=$.currentType===1?$.lastEndLoc:_.currentPosition();return i(v,G,K),v}function P(_,$,E,k){const v=_.context();let w=k.items.length===0;const m=r(1,$,E);m.cases=[],m.cases.push(k);do{const G=A(_);w||(w=G.items.length===0),m.cases.push(G)}while(v.currentType!==14);return w&&a(_,ee.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),i(m,_.currentOffset(),_.currentPosition()),m}function M(_){const $=_.context(),{offset:E,startLoc:k}=$,v=A(_);return $.currentType===14?v:P(_,E,k,v)}function L(_){const $=bh(_,sl({},e)),E=$.context(),k=r(0,E.offset,E.startLoc);return t&&k.loc&&(k.loc.source=_),k.body=M($),e.onCacheKey&&(k.cacheKey=e.onCacheKey(_)),E.currentType!==14&&a($,ee.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,_[E.offset]||""),i(k,$.currentOffset(),$.currentPosition()),k}return{parse:L}}function ft(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 vh(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function cl(e,t){for(let o=0;oul(o)),e}function ul(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;or;function l(A,P){r.code+=A}function c(A,P=!0){const M=P?n:"";l(a?M+" ".repeat(A):M)}function u(A=!0){const P=++r.indentLevel;A&&c(P)}function d(A=!0){const P=--r.indentLevel;A&&c(P)}function h(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:h,helper:A=>`_${A}`,needIndent:()=>r.needIndent}}function Lh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),No(e,t.key),t.modifier?(e.push(", "),No(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Eh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=rl(t.mode)?t.mode:"normal",n=rl(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=Th(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${il(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),No(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Rh(e,t={}){const o=sl({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=Ah(o).parse(e);return n?(s&&kh(i),a&&Co(i),{ast:i,code:""}):(Sh(i,o),Mh(i,o))}/*! + */function sh(e,t,o){return{line:e,column:t,offset:o}}function ia(e,t,o){return{start:e,end:t}}const rh=/\{([0-9a-zA-Z]+)\}/g;function al(e,...t){return t.length===1&&ih(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(rh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const sl=Object.assign,rl=e=>typeof e=="string",ih=e=>e!==null&&typeof e=="object";function il(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const cs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},lh={[cs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function ch(e,t,...o){const n=al(lh[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const oe={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},uh={[oe.EXPECTED_TOKEN]:"Expected token: '{0}'",[oe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[oe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[oe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[oe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[oe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[oe.EMPTY_PLACEHOLDER]:"Empty placeholder",[oe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[oe.INVALID_LINKED_FORMAT]:"Invalid linked format",[oe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[oe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[oe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[oe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[oe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[oe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Co(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=al((a||uh)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function gh(e){throw e}const Ut=" ",ph="\r",Ye=` +`,dh="\u2028",fh="\u2029";function hh(e){const t=e;let o=0,n=1,a=1,s=0;const r=L=>t[L]===ph&&t[L+1]===Ye,i=L=>t[L]===Ye,l=L=>t[L]===fh,c=L=>t[L]===dh,u=L=>r(L)||i(L)||l(L)||c(L),d=()=>o,h=()=>n,y=()=>a,P=()=>s,A=L=>r(L)||l(L)||c(L)?Ye:t[L],N=()=>A(o),M=()=>A(o+s);function w(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function $(){return r(o+s)&&s++,s++,t[o+s]}function _(){o=0,n=1,a=1,s=0}function E(L=0){s=L}function S(){const L=o+s;for(;L!==o;)w();s=0}return{index:d,line:h,column:y,peekOffset:P,charAt:A,currentChar:N,currentPeek:M,next:w,peek:$,reset:_,resetPeek:E,skipToPeek:S}}const Qt=void 0,mh=".",ll="'",bh="tokenizer";function yh(e,t={}){const o=t.location!==!1,n=hh(e),a=()=>n.index(),s=()=>sh(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(g,p,C,...I){const q=c();if(p.column+=C,p.offset+=C,u){const z=o?ia(q.startLoc,p):null,T=Co(g,z,{domain:bh,args:I});u(T)}}function h(g,p,C){g.endLoc=s(),g.currentType=p;const I={type:p};return o&&(I.loc=ia(g.startLoc,g.endLoc)),C!=null&&(I.value=C),I}const y=g=>h(g,14);function P(g,p){return g.currentChar()===p?(g.next(),p):(d(oe.EXPECTED_TOKEN,s(),0,p),"")}function A(g){let p="";for(;g.currentPeek()===Ut||g.currentPeek()===Ye;)p+=g.currentPeek(),g.peek();return p}function N(g){const p=A(g);return g.skipToPeek(),p}function M(g){if(g===Qt)return!1;const p=g.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function w(g){if(g===Qt)return!1;const p=g.charCodeAt(0);return p>=48&&p<=57}function $(g,p){const{currentType:C}=p;if(C!==2)return!1;A(g);const I=M(g.currentPeek());return g.resetPeek(),I}function _(g,p){const{currentType:C}=p;if(C!==2)return!1;A(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),q=w(I);return g.resetPeek(),q}function E(g,p){const{currentType:C}=p;if(C!==2)return!1;A(g);const I=g.currentPeek()===ll;return g.resetPeek(),I}function S(g,p){const{currentType:C}=p;if(C!==8)return!1;A(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function L(g,p){const{currentType:C}=p;if(C!==9)return!1;A(g);const I=M(g.currentPeek());return g.resetPeek(),I}function k(g,p){const{currentType:C}=p;if(!(C===8||C===12))return!1;A(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function m(g,p){const{currentType:C}=p;if(C!==10)return!1;const I=()=>{const z=g.currentPeek();return z==="{"?M(g.peek()):z==="@"||z==="%"||z==="|"||z===":"||z==="."||z===Ut||!z?!1:z===Ye?(g.peek(),I()):K(g,!1)},q=I();return g.resetPeek(),q}function B(g){A(g);const p=g.currentPeek()==="|";return g.resetPeek(),p}function j(g){const p=A(g),C=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:C,hasSpace:p.length>0}}function K(g,p=!0){const C=(q=!1,z="",T=!1)=>{const O=g.currentPeek();return O==="{"?z==="%"?!1:q:O==="@"||!O?z==="%"?!0:q:O==="%"?(g.peek(),C(q,"%",!0)):O==="|"?z==="%"||T?!0:!(z===Ut||z===Ye):O===Ut?(g.peek(),C(!0,Ut,T)):O===Ye?(g.peek(),C(!0,Ye,T)):!0},I=C();return p&&g.resetPeek(),I}function Y(g,p){const C=g.currentChar();return C===Qt?Qt:p(C)?(g.next(),C):null}function Z(g){const p=g.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function F(g){return Y(g,Z)}function x(g){const p=g.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function U(g){return Y(g,x)}function X(g){const p=g.charCodeAt(0);return p>=48&&p<=57}function ie(g){return Y(g,X)}function Q(g){const p=g.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ue(g){return Y(g,Q)}function me(g){let p="",C="";for(;p=ie(g);)C+=p;return C}function _e(g){N(g);const p=g.currentChar();return p!=="%"&&d(oe.EXPECTED_TOKEN,s(),0,p),g.next(),"%"}function De(g){let p="";for(;;){const C=g.currentChar();if(C==="{"||C==="}"||C==="@"||C==="|"||!C)break;if(C==="%")if(K(g))p+=C,g.next();else break;else if(C===Ut||C===Ye)if(K(g))p+=C,g.next();else{if(B(g))break;p+=C,g.next()}else p+=C,g.next()}return p}function ge(g){N(g);let p="",C="";for(;p=U(g);)C+=p;return g.currentChar()===Qt&&d(oe.UNTERMINATED_CLOSING_BRACE,s(),0),C}function le(g){N(g);let p="";return g.currentChar()==="-"?(g.next(),p+=`-${me(g)}`):p+=me(g),g.currentChar()===Qt&&d(oe.UNTERMINATED_CLOSING_BRACE,s(),0),p}function Me(g){return g!==ll&&g!==Ye}function ze(g){N(g),P(g,"'");let p="",C="";for(;p=Y(g,Me);)p==="\\"?C+=ct(g):C+=p;const I=g.currentChar();return I===Ye||I===Qt?(d(oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ye&&(g.next(),P(g,"'")),C):(P(g,"'"),C)}function ct(g){const p=g.currentChar();switch(p){case"\\":case"'":return g.next(),`\\${p}`;case"u":return Je(g,p,4);case"U":return Je(g,p,6);default:return d(oe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,p),""}}function Je(g,p,C){P(g,p);let I="";for(let q=0;q{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Ut?C:(C+=I,g.next(),p(C))};return p("")}function R(g){N(g);const p=P(g,"|");return N(g),p}function G(g,p){let C=null;switch(g.currentChar()){case"{":return p.braceNest>=1&&d(oe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),C=h(p,2,"{"),N(g),p.braceNest++,C;case"}":return p.braceNest>0&&p.currentType===2&&d(oe.EMPTY_PLACEHOLDER,s(),0),g.next(),C=h(p,3,"}"),p.braceNest--,p.braceNest>0&&N(g),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),C;case"@":return p.braceNest>0&&d(oe.UNTERMINATED_CLOSING_BRACE,s(),0),C=D(g,p)||y(p),p.braceNest=0,C;default:{let q=!0,z=!0,T=!0;if(B(g))return p.braceNest>0&&d(oe.UNTERMINATED_CLOSING_BRACE,s(),0),C=h(p,1,R(g)),p.braceNest=0,p.inLinked=!1,C;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return d(oe.UNTERMINATED_CLOSING_BRACE,s(),0),p.braceNest=0,H(g,p);if(q=$(g,p))return C=h(p,5,ge(g)),N(g),C;if(z=_(g,p))return C=h(p,6,le(g)),N(g),C;if(T=E(g,p))return C=h(p,7,ze(g)),N(g),C;if(!q&&!z&&!T)return C=h(p,13,f(g)),d(oe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,C.value),N(g),C;break}}return C}function D(g,p){const{currentType:C}=p;let I=null;const q=g.currentChar();switch((C===8||C===9||C===12||C===10)&&(q===Ye||q===Ut)&&d(oe.INVALID_LINKED_FORMAT,s(),0),q){case"@":return g.next(),I=h(p,8,"@"),p.inLinked=!0,I;case".":return N(g),g.next(),h(p,9,".");case":":return N(g),g.next(),h(p,10,":");default:return B(g)?(I=h(p,1,R(g)),p.braceNest=0,p.inLinked=!1,I):S(g,p)||k(g,p)?(N(g),D(g,p)):L(g,p)?(N(g),h(p,12,v(g))):m(g,p)?(N(g),q==="{"?G(g,p)||I:h(p,11,b(g))):(C===8&&d(oe.INVALID_LINKED_FORMAT,s(),0),p.braceNest=0,p.inLinked=!1,H(g,p))}}function H(g,p){let C={type:14};if(p.braceNest>0)return G(g,p)||y(p);if(p.inLinked)return D(g,p)||y(p);switch(g.currentChar()){case"{":return G(g,p)||y(p);case"}":return d(oe.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),h(p,3,"}");case"@":return D(g,p)||y(p);default:{if(B(g))return C=h(p,1,R(g)),p.braceNest=0,p.inLinked=!1,C;const{isModulo:q,hasSpace:z}=j(g);if(q)return z?h(p,0,De(g)):h(p,4,_e(g));if(K(g))return h(p,0,De(g));break}}return C}function V(){const{currentType:g,offset:p,startLoc:C,endLoc:I}=l;return l.lastType=g,l.lastOffset=p,l.lastStartLoc=C,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),n.currentChar()===Qt?h(l,14):H(n,l)}return{nextToken:V,currentOffset:a,currentPosition:s,context:c}}const _h="parser",$h=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Ah(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Sh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a($,_,E,S,...L){const k=$.currentPosition();if(k.offset+=S,k.column+=S,o){const m=t?ia(E,k):null,B=Co(_,m,{domain:_h,args:L});o(B)}}function s($,_,E,S,...L){const k=$.currentPosition();if(k.offset+=S,k.column+=S,n){const m=t?ia(E,k):null;n(ch(_,m,L))}}function r($,_,E){const S={type:$};return t&&(S.start=_,S.end=_,S.loc={start:E,end:E}),S}function i($,_,E,S){t&&($.end=_,$.loc&&($.loc.end=E))}function l($,_){const E=$.context(),S=r(3,E.offset,E.startLoc);return S.value=_,i(S,$.currentOffset(),$.currentPosition()),S}function c($,_){const E=$.context(),{lastOffset:S,lastStartLoc:L}=E,k=r(5,S,L);return k.index=parseInt(_,10),$.nextToken(),i(k,$.currentOffset(),$.currentPosition()),k}function u($,_,E){const S=$.context(),{lastOffset:L,lastStartLoc:k}=S,m=r(4,L,k);return m.key=_,E===!0&&(m.modulo=!0),$.nextToken(),i(m,$.currentOffset(),$.currentPosition()),m}function d($,_){const E=$.context(),{lastOffset:S,lastStartLoc:L}=E,k=r(9,S,L);return k.value=_.replace($h,Ah),$.nextToken(),i(k,$.currentOffset(),$.currentPosition()),k}function h($){const _=$.nextToken(),E=$.context(),{lastOffset:S,lastStartLoc:L}=E,k=r(8,S,L);return _.type!==12?(a($,oe.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),k.value="",i(k,S,L),{nextConsumeToken:_,node:k}):(_.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ht(_)),k.value=_.value||"",i(k,$.currentOffset(),$.currentPosition()),{node:k})}function y($,_){const E=$.context(),S=r(7,E.offset,E.startLoc);return S.value=_,i(S,$.currentOffset(),$.currentPosition()),S}function P($){const _=$.context(),E=r(6,_.offset,_.startLoc);let S=$.nextToken();if(S.type===9){const L=h($);E.modifier=L.node,S=L.nextConsumeToken||$.nextToken()}switch(S.type!==10&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(S)),S=$.nextToken(),S.type===2&&(S=$.nextToken()),S.type){case 11:S.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(S)),E.key=y($,S.value||"");break;case 5:S.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(S)),E.key=u($,S.value||"");break;case 6:S.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(S)),E.key=c($,S.value||"");break;case 7:S.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(S)),E.key=d($,S.value||"");break;default:{a($,oe.UNEXPECTED_EMPTY_LINKED_KEY,_.lastStartLoc,0);const L=$.context(),k=r(7,L.offset,L.startLoc);return k.value="",i(k,L.offset,L.startLoc),E.key=k,i(E,L.offset,L.startLoc),{nextConsumeToken:S,node:E}}}return i(E,$.currentOffset(),$.currentPosition()),{node:E}}function A($){const _=$.context(),E=_.currentType===1?$.currentOffset():_.offset,S=_.currentType===1?_.endLoc:_.startLoc,L=r(2,E,S);L.items=[];let k=null,m=null;do{const K=k||$.nextToken();switch(k=null,K.type){case 0:K.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(K)),L.items.push(l($,K.value||""));break;case 6:K.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(K)),L.items.push(c($,K.value||""));break;case 4:m=!0;break;case 5:K.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(K)),L.items.push(u($,K.value||"",!!m)),m&&(s($,cs.USE_MODULO_SYNTAX,_.lastStartLoc,0,ht(K)),m=null);break;case 7:K.value==null&&a($,oe.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(K)),L.items.push(d($,K.value||""));break;case 8:{const Y=P($);L.items.push(Y.node),k=Y.nextConsumeToken||null;break}}}while(_.currentType!==14&&_.currentType!==1);const B=_.currentType===1?_.lastOffset:$.currentOffset(),j=_.currentType===1?_.lastEndLoc:$.currentPosition();return i(L,B,j),L}function N($,_,E,S){const L=$.context();let k=S.items.length===0;const m=r(1,_,E);m.cases=[],m.cases.push(S);do{const B=A($);k||(k=B.items.length===0),m.cases.push(B)}while(L.currentType!==14);return k&&a($,oe.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),i(m,$.currentOffset(),$.currentPosition()),m}function M($){const _=$.context(),{offset:E,startLoc:S}=_,L=A($);return _.currentType===14?L:N($,E,S,L)}function w($){const _=yh($,sl({},e)),E=_.context(),S=r(0,E.offset,E.startLoc);return t&&S.loc&&(S.loc.source=$),S.body=M(_),e.onCacheKey&&(S.cacheKey=e.onCacheKey($)),E.currentType!==14&&a(_,oe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,$[E.offset]||""),i(S,_.currentOffset(),_.currentPosition()),S}return{parse:w}}function ht(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 vh(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function cl(e,t){for(let o=0;oul(o)),e}function ul(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;or;function l(A,N){r.code+=A}function c(A,N=!0){const M=N?n:"";l(a?M+" ".repeat(A):M)}function u(A=!0){const N=++r.indentLevel;A&&c(N)}function d(A=!0){const N=--r.indentLevel;A&&c(N)}function h(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:h,helper:A=>`_${A}`,needIndent:()=>r.needIndent}}function Eh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Mo(e,t.key),t.modifier?(e.push(", "),Mo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Ch(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=rl(t.mode)?t.mode:"normal",n=rl(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=Th(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${il(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Mo(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Ih(e,t={}){const o=sl({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=Sh(o).parse(e);return n?(s&&wh(i),a&&No(i),{ast:i,code:""}):(kh(i,o),Rh(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Ih(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Gt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Gt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Gt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function wt(e){return de(e)&&us(e)===0&&(dt(e,"b")||dt(e,"body"))}const gl=["b","body"];function xh(e){return Qt(e,gl)}const pl=["c","cases"];function Oh(e){return Qt(e,pl,[])}const dl=["s","static"];function Fh(e){return Qt(e,dl)}const fl=["i","items"];function Dh(e){return Qt(e,fl,[])}const hl=["t","type"];function us(e){return Qt(e,hl)}const ml=["v","value"];function ia(e,t){const o=Qt(e,ml);if(o!=null)return o;throw gn(t)}const bl=["m","modifier"];function Bh(e){return Qt(e,bl)}const yl=["k","key"];function Gh(e){const t=Qt(e,yl);if(t)return t;throw gn(6)}function Qt(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},h[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},h[2]=()=>{h[0](),a++},h[3]=()=>{if(a>0)a--,n=4,h[0]();else{if(a=0,r===void 0||(r=Vh(r),r===!1))return!1;h[1]()}};function y(){const T=e[o+1];if(n===5&&T==="'"||n===6&&T==='"')return o++,i="\\"+T,h[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&y())){if(l=zh(s),d=eo[n],c=d[l]||d.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const $l=new Map;function qh(e,t){return de(e)?e[t]:null}function Wh(e,t){if(!de(e))return null;let o=$l.get(t);if(o||(o=Hh(t),o&&$l.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,Jh=e=>"",Xh="text",Zh=e=>e.length===0?"":nh(e),Qh=oh;function Al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function em(e){const t=Ce(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ce(e.named.count)||Ce(e.named.n))?Ce(e.named.count)?e.named.count:Ce(e.named.n)?e.named.n:t:t}function tm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function om(e={}){const t=e.locale,o=em(e),n=de(e.pluralRules)&&W(t)&&Se(e.pluralRules[t])?e.pluralRules[t]:Al,a=de(e.pluralRules)&&W(t)&&Se(e.pluralRules[t])?Al:void 0,s=M=>M[n(o,M.length,a)],r=e.list||[],i=M=>r[M],l=e.named||_e();Ce(e.pluralIndex)&&tm(o,l);const c=M=>l[M];function u(M){const L=Se(e.messages)?e.messages(M):de(e.messages)?e.messages[M]:!1;return L||(e.parent?e.parent.message(M):Jh)}const d=M=>e.modifiers?e.modifiers[M]:Yh,h=ae(e.processor)&&Se(e.processor.normalize)?e.processor.normalize:Zh,y=ae(e.processor)&&Se(e.processor.interpolate)?e.processor.interpolate:Qh,T=ae(e.processor)&&W(e.processor.type)?e.processor.type:Xh,P={list:i,named:c,plural:s,linked:(M,...L)=>{const[_,$]=L;let E="text",k="";L.length===1?de(_)?(k=_.modifier||k,E=_.type||E):W(_)&&(k=_||k):L.length===2&&(W(_)&&(k=_||k),W($)&&(E=$||E));const v=u(M)(P),w=E==="vnode"&&we(v)&&k?v[0]:v;return k?d(k)(w,E):w},message:u,type:T,interpolate:y,normalize:h,values:Ge(_e(),r,l)};return P}let pn=null;function nm(e){pn=e}function am(e,t,o){pn&&pn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const sm=rm("function:translate");function rm(e){return t=>pn&&pn.emit(e,t)}const im=ls.__EXTEND_POINT__,po=na(im),lm={FALLBACK_TO_TRANSLATE:po(),CANNOT_FORMAT_NUMBER:po(),FALLBACK_TO_NUMBER_FORMAT:po(),CANNOT_FORMAT_DATE:po(),FALLBACK_TO_DATE_FORMAT:po(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:po(),__EXTEND_POINT__:po()},vl=ee.__EXTEND_POINT__,fo=na(vl),ht={INVALID_ARGUMENT:vl,INVALID_DATE_ARGUMENT:fo(),INVALID_ISO_DATE_ARGUMENT:fo(),NOT_SUPPORT_NON_STRING_MESSAGE:fo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:fo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:fo(),NOT_SUPPORT_LOCALE_TYPE:fo(),__EXTEND_POINT__:fo()};function Pt(e){return Eo(e,null,void 0)}function gs(e,t){return t.locale!=null?Sl(t.locale):Sl(e.locale)}let ps;function Sl(e){if(W(e))return e;if(Se(e)){if(e.resolvedOnce&&ps!=null)return ps;if(e.constructor.name==="Function"){const t=e();if(th(t))throw Pt(ht.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ps=t}else throw Pt(ht.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Pt(ht.NOT_SUPPORT_LOCALE_TYPE)}function cm(e,t,o){return[...new Set([o,...we(t)?t:de(t)?Object.keys(t):W(t)?[t]:[o]])]}function kl(e,t,o){const n=W(o)?o:Mo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;we(r);)r=wl(s,r,t);const i=we(t)||!ae(t)?t:t.default?t.default:null;r=W(i)?[i]:i,we(r)&&wl(s,r,!1),a.__localeChainCache.set(n,s)}return s}function wl(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function dm(){return{upper:(e,t)=>t==="text"&&W(e)?e.toUpperCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&W(e)?e.toLowerCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&W(e)?Tl(e):t==="vnode"&&de(e)&&"__v_isVNode"in e?Tl(e.children):e}}let Ll;function El(e){Ll=e}let Cl;function fm(e){Cl=e}let Nl;function hm(e){Nl=e}let Ml=null;const mm=e=>{Ml=e},bm=()=>Ml;let Rl=null;const Il=e=>{Rl=e},ym=()=>Rl;let xl=0;function _m(e={}){const t=Se(e.onWarn)?e.onWarn:Wf,o=W(e.version)?e.version:pm,n=W(e.locale)||Se(e.locale)?e.locale:Mo,a=Se(n)?Mo:n,s=we(e.fallbackLocale)||ae(e.fallbackLocale)||W(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ae(e.messages)?e.messages:ds(a),i=ae(e.datetimeFormats)?e.datetimeFormats:ds(a),l=ae(e.numberFormats)?e.numberFormats:ds(a),c=Ge(_e(),e.modifiers,dm()),u=e.pluralRules||_e(),d=Se(e.missing)?e.missing:null,h=ue(e.missingWarn)||Xt(e.missingWarn)?e.missingWarn:!0,y=ue(e.fallbackWarn)||Xt(e.fallbackWarn)?e.fallbackWarn:!0,T=!!e.fallbackFormat,A=!!e.unresolving,P=Se(e.postTranslation)?e.postTranslation:null,M=ae(e.processor)?e.processor:null,L=ue(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,$=Se(e.messageCompiler)?e.messageCompiler:Ll,E=Se(e.messageResolver)?e.messageResolver:Cl||qh,k=Se(e.localeFallbacker)?e.localeFallbacker:Nl||cm,v=de(e.fallbackContext)?e.fallbackContext:void 0,w=e,m=de(w.__datetimeFormatters)?w.__datetimeFormatters:new Map,G=de(w.__numberFormatters)?w.__numberFormatters:new Map,K=de(w.__meta)?w.__meta:{};xl++;const j={version:o,cid:xl,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:d,missingWarn:h,fallbackWarn:y,fallbackFormat:T,unresolving:A,postTranslation:P,processor:M,warnHtmlMessage:L,escapeParameter:_,messageCompiler:$,messageResolver:E,localeFallbacker:k,fallbackContext:v,onWarn:t,__meta:K};return j.datetimeFormats=i,j.numberFormats=l,j.__datetimeFormatters=m,j.__numberFormatters=G,__INTLIFY_PROD_DEVTOOLS__&&am(j,o,K),j}const ds=e=>({[e]:_e()});function fs(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return W(i)?i:t}else return t}function dn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function $m(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Am(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nvm(o,e)}function vm(e,t){const o=xh(t);if(o==null)throw gn(0);if(us(o)===1){const s=Oh(o);return e.plural(s.reduce((r,i)=>[...r,Ol(e,i)],[]))}else return Ol(e,o)}function Ol(e,t){const o=Fh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Dh(t).reduce((a,s)=>[...a,ms(e,s)],[]);return e.normalize(n)}}function ms(e,t){const o=us(t);switch(o){case 3:return ia(t,o);case 9:return ia(t,o);case 4:{const n=t;if(dt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(dt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw gn(o)}case 5:{const n=t;if(dt(n,"i")&&Ce(n.i))return e.interpolate(e.list(n.i));if(dt(n,"index")&&Ce(n.index))return e.interpolate(e.list(n.index));throw gn(o)}case 6:{const n=t,a=Bh(n),s=Gh(n);return e.linked(ms(e,s),a?ms(e,a):void 0,e.type)}case 7:return ia(t,o);case 8:return ia(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Fl=e=>e;let Ro=_e();function Dl(e,t={}){let o=!1;const n=t.onError||uh;return t.onError=a=>{o=!0,n(a)},{...Rh(e,t),detectError:o}}const Sm=(e,t)=>{if(!W(e))throw Pt(ht.NOT_SUPPORT_NON_STRING_MESSAGE);{ue(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Fl)(e),a=Ro[n];if(a)return a;const{code:s,detectError:r}=Dl(e,t),i=new Function(`return ${s}`)();return r?i:Ro[n]=i}};function km(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&W(e)){ue(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Fl)(e),a=Ro[n];if(a)return a;const{ast:s,detectError:r}=Dl(e,{...t,location:!1,jit:!0}),i=hs(s);return r?i:Ro[n]=i}else{const o=e.cacheKey;if(o){const n=Ro[o];return n||(Ro[o]=hs(e))}else return hs(e)}}const Bl=()=>"",st=e=>Se(e);function Gl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=bs(...t),u=ue(c.missingWarn)?c.missingWarn:e.missingWarn,d=ue(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=ue(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,T=W(c.default)||ue(c.default)?ue(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",A=o||T!=="",P=gs(e,c);h&&wm(c);let[M,L,_]=y?[l,P,i[P]||_e()]:jl(e,l,P,r,d,u),$=M,E=l;if(!y&&!(W($)||wt($)||st($))&&A&&($=T,E=$),!y&&(!(W($)||wt($)||st($))||!W(L)))return a?la:l;let k=!1;const v=()=>{k=!0},w=st($)?$:Ul(e,l,L,$,E,v);if(k)return $;const m=Lm(e,L,_,c),G=om(m),K=Pm(e,w,G);let j=n?n(K,l):K;if(h&&W(j)&&(j=Qf(j)),__INTLIFY_PROD_DEVTOOLS__){const Y={timestamp:Date.now(),key:W(l)?l:st($)?$.key:"",locale:L||(st($)?$.locale:""),format:W($)?$:st($)?$.source:"",message:j};Y.meta=Ge({},e.__meta,bm()||{}),sm(Y)}return j}function wm(e){we(e.list)?e.list=e.list.map(t=>W(t)?el(t):t):de(e.named)&&Object.keys(e.named).forEach(t=>{W(e.named[t])&&(e.named[t]=el(e.named[t]))})}function jl(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let d=_e(),h,y=null;const T="translate";for(let A=0;An;return c.locale=o,c.key=t,c}const l=r(n,Tm(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Pm(e,t,o){return t(o)}function bs(...e){const[t,o,n]=e,a=_e();if(!W(t)&&!Ce(t)&&!st(t)&&!wt(t))throw Pt(ht.INVALID_ARGUMENT);const s=Ce(t)?String(t):(st(t),t);return Ce(o)?a.plural=o:W(o)?a.default=o:ae(o)&&!oa(o)?a.named=o:we(o)&&(a.list=o),Ce(n)?a.plural=n:W(n)?a.default=n:ae(n)&&Ge(a,n),[s,a]}function Tm(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>Yf(t,o,r)}}function Lm(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:a,pluralRules:s,messages:y=>{let T=r(o,y);if(T==null&&u){const[,,A]=jl(u,y,t,i,l,c);T=r(A,y)}if(W(T)||wt(T)){let A=!1;const M=Ul(e,y,t,T,y,()=>{A=!0});return A?Bl:M}else return st(T)?T:Bl}};return e.processor&&(h.processor=e.processor),n.list&&(h.list=n.list),n.named&&(h.named=n.named),Ce(n.plural)&&(h.pluralIndex=n.plural),h}function Kl(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,d]=ys(...t),h=ue(u.missingWarn)?u.missingWarn:e.missingWarn;ue(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,T=gs(e,u),A=r(e,a,T);if(!W(l)||l==="")return new Intl.DateTimeFormat(T,d).format(c);let P={},M,L=null;const _="datetime format";for(let k=0;k{zl.includes(l)?r[l]=o[l]:s[l]=o[l]}),W(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Vl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Hl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,d]=_s(...t),h=ue(u.missingWarn)?u.missingWarn:e.missingWarn;ue(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,T=gs(e,u),A=r(e,a,T);if(!W(l)||l==="")return new Intl.NumberFormat(T,d).format(c);let P={},M,L=null;const _="number format";for(let k=0;k{ql.includes(l)?r[l]=o[l]:s[l]=o[l]}),W(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Wl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}Ih();/*! + */function Oh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(jt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(jt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(jt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Pt(e){return de(e)&&gs(e)===0&&(ft(e,"b")||ft(e,"body"))}const gl=["b","body"];function xh(e){return eo(e,gl)}const pl=["c","cases"];function Fh(e){return eo(e,pl,[])}const dl=["s","static"];function Dh(e){return eo(e,dl)}const fl=["i","items"];function Gh(e){return eo(e,fl,[])}const hl=["t","type"];function gs(e){return eo(e,hl)}const ml=["v","value"];function la(e,t){const o=eo(e,ml);if(o!=null)return o;throw pn(t)}const bl=["m","modifier"];function Bh(e){return eo(e,bl)}const yl=["k","key"];function jh(e){const t=eo(e,yl);if(t)return t;throw pn(6)}function eo(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},h[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},h[2]=()=>{h[0](),a++},h[3]=()=>{if(a>0)a--,n=4,h[0]();else{if(a=0,r===void 0||(r=Hh(r),r===!1))return!1;h[1]()}};function y(){const P=e[o+1];if(n===5&&P==="'"||n===6&&P==='"')return o++,i="\\"+P,h[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&y())){if(l=Vh(s),d=to[n],c=d[l]||d.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const $l=new Map;function Wh(e,t){return de(e)?e[t]:null}function Yh(e,t){if(!de(e))return null;let o=$l.get(t);if(o||(o=qh(t),o&&$l.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,Xh=e=>"",Zh="text",Qh=e=>e.length===0?"":ah(e),em=nh;function Al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function tm(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ne(e.named.count)||Ne(e.named.n))?Ne(e.named.count)?e.named.count:Ne(e.named.n)?e.named.n:t:t}function om(e,t){t.count||(t.count=e),t.n||(t.n=e)}function nm(e={}){const t=e.locale,o=tm(e),n=de(e.pluralRules)&&W(t)&&ke(e.pluralRules[t])?e.pluralRules[t]:Al,a=de(e.pluralRules)&&W(t)&&ke(e.pluralRules[t])?Al:void 0,s=M=>M[n(o,M.length,a)],r=e.list||[],i=M=>r[M],l=e.named||$e();Ne(e.pluralIndex)&&om(o,l);const c=M=>l[M];function u(M){const w=ke(e.messages)?e.messages(M):de(e.messages)?e.messages[M]:!1;return w||(e.parent?e.parent.message(M):Xh)}const d=M=>e.modifiers?e.modifiers[M]:Jh,h=ae(e.processor)&&ke(e.processor.normalize)?e.processor.normalize:Qh,y=ae(e.processor)&&ke(e.processor.interpolate)?e.processor.interpolate:em,P=ae(e.processor)&&W(e.processor.type)?e.processor.type:Zh,N={list:i,named:c,plural:s,linked:(M,...w)=>{const[$,_]=w;let E="text",S="";w.length===1?de($)?(S=$.modifier||S,E=$.type||E):W($)&&(S=$||S):w.length===2&&(W($)&&(S=$||S),W(_)&&(E=_||E));const L=u(M)(N),k=E==="vnode"&&Pe(L)&&S?L[0]:L;return S?d(S)(k,E):k},message:u,type:P,interpolate:y,normalize:h,values:je($e(),r,l)};return N}let dn=null;function am(e){dn=e}function sm(e,t,o){dn&&dn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const rm=im("function:translate");function im(e){return t=>dn&&dn.emit(e,t)}const lm=cs.__EXTEND_POINT__,fo=aa(lm),cm={FALLBACK_TO_TRANSLATE:fo(),CANNOT_FORMAT_NUMBER:fo(),FALLBACK_TO_NUMBER_FORMAT:fo(),CANNOT_FORMAT_DATE:fo(),FALLBACK_TO_DATE_FORMAT:fo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:fo(),__EXTEND_POINT__:fo()},Sl=oe.__EXTEND_POINT__,ho=aa(Sl),mt={INVALID_ARGUMENT:Sl,INVALID_DATE_ARGUMENT:ho(),INVALID_ISO_DATE_ARGUMENT:ho(),NOT_SUPPORT_NON_STRING_MESSAGE:ho(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ho(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ho(),NOT_SUPPORT_LOCALE_TYPE:ho(),__EXTEND_POINT__:ho()};function Lt(e){return Co(e,null,void 0)}function ps(e,t){return t.locale!=null?vl(t.locale):vl(e.locale)}let ds;function vl(e){if(W(e))return e;if(ke(e)){if(e.resolvedOnce&&ds!=null)return ds;if(e.constructor.name==="Function"){const t=e();if(oh(t))throw Lt(mt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ds=t}else throw Lt(mt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Lt(mt.NOT_SUPPORT_LOCALE_TYPE)}function um(e,t,o){return[...new Set([o,...Pe(t)?t:de(t)?Object.keys(t):W(t)?[t]:[o]])]}function kl(e,t,o){const n=W(o)?o:Ro,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;Pe(r);)r=wl(s,r,t);const i=Pe(t)||!ae(t)?t:t.default?t.default:null;r=W(i)?[i]:i,Pe(r)&&wl(s,r,!1),a.__localeChainCache.set(n,s)}return s}function wl(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function fm(){return{upper:(e,t)=>t==="text"&&W(e)?e.toUpperCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&W(e)?e.toLowerCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&W(e)?Ll(e):t==="vnode"&&de(e)&&"__v_isVNode"in e?Ll(e.children):e}}let Tl;function El(e){Tl=e}let Cl;function hm(e){Cl=e}let Nl;function mm(e){Nl=e}let Ml=null;const bm=e=>{Ml=e},ym=()=>Ml;let Rl=null;const Il=e=>{Rl=e},_m=()=>Rl;let Ol=0;function $m(e={}){const t=ke(e.onWarn)?e.onWarn:Yf,o=W(e.version)?e.version:dm,n=W(e.locale)||ke(e.locale)?e.locale:Ro,a=ke(n)?Ro:n,s=Pe(e.fallbackLocale)||ae(e.fallbackLocale)||W(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ae(e.messages)?e.messages:fs(a),i=ae(e.datetimeFormats)?e.datetimeFormats:fs(a),l=ae(e.numberFormats)?e.numberFormats:fs(a),c=je($e(),e.modifiers,fm()),u=e.pluralRules||$e(),d=ke(e.missing)?e.missing:null,h=ce(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,y=ce(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,P=!!e.fallbackFormat,A=!!e.unresolving,N=ke(e.postTranslation)?e.postTranslation:null,M=ae(e.processor)?e.processor:null,w=ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter,_=ke(e.messageCompiler)?e.messageCompiler:Tl,E=ke(e.messageResolver)?e.messageResolver:Cl||Wh,S=ke(e.localeFallbacker)?e.localeFallbacker:Nl||um,L=de(e.fallbackContext)?e.fallbackContext:void 0,k=e,m=de(k.__datetimeFormatters)?k.__datetimeFormatters:new Map,B=de(k.__numberFormatters)?k.__numberFormatters:new Map,j=de(k.__meta)?k.__meta:{};Ol++;const K={version:o,cid:Ol,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:d,missingWarn:h,fallbackWarn:y,fallbackFormat:P,unresolving:A,postTranslation:N,processor:M,warnHtmlMessage:w,escapeParameter:$,messageCompiler:_,messageResolver:E,localeFallbacker:S,fallbackContext:L,onWarn:t,__meta:j};return K.datetimeFormats=i,K.numberFormats=l,K.__datetimeFormatters=m,K.__numberFormatters=B,__INTLIFY_PROD_DEVTOOLS__&&sm(K,o,j),K}const fs=e=>({[e]:$e()});function hs(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return W(i)?i:t}else return t}function fn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Am(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Sm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nvm(o,e)}function vm(e,t){const o=xh(t);if(o==null)throw pn(0);if(gs(o)===1){const s=Fh(o);return e.plural(s.reduce((r,i)=>[...r,xl(e,i)],[]))}else return xl(e,o)}function xl(e,t){const o=Dh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Gh(t).reduce((a,s)=>[...a,bs(e,s)],[]);return e.normalize(n)}}function bs(e,t){const o=gs(t);switch(o){case 3:return la(t,o);case 9:return la(t,o);case 4:{const n=t;if(ft(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(ft(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw pn(o)}case 5:{const n=t;if(ft(n,"i")&&Ne(n.i))return e.interpolate(e.list(n.i));if(ft(n,"index")&&Ne(n.index))return e.interpolate(e.list(n.index));throw pn(o)}case 6:{const n=t,a=Bh(n),s=jh(n);return e.linked(bs(e,s),a?bs(e,a):void 0,e.type)}case 7:return la(t,o);case 8:return la(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Fl=e=>e;let Io=$e();function Dl(e,t={}){let o=!1;const n=t.onError||gh;return t.onError=a=>{o=!0,n(a)},{...Ih(e,t),detectError:o}}const km=(e,t)=>{if(!W(e))throw Lt(mt.NOT_SUPPORT_NON_STRING_MESSAGE);{ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Fl)(e),a=Io[n];if(a)return a;const{code:s,detectError:r}=Dl(e,t),i=new Function(`return ${s}`)();return r?i:Io[n]=i}};function wm(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&W(e)){ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Fl)(e),a=Io[n];if(a)return a;const{ast:s,detectError:r}=Dl(e,{...t,location:!1,jit:!0}),i=ms(s);return r?i:Io[n]=i}else{const o=e.cacheKey;if(o){const n=Io[o];return n||(Io[o]=ms(e))}else return ms(e)}}const Gl=()=>"",it=e=>ke(e);function Bl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=ys(...t),u=ce(c.missingWarn)?c.missingWarn:e.missingWarn,d=ce(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=ce(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,P=W(c.default)||ce(c.default)?ce(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",A=o||P!=="",N=ps(e,c);h&&Pm(c);let[M,w,$]=y?[l,N,i[N]||$e()]:jl(e,l,N,r,d,u),_=M,E=l;if(!y&&!(W(_)||Pt(_)||it(_))&&A&&(_=P,E=_),!y&&(!(W(_)||Pt(_)||it(_))||!W(w)))return a?ca:l;let S=!1;const L=()=>{S=!0},k=it(_)?_:Ul(e,l,w,_,E,L);if(S)return _;const m=Em(e,w,$,c),B=nm(m),j=Lm(e,k,B);let K=n?n(j,l):j;if(h&&W(K)&&(K=eh(K)),__INTLIFY_PROD_DEVTOOLS__){const Y={timestamp:Date.now(),key:W(l)?l:it(_)?_.key:"",locale:w||(it(_)?_.locale:""),format:W(_)?_:it(_)?_.source:"",message:K};Y.meta=je({},e.__meta,ym()||{}),rm(Y)}return K}function Pm(e){Pe(e.list)?e.list=e.list.map(t=>W(t)?el(t):t):de(e.named)&&Object.keys(e.named).forEach(t=>{W(e.named[t])&&(e.named[t]=el(e.named[t]))})}function jl(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let d=$e(),h,y=null;const P="translate";for(let A=0;An;return c.locale=o,c.key=t,c}const l=r(n,Tm(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Lm(e,t,o){return t(o)}function ys(...e){const[t,o,n]=e,a=$e();if(!W(t)&&!Ne(t)&&!it(t)&&!Pt(t))throw Lt(mt.INVALID_ARGUMENT);const s=Ne(t)?String(t):(it(t),t);return Ne(o)?a.plural=o:W(o)?a.default=o:ae(o)&&!na(o)?a.named=o:Pe(o)&&(a.list=o),Ne(n)?a.plural=n:W(n)?a.default=n:ae(n)&&je(a,n),[s,a]}function Tm(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>Jf(t,o,r)}}function Em(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:a,pluralRules:s,messages:y=>{let P=r(o,y);if(P==null&&u){const[,,A]=jl(u,y,t,i,l,c);P=r(A,y)}if(W(P)||Pt(P)){let A=!1;const M=Ul(e,y,t,P,y,()=>{A=!0});return A?Gl:M}else return it(P)?P:Gl}};return e.processor&&(h.processor=e.processor),n.list&&(h.list=n.list),n.named&&(h.named=n.named),Ne(n.plural)&&(h.pluralIndex=n.plural),h}function Kl(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,d]=_s(...t),h=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,P=ps(e,u),A=r(e,a,P);if(!W(l)||l==="")return new Intl.DateTimeFormat(P,d).format(c);let N={},M,w=null;const $="datetime format";for(let S=0;S{zl.includes(l)?r[l]=o[l]:s[l]=o[l]}),W(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Vl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Hl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,d]=$s(...t),h=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,P=ps(e,u),A=r(e,a,P);if(!W(l)||l==="")return new Intl.NumberFormat(P,d).format(c);let N={},M,w=null;const $="number format";for(let S=0;S{ql.includes(l)?r[l]=o[l]:s[l]=o[l]}),W(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Wl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}Oh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Em="9.14.5";function Cm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Gt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Gt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Gt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Gt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Gt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Nm=lm.__EXTEND_POINT__,Ut=na(Nm);Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut(),Ut();const Yl=ht.__EXTEND_POINT__,Xe=na(Yl),Re={UNEXPECTED_RETURN_TYPE:Yl,INVALID_ARGUMENT:Xe(),MUST_BE_CALL_SETUP_TOP:Xe(),NOT_INSTALLED:Xe(),NOT_AVAILABLE_IN_LEGACY_MODE:Xe(),REQUIRED_VALUE:Xe(),INVALID_VALUE:Xe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Xe(),NOT_INSTALLED_WITH_PROVIDE:Xe(),UNEXPECTED_ERROR:Xe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Xe(),BRIDGE_SUPPORT_VUE_2_ONLY:Xe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Xe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Xe(),__EXTEND_POINT__:Xe()};function Oe(e,...t){return Eo(e,null,void 0)}const $s=Jt("__translateVNode"),As=Jt("__datetimeParts"),vs=Jt("__numberParts"),Jl=Jt("__setPluralRules"),Xl=Jt("__injectWithOption"),Ss=Jt("__dispose");function fn(e){if(!de(e)||wt(e))return e;for(const t in e)if(dt(e,t))if(!t.includes("."))de(e[t])&&fn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||_e(),sa(c,r[l])):sa(c,r)}else W(i)&&sa(JSON.parse(i),r)}),a==null&&s)for(const i in r)dt(r,i)&&fn(r[i]);return r}function Zl(e){return e.type}function Ql(e,t,o){let n=de(t.messages)?t.messages:_e();"__i18nGlobal"in o&&(n=ca(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(de(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(de(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function ec(e){return Te(on,null,e,0)}const tc="__INTLIFY_META__",oc=()=>[],Mm=()=>!1;let nc=0;function ac(e){return(t,o,n,a)=>e(o,n,Dt()||void 0,a)}const Rm=()=>{const e=Dt();let t=null;return e&&(t=Zl(e)[tc])?{[tc]:t}:null};function ks(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=ta?ie:Ea,i=!!e.translateExistCompatible;let l=ue(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:W(e.locale)?e.locale:Mo),u=r(o&&l?o.fallbackLocale.value:W(e.fallbackLocale)||we(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=r(ca(c.value,e)),h=r(ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),y=r(ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let T=o?o.missingWarn:ue(e.missingWarn)||Xt(e.missingWarn)?e.missingWarn:!0,A=o?o.fallbackWarn:ue(e.fallbackWarn)||Xt(e.fallbackWarn)?e.fallbackWarn:!0,P=o?o.fallbackRoot:ue(e.fallbackRoot)?e.fallbackRoot:!0,M=!!e.fallbackFormat,L=Se(e.missing)?e.missing:null,_=Se(e.missing)?ac(e.missing):null,$=Se(e.postTranslation)?e.postTranslation:null,E=o?o.warnHtmlMessage:ue(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const v=o?o.modifiers:ae(e.modifiers)?e.modifiers:{};let w=e.pluralRules||o&&o.pluralRules,m;m=(()=>{a&&Il(null);const C={version:Em,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:v,pluralRules:w,missing:_===null?void 0:_,missingWarn:T,fallbackWarn:A,fallbackFormat:M,unresolving:!0,postTranslation:$===null?void 0:$,warnHtmlMessage:E,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};C.datetimeFormats=h.value,C.numberFormats=y.value,C.__datetimeFormatters=ae(m)?m.__datetimeFormatters:void 0,C.__numberFormatters=ae(m)?m.__numberFormatters:void 0;const x=_m(C);return a&&Il(x),x})(),dn(m,c.value,u.value);function K(){return[c.value,u.value,d.value,h.value,y.value]}const j=he({get:()=>c.value,set:C=>{c.value=C,m.locale=c.value}}),Y=he({get:()=>u.value,set:C=>{u.value=C,m.fallbackLocale=u.value,dn(m,c.value,C)}}),le=he(()=>d.value),F=he(()=>h.value),O=he(()=>y.value);function U(){return Se($)?$:null}function J(C){$=C,m.postTranslation=C}function ge(){return L}function te(C){C!==null&&(_=ac(C)),L=C,m.missing=_}const se=(C,x,X,ce,ke,We)=>{K();let je;try{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=o?ym():void 0),je=C(m)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=void 0)}if(X!=="translate exists"&&Ce(je)&&je===la||X==="translate exists"&&!je){const[ho,Xs]=x();return o&&P?ce(o):ke(ho)}else{if(We(je))return je;throw Oe(Re.UNEXPECTED_RETURN_TYPE)}};function me(...C){return se(x=>Reflect.apply(Gl,null,[x,...C]),()=>bs(...C),"translate",x=>Reflect.apply(x.t,x,[...C]),x=>x,x=>W(x))}function oe(...C){const[x,X,ce]=C;if(ce&&!de(ce))throw Oe(Re.INVALID_ARGUMENT);return me(x,X,Ge({resolvedMessage:!0},ce||{}))}function re(...C){return se(x=>Reflect.apply(Kl,null,[x,...C]),()=>ys(...C),"datetime format",x=>Reflect.apply(x.d,x,[...C]),()=>Pl,x=>W(x))}function Ie(...C){return se(x=>Reflect.apply(Hl,null,[x,...C]),()=>_s(...C),"number format",x=>Reflect.apply(x.n,x,[...C]),()=>Pl,x=>W(x))}function Fe(C){return C.map(x=>W(x)||Ce(x)||ue(x)?ec(String(x)):x)}const it={normalize:Fe,interpolate:C=>C,type:"vnode"};function ao(...C){return se(x=>{let X;const ce=x;try{ce.processor=it,X=Reflect.apply(Gl,null,[ce,...C])}finally{ce.processor=null}return X},()=>bs(...C),"translate",x=>x[$s](...C),x=>[ec(x)],x=>we(x))}function lt(...C){return se(x=>Reflect.apply(Hl,null,[x,...C]),()=>_s(...C),"number format",x=>x[vs](...C),oc,x=>W(x)||we(x))}function Oo(...C){return se(x=>Reflect.apply(Kl,null,[x,...C]),()=>ys(...C),"datetime format",x=>x[As](...C),oc,x=>W(x)||we(x))}function f(C){w=C,m.pluralRules=w}function S(C,x){return se(()=>{if(!C)return!1;const X=W(x)?x:c.value,ce=B(X),ke=m.messageResolver(ce,C);return i?ke!=null:wt(ke)||st(ke)||W(ke)},()=>[C],"translate exists",X=>Reflect.apply(X.te,X,[C,x]),Mm,X=>ue(X))}function b(C){let x=null;const X=kl(m,u.value,c.value);for(let ce=0;ce{l&&(c.value=C,m.locale=C,dn(m,c.value,u.value))}),Rt(o.fallbackLocale,C=>{l&&(u.value=C,m.fallbackLocale=C,dn(m,c.value,u.value))}));const z={id:nc,locale:j,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(C){l=C,C&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,dn(m,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:le,get modifiers(){return v},get pluralRules(){return w||{}},get isGlobal(){return a},get missingWarn(){return T},set missingWarn(C){T=C,m.missingWarn=T},get fallbackWarn(){return A},set fallbackWarn(C){A=C,m.fallbackWarn=A},get fallbackRoot(){return P},set fallbackRoot(C){P=C},get fallbackFormat(){return M},set fallbackFormat(C){M=C,m.fallbackFormat=M},get warnHtmlMessage(){return E},set warnHtmlMessage(C){E=C,m.warnHtmlMessage=C},get escapeParameter(){return k},set escapeParameter(C){k=C,m.escapeParameter=C},t:me,getLocaleMessage:B,setLocaleMessage:D,mergeLocaleMessage:H,getPostTranslationHandler:U,setPostTranslationHandler:J,getMissingHandler:ge,setMissingHandler:te,[Jl]:f};return z.datetimeFormats=F,z.numberFormats=O,z.rt=oe,z.te=S,z.tm=R,z.d=re,z.n=Ie,z.getDateTimeFormat=V,z.setDateTimeFormat=g,z.mergeDateTimeFormat=p,z.getNumberFormat=N,z.setNumberFormat=I,z.mergeNumberFormat=q,z[Xl]=n,z[$s]=ao,z[As]=Oo,z[vs]=lt,z}function Im(e){const t=W(e.locale)?e.locale:Mo,o=W(e.fallbackLocale)||we(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Se(e.missing)?e.missing:void 0,a=ue(e.silentTranslationWarn)||Xt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ue(e.silentFallbackWarn)||Xt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=ue(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Se(e.postTranslation)?e.postTranslation:void 0,d=W(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,y=ue(e.sync)?e.sync:!0;let T=e.messages;if(ae(e.sharedMessages)){const k=e.sharedMessages;T=Object.keys(k).reduce((w,m)=>{const G=w[m]||(w[m]={});return Ge(G,k[m]),w},T||{})}const{__i18n:A,__root:P,__injectWithOption:M}=e,L=e.datetimeFormats,_=e.numberFormats,$=e.flatJson,E=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:T,flatJson:$,datetimeFormats:L,numberFormats:_,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:E,__i18n:A,__root:P,__injectWithOption:M}}function ws(e={},t){{const o=ks(Im(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return ue(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=ue(s)?!s:s},get silentFallbackWarn(){return ue(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=ue(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,d=null;if(!W(r))throw Oe(Re.INVALID_ARGUMENT);const h=r;return W(i)?c.locale=i:we(i)?u=i:ae(i)&&(d=i),we(l)?u=l:ae(l)&&(d=l),Reflect.apply(o.t,o,[h,u||d||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,d=null;if(!W(r))throw Oe(Re.INVALID_ARGUMENT);const h=r;return W(i)?c.locale=i:Ce(i)?c.plural=i:we(i)?u=i:ae(i)&&(d=i),W(l)?c.locale=l:we(l)?u=l:ae(l)&&(d=l),Reflect.apply(o.t,o,[h,u||d||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Ps={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function xm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===De?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},_e())}function sc(e){return De}const rc=Xo({name:"i18n-t",props:Ge({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ce(e)||!isNaN(e)}},Ps),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||hn({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(d=>d!=="_"),r=_e();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=W(e.plural)?+e.plural:e.plural);const i=xm(t,s),l=a[$s](e.keypath,i,r),c=Ge(_e(),n),u=W(e.tag)||de(e.tag)?e.tag:sc();return Ci(u,c,l)}}});function Om(e){return we(e)&&!W(e[0])}function ic(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=_e();e.locale&&(r.locale=e.locale),W(e.format)?r.key=e.format:de(e.format)&&(W(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((h,y)=>o.includes(y)?Ge(_e(),h,{[y]:e.format[y]}):h,_e()));const l=n(e.value,r,i);let c=[r.key];we(l)?c=l.map((h,y)=>{const T=a[h.type],A=T?T({[h.type]:h.value,index:y,parts:l}):[h.value];return Om(A)&&(A[0].key=`${h.type}-${y}`),A}):W(l)&&(c=[l]);const u=Ge(_e(),s),d=W(e.tag)||de(e.tag)?e.tag:sc();return Ci(d,u,c)}}const lc=Xo({name:"i18n-n",props:Ge({value:{type:Number,required:!0},format:{type:[String,Object]}},Ps),setup(e,t){const o=e.i18n||hn({useScope:e.scope,__useComponent:!0});return ic(e,t,ql,(...n)=>o[vs](...n))}}),cc=Xo({name:"i18n-d",props:Ge({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ps),setup(e,t){const o=e.i18n||hn({useScope:e.scope,__useComponent:!0});return ic(e,t,zl,(...n)=>o[As](...n))}});function Fm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Dm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Oe(Re.UNEXPECTED_ERROR);const u=Fm(e,i.$),d=uc(c);return[Reflect.apply(u.t,u,[...gc(d)]),u]};return{created:(r,i)=>{const[l,c]=t(i);ta&&e.global===c&&(r.__i18nWatcher=Rt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{ta&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=uc(i);r.textContent=Reflect.apply(l.t,l,[...gc(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function uc(e){if(W(e))return{path:e};if(ae(e)){if(!("path"in e))throw Oe(Re.REQUIRED_VALUE,"path");return e}else throw Oe(Re.INVALID_VALUE)}function gc(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return W(o)&&(r.locale=o),Ce(a)&&(r.plural=a),Ce(s)&&(r.plural=s),[t,i,r]}function Bm(e,t,...o){const n=ae(o[0])?o[0]:{},a=!!n.useI18nComponentName;(ue(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":rc.name,"I18nT"].forEach(r=>e.component(r,rc)),[lc.name,"I18nN"].forEach(r=>e.component(r,lc)),[cc.name,"I18nD"].forEach(r=>e.component(r,cc))),e.directive("t",Dm(t))}function Gm(e,t,o){return{beforeCreate(){const n=Dt();if(!n)throw Oe(Re.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=pc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ws(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=pc(e,a);else{this.$i18n=ws({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ql(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Dt();if(!n)throw Oe(Re.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function pc(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[Jl](t.pluralizationRules||e.pluralizationRules);const o=ca(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const jm=Jt("global-vue-i18n");function Um(e={},t){const o=__VUE_I18N_LEGACY_API__&&ue(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=ue(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=Km(e,o),l=Jt("");function c(h){return s.get(h)||null}function u(h,y){s.set(h,y)}function d(h){s.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(y,...T){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,h),ae(T[0])){const M=T[0];h.__composerExtend=M.__composerExtend,h.__vueI18nExtend=M.__vueI18nExtend}let A=null;!o&&n&&(A=Zm(y,h.global)),__VUE_I18N_FULL_INSTALL__&&Bm(y,h,...T),__VUE_I18N_LEGACY_API__&&o&&y.mixin(Gm(i,i.__composer,h));const P=y.unmount;y.unmount=()=>{A&&A(),h.dispose(),P()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:d};return h}}function hn(e={}){const t=Dt();if(t==null)throw Oe(Re.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Oe(Re.NOT_INSTALLED);const o=zm(t),n=Hm(o),a=Zl(t),s=Vm(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Oe(Re.NOT_AVAILABLE_IN_LEGACY_MODE);return Jm(t,s,n,e)}if(s==="global")return Ql(n,e,a),n;if(s==="parent"){let l=qm(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=Ge({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=ks(l),r.__composerExtend&&(i[Ss]=r.__composerExtend(i)),Ym(r,t,i),r.__setInstance(t,i)}return i}function Km(e,t,o){const n=ba();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ws(e)):n.run(()=>ks(e));if(a==null)throw Oe(Re.UNEXPECTED_ERROR);return[n,a]}}function zm(e){{const t=Ne(e.isCE?jm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Oe(e.isCE?Re.NOT_INSTALLED_WITH_PROVIDE:Re.UNEXPECTED_ERROR);return t}}function Vm(e,t){return oa(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Hm(e){return e.mode==="composition"?e.global:e.global.__composer}function qm(e,t,o=!1){let n=null;const a=t.root;let s=Wm(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Xl]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Wm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Ym(e,t,o){ko(()=>{},t),Hn(()=>{const n=o;e.__deleteInstance(t);const a=n[Ss];a&&(a(),delete n[Ss])},t)}function Jm(e,t,o,n={}){const a=t==="local",s=Ea(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Oe(Re.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=ue(n.inheritLocale)?n.inheritLocale:!W(n.locale),i=ie(!a||r?o.locale.value:W(n.locale)?n.locale:Mo),l=ie(!a||r?o.fallbackLocale.value:W(n.fallbackLocale)||we(n.fallbackLocale)||ae(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ie(ca(i.value,n)),u=ie(ae(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=ie(ae(n.numberFormats)?n.numberFormats:{[i.value]:{}}),h=a?o.missingWarn:ue(n.missingWarn)||Xt(n.missingWarn)?n.missingWarn:!0,y=a?o.fallbackWarn:ue(n.fallbackWarn)||Xt(n.fallbackWarn)?n.fallbackWarn:!0,T=a?o.fallbackRoot:ue(n.fallbackRoot)?n.fallbackRoot:!0,A=!!n.fallbackFormat,P=Se(n.missing)?n.missing:null,M=Se(n.postTranslation)?n.postTranslation:null,L=a?o.warnHtmlMessage:ue(n.warnHtmlMessage)?n.warnHtmlMessage:!0,_=!!n.escapeParameter,$=a?o.modifiers:ae(n.modifiers)?n.modifiers:{},E=n.pluralRules||a&&o.pluralRules;function k(){return[i.value,l.value,c.value,u.value,d.value]}const v=he({get:()=>s.value?s.value.locale.value:i.value,set:b=>{s.value&&(s.value.locale.value=b),i.value=b}}),w=he({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:b=>{s.value&&(s.value.fallbackLocale.value=b),l.value=b}}),m=he(()=>s.value?s.value.messages.value:c.value),G=he(()=>u.value),K=he(()=>d.value);function j(){return s.value?s.value.getPostTranslationHandler():M}function Y(b){s.value&&s.value.setPostTranslationHandler(b)}function le(){return s.value?s.value.getMissingHandler():P}function F(b){s.value&&s.value.setMissingHandler(b)}function O(b){return k(),b()}function U(...b){return s.value?O(()=>Reflect.apply(s.value.t,null,[...b])):O(()=>"")}function J(...b){return s.value?Reflect.apply(s.value.rt,null,[...b]):""}function ge(...b){return s.value?O(()=>Reflect.apply(s.value.d,null,[...b])):O(()=>"")}function te(...b){return s.value?O(()=>Reflect.apply(s.value.n,null,[...b])):O(()=>"")}function se(b){return s.value?s.value.tm(b):{}}function me(b,R){return s.value?s.value.te(b,R):!1}function oe(b){return s.value?s.value.getLocaleMessage(b):{}}function re(b,R){s.value&&(s.value.setLocaleMessage(b,R),c.value[b]=R)}function Ie(b,R){s.value&&s.value.mergeLocaleMessage(b,R)}function Fe(b){return s.value?s.value.getDateTimeFormat(b):{}}function tt(b,R){s.value&&(s.value.setDateTimeFormat(b,R),u.value[b]=R)}function it(b,R){s.value&&s.value.mergeDateTimeFormat(b,R)}function ao(b){return s.value?s.value.getNumberFormat(b):{}}function lt(b,R){s.value&&(s.value.setNumberFormat(b,R),d.value[b]=R)}function Oo(b,R){s.value&&s.value.mergeNumberFormat(b,R)}const f={get id(){return s.value?s.value.id:-1},locale:v,fallbackLocale:w,messages:m,datetimeFormats:G,numberFormats:K,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(b){s.value&&(s.value.inheritLocale=b)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:$},get pluralRules(){return s.value?s.value.pluralRules:E},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:h},set missingWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackWarn(){return s.value?s.value.fallbackWarn:y},set fallbackWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackRoot(){return s.value?s.value.fallbackRoot:T},set fallbackRoot(b){s.value&&(s.value.fallbackRoot=b)},get fallbackFormat(){return s.value?s.value.fallbackFormat:A},set fallbackFormat(b){s.value&&(s.value.fallbackFormat=b)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},set warnHtmlMessage(b){s.value&&(s.value.warnHtmlMessage=b)},get escapeParameter(){return s.value?s.value.escapeParameter:_},set escapeParameter(b){s.value&&(s.value.escapeParameter=b)},t:U,getPostTranslationHandler:j,setPostTranslationHandler:Y,getMissingHandler:le,setMissingHandler:F,rt:J,d:ge,n:te,tm:se,te:me,getLocaleMessage:oe,setLocaleMessage:re,mergeLocaleMessage:Ie,getDateTimeFormat:Fe,setDateTimeFormat:tt,mergeDateTimeFormat:it,getNumberFormat:ao,setNumberFormat:lt,mergeNumberFormat:Oo};function S(b){b.locale.value=i.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(R=>{b.mergeLocaleMessage(R,c.value[R])}),Object.keys(u.value).forEach(R=>{b.mergeDateTimeFormat(R,u.value[R])}),Object.keys(d.value).forEach(R=>{b.mergeNumberFormat(R,d.value[R])}),b.escapeParameter=_,b.fallbackFormat=A,b.fallbackRoot=T,b.fallbackWarn=y,b.missingWarn=h,b.warnHtmlMessage=L}return qr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Oe(Re.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,d.value=b.numberFormats.value):a&&S(b)}),f}const Xm=["locale","fallbackLocale","availableLocales"],dc=["t","rt","d","n","tm","te"];function Zm(e,t){const o=Object.create(null);return Xm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Oe(Re.UNEXPECTED_ERROR);const r=Pe(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,dc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Oe(Re.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,dc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Cm(),__INTLIFY_JIT_COMPILATION__?El(km):El(Sm),fm(Wh),hm(kl),__INTLIFY_PROD_DEVTOOLS__){const e=Gt();e.__INTLIFY__=!0,nm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Qm=Object.assign({"./locales/ar/aria.json":Ip,"./locales/ar/buttons.json":xp,"./locales/ar/detail.json":Op,"./locales/ar/legend.json":Fp,"./locales/ar/messages.json":Dp,"./locales/ar/options.json":Bp,"./locales/ar/popup.json":Gp,"./locales/ar/prayerLaps.json":jp,"./locales/ar/regions.json":Up,"./locales/ar/search.json":Kp,"./locales/ar/tabs.json":zp,"./locales/de/aria.json":Vp,"./locales/de/buttons.json":Hp,"./locales/de/detail.json":qp,"./locales/de/legend.json":Wp,"./locales/de/messages.json":Yp,"./locales/de/options.json":Jp,"./locales/de/popup.json":Xp,"./locales/de/prayerLaps.json":Zp,"./locales/de/regions.json":Qp,"./locales/de/search.json":ed,"./locales/de/tabs.json":td,"./locales/en/aria.json":od,"./locales/en/buttons.json":nd,"./locales/en/detail.json":ad,"./locales/en/legend.json":sd,"./locales/en/messages.json":rd,"./locales/en/options.json":id,"./locales/en/popup.json":ld,"./locales/en/prayerLaps.json":cd,"./locales/en/regions.json":ud,"./locales/en/search.json":gd,"./locales/en/tabs.json":pd,"./locales/es/aria.json":dd,"./locales/es/buttons.json":fd,"./locales/es/detail.json":hd,"./locales/es/legend.json":md,"./locales/es/messages.json":bd,"./locales/es/options.json":yd,"./locales/es/popup.json":_d,"./locales/es/prayerLaps.json":$d,"./locales/es/regions.json":Ad,"./locales/es/search.json":vd,"./locales/es/tabs.json":Sd,"./locales/fr/aria.json":kd,"./locales/fr/buttons.json":wd,"./locales/fr/detail.json":Pd,"./locales/fr/legend.json":Td,"./locales/fr/messages.json":Ld,"./locales/fr/options.json":Ed,"./locales/fr/popup.json":Cd,"./locales/fr/prayerLaps.json":Nd,"./locales/fr/regions.json":Md,"./locales/fr/search.json":Rd,"./locales/fr/tabs.json":Id,"./locales/hi/aria.json":xd,"./locales/hi/buttons.json":Od,"./locales/hi/detail.json":Fd,"./locales/hi/legend.json":Dd,"./locales/hi/messages.json":Bd,"./locales/hi/options.json":Gd,"./locales/hi/popup.json":jd,"./locales/hi/prayerLaps.json":Ud,"./locales/hi/regions.json":Kd,"./locales/hi/search.json":zd,"./locales/hi/tabs.json":Vd,"./locales/it/aria.json":Hd,"./locales/it/buttons.json":qd,"./locales/it/detail.json":Wd,"./locales/it/legend.json":Yd,"./locales/it/messages.json":Jd,"./locales/it/options.json":Xd,"./locales/it/popup.json":Zd,"./locales/it/prayerLaps.json":Qd,"./locales/it/regions.json":ef,"./locales/it/search.json":tf,"./locales/it/tabs.json":of,"./locales/pt/aria.json":nf,"./locales/pt/buttons.json":af,"./locales/pt/detail.json":sf,"./locales/pt/legend.json":rf,"./locales/pt/messages.json":lf,"./locales/pt/options.json":cf,"./locales/pt/popup.json":uf,"./locales/pt/prayerLaps.json":gf,"./locales/pt/regions.json":pf,"./locales/pt/search.json":df,"./locales/pt/tabs.json":ff,"./locales/ro/aria.json":hf,"./locales/ro/buttons.json":mf,"./locales/ro/detail.json":bf,"./locales/ro/legend.json":yf,"./locales/ro/messages.json":_f,"./locales/ro/options.json":$f,"./locales/ro/popup.json":Af,"./locales/ro/prayerLaps.json":vf,"./locales/ro/regions.json":Sf,"./locales/ro/search.json":kf,"./locales/ro/tabs.json":wf,"./locales/ru/aria.json":Pf,"./locales/ru/buttons.json":Tf,"./locales/ru/detail.json":Lf,"./locales/ru/legend.json":Ef,"./locales/ru/messages.json":Cf,"./locales/ru/options.json":Nf,"./locales/ru/popup.json":Mf,"./locales/ru/prayerLaps.json":Rf,"./locales/ru/regions.json":If,"./locales/ru/search.json":xf,"./locales/ru/tabs.json":Of,"./locales/zh/aria.json":Ff,"./locales/zh/buttons.json":Df,"./locales/zh/detail.json":Bf,"./locales/zh/legend.json":Gf,"./locales/zh/messages.json":jf,"./locales/zh/options.json":Uf,"./locales/zh/popup.json":Kf,"./locales/zh/prayerLaps.json":zf,"./locales/zh/regions.json":Vf,"./locales/zh/search.json":Hf,"./locales/zh/tabs.json":qf}),mn={};for(const[e,t]of Object.entries(Qm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;mn[n]??(mn[n]={}),mn[n][a]=t}const Ts=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],eb=new Set(["ar"]);function tb(){var n;const e=(()=>{try{const a=new URLSearchParams(window.location.search);return(a.get("lang")||a.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(Ts.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Ts.includes(o)?o:"en"}function ob(){const e=tb();try{eb.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return Um({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:mn,missingWarn:!1,fallbackWarn:!1})}function Io(e,t){const o=t||nb(e);ko(()=>{var i;const n=Dt();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}function nb(e){let t=0;for(let o=0;o(n==null?void 0:n.theme)==="dark"),r=he(()=>{var m;const v=(m=a==null?void 0:a.value)==null?void 0:m.pinHintLabel;if(v)return v;const w="Tap a coloured dot — someone still needs prayer";try{return o("messages.pinHint.tapDot")?t("messages.pinHint.tapDot"):w}catch{return w}}),i=ie(!1),l=ie(null);let c=null,u=null,d=null,h=null,y=null,T=null,A=[],P=null,M=null;function L(){i.value=!1}function _(v,w){var G;let m=v==null?void 0:v.parentElement;for(let K=0;m&&K<12;K++,m=m.parentElement){if(m===w||(G=m.classList)!=null&&G.contains("profile-loader"))return null;let j="";try{j=getComputedStyle(m).position}catch{}if(j&&j!=="static"){const Y=m.getBoundingClientRect();if(Y.height>=120&&Y.width>=160)return m}}return null}function $(v){var m;const w=(m=h==null?void 0:h.querySelector)==null?void 0:m.call(h,".legend-mobile-sheet");if(!w)return 1/0;if(y&&T!==w){try{y.disconnect()}catch{}y=null}if(!y&&typeof ResizeObserver<"u")try{y=new ResizeObserver(()=>E()),y.observe(w),T=w}catch{y=null}try{const G=w.getBoundingClientRect();return!(G.height>16)||!(G.width>16)||v.right<=G.left||G.right<=v.left?1/0:G.top}catch{return 1/0}}function E(){const v=l.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const w=v.getBoundingClientRect();if(!w.height)return;const m=Math.min(window.innerHeight,$(w)),G=Math.round(w.bottom-m);G>0&&v.style.setProperty("--pin-hint-lift",G+8+"px")}catch{}}function k(v){const w=l.value;if(!w||!(v!=null&&v.querySelector))return;let m=0;try{const K=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(K){const j=K.getBoundingClientRect(),Y=w.parentElement,le=Y?Y.getBoundingClientRect():null;if(m=le?Math.max(j.height||0,le.bottom-j.top):j.height||0,M!==K&&typeof ResizeObserver<"u"){if(d)try{d.disconnect()}catch{}M=K,d=new ResizeObserver(()=>k(v)),d.observe(K)}}}catch{}const G=Math.min(Math.max(Math.ceil(m)||20,20),72);w.style.setProperty("--pin-hint-attrib-clear",G+"px"),E()}return ko(()=>{var G,K,j;const v=Dt(),w=(j=(K=(G=v==null?void 0:v.proxy)==null?void 0:G.$el)==null?void 0:K.getRootNode)==null?void 0:j.call(K);if(!w||typeof w.querySelector!="function")return;h=w;let m=0;c=setInterval(()=>{m++;const Y=w.querySelector("canvas");Y?(clearInterval(c),c=null,i.value=!0,Wo(()=>{const le=_(Y,w),F=l.value;if(le&&F&&F.parentElement!==le)try{le.appendChild(F),u=le}catch{}k(w),E(),A.push(setTimeout(E,1200),setTimeout(E,3e3),setTimeout(E,6e3));try{const O=l.value&&l.value.offsetParent||null;if(O&&typeof ResizeObserver<"u"){if(P)try{P.disconnect()}catch{}P=new ResizeObserver(()=>E()),P.observe(O)}}catch{}})):m>40&&(clearInterval(c),c=null)},300)}),Qo(()=>{var v;if(c&&clearInterval(c),d){try{d.disconnect()}catch{}d=null}if(M=null,P){try{P.disconnect()}catch{}P=null}if(y){try{y.disconnect()}catch{}y=null}T=null;for(const w of A)clearTimeout(w);if(A=[],h=null,u&&((v=l.value)==null?void 0:v.parentElement)===u)try{u.removeChild(l.value)}catch{}u=null}),Io(` + */const Cm="9.14.5";function Nm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(jt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(jt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(jt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(jt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(jt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Mm=cm.__EXTEND_POINT__,Kt=aa(Mm);Kt(),Kt(),Kt(),Kt(),Kt(),Kt(),Kt(),Kt(),Kt();const Yl=mt.__EXTEND_POINT__,et=aa(Yl),Oe={UNEXPECTED_RETURN_TYPE:Yl,INVALID_ARGUMENT:et(),MUST_BE_CALL_SETUP_TOP:et(),NOT_INSTALLED:et(),NOT_AVAILABLE_IN_LEGACY_MODE:et(),REQUIRED_VALUE:et(),INVALID_VALUE:et(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:et(),NOT_INSTALLED_WITH_PROVIDE:et(),UNEXPECTED_ERROR:et(),NOT_COMPATIBLE_LEGACY_VUE_I18N:et(),BRIDGE_SUPPORT_VUE_2_ONLY:et(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:et(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:et(),__EXTEND_POINT__:et()};function Fe(e,...t){return Co(e,null,void 0)}const As=Xt("__translateVNode"),Ss=Xt("__datetimeParts"),vs=Xt("__numberParts"),Jl=Xt("__setPluralRules"),Xl=Xt("__injectWithOption"),ks=Xt("__dispose");function hn(e){if(!de(e)||Pt(e))return e;for(const t in e)if(ft(e,t))if(!t.includes("."))de(e[t])&&hn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||$e(),ra(c,r[l])):ra(c,r)}else W(i)&&ra(JSON.parse(i),r)}),a==null&&s)for(const i in r)ft(r,i)&&hn(r[i]);return r}function Zl(e){return e.type}function Ql(e,t,o){let n=de(t.messages)?t.messages:$e();"__i18nGlobal"in o&&(n=ua(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(de(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(de(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function ec(e){return Te(nn,null,e,0)}const tc="__INTLIFY_META__",oc=()=>[],Rm=()=>!1;let nc=0;function ac(e){return(t,o,n,a)=>e(o,n,Gt()||void 0,a)}const Im=()=>{const e=Gt();let t=null;return e&&(t=Zl(e)[tc])?{[tc]:t}:null};function ws(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=oa?se:Ca,i=!!e.translateExistCompatible;let l=ce(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:W(e.locale)?e.locale:Ro),u=r(o&&l?o.fallbackLocale.value:W(e.fallbackLocale)||Pe(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=r(ua(c.value,e)),h=r(ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),y=r(ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let P=o?o.missingWarn:ce(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,A=o?o.fallbackWarn:ce(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,N=o?o.fallbackRoot:ce(e.fallbackRoot)?e.fallbackRoot:!0,M=!!e.fallbackFormat,w=ke(e.missing)?e.missing:null,$=ke(e.missing)?ac(e.missing):null,_=ke(e.postTranslation)?e.postTranslation:null,E=o?o.warnHtmlMessage:ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const L=o?o.modifiers:ae(e.modifiers)?e.modifiers:{};let k=e.pluralRules||o&&o.pluralRules,m;m=(()=>{a&&Il(null);const T={version:Cm,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:L,pluralRules:k,missing:$===null?void 0:$,missingWarn:P,fallbackWarn:A,fallbackFormat:M,unresolving:!0,postTranslation:_===null?void 0:_,warnHtmlMessage:E,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=h.value,T.numberFormats=y.value,T.__datetimeFormatters=ae(m)?m.__datetimeFormatters:void 0,T.__numberFormatters=ae(m)?m.__numberFormatters:void 0;const O=$m(T);return a&&Il(O),O})(),fn(m,c.value,u.value);function j(){return[c.value,u.value,d.value,h.value,y.value]}const K=he({get:()=>c.value,set:T=>{c.value=T,m.locale=c.value}}),Y=he({get:()=>u.value,set:T=>{u.value=T,m.fallbackLocale=u.value,fn(m,c.value,T)}}),Z=he(()=>d.value),F=he(()=>h.value),x=he(()=>y.value);function U(){return ke(_)?_:null}function X(T){_=T,m.postTranslation=T}function ie(){return w}function Q(T){T!==null&&($=ac(T)),w=T,m.missing=$}const ue=(T,O,J,re,we,Xe)=>{j();let Ue;try{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=o?_m():void 0),Ue=T(m)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=void 0)}if(J!=="translate exists"&&Ne(Ue)&&Ue===ca||J==="translate exists"&&!Ue){const[mo,Xs]=O();return o&&N?re(o):we(mo)}else{if(Xe(Ue))return Ue;throw Fe(Oe.UNEXPECTED_RETURN_TYPE)}};function me(...T){return ue(O=>Reflect.apply(Bl,null,[O,...T]),()=>ys(...T),"translate",O=>Reflect.apply(O.t,O,[...T]),O=>O,O=>W(O))}function _e(...T){const[O,J,re]=T;if(re&&!de(re))throw Fe(Oe.INVALID_ARGUMENT);return me(O,J,je({resolvedMessage:!0},re||{}))}function De(...T){return ue(O=>Reflect.apply(Kl,null,[O,...T]),()=>_s(...T),"datetime format",O=>Reflect.apply(O.d,O,[...T]),()=>Pl,O=>W(O))}function ge(...T){return ue(O=>Reflect.apply(Hl,null,[O,...T]),()=>$s(...T),"number format",O=>Reflect.apply(O.n,O,[...T]),()=>Pl,O=>W(O))}function le(T){return T.map(O=>W(O)||Ne(O)||ce(O)?ec(String(O)):O)}const ze={normalize:le,interpolate:T=>T,type:"vnode"};function ct(...T){return ue(O=>{let J;const re=O;try{re.processor=ze,J=Reflect.apply(Bl,null,[re,...T])}finally{re.processor=null}return J},()=>ys(...T),"translate",O=>O[As](...T),O=>[ec(O)],O=>Pe(O))}function Je(...T){return ue(O=>Reflect.apply(Hl,null,[O,...T]),()=>$s(...T),"number format",O=>O[vs](...T),oc,O=>W(O)||Pe(O))}function Fo(...T){return ue(O=>Reflect.apply(Kl,null,[O,...T]),()=>_s(...T),"datetime format",O=>O[Ss](...T),oc,O=>W(O)||Pe(O))}function f(T){k=T,m.pluralRules=k}function v(T,O){return ue(()=>{if(!T)return!1;const J=W(O)?O:c.value,re=G(J),we=m.messageResolver(re,T);return i?we!=null:Pt(we)||it(we)||W(we)},()=>[T],"translate exists",J=>Reflect.apply(J.te,J,[T,O]),Rm,J=>ce(J))}function b(T){let O=null;const J=kl(m,u.value,c.value);for(let re=0;re{l&&(c.value=T,m.locale=T,fn(m,c.value,u.value))}),It(o.fallbackLocale,T=>{l&&(u.value=T,m.fallbackLocale=T,fn(m,c.value,u.value))}));const z={id:nc,locale:K,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(T){l=T,T&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,fn(m,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:Z,get modifiers(){return L},get pluralRules(){return k||{}},get isGlobal(){return a},get missingWarn(){return P},set missingWarn(T){P=T,m.missingWarn=P},get fallbackWarn(){return A},set fallbackWarn(T){A=T,m.fallbackWarn=A},get fallbackRoot(){return N},set fallbackRoot(T){N=T},get fallbackFormat(){return M},set fallbackFormat(T){M=T,m.fallbackFormat=M},get warnHtmlMessage(){return E},set warnHtmlMessage(T){E=T,m.warnHtmlMessage=T},get escapeParameter(){return S},set escapeParameter(T){S=T,m.escapeParameter=T},t:me,getLocaleMessage:G,setLocaleMessage:D,mergeLocaleMessage:H,getPostTranslationHandler:U,setPostTranslationHandler:X,getMissingHandler:ie,setMissingHandler:Q,[Jl]:f};return z.datetimeFormats=F,z.numberFormats=x,z.rt=_e,z.te=v,z.tm=R,z.d=De,z.n=ge,z.getDateTimeFormat=V,z.setDateTimeFormat=g,z.mergeDateTimeFormat=p,z.getNumberFormat=C,z.setNumberFormat=I,z.mergeNumberFormat=q,z[Xl]=n,z[As]=ct,z[Ss]=Fo,z[vs]=Je,z}function Om(e){const t=W(e.locale)?e.locale:Ro,o=W(e.fallbackLocale)||Pe(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ke(e.missing)?e.missing:void 0,a=ce(e.silentTranslationWarn)||Zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ce(e.silentFallbackWarn)||Zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=ce(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ke(e.postTranslation)?e.postTranslation:void 0,d=W(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,y=ce(e.sync)?e.sync:!0;let P=e.messages;if(ae(e.sharedMessages)){const S=e.sharedMessages;P=Object.keys(S).reduce((k,m)=>{const B=k[m]||(k[m]={});return je(B,S[m]),k},P||{})}const{__i18n:A,__root:N,__injectWithOption:M}=e,w=e.datetimeFormats,$=e.numberFormats,_=e.flatJson,E=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:P,flatJson:_,datetimeFormats:w,numberFormats:$,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:E,__i18n:A,__root:N,__injectWithOption:M}}function Ps(e={},t){{const o=ws(Om(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return ce(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=ce(s)?!s:s},get silentFallbackWarn(){return ce(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=ce(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,d=null;if(!W(r))throw Fe(Oe.INVALID_ARGUMENT);const h=r;return W(i)?c.locale=i:Pe(i)?u=i:ae(i)&&(d=i),Pe(l)?u=l:ae(l)&&(d=l),Reflect.apply(o.t,o,[h,u||d||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,d=null;if(!W(r))throw Fe(Oe.INVALID_ARGUMENT);const h=r;return W(i)?c.locale=i:Ne(i)?c.plural=i:Pe(i)?u=i:ae(i)&&(d=i),W(l)?c.locale=l:Pe(l)?u=l:ae(l)&&(d=l),Reflect.apply(o.t,o,[h,u||d||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Ls={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function xm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ge?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},$e())}function sc(e){return Ge}const rc=Zo({name:"i18n-t",props:je({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},Ls),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||mn({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(d=>d!=="_"),r=$e();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=W(e.plural)?+e.plural:e.plural);const i=xm(t,s),l=a[As](e.keypath,i,r),c=je($e(),n),u=W(e.tag)||de(e.tag)?e.tag:sc();return Ci(u,c,l)}}});function Fm(e){return Pe(e)&&!W(e[0])}function ic(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=$e();e.locale&&(r.locale=e.locale),W(e.format)?r.key=e.format:de(e.format)&&(W(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((h,y)=>o.includes(y)?je($e(),h,{[y]:e.format[y]}):h,$e()));const l=n(e.value,r,i);let c=[r.key];Pe(l)?c=l.map((h,y)=>{const P=a[h.type],A=P?P({[h.type]:h.value,index:y,parts:l}):[h.value];return Fm(A)&&(A[0].key=`${h.type}-${y}`),A}):W(l)&&(c=[l]);const u=je($e(),s),d=W(e.tag)||de(e.tag)?e.tag:sc();return Ci(d,u,c)}}const lc=Zo({name:"i18n-n",props:je({value:{type:Number,required:!0},format:{type:[String,Object]}},Ls),setup(e,t){const o=e.i18n||mn({useScope:e.scope,__useComponent:!0});return ic(e,t,ql,(...n)=>o[vs](...n))}}),cc=Zo({name:"i18n-d",props:je({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ls),setup(e,t){const o=e.i18n||mn({useScope:e.scope,__useComponent:!0});return ic(e,t,zl,(...n)=>o[Ss](...n))}});function Dm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Gm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Fe(Oe.UNEXPECTED_ERROR);const u=Dm(e,i.$),d=uc(c);return[Reflect.apply(u.t,u,[...gc(d)]),u]};return{created:(r,i)=>{const[l,c]=t(i);oa&&e.global===c&&(r.__i18nWatcher=It(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{oa&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=uc(i);r.textContent=Reflect.apply(l.t,l,[...gc(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function uc(e){if(W(e))return{path:e};if(ae(e)){if(!("path"in e))throw Fe(Oe.REQUIRED_VALUE,"path");return e}else throw Fe(Oe.INVALID_VALUE)}function gc(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return W(o)&&(r.locale=o),Ne(a)&&(r.plural=a),Ne(s)&&(r.plural=s),[t,i,r]}function Bm(e,t,...o){const n=ae(o[0])?o[0]:{},a=!!n.useI18nComponentName;(ce(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":rc.name,"I18nT"].forEach(r=>e.component(r,rc)),[lc.name,"I18nN"].forEach(r=>e.component(r,lc)),[cc.name,"I18nD"].forEach(r=>e.component(r,cc))),e.directive("t",Gm(t))}function jm(e,t,o){return{beforeCreate(){const n=Gt();if(!n)throw Fe(Oe.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=pc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Ps(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=pc(e,a);else{this.$i18n=Ps({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ql(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Gt();if(!n)throw Fe(Oe.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function pc(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[Jl](t.pluralizationRules||e.pluralizationRules);const o=ua(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Um=Xt("global-vue-i18n");function Km(e={},t){const o=__VUE_I18N_LEGACY_API__&&ce(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=ce(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=zm(e,o),l=Xt("");function c(h){return s.get(h)||null}function u(h,y){s.set(h,y)}function d(h){s.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(y,...P){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,h),ae(P[0])){const M=P[0];h.__composerExtend=M.__composerExtend,h.__vueI18nExtend=M.__vueI18nExtend}let A=null;!o&&n&&(A=Qm(y,h.global)),__VUE_I18N_FULL_INSTALL__&&Bm(y,h,...P),__VUE_I18N_LEGACY_API__&&o&&y.mixin(jm(i,i.__composer,h));const N=y.unmount;y.unmount=()=>{A&&A(),h.dispose(),N()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:d};return h}}function mn(e={}){const t=Gt();if(t==null)throw Fe(Oe.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Fe(Oe.NOT_INSTALLED);const o=Vm(t),n=qm(o),a=Zl(t),s=Hm(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Fe(Oe.NOT_AVAILABLE_IN_LEGACY_MODE);return Xm(t,s,n,e)}if(s==="global")return Ql(n,e,a),n;if(s==="parent"){let l=Wm(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=je({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=ws(l),r.__composerExtend&&(i[ks]=r.__composerExtend(i)),Jm(r,t,i),r.__setInstance(t,i)}return i}function zm(e,t,o){const n=ya();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ps(e)):n.run(()=>ws(e));if(a==null)throw Fe(Oe.UNEXPECTED_ERROR);return[n,a]}}function Vm(e){{const t=Re(e.isCE?Um:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Fe(e.isCE?Oe.NOT_INSTALLED_WITH_PROVIDE:Oe.UNEXPECTED_ERROR);return t}}function Hm(e,t){return na(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function qm(e){return e.mode==="composition"?e.global:e.global.__composer}function Wm(e,t,o=!1){let n=null;const a=t.root;let s=Ym(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Xl]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Ym(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Jm(e,t,o){wo(()=>{},t),qn(()=>{const n=o;e.__deleteInstance(t);const a=n[ks];a&&(a(),delete n[ks])},t)}function Xm(e,t,o,n={}){const a=t==="local",s=Ca(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Fe(Oe.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=ce(n.inheritLocale)?n.inheritLocale:!W(n.locale),i=se(!a||r?o.locale.value:W(n.locale)?n.locale:Ro),l=se(!a||r?o.fallbackLocale.value:W(n.fallbackLocale)||Pe(n.fallbackLocale)||ae(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=se(ua(i.value,n)),u=se(ae(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=se(ae(n.numberFormats)?n.numberFormats:{[i.value]:{}}),h=a?o.missingWarn:ce(n.missingWarn)||Zt(n.missingWarn)?n.missingWarn:!0,y=a?o.fallbackWarn:ce(n.fallbackWarn)||Zt(n.fallbackWarn)?n.fallbackWarn:!0,P=a?o.fallbackRoot:ce(n.fallbackRoot)?n.fallbackRoot:!0,A=!!n.fallbackFormat,N=ke(n.missing)?n.missing:null,M=ke(n.postTranslation)?n.postTranslation:null,w=a?o.warnHtmlMessage:ce(n.warnHtmlMessage)?n.warnHtmlMessage:!0,$=!!n.escapeParameter,_=a?o.modifiers:ae(n.modifiers)?n.modifiers:{},E=n.pluralRules||a&&o.pluralRules;function S(){return[i.value,l.value,c.value,u.value,d.value]}const L=he({get:()=>s.value?s.value.locale.value:i.value,set:b=>{s.value&&(s.value.locale.value=b),i.value=b}}),k=he({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:b=>{s.value&&(s.value.fallbackLocale.value=b),l.value=b}}),m=he(()=>s.value?s.value.messages.value:c.value),B=he(()=>u.value),j=he(()=>d.value);function K(){return s.value?s.value.getPostTranslationHandler():M}function Y(b){s.value&&s.value.setPostTranslationHandler(b)}function Z(){return s.value?s.value.getMissingHandler():N}function F(b){s.value&&s.value.setMissingHandler(b)}function x(b){return S(),b()}function U(...b){return s.value?x(()=>Reflect.apply(s.value.t,null,[...b])):x(()=>"")}function X(...b){return s.value?Reflect.apply(s.value.rt,null,[...b]):""}function ie(...b){return s.value?x(()=>Reflect.apply(s.value.d,null,[...b])):x(()=>"")}function Q(...b){return s.value?x(()=>Reflect.apply(s.value.n,null,[...b])):x(()=>"")}function ue(b){return s.value?s.value.tm(b):{}}function me(b,R){return s.value?s.value.te(b,R):!1}function _e(b){return s.value?s.value.getLocaleMessage(b):{}}function De(b,R){s.value&&(s.value.setLocaleMessage(b,R),c.value[b]=R)}function ge(b,R){s.value&&s.value.mergeLocaleMessage(b,R)}function le(b){return s.value?s.value.getDateTimeFormat(b):{}}function Me(b,R){s.value&&(s.value.setDateTimeFormat(b,R),u.value[b]=R)}function ze(b,R){s.value&&s.value.mergeDateTimeFormat(b,R)}function ct(b){return s.value?s.value.getNumberFormat(b):{}}function Je(b,R){s.value&&(s.value.setNumberFormat(b,R),d.value[b]=R)}function Fo(b,R){s.value&&s.value.mergeNumberFormat(b,R)}const f={get id(){return s.value?s.value.id:-1},locale:L,fallbackLocale:k,messages:m,datetimeFormats:B,numberFormats:j,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(b){s.value&&(s.value.inheritLocale=b)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:_},get pluralRules(){return s.value?s.value.pluralRules:E},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:h},set missingWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackWarn(){return s.value?s.value.fallbackWarn:y},set fallbackWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackRoot(){return s.value?s.value.fallbackRoot:P},set fallbackRoot(b){s.value&&(s.value.fallbackRoot=b)},get fallbackFormat(){return s.value?s.value.fallbackFormat:A},set fallbackFormat(b){s.value&&(s.value.fallbackFormat=b)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:w},set warnHtmlMessage(b){s.value&&(s.value.warnHtmlMessage=b)},get escapeParameter(){return s.value?s.value.escapeParameter:$},set escapeParameter(b){s.value&&(s.value.escapeParameter=b)},t:U,getPostTranslationHandler:K,setPostTranslationHandler:Y,getMissingHandler:Z,setMissingHandler:F,rt:X,d:ie,n:Q,tm:ue,te:me,getLocaleMessage:_e,setLocaleMessage:De,mergeLocaleMessage:ge,getDateTimeFormat:le,setDateTimeFormat:Me,mergeDateTimeFormat:ze,getNumberFormat:ct,setNumberFormat:Je,mergeNumberFormat:Fo};function v(b){b.locale.value=i.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(R=>{b.mergeLocaleMessage(R,c.value[R])}),Object.keys(u.value).forEach(R=>{b.mergeDateTimeFormat(R,u.value[R])}),Object.keys(d.value).forEach(R=>{b.mergeNumberFormat(R,d.value[R])}),b.escapeParameter=$,b.fallbackFormat=A,b.fallbackRoot=P,b.fallbackWarn=y,b.missingWarn=h,b.warnHtmlMessage=w}return qr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Fe(Oe.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,d.value=b.numberFormats.value):a&&v(b)}),f}const Zm=["locale","fallbackLocale","availableLocales"],dc=["t","rt","d","n","tm","te"];function Qm(e,t){const o=Object.create(null);return Zm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Fe(Oe.UNEXPECTED_ERROR);const r=Le(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,dc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Fe(Oe.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,dc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Nm(),__INTLIFY_JIT_COMPILATION__?El(wm):El(km),hm(Yh),mm(kl),__INTLIFY_PROD_DEVTOOLS__){const e=jt();e.__INTLIFY__=!0,am(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const eb=Object.assign({"./locales/ar/aria.json":Op,"./locales/ar/buttons.json":xp,"./locales/ar/detail.json":Fp,"./locales/ar/legend.json":Dp,"./locales/ar/messages.json":Gp,"./locales/ar/options.json":Bp,"./locales/ar/popup.json":jp,"./locales/ar/prayerLaps.json":Up,"./locales/ar/regions.json":Kp,"./locales/ar/search.json":zp,"./locales/ar/tabs.json":Vp,"./locales/de/aria.json":Hp,"./locales/de/buttons.json":qp,"./locales/de/detail.json":Wp,"./locales/de/legend.json":Yp,"./locales/de/messages.json":Jp,"./locales/de/options.json":Xp,"./locales/de/popup.json":Zp,"./locales/de/prayerLaps.json":Qp,"./locales/de/regions.json":ed,"./locales/de/search.json":td,"./locales/de/tabs.json":od,"./locales/en/aria.json":nd,"./locales/en/buttons.json":ad,"./locales/en/detail.json":sd,"./locales/en/legend.json":rd,"./locales/en/messages.json":id,"./locales/en/options.json":ld,"./locales/en/popup.json":cd,"./locales/en/prayerLaps.json":ud,"./locales/en/regions.json":gd,"./locales/en/search.json":pd,"./locales/en/tabs.json":dd,"./locales/es/aria.json":fd,"./locales/es/buttons.json":hd,"./locales/es/detail.json":md,"./locales/es/legend.json":bd,"./locales/es/messages.json":yd,"./locales/es/options.json":_d,"./locales/es/popup.json":$d,"./locales/es/prayerLaps.json":Ad,"./locales/es/regions.json":Sd,"./locales/es/search.json":vd,"./locales/es/tabs.json":kd,"./locales/fr/aria.json":wd,"./locales/fr/buttons.json":Pd,"./locales/fr/detail.json":Ld,"./locales/fr/legend.json":Td,"./locales/fr/messages.json":Ed,"./locales/fr/options.json":Cd,"./locales/fr/popup.json":Nd,"./locales/fr/prayerLaps.json":Md,"./locales/fr/regions.json":Rd,"./locales/fr/search.json":Id,"./locales/fr/tabs.json":Od,"./locales/hi/aria.json":xd,"./locales/hi/buttons.json":Fd,"./locales/hi/detail.json":Dd,"./locales/hi/legend.json":Gd,"./locales/hi/messages.json":Bd,"./locales/hi/options.json":jd,"./locales/hi/popup.json":Ud,"./locales/hi/prayerLaps.json":Kd,"./locales/hi/regions.json":zd,"./locales/hi/search.json":Vd,"./locales/hi/tabs.json":Hd,"./locales/it/aria.json":qd,"./locales/it/buttons.json":Wd,"./locales/it/detail.json":Yd,"./locales/it/legend.json":Jd,"./locales/it/messages.json":Xd,"./locales/it/options.json":Zd,"./locales/it/popup.json":Qd,"./locales/it/prayerLaps.json":ef,"./locales/it/regions.json":tf,"./locales/it/search.json":of,"./locales/it/tabs.json":nf,"./locales/pt/aria.json":af,"./locales/pt/buttons.json":sf,"./locales/pt/detail.json":rf,"./locales/pt/legend.json":lf,"./locales/pt/messages.json":cf,"./locales/pt/options.json":uf,"./locales/pt/popup.json":gf,"./locales/pt/prayerLaps.json":pf,"./locales/pt/regions.json":df,"./locales/pt/search.json":ff,"./locales/pt/tabs.json":hf,"./locales/ro/aria.json":mf,"./locales/ro/buttons.json":bf,"./locales/ro/detail.json":yf,"./locales/ro/legend.json":_f,"./locales/ro/messages.json":$f,"./locales/ro/options.json":Af,"./locales/ro/popup.json":Sf,"./locales/ro/prayerLaps.json":vf,"./locales/ro/regions.json":kf,"./locales/ro/search.json":wf,"./locales/ro/tabs.json":Pf,"./locales/ru/aria.json":Lf,"./locales/ru/buttons.json":Tf,"./locales/ru/detail.json":Ef,"./locales/ru/legend.json":Cf,"./locales/ru/messages.json":Nf,"./locales/ru/options.json":Mf,"./locales/ru/popup.json":Rf,"./locales/ru/prayerLaps.json":If,"./locales/ru/regions.json":Of,"./locales/ru/search.json":xf,"./locales/ru/tabs.json":Ff,"./locales/zh/aria.json":Df,"./locales/zh/buttons.json":Gf,"./locales/zh/detail.json":Bf,"./locales/zh/legend.json":jf,"./locales/zh/messages.json":Uf,"./locales/zh/options.json":Kf,"./locales/zh/popup.json":zf,"./locales/zh/prayerLaps.json":Vf,"./locales/zh/regions.json":Hf,"./locales/zh/search.json":qf,"./locales/zh/tabs.json":Wf}),bn={};for(const[e,t]of Object.entries(eb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;bn[n]??(bn[n]={}),bn[n][a]=t}const Ts=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],tb=new Set(["ar"]);function ob(){var n;const e=(()=>{try{const a=new URLSearchParams(window.location.search);return(a.get("lang")||a.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(Ts.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Ts.includes(o)?o:"en"}function nb(){const e=ob();try{tb.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return Km({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:bn,missingWarn:!1,fallbackWarn:!1})}function Oo(e,t){const o=t||ab(e);wo(()=>{var i;const n=Gt();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}function ab(e){let t=0;for(let o=0;ot[k]||k,n=()=>!1;try{const k=mn();o=k.t,n=k.te}catch{}const a=Re("uiStore",null),s=Re("profileConfig",null),r=he(()=>(a==null?void 0:a.theme)==="dark"),i=he(()=>{var B;const k=(B=s==null?void 0:s.value)==null?void 0:B.pinHintLabel;if(k)return k;const m="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?o("messages.pinHint.tapDot"):m}catch{return m}}),l=se(!1),c=se(null);let u=null,d=null,h=null,y=null,P=null,A=null,N=[],M=null,w=null;function $(){l.value=!1}function _(k,m){var j;let B=k==null?void 0:k.parentElement;for(let K=0;B&&K<12;K++,B=B.parentElement){if(B===m||(j=B.classList)!=null&&j.contains("profile-loader"))return null;let Y="";try{Y=getComputedStyle(B).position}catch{}if(Y&&Y!=="static"){const Z=B.getBoundingClientRect();if(Z.height>=120&&Z.width>=160)return B}}return null}function E(k){var B;const m=(B=y==null?void 0:y.querySelector)==null?void 0:B.call(y,".legend-mobile-sheet");if(!m)return 1/0;if(P&&A!==m){try{P.disconnect()}catch{}P=null}if(!P&&typeof ResizeObserver<"u")try{P=new ResizeObserver(()=>S()),P.observe(m),A=m}catch{P=null}try{const j=m.getBoundingClientRect();return!(j.height>16)||!(j.width>16)||k.right<=j.left||j.right<=k.left?1/0:j.top}catch{return 1/0}}function S(){const k=c.value;if(k)try{k.style.removeProperty("--pin-hint-lift");const m=k.getBoundingClientRect();if(!m.height)return;const B=Math.min(window.innerHeight,E(m)),j=Math.round(m.bottom-B);j>0&&k.style.setProperty("--pin-hint-lift",j+8+"px")}catch{}}function L(k){const m=c.value;if(!m||!(k!=null&&k.querySelector))return;let B=0;try{const K=k.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(K){const Y=K.getBoundingClientRect(),Z=m.parentElement,F=Z?Z.getBoundingClientRect():null;if(B=F?Math.max(Y.height||0,F.bottom-Y.top):Y.height||0,w!==K&&typeof ResizeObserver<"u"){if(h)try{h.disconnect()}catch{}w=K,h=new ResizeObserver(()=>L(k)),h.observe(K)}}}catch{}const j=Math.min(Math.max(Math.ceil(B)||20,20),72);m.style.setProperty("--pin-hint-attrib-clear",j+"px"),S()}return wo(()=>{var j,K,Y;const k=Gt(),m=(Y=(K=(j=k==null?void 0:k.proxy)==null?void 0:j.$el)==null?void 0:K.getRootNode)==null?void 0:Y.call(K);if(!m||typeof m.querySelector!="function")return;y=m;let B=0;u=setInterval(()=>{B++;const Z=m.querySelector("canvas");Z?(clearInterval(u),u=null,l.value=!0,Yo(()=>{const F=_(Z,m),x=c.value;if(F&&x&&x.parentElement!==F)try{F.appendChild(x),d=F}catch{}L(m),S(),N.push(setTimeout(S,1200),setTimeout(S,3e3),setTimeout(S,6e3));try{const U=c.value&&c.value.offsetParent||null;if(U&&typeof ResizeObserver<"u"){if(M)try{M.disconnect()}catch{}M=new ResizeObserver(()=>S()),M.observe(U)}}catch{}})):B>40&&(clearInterval(u),u=null)},300)}),en(()=>{var k;if(u&&clearInterval(u),h){try{h.disconnect()}catch{}h=null}if(w=null,M){try{M.disconnect()}catch{}M=null}if(P){try{P.disconnect()}catch{}P=null}A=null;for(const m of N)clearTimeout(m);if(N=[],y=null,d&&((k=c.value)==null?void 0:k.parentElement)===d)try{d.removeChild(c.value)}catch{}d=null}),Oo(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -68,9 +68,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(v,w)=>i.value?(ye(),Le("div",{key:0,ref_key:"hintEl",ref:l,class:Ye(["pin-hint",{dark:s.value}]),role:"status"},[Q("span",ab,[w[0]||(w[0]=Q("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),pt(" "+Je(r.value)+" ",1),Q("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:L},"×")])],2)):Ot("",!0)}};let rb=0;const ib=ss("ui",{state:()=>({_storeInstanceId:++rb,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),lb=ss("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),cb=ss("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Vo({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Vo({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),fc={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},ub=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",gb=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},pb={class:"profile-loader"},db={key:0,class:"profile-error"},fb={key:1,class:"profile-error"},hb=gb({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var E;const o=e,n=Ne("profileConfig",null),a=he(()=>{var v;if(!o.profileConfig)return null;let k;try{k=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(k&&k.assetsBase===void 0){const w=(v=n==null?void 0:n.value)==null?void 0:v.assetsBase;typeof w=="string"&&w&&(k.assetsBase=w)}return k}),s=he(()=>{var k;return((k=a.value)==null?void 0:k.profile)||null}),r=Mp(),i=he(()=>{var v;const k=(v=a.value)==null?void 0:v.tk;return typeof k=="string"&&k?k:r.value||""});Rt(()=>{var k;return(k=a.value)==null?void 0:k.tk},k=>{typeof k=="string"&&k&&Zi(k)},{immediate:!0});const l=he(()=>{var k;return((k=a.value)==null?void 0:k.dataSource)||fc.activeSource||"doxa-csv"}),c=he(()=>{var k;return((k=a.value)==null?void 0:k.colorSet)||"default"}),u=he(()=>!1),d=he(()=>{var k;return((k=a.value)==null?void 0:k.pinHint)!==!1}),h=he(()=>{var v,w;const k=(((v=a.value)==null?void 0:v.locale)||((w=a.value)==null?void 0:w.lang)||"").split("-")[0].toLowerCase();return Ts.includes(k)?k:""}),y=Ne("appI18n",null);zu(()=>{h.value&&y&&(y.global.locale.value=h.value)});const T=he(()=>{var k,v;return h.value||((v=(k=y==null?void 0:y.global)==null?void 0:k.locale)==null?void 0:v.value)||"en"}),A=he(()=>{var k;return((k=a.value)==null?void 0:k.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),P=Ne("profileModules",null);if(!P)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const M=he(()=>{if(!s.value)return null;const k=`./${s.value}.vue`;return P[k]?Rp(P[k]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(P)),null)});at("mapboxToken",i),at("dataSource",l),at("colorSet",c),at("profileConfig",a),at("instanceId",A),at("lang",T);const L=ib(),_=lb(),$=cb();try{const k=typeof localStorage<"u"?localStorage.getItem("theme"):null;k&&((E=L.setTheme)==null||E.call(L,k))}catch{}return at("uiStore",L),at("mapStore",_),at("dataStore",$),(k,v)=>(ye(),Le("div",pb,[a.value?M.value?(ye(),go(Yr(M.value),{key:2})):(ye(),Le("div",fb,[Q("p",null,[v[1]||(v[1]=pt("⚠️ Profile ",-1)),Q("strong",null,'"'+Je(s.value)+'"',1),v[2]||(v[2]=pt(" not found.",-1))])])):(ye(),Le("div",db,[...v[0]||(v[0]=[Q("p",null,[pt("⚠️ "),Q("strong",null,"doxa-map"),pt(": missing or invalid "),Q("code",null,"profile-config"),pt(" prop.")],-1),Q("p",null,[pt("Example: "),Q("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),M.value&&u.value?(ye(),go(Yr(Mt(null)),{key:3})):Ot("",!0),M.value&&d.value?(ye(),go(sb,{key:4})):Ot("",!0)]))}},[["styles",[ub]],["__scopeId","data-v-ba19fc13"]]),mb=Object.assign({"./all-people-groups.vue":()=>qc(()=>Promise.resolve().then(()=>Hy),void 0)}),bb=_p(hb,{configureApp(e){e.use(wp());const t=ob();e.use(t),e.provide("appI18n",t),e.provide("profileModules",mb)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",bb);const yb="rgba(120, 128, 134, 0.28)",hc="36px",mc=()=>{};function _b(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return mc;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return mc;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of n)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${yb} ${hc}, transparent ${hc})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},r=L=>{L.style.opacity="0"},i=()=>n.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const L of n)l.has(L)||r(L)},h=()=>{const L=i();L&&(s(L),u&&clearTimeout(u),u=setTimeout(d,250))},y=()=>h(),T=L=>{if(!(L.touches&&L.touches.length===1))return;const _=L.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||h()},A=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",y,{passive:!0}),e.addEventListener("touchmove",T,{passive:!0}),e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});const P=()=>{c||h()};typeof window<"u"&&window.addEventListener("scroll",P,{passive:!0});const M=[];for(const L of n){const _=()=>{l.add(L),s(L)},$=()=>{l.delete(L),r(L)},E=()=>{c=!0,s(L)},k=()=>{c=!1,r(L)};L.addEventListener("mouseenter",_),L.addEventListener("mouseleave",$),L.addEventListener("touchstart",E,{passive:!0}),L.addEventListener("touchend",k,{passive:!0}),M.push(()=>{L.removeEventListener("mouseenter",_),L.removeEventListener("mouseleave",$),L.removeEventListener("touchstart",E),L.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",y),e.removeEventListener("touchmove",T),e.removeEventListener("touchend",A),e.removeEventListener("touchcancel",A),typeof window<"u"&&window.removeEventListener("scroll",P);for(const _ of M)_();for(const _ of n)r(_)}}const $b=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Ab(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=$b[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function vb(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const Sb=["mapbox","maplibre"],bc="mapbox";function kb(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function yc(e){const t=kb(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(o||n||a||bc).toLowerCase().trim();return Sb.includes(s)?s:bc}const xo={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function _c(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const wb=xo.mapbox.css,Pb="https://tiles.openfreemap.org/styles/liberty",Tb="https://tiles.openfreemap.org/styles/fiord";function Ls(e){var o;const t=((o=xo[e])==null?void 0:o.global)||xo.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Lb(e){const t=xo[e]||xo.mapbox;if(Ls(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ls(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Eb(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),o.prepend(s)}),n(2e3)])}function Cb(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Tb:Pb}const Nb=85.0511,Es=-2,Mb=0,Rb=-60;function $c(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Ib(e,t,o,n){if(!e||e<=0||!t||t<=0)return Mb;const a=Math.log2(e/512),s=$c(n)-$c(Nb),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(Es,Math.min(i,(o??18)-1))}function xb({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,minZoom:i=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:d=0,renderWorldCopies:h=!0,showEdgeBorders:y=!0,southCutoff:T=Rb,maxBounds:A=void 0}){const P=Ea(null),M=ie(!1);let L=null,_=null,$=null,E=null;try{E=Ne("profileConfig",null)}catch{}a=a||yc(E);const k=a==="maplibre";async function v(){var me;const m=Ab(o,a),G=m.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Lb(a);const K=Ls(a);if(!K){console.error(`[useMapInstance] ${k?"maplibregl":"mapboxgl"} is not available. Add the ${k?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!k){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Eb(e.value,k?xo.maplibre.css:wb),await new Promise(oe=>requestAnimationFrame(oe));const j=e.value,Y=j.clientWidth,le=j.clientHeight;if(Y===0||le===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Y}×${le}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=j.parentElement,re=0;for(;oe&&re<5;)oe=oe.parentElement,re++}const F=t;k||(K.accessToken=F);const O=()=>typeof window<"u"&&window.innerWidth>=1024,U=(oe,re)=>{if(l)return typeof i=="number"?i:Es;if(!O())return Es;const Ie=Ib(oe,re,c,T);return typeof i=="number"?Math.max(i,Ie):Ie},J=U(j.clientWidth,j.clientHeight),ge=m.lightPreset||(()=>{var oe;try{const re=typeof n=="function"?n():n;return(oe=re==null?void 0:re.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(k){P.value=new K.Map({container:e.value,style:Cb(G,ge),center:s,zoom:r,minZoom:J,maxZoom:c,pitch:u,bearing:d,dragRotate:!1,renderWorldCopies:h,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),_c(P.value);try{e.value.__doxaMap=P.value}catch{}}else{const oe=typeof n=="function"?n():n;P.value=new K.Map({accessToken:F,container:e.value,style:G,...oe?{config:oe}:{},center:s,zoom:r,minZoom:J,maxZoom:c,pitch:u,bearing:d,dragRotate:!1,touchPitch:!1,renderWorldCopies:h,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),_c(P.value);try{e.value.__doxaMap=P.value}catch{}}try{let oe=!1;P.value.on("error",re=>{var tt,it;const Ie=((tt=re==null?void 0:re.error)==null?void 0:tt.status)??(re==null?void 0:re.status),Fe=String(((it=re==null?void 0:re.error)==null?void 0:it.url)||(re==null?void 0:re.sourceId)||"");Ie!==401&&Ie!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${Ie} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Fe?` First failing request: ${Fe.slice(0,120)}`:"")))})}catch{}try{P.value.touchZoomRotate.disableRotation()}catch{}$=_b(((me=e.value)==null?void 0:me.parentElement)||null,{enabled:y});let te=J,se=null;L=()=>{const oe=P.value;if(!oe)return;const re=U(j.clientWidth,j.clientHeight);re!==te&&(te=re,oe.setMinZoom(re)),oe.getZoom(){se=null;const Ie=P.value;if(!Ie)return;const Fe=U(j.clientWidth,j.clientHeight);if(Ie.getZoom(){se&&(clearTimeout(se),se=null)},P.value.on("resize",L),typeof window<"u"&&(window.addEventListener("resize",L),window.addEventListener("orientationchange",L)),P.value.on("style.load",()=>{if(m.paint&&P.value){const oe=vb(P.value,m.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=P.value)==null||oe.resize(),P.value&&P.value.setMinZoom(U(j.clientWidth,j.clientHeight)),M.value=!0})})}function w(){if(P.value){if(L&&(P.value.off("resize",L),typeof window<"u"&&(window.removeEventListener("resize",L),window.removeEventListener("orientationchange",L)),L=null),_){try{_()}catch{}_=null}$&&($(),$=null),P.value.remove(),P.value=null,M.value=!1}}return{map:P,isMapReady:M,initializeMap:v,destroy:w}}const Ac="doxa-prayed-local",Ob=7*24*60*60*1e3;function Fb(){try{const e=localStorage.getItem(Ac);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Db(e){try{localStorage.setItem(Ac,JSON.stringify(e))}catch{}}function Bb(){const e=Date.now(),t=Fb();let o=!1;for(const[n,a]of Object.entries(t))(typeof a!="number"||e-a>Ob)&&(delete t[n],o=!0);return o&&Db(t),new Set(Object.keys(t))}function Gb(e){const t=Bb();return!t.size||!Array.isArray(e)?e:e.map(o=>(Number(o&&o.peoplePraying)||0)>0||!o||!t.has(o.slug)?o:{...o,peoplePraying:1})}const to={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},vc={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Cs="languageFamily",jb="#000000",oo={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Ub=oo;function Ns(e){return oo[e]||jb}const Kb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(oo))t[e(o)]=o;return t})(),zb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Ms(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return zb[o]||Kb[o]||t}function Sc(e){var t;return Ns(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Rs(){const e=["match",["get",Cs]];return Object.entries(oo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const kc=Rs,Vb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Ub,PALETTE:oo,PROPERTY_KEY:Cs,applyColor:Rs,buildColorExpression:kc,canonicalFamilyName:Ms,default:{name:"Language Family",propertyKey:Cs,palette:oo,colors:oo,getColor:Sc,applyColor:Rs,buildColorExpression:kc,getLanguageFamilyColor:Ns,canonicalFamilyName:Ms},defaultFamilyColor:"#95a5a6",getColor:Sc,getLanguageFamilyColor:Ns,languageFamilyColors:oo},Symbol.toStringTag,{value:"Module"})),wc="adoptionStatus",Kt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Hb=Kt,Is={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},qb=Is;function Pc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Kt.hasAdoption:Kt.notAdopted}function xs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Kt.hasAdoption,["==",t,1],Kt.hasAdoption,Kt.notAdopted]}const Tc=xs,Wb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Hb,ADOPTION_LABELS:qb,LABELS:Is,PALETTE:Kt,PROPERTY_KEY:wc,applyColor:xs,buildColorExpression:Tc,default:{name:"Adoption Progress",propertyKey:wc,palette:Kt,colors:Kt,labels:Is,getColor:Pc,applyColor:xs,buildColorExpression:Tc},getColor:Pc},Symbol.toStringTag,{value:"Module"})),Lc="engagementStatus",zt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Yb=zt,Os={notEngaged:"Unengaged",hasEngagement:"Engaged"},Jb=Os;function Ec(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?zt.hasEngagement:zt.notEngaged}function Fs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],zt.hasEngagement,["==",t,1],zt.hasEngagement,zt.notEngaged]}const Cc=Fs,Xb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Yb,ENGAGEMENT_LABELS:Jb,LABELS:Os,PALETTE:zt,PROPERTY_KEY:Lc,applyColor:Fs,buildColorExpression:Cc,default:{name:"Engagement Progress",propertyKey:Lc,palette:zt,colors:zt,labels:Os,getColor:Ec,applyColor:Fs,buildColorExpression:Cc},getColor:Ec},Symbol.toStringTag,{value:"Module"})),Nc="peoplePraying",ua=144,no={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Zb=no,Ds={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Qb=Ds;function ga(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=ua?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Bs(e){return no[ga(e)]}function Mc(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Rc(e){return ga(e)==="fullPrayer"}function Ic(e){return Bs(e)}function Gs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,ua],no.fullPrayer,[">",t,0],no.hasPrayer,no.noPrayer]}const xc=Gs,ey=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:ua,LABELS:Ds,PALETTE:no,PRAYER_COLORS:Zb,PRAYER_LABELS:Qb,PROPERTY_KEY:Nc,applyColor:Gs,buildColorExpression:xc,checkHasFullPrayer:Rc,checkHasPrayer:Mc,default:{name:"Prayer Progress",propertyKey:Nc,palette:no,colors:no,labels:Ds,threshold:ua,getColor:Ic,applyColor:Gs,buildColorExpression:xc,getPrayerLevel:ga,getPrayerColor:Bs,checkHasPrayer:Mc,checkHasFullPrayer:Rc},getColor:Ic,getPrayerColor:Bs,getPrayerLevel:ga},Symbol.toStringTag,{value:"Module"})),Oc="religion",js="#94a3b8",Us={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},rt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Fc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Us[t]?t:"U"}function Dc(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return rt[Fc(t)]||js}function Ks(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",rt.C,"M",rt.M,"H",rt.H,"B",rt.B,"E",rt.E,"J",rt.J,"S",rt.S,"N",rt.N,"O",rt.O,js]}const Bc=Ks,ty=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:rt,PROPERTY_KEY:Oc,RELIGION_FAMILIES:Us,applyColor:Ks,buildColorExpression:Bc,default:{name:"Religion",propertyKey:Oc,palette:rt,families:Us,getColor:Dc,applyColor:Ks,buildColorExpression:Bc,fallback:js},getColor:Dc,getReligionFamily:Fc},Symbol.toStringTag,{value:"Module"})),Gc="region",zs="#6d766e",jc={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},bn={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},Vs=Object.keys(bn);function Uc(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return bn[t]||zs}function Hs(){const e=["match",["coalesce",["get","region"],""]];for(const t of Vs)e.push(t,bn[t]);return e.push(zs),e}const Kc=Hs,oy=Object.assign({"./adoption.js":Wb,"./engagement.js":Xb,"./language-family.js":Vb,"./prayer-progress.js":ey,"./religion.js":ty,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:bn,PROPERTY_KEY:Gc,REGION_ORDER:Vs,WAGF_REGIONS:jc,applyColor:Hs,buildColorExpression:Kc,default:{name:"WAGF Region",propertyKey:Gc,palette:bn,regions:jc,order:Vs,getColor:Uc,applyColor:Hs,buildColorExpression:Kc,fallback:zs},getColor:Uc},Symbol.toStringTag,{value:"Module"}))}),ny=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),ay=e=>e.replace(/-/g,"_").toUpperCase(),sy={...{STATUS:"status",CUSTOM:"custom"}};function ry(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith(".")||!e[t].default)continue;const a=ny(o);sy[ay(o)]=a}}ry(oy);function qs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const iy=[[/ sign language$/i,"Sign Language"]];function ly(e){var i,l;const t=qs(e.languageFamily);if(t)return t;const o=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(o&&vc[o])return vc[o];const n=qs(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(to[c])return to[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(to[u])return to[u]}}if(to[a])return to[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&to[r])return to[r];for(const[c,u]of iy)if(c.test(a))return u;return""}function cy(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=v=>v}=e;n||console.error("useMapData: dataSourceManager is required!");const r=ie(!1),i=ie(null),l=ie(!1),c=ie([]),u=ie([]),d=ie(null),h=ie([]),y=ie([]),T=ie([]),A=ie(null);async function P(){if(!n)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const F=a.getSourceData(o);u.value=s(F.normalizedData||[])}else{const F=await n.setActiveSource(o);for(const O of F){const U=qs(O.language||O.primary_language);U&&(O.language=U);const J=ly(O);O.languageFamily=Ms(J)}u.value=s(F),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:F,timestamp:Date.now()})}c.value=s(Gb(u.value.map(F=>({id:F.uniqueId,slug:F.slug||"",rop3:F.peopleGroupId,peopleId3:F.peopleId3,name:F.name,language:F.language,languageFamily:F.languageFamily,country:F.country,population:F.population,status:F.engagementStatus||F.status,latitude:F.latitude,longitude:F.longitude,lng:F.longitude,lat:F.latitude,description:F.description,imageUrl:F.imageUrl,doxaRegion:F.doxaRegion||F.wagfRegion||"",peoplePraying:F.peoplePraying??null,_normalized:F}))));const v=n.getDataByLanguageFamily();h.value=Object.entries(v).map(([F,O])=>{const U=O.reduce((J,ge)=>{const te=parseInt(ge.population)||0;return J+te},0);return{name:F,count:O.length,peopleGroupCount:O.length,population:U,groups:O}}).sort((F,O)=>O.count-F.count);const w=n.getDataByRegion();y.value=Object.entries(w).map(([F,O])=>{const U=O.reduce((J,ge)=>{const te=parseInt(ge.population)||0;return J+te},0);return{name:F,count:O.length,peopleGroupCount:O.length,population:U,groups:O}}).sort((F,O)=>F.name.localeCompare(O.name));const m={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(F=>{const O=parseInt(F.population)||0;let U=!1;F.bible==="Available"&&(m.bible.count++,m.bible.population+=O,m.bible.groups.push(F),U=!0),F.jesusFilm==="Available"&&(m.jesusFilm.count++,m.jesusFilm.population+=O,m.jesusFilm.groups.push(F),U=!0),F.radio==="Available"&&(m.radio.count++,m.radio.population+=O,m.radio.groups.push(F),U=!0),F.gospel==="Available"&&(m.gospel.count++,m.gospel.population+=O,m.gospel.groups.push(F),U=!0),F.audio==="Available"&&(m.audio.count++,m.audio.population+=O,m.audio.groups.push(F),U=!0),F.stories==="Available"&&(m.stories.count++,m.stories.population+=O,m.stories.groups.push(F),U=!0),U?(m.hasResources.count++,m.hasResources.population+=O,m.hasResources.groups.push(F)):(m.noResources.count++,m.noResources.population+=O,m.noResources.groups.push(F))});const G=u.value.length,K=u.value.reduce((F,O)=>F+(parseInt(O.population)||0),0),j={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Y={bible:{count:G-m.bible.count,population:K-m.bible.population},jesusFilm:{count:G-m.jesusFilm.count,population:K-m.jesusFilm.population},radio:{count:G-m.radio.count,population:K-m.radio.population},gospel:{count:G-m.gospel.count,population:K-m.gospel.population},audio:{count:G-m.audio.count,population:K-m.audio.population},stories:{count:G-m.stories.count,population:K-m.stories.population}},le="#2c3e50";return T.value=[{name:j.bible,key:"bible",count:m.bible.count,population:m.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:Y.bible.count,population:Y.bible.population,color:le}]},{name:j.jesusFilm,key:"jesusFilm",count:m.jesusFilm.count,population:m.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:Y.jesusFilm.count,population:Y.jesusFilm.population,color:le}]},{name:j.radio,key:"radio",count:m.radio.count,population:m.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:Y.radio.count,population:Y.radio.population,color:le}]},{name:j.gospel,key:"gospel",count:m.gospel.count,population:m.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:Y.gospel.count,population:Y.gospel.population,color:le}]},{name:j.audio,key:"audio",count:m.audio.count,population:m.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:Y.audio.count,population:Y.audio.population,color:le}]},{name:j.stories,key:"stories",count:m.stories.count,population:m.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:Y.stories.count,population:Y.stories.population,color:le}]},{name:j.hasResources,key:"hasResources",count:m.hasResources.count,population:m.hasResources.population,isParent:!0,children:[{name:j.noResources,key:"noResources",count:m.noResources.count,population:m.noResources.population,color:le}]}],A.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:h.value,doxaRegionsData:y.value,resourcesData:T.value,stats:A.value}}catch(v){throw console.error(`Failed to load data for map "${t}":`,v),i.value=v.message||"Failed to load data",v}finally{r.value=!1}}async function M(){var v,w,m;try{const G={},K=u.value||[];for(const j of K){const Y=j.countryIso||((w=(v=j._raw)==null?void 0:v.country_code)==null?void 0:w.value)||"",le=(m=j._raw)==null?void 0:m.wagf_region,F=j.doxaRegion||j.wagfRegion||(le&&typeof le=="object"?le.value:"")||"";Y&&F&&!G[Y]&&(G[Y]=F)}return d.value={isoToRegion:G},d.value}catch(G){throw console.error(`Error building regions data for map "${t}":`,G),i.value=G.message||"Failed to build regions",G}}function L(){return n?n.getDataByLanguageFamily():{}}function _(){return n?n.getDataByRegion():{}}function $(v){return L()[v]||[]}function E(v){return _()[v]||[]}function k(){c.value=[],u.value=[],d.value=null,h.value=[],y.value=[],T.value=[],A.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:d,languageFamiliesData:h,doxaRegionsData:y,resourcesData:T,stats:A,loadData:P,loadRegionsData:M,getDataByLanguageFamily:L,getDataByRegion:_,getPeopleGroupsByFamily:$,getPeopleGroupsByRegion:E,clearData:k}}const Ws={};function uy(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:mo&&mo.tagName.toUpperCase()==="SCRIPT"&&mo.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ws==null?void 0:Ws.VITE_API_BASE_URL)||""}class zc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=fc,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let a="",s=!1,r=[],i=!0;for(let l=0;ll.value?(ye(),Ee("div",{key:0,ref_key:"hintEl",ref:c,class:Ze(["pin-hint",{dark:r.value}]),role:"status"},[te("span",sb,[m[0]||(m[0]=te("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),dt(" "+Qe(i.value)+" ",1),te("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:$},"×")])],2)):Ft("",!0)}};let ib=0;const lb=rs("ui",{state:()=>({_storeInstanceId:++ib,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),cb=rs("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),ub=rs("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Ho({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Ho({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),fc={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},gb=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",pb=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},db={class:"profile-loader"},fb={key:0,class:"profile-error"},hb={key:1,class:"profile-error"},mb=pb({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var E;const o=e,n=Re("profileConfig",null),a=he(()=>{var L;if(!o.profileConfig)return null;let S;try{S=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(S&&S.assetsBase===void 0){const k=(L=n==null?void 0:n.value)==null?void 0:L.assetsBase;typeof k=="string"&&k&&(S.assetsBase=k)}return S}),s=he(()=>{var S;return((S=a.value)==null?void 0:S.profile)||null}),r=Rp(),i=he(()=>{var L;const S=(L=a.value)==null?void 0:L.tk;return typeof S=="string"&&S?S:r.value||""});It(()=>{var S;return(S=a.value)==null?void 0:S.tk},S=>{typeof S=="string"&&S&&Zi(S)},{immediate:!0});const l=he(()=>{var S;return((S=a.value)==null?void 0:S.dataSource)||fc.activeSource||"doxa-csv"}),c=he(()=>{var S;return((S=a.value)==null?void 0:S.colorSet)||"default"}),u=he(()=>!1),d=he(()=>{var S;return((S=a.value)==null?void 0:S.pinHint)!==!1}),h=he(()=>{var L,k;const S=(((L=a.value)==null?void 0:L.locale)||((k=a.value)==null?void 0:k.lang)||"").split("-")[0].toLowerCase();return Ts.includes(S)?S:""}),y=Re("appI18n",null);Vu(()=>{h.value&&y&&(y.global.locale.value=h.value)});const P=he(()=>{var S,L;return h.value||((L=(S=y==null?void 0:y.global)==null?void 0:S.locale)==null?void 0:L.value)||"en"}),A=he(()=>{var S;return((S=a.value)==null?void 0:S.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),N=Re("profileModules",null);if(!N)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const M=he(()=>{if(!s.value)return null;const S=`./${s.value}.vue`;return N[S]?Ip(N[S]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(N)),null)});rt("mapboxToken",i),rt("dataSource",l),rt("colorSet",c),rt("profileConfig",a),rt("instanceId",A),rt("lang",P);const w=lb(),$=cb(),_=ub();try{const S=typeof localStorage<"u"?localStorage.getItem("theme"):null;S&&((E=w.setTheme)==null||E.call(w,S))}catch{}return rt("uiStore",w),rt("mapStore",$),rt("dataStore",_),(S,L)=>(ye(),Ee("div",db,[a.value?M.value?(ye(),po(Yr(M.value),{key:2})):(ye(),Ee("div",hb,[te("p",null,[L[1]||(L[1]=dt("⚠️ Profile ",-1)),te("strong",null,'"'+Qe(s.value)+'"',1),L[2]||(L[2]=dt(" not found.",-1))])])):(ye(),Ee("div",fb,[...L[0]||(L[0]=[te("p",null,[dt("⚠️ "),te("strong",null,"doxa-map"),dt(": missing or invalid "),te("code",null,"profile-config"),dt(" prop.")],-1),te("p",null,[dt("Example: "),te("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),M.value&&u.value?(ye(),po(Yr(Rt(null)),{key:3})):Ft("",!0),M.value&&d.value?(ye(),po(rb,{key:4})):Ft("",!0)]))}},[["styles",[gb]],["__scopeId","data-v-ba19fc13"]]),bb=Object.assign({"./all-people-groups.vue":()=>Wc(()=>Promise.resolve().then(()=>qy),void 0)}),yb=$p(mb,{configureApp(e){e.use(Pp());const t=nb();e.use(t),e.provide("appI18n",t),e.provide("profileModules",bb)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",yb);const _b="rgba(120, 128, 134, 0.28)",hc="36px",mc=()=>{};function $b(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return mc;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return mc;const a=w=>w.classList.contains("map-scroll-edge--left");for(const w of n)w.style.background=`linear-gradient(${a(w)?"to right":"to left"}, ${_b} ${hc}, transparent ${hc})`,w.style.opacity="0",w.style.transition="opacity 0.16s ease",w.style.userSelect="none",w.style.webkitUserSelect="none";const s=w=>{w.style.opacity="1"},r=w=>{w.style.opacity="0"},i=()=>n.find(w=>!a(w))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const w of n)l.has(w)||r(w)},h=()=>{const w=i();w&&(s(w),u&&clearTimeout(u),u=setTimeout(d,250))},y=()=>h(),P=w=>{if(!(w.touches&&w.touches.length===1))return;const $=w.target;$&&$.classList&&$.classList.contains("map-scroll-edge")||h()},A=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",y,{passive:!0}),e.addEventListener("touchmove",P,{passive:!0}),e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});const N=()=>{c||h()};typeof window<"u"&&window.addEventListener("scroll",N,{passive:!0});const M=[];for(const w of n){const $=()=>{l.add(w),s(w)},_=()=>{l.delete(w),r(w)},E=()=>{c=!0,s(w)},S=()=>{c=!1,r(w)};w.addEventListener("mouseenter",$),w.addEventListener("mouseleave",_),w.addEventListener("touchstart",E,{passive:!0}),w.addEventListener("touchend",S,{passive:!0}),M.push(()=>{w.removeEventListener("mouseenter",$),w.removeEventListener("mouseleave",_),w.removeEventListener("touchstart",E),w.removeEventListener("touchend",S)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",y),e.removeEventListener("touchmove",P),e.removeEventListener("touchend",A),e.removeEventListener("touchcancel",A),typeof window<"u"&&window.removeEventListener("scroll",N);for(const $ of M)$();for(const $ of n)r($)}}const Ab=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Sb(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=Ab[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function vb(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const kb=["mapbox","maplibre"],bc="mapbox";function wb(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function yc(e){const t=wb(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(o||n||a||bc).toLowerCase().trim();return kb.includes(s)?s:bc}const xo={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function _c(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Pb=xo.mapbox.css,Lb="https://tiles.openfreemap.org/styles/liberty",Tb="https://tiles.openfreemap.org/styles/fiord";function Es(e){var o;const t=((o=xo[e])==null?void 0:o.global)||xo.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Eb(e){const t=xo[e]||xo.mapbox;if(Es(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Es(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Cb(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),o.prepend(s)}),n(2e3)])}function Nb(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Tb:Lb}const Mb=85.0511,Cs=-2,Rb=0,Ib=-60;function $c(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Ob(e,t,o,n){if(!e||e<=0||!t||t<=0)return Rb;const a=Math.log2(e/512),s=$c(n)-$c(Mb),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(Cs,Math.min(i,(o??18)-1))}function xb({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:d=18,pitch:h=0,bearing:y=0,renderWorldCopies:P=!0,showEdgeBorders:A=!0,southCutoff:N=Ib,maxBounds:M=void 0}){const w=Ca(null),$=se(!1);let _=null,E=null,S=null,L=null;try{L=Re("profileConfig",null)}catch{}a=a||yc(L);const k=a==="maplibre";async function m(){var De;const j=Sb(o,a),K=j.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Eb(a);const Y=Es(a);if(!Y){console.error(`[useMapInstance] ${k?"maplibregl":"mapboxgl"} is not available. Add the ${k?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!k){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Cb(e.value,k?xo.maplibre.css:Pb),await new Promise(ge=>requestAnimationFrame(ge));const Z=e.value,F=Z.clientWidth,x=Z.clientHeight;if(F===0||x===0){console.error(`[useMapInstance] Container has ZERO dimensions (${F}×${x}). Map will be invisible. Check that parent elements have CSS sizing.`);let ge=Z.parentElement,le=0;for(;ge&&le<5;)ge=ge.parentElement,le++}const U=t;k||(Y.accessToken=U);const X=()=>typeof window<"u"&&window.innerWidth>=1024,ie=(ge,le)=>{if(u)return typeof c=="number"?c:Cs;if(!X())return Cs;const Me=Ob(ge,le,d,N);return typeof c=="number"?Math.max(c,Me):Me},Q=ie(Z.clientWidth,Z.clientHeight),ue=j.lightPreset||(()=>{var ge;try{const le=typeof n=="function"?n():n;return(ge=le==null?void 0:le.basemap)==null?void 0:ge.lightPreset}catch{return}})();if(k){w.value=new Y.Map({container:e.value,style:Nb(K,ue),center:s,zoom:r,minZoom:Q,maxZoom:d,pitch:h,bearing:y,dragRotate:!1,renderWorldCopies:P,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...M?{maxBounds:M}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),_c(w.value);try{e.value.__doxaMap=w.value}catch{}}else{const ge=typeof n=="function"?n():n;w.value=new Y.Map({accessToken:U,container:e.value,style:K,...ge?{config:ge}:{},center:s,zoom:r,minZoom:Q,maxZoom:d,pitch:h,bearing:y,dragRotate:!1,touchPitch:!1,renderWorldCopies:P,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...M?{maxBounds:M}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),_c(w.value);try{e.value.__doxaMap=w.value}catch{}}try{let ge=!1;w.value.on("error",le=>{var ct,Je;const Me=((ct=le==null?void 0:le.error)==null?void 0:ct.status)??(le==null?void 0:le.status),ze=String(((Je=le==null?void 0:le.error)==null?void 0:Je.url)||(le==null?void 0:le.sourceId)||"");Me!==401&&Me!==403||ge||(ge=!0,console.error(`[doxa-maps] Mapbox returned ${Me} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ze?` First failing request: ${ze.slice(0,120)}`:"")))})}catch{}try{w.value.touchZoomRotate.disableRotation()}catch{}S=$b(((De=e.value)==null?void 0:De.parentElement)||null,{enabled:A});let me=Q,_e=null;_=()=>{const ge=w.value;if(!ge)return;const le=ie(Z.clientWidth,Z.clientHeight);le!==me&&(me=le,ge.setMinZoom(le)),ge.getZoom(){_e=null;const Me=w.value;if(!Me)return;const ze=ie(Z.clientWidth,Z.clientHeight);if(Me.getZoom(){_e&&(clearTimeout(_e),_e=null)},w.value.on("resize",_),typeof window<"u"&&(window.addEventListener("resize",_),window.addEventListener("orientationchange",_)),w.value.on("style.load",()=>{if(j.paint&&w.value){const ge=vb(w.value,j.paint);console.info("[useMapInstance] style paint applied ("+a+"):",ge.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var ge;(ge=w.value)==null||ge.resize(),w.value&&w.value.setMinZoom(ie(Z.clientWidth,Z.clientHeight)),$.value=!0})})}function B(){if(w.value){if(_&&(w.value.off("resize",_),typeof window<"u"&&(window.removeEventListener("resize",_),window.removeEventListener("orientationchange",_)),_=null),E){try{E()}catch{}E=null}S&&(S(),S=null),w.value.remove(),w.value=null,$.value=!1}}return{map:w,isMapReady:$,initializeMap:m,destroy:B}}const Ac="doxa-prayed-local",Fb=7*24*60*60*1e3;function Db(){try{const e=localStorage.getItem(Ac);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Gb(e){try{localStorage.setItem(Ac,JSON.stringify(e))}catch{}}function Bb(){const e=Date.now(),t=Db();let o=!1;for(const[n,a]of Object.entries(t))(typeof a!="number"||e-a>Fb)&&(delete t[n],o=!0);return o&&Gb(t),new Set(Object.keys(t))}function jb(e){const t=Bb();return!t.size||!Array.isArray(e)?e:e.map(o=>(Number(o&&o.peoplePraying)||0)>0||!o||!t.has(o.slug)?o:{...o,peoplePraying:1})}const oo={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Sc={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Ns="languageFamily",Ub="#000000",no={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Kb=no;function Ms(e){return no[e]||Ub}const zb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(no))t[e(o)]=o;return t})(),Vb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Rs(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return Vb[o]||zb[o]||t}function vc(e){var t;return Ms(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Is(){const e=["match",["get",Ns]];return Object.entries(no).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const kc=Is,Hb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Kb,PALETTE:no,PROPERTY_KEY:Ns,applyColor:Is,buildColorExpression:kc,canonicalFamilyName:Rs,default:{name:"Language Family",propertyKey:Ns,palette:no,colors:no,getColor:vc,applyColor:Is,buildColorExpression:kc,getLanguageFamilyColor:Ms,canonicalFamilyName:Rs},defaultFamilyColor:"#95a5a6",getColor:vc,getLanguageFamilyColor:Ms,languageFamilyColors:no},Symbol.toStringTag,{value:"Module"})),wc="adoptionStatus",zt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},qb=zt,Os={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Wb=Os;function Pc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?zt.hasAdoption:zt.notAdopted}function xs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],zt.hasAdoption,["==",t,1],zt.hasAdoption,zt.notAdopted]}const Lc=xs,Yb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:qb,ADOPTION_LABELS:Wb,LABELS:Os,PALETTE:zt,PROPERTY_KEY:wc,applyColor:xs,buildColorExpression:Lc,default:{name:"Adoption Progress",propertyKey:wc,palette:zt,colors:zt,labels:Os,getColor:Pc,applyColor:xs,buildColorExpression:Lc},getColor:Pc},Symbol.toStringTag,{value:"Module"})),Tc="engagementStatus",Vt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Jb=Vt,Fs={notEngaged:"Unengaged",hasEngagement:"Engaged"},Xb=Fs;function Ec(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Vt.hasEngagement:Vt.notEngaged}function Ds({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Vt.hasEngagement,["==",t,1],Vt.hasEngagement,Vt.notEngaged]}const Cc=Ds,Zb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Jb,ENGAGEMENT_LABELS:Xb,LABELS:Fs,PALETTE:Vt,PROPERTY_KEY:Tc,applyColor:Ds,buildColorExpression:Cc,default:{name:"Engagement Progress",propertyKey:Tc,palette:Vt,colors:Vt,labels:Fs,getColor:Ec,applyColor:Ds,buildColorExpression:Cc},getColor:Ec},Symbol.toStringTag,{value:"Module"})),Nc="peoplePraying",ga=144,ao={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Qb=ao,Gs={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},ey=Gs;function pa(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=ga?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Bs(e){return ao[pa(e)]}function Mc(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Rc(e){return pa(e)==="fullPrayer"}function Ic(e){return Bs(e)}function js({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,ga],ao.fullPrayer,[">",t,0],ao.hasPrayer,ao.noPrayer]}const Oc=js,ty=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:ga,LABELS:Gs,PALETTE:ao,PRAYER_COLORS:Qb,PRAYER_LABELS:ey,PROPERTY_KEY:Nc,applyColor:js,buildColorExpression:Oc,checkHasFullPrayer:Rc,checkHasPrayer:Mc,default:{name:"Prayer Progress",propertyKey:Nc,palette:ao,colors:ao,labels:Gs,threshold:ga,getColor:Ic,applyColor:js,buildColorExpression:Oc,getPrayerLevel:pa,getPrayerColor:Bs,checkHasPrayer:Mc,checkHasFullPrayer:Rc},getColor:Ic,getPrayerColor:Bs,getPrayerLevel:pa},Symbol.toStringTag,{value:"Module"})),xc="religion",Us="#94a3b8",Ks={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},lt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Fc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ks[t]?t:"U"}function Dc(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return lt[Fc(t)]||Us}function zs(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",lt.C,"M",lt.M,"H",lt.H,"B",lt.B,"E",lt.E,"J",lt.J,"S",lt.S,"N",lt.N,"O",lt.O,Us]}const Gc=zs,oy=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:lt,PROPERTY_KEY:xc,RELIGION_FAMILIES:Ks,applyColor:zs,buildColorExpression:Gc,default:{name:"Religion",propertyKey:xc,palette:lt,families:Ks,getColor:Dc,applyColor:zs,buildColorExpression:Gc,fallback:Us},getColor:Dc,getReligionFamily:Fc},Symbol.toStringTag,{value:"Module"})),Bc="region",Vs="#6d766e",jc={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},yn={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},Hs=Object.keys(yn);function Uc(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return yn[t]||Vs}function qs(){const e=["match",["coalesce",["get","region"],""]];for(const t of Hs)e.push(t,yn[t]);return e.push(Vs),e}const Kc=qs,ny=Object.assign({"./adoption.js":Yb,"./engagement.js":Zb,"./language-family.js":Hb,"./prayer-progress.js":ty,"./religion.js":oy,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:yn,PROPERTY_KEY:Bc,REGION_ORDER:Hs,WAGF_REGIONS:jc,applyColor:qs,buildColorExpression:Kc,default:{name:"WAGF Region",propertyKey:Bc,palette:yn,regions:jc,order:Hs,getColor:Uc,applyColor:qs,buildColorExpression:Kc,fallback:Vs},getColor:Uc},Symbol.toStringTag,{value:"Module"}))}),ay=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),sy=e=>e.replace(/-/g,"_").toUpperCase(),ry={...{STATUS:"status",CUSTOM:"custom"}};function iy(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith(".")||!e[t].default)continue;const a=ay(o);ry[sy(o)]=a}}iy(ny);function Ws(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const ly=[[/ sign language$/i,"Sign Language"]];function cy(e){var i,l;const t=Ws(e.languageFamily);if(t)return t;const o=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(o&&Sc[o])return Sc[o];const n=Ws(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(oo[c])return oo[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(oo[u])return oo[u]}}if(oo[a])return oo[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&oo[r])return oo[r];for(const[c,u]of ly)if(c.test(a))return u;return""}function uy(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=L=>L}=e;n||console.error("useMapData: dataSourceManager is required!");const r=se(!1),i=se(null),l=se(!1),c=se([]),u=se([]),d=se(null),h=se([]),y=se([]),P=se([]),A=se(null);async function N(){if(!n)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const F=a.getSourceData(o);u.value=s(F.normalizedData||[])}else{const F=await n.setActiveSource(o);for(const x of F){const U=Ws(x.language||x.primary_language);U&&(x.language=U);const X=cy(x);x.languageFamily=Rs(X)}u.value=s(F),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:F,timestamp:Date.now()})}c.value=s(jb(u.value.map(F=>({id:F.uniqueId,slug:F.slug||"",rop3:F.peopleGroupId,peopleId3:F.peopleId3,name:F.name,language:F.language,languageFamily:F.languageFamily,country:F.country,population:F.population,status:F.engagementStatus||F.status,latitude:F.latitude,longitude:F.longitude,lng:F.longitude,lat:F.latitude,description:F.description,imageUrl:F.imageUrl,doxaRegion:F.doxaRegion||F.wagfRegion||"",peoplePraying:F.peoplePraying??null,_normalized:F}))));const L=n.getDataByLanguageFamily();h.value=Object.entries(L).map(([F,x])=>{const U=x.reduce((X,ie)=>{const Q=parseInt(ie.population)||0;return X+Q},0);return{name:F,count:x.length,peopleGroupCount:x.length,population:U,groups:x}}).sort((F,x)=>x.count-F.count);const k=n.getDataByRegion();y.value=Object.entries(k).map(([F,x])=>{const U=x.reduce((X,ie)=>{const Q=parseInt(ie.population)||0;return X+Q},0);return{name:F,count:x.length,peopleGroupCount:x.length,population:U,groups:x}}).sort((F,x)=>F.name.localeCompare(x.name));const m={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(F=>{const x=parseInt(F.population)||0;let U=!1;F.bible==="Available"&&(m.bible.count++,m.bible.population+=x,m.bible.groups.push(F),U=!0),F.jesusFilm==="Available"&&(m.jesusFilm.count++,m.jesusFilm.population+=x,m.jesusFilm.groups.push(F),U=!0),F.radio==="Available"&&(m.radio.count++,m.radio.population+=x,m.radio.groups.push(F),U=!0),F.gospel==="Available"&&(m.gospel.count++,m.gospel.population+=x,m.gospel.groups.push(F),U=!0),F.audio==="Available"&&(m.audio.count++,m.audio.population+=x,m.audio.groups.push(F),U=!0),F.stories==="Available"&&(m.stories.count++,m.stories.population+=x,m.stories.groups.push(F),U=!0),U?(m.hasResources.count++,m.hasResources.population+=x,m.hasResources.groups.push(F)):(m.noResources.count++,m.noResources.population+=x,m.noResources.groups.push(F))});const B=u.value.length,j=u.value.reduce((F,x)=>F+(parseInt(x.population)||0),0),K={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Y={bible:{count:B-m.bible.count,population:j-m.bible.population},jesusFilm:{count:B-m.jesusFilm.count,population:j-m.jesusFilm.population},radio:{count:B-m.radio.count,population:j-m.radio.population},gospel:{count:B-m.gospel.count,population:j-m.gospel.population},audio:{count:B-m.audio.count,population:j-m.audio.population},stories:{count:B-m.stories.count,population:j-m.stories.population}},Z="#2c3e50";return P.value=[{name:K.bible,key:"bible",count:m.bible.count,population:m.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:Y.bible.count,population:Y.bible.population,color:Z}]},{name:K.jesusFilm,key:"jesusFilm",count:m.jesusFilm.count,population:m.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:Y.jesusFilm.count,population:Y.jesusFilm.population,color:Z}]},{name:K.radio,key:"radio",count:m.radio.count,population:m.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:Y.radio.count,population:Y.radio.population,color:Z}]},{name:K.gospel,key:"gospel",count:m.gospel.count,population:m.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:Y.gospel.count,population:Y.gospel.population,color:Z}]},{name:K.audio,key:"audio",count:m.audio.count,population:m.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:Y.audio.count,population:Y.audio.population,color:Z}]},{name:K.stories,key:"stories",count:m.stories.count,population:m.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:Y.stories.count,population:Y.stories.population,color:Z}]},{name:K.hasResources,key:"hasResources",count:m.hasResources.count,population:m.hasResources.population,isParent:!0,children:[{name:K.noResources,key:"noResources",count:m.noResources.count,population:m.noResources.population,color:Z}]}],A.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:h.value,doxaRegionsData:y.value,resourcesData:P.value,stats:A.value}}catch(L){throw console.error(`Failed to load data for map "${t}":`,L),i.value=L.message||"Failed to load data",L}finally{r.value=!1}}async function M(){var L,k,m;try{const B={},j=u.value||[];for(const K of j){const Y=K.countryIso||((k=(L=K._raw)==null?void 0:L.country_code)==null?void 0:k.value)||"",Z=(m=K._raw)==null?void 0:m.wagf_region,F=K.doxaRegion||K.wagfRegion||(Z&&typeof Z=="object"?Z.value:"")||"";Y&&F&&!B[Y]&&(B[Y]=F)}return d.value={isoToRegion:B},d.value}catch(B){throw console.error(`Error building regions data for map "${t}":`,B),i.value=B.message||"Failed to build regions",B}}function w(){return n?n.getDataByLanguageFamily():{}}function $(){return n?n.getDataByRegion():{}}function _(L){return w()[L]||[]}function E(L){return $()[L]||[]}function S(){c.value=[],u.value=[],d.value=null,h.value=[],y.value=[],P.value=[],A.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:d,languageFamiliesData:h,doxaRegionsData:y,resourcesData:P,stats:A,loadData:N,loadRegionsData:M,getDataByLanguageFamily:w,getDataByRegion:$,getPeopleGroupsByFamily:_,getPeopleGroupsByRegion:E,clearData:S}}const Ys={};function gy(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:bo&&bo.tagName.toUpperCase()==="SCRIPT"&&bo.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ys==null?void 0:Ys.VITE_API_BASE_URL)||""}class zc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=fc,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let a="",s=!1,r=[],i=!0;for(let l=0;l0){if(r.push(a.trim()),a="",i)n.push(...r),i=!1;else if(r.length>1){const d={};n.forEach((h,y)=>{d[h]=r[y]||""}),o.push(d)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};n.forEach((c,u)=>{l[c]=r[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(r=>r.trim())),s=[];for(const[r,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=uy(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const r={...t.queryParams||{}};this.locale&&(r.lang=this.locale);for(const[u,d]of Object.entries(r))s.push(`${u}=${encodeURIComponent(d)}`);const i=`${o}${n}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const d=u.headers.get("content-type")||"";if(!d.includes("application/json"))throw new Error(`API returned "${d}" instead of JSON. Server at ${o} may be down or misconfigured.`);const h=await u.json();return this.rawData=Array.isArray(h)?h:h.posts||h.data||h.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(d=>this.getFieldValue(n,d));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new zc;const gy={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ie(null);return at("mapToolbar",{el:t}),Io(` +`&&l++,a||r.length>0){if(r.push(a.trim()),a="",i)n.push(...r),i=!1;else if(r.length>1){const d={};n.forEach((h,y)=>{d[h]=r[y]||""}),o.push(d)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};n.forEach((c,u)=>{l[c]=r[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(r=>r.trim())),s=[];for(const[r,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=gy(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const r={...t.queryParams||{}};this.locale&&(r.lang=this.locale);for(const[u,d]of Object.entries(r))s.push(`${u}=${encodeURIComponent(d)}`);const i=`${o}${n}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const d=u.headers.get("content-type")||"";if(!d.includes("application/json"))throw new Error(`API returned "${d}" instead of JSON. Server at ${o} may be down or misconfigured.`);const h=await u.json();return this.rawData=Array.isArray(h)?h:h.posts||h.data||h.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(d=>this.getFieldValue(n,d));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new zc;const py={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=se(null);return rt("mapToolbar",{el:t}),Oo(` .map-toolbar { position: absolute; top: 6px; @@ -87,7 +87,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(ye(),Le("div",{ref_key:"toolbarEl",ref:t,class:Ye(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ba(o.$slots,"default")],2))}},py=mo&&mo.tagName.toUpperCase()==="SCRIPT"&&mo.src||new URL("all-people-groups.js",document.baseURI).href,Ys=e=>String(e||"").trim().replace(/\/+$/,"");function dy(){try{const t=String(py||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function fy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Ys(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Ys(o)}return Ys(dy()||"")}function hy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=fy(n),l=r.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const my=["title","aria-label","disabled"],by={__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 Io(` +`,"map-toolbar"),(o,n)=>(ye(),Ee("div",{ref_key:"toolbarEl",ref:t,class:Ze(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ba(o.$slots,"default")],2))}},dy=bo&&bo.tagName.toUpperCase()==="SCRIPT"&&bo.src||new URL("all-people-groups.js",document.baseURI).href,so=e=>String(e||"").trim().replace(/\/+$/,"");function Vc(){try{const t=String(dy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function fy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return so(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return so(o)}return so(Vc()||"")}function hy(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=so(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=so((e==null?void 0:e.treeBase)||"")||so(Vc()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return so(new URL(o+"/assets",n).href)}catch{return so(o+"/assets")}return"./assets"}function my({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=fy(n),l=r.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const by=["title","aria-label","disabled"],yy={__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 Oo(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -113,7 +113,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,o)=>(ye(),Le("button",{class:Ye(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Ba(t.$slots,"default")],10,my))}},yy=["aria-label"],_y={class:"mcm-header"},$y={class:"mcm-title"},Ay={class:"mcm-body"},vy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Js="doxa-map-menu-open",Sy={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Io(` +`,"map-control-button"),(t,o)=>(ye(),Ee("button",{class:Ze(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Ba(t.$slots,"default")],10,by))}},_y=["aria-label"],$y={class:"mcm-header"},Ay={class:"mcm-title"},Sy={class:"mcm-body"},vy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Js="doxa-map-menu-open",ky={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Oo(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -129,7 +129,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const o=e,n=t,a=Ne("mapToolbar",null),s=ie(null),r=ie(null),i=ie({});function l(){var m;const y=(m=a==null?void 0:a.el)==null?void 0:m.value,T=s.value;if(!y||!T){i.value={};return}const A=T.getBoundingClientRect(),P=y.getBoundingClientRect(),M=(P.left+P.right)/2>(A.left+A.right)/2,L=8,_=12,$=M?A.right-P.left+L:P.right-A.left+L,E=Math.max(200,Math.min(o.width,A.width-$-_)),k=Math.max(0,P.top-A.top);let w=T.getAttribute&&T.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-P.top-_):Math.max(120,A.height-k-_);o.matchToolbar&&(w=Math.max(120,Math.min(w,P.height))),o.maxHeight&&(w=Math.min(w,o.maxHeight)),i.value={top:`${Math.round(k)}px`,[M?"right":"left"]:`${Math.round($)}px`,width:`${Math.round(E)}px`,maxHeight:`${Math.round(w)}px`,...o.height?{height:`${Math.round(Math.min(o.height,w))}px`}:{}}}function c(y){o.open&&y.detail!==r.value&&n("close")}Rt(()=>o.open,async y=>{var T;if(y){await Wo(),l();try{(T=s.value)==null||T.dispatchEvent(new CustomEvent(Js,{detail:r.value}))}catch{}}});function u(){o.open&&l()}function d(y){y.key==="Escape"&&o.open&&n("close")}function h(y){var A;if(!o.open)return;const T=y.composedPath?y.composedPath():[y.target];r.value&&T.includes(r.value)||(A=a==null?void 0:a.el)!=null&&A.value&&T.includes(a.el.value)||T.some(P=>{var M,L,_,$;return((L=(M=P==null?void 0:P.classList)==null?void 0:M.contains)==null?void 0:L.call(M,"mapboxgl-canvas"))||(($=(_=P==null?void 0:P.classList)==null?void 0:_.contains)==null?void 0:$.call(_,"maplibregl-canvas"))})&&n("close")}return ko(()=>{var y,T,A;s.value=((T=(y=a==null?void 0:a.el)==null?void 0:y.value)==null?void 0:T.closest(vy))||null,(A=s.value)==null||A.addEventListener(Js,c),window.addEventListener("resize",u),document.addEventListener("click",h,!0),document.addEventListener("keydown",d)}),Qo(()=>{var y;(y=s.value)==null||y.removeEventListener(Js,c),window.removeEventListener("resize",u),document.removeEventListener("click",h,!0),document.removeEventListener("keydown",d)}),(y,T)=>(ye(),go(Yu,{to:s.value,disabled:!s.value},[e.open?(ye(),Le("div",{key:0,ref_key:"el",ref:r,class:Ye(["mcm",{light:!e.isDark}]),style:Bo(i.value),role:"dialog","aria-label":e.title},[Q("div",_y,[Q("span",$y,Je(e.title),1),Q("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:T[0]||(T[0]=A=>n("close"))},[...T[1]||(T[1]=[Q("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[Q("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),Q("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),Q("div",Ay,[Ba(y.$slots,"default")])],14,yy)):Ot("",!0)],8,["to","disabled"]))}},ky={class:"share-steps"},wy={class:"share-tabs"},Py={key:0,class:"share-body"},Ty={class:"share-url-box"},Ly={class:"share-url-text"},Ey={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cy={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Ny={key:1,class:"share-body"},My={class:"share-size-pills"},Ry=["onClick"],Iy={class:"share-code-box"},xy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Oy={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Fy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Io(` +`,"map-control-menu");const o=e,n=t,a=Re("mapToolbar",null),s=se(null),r=se(null),i=se({});function l(){var m;const y=(m=a==null?void 0:a.el)==null?void 0:m.value,P=s.value;if(!y||!P){i.value={};return}const A=P.getBoundingClientRect(),N=y.getBoundingClientRect(),M=(N.left+N.right)/2>(A.left+A.right)/2,w=8,$=12,_=M?A.right-N.left+w:N.right-A.left+w,E=Math.max(200,Math.min(o.width,A.width-_-$)),S=Math.max(0,N.top-A.top);let k=P.getAttribute&&P.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-N.top-$):Math.max(120,A.height-S-$);o.matchToolbar&&(k=Math.max(120,Math.min(k,N.height))),o.maxHeight&&(k=Math.min(k,o.maxHeight)),i.value={top:`${Math.round(S)}px`,[M?"right":"left"]:`${Math.round(_)}px`,width:`${Math.round(E)}px`,maxHeight:`${Math.round(k)}px`,...o.height?{height:`${Math.round(Math.min(o.height,k))}px`}:{}}}function c(y){o.open&&y.detail!==r.value&&n("close")}It(()=>o.open,async y=>{var P;if(y){await Yo(),l();try{(P=s.value)==null||P.dispatchEvent(new CustomEvent(Js,{detail:r.value}))}catch{}}});function u(){o.open&&l()}function d(y){y.key==="Escape"&&o.open&&n("close")}function h(y){var A;if(!o.open)return;const P=y.composedPath?y.composedPath():[y.target];r.value&&P.includes(r.value)||(A=a==null?void 0:a.el)!=null&&A.value&&P.includes(a.el.value)||P.some(N=>{var M,w,$,_;return((w=(M=N==null?void 0:N.classList)==null?void 0:M.contains)==null?void 0:w.call(M,"mapboxgl-canvas"))||((_=($=N==null?void 0:N.classList)==null?void 0:$.contains)==null?void 0:_.call($,"maplibregl-canvas"))})&&n("close")}return wo(()=>{var y,P,A;s.value=((P=(y=a==null?void 0:a.el)==null?void 0:y.value)==null?void 0:P.closest(vy))||null,(A=s.value)==null||A.addEventListener(Js,c),window.addEventListener("resize",u),document.addEventListener("click",h,!0),document.addEventListener("keydown",d)}),en(()=>{var y;(y=s.value)==null||y.removeEventListener(Js,c),window.removeEventListener("resize",u),document.removeEventListener("click",h,!0),document.removeEventListener("keydown",d)}),(y,P)=>(ye(),po(Ju,{to:s.value,disabled:!s.value},[e.open?(ye(),Ee("div",{key:0,ref_key:"el",ref:r,class:Ze(["mcm",{light:!e.isDark}]),style:Bo(i.value),role:"dialog","aria-label":e.title},[te("div",$y,[te("span",Ay,Qe(e.title),1),te("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:P[0]||(P[0]=A=>n("close"))},[...P[1]||(P[1]=[te("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[te("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),te("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),te("div",Sy,[Ba(y.$slots,"default")])],14,_y)):Ft("",!0)],8,["to","disabled"]))}},wy={class:"share-steps"},Py={class:"share-tabs"},Ly={key:0,class:"share-body"},Ty={class:"share-url-box"},Ey={class:"share-url-text"},Cy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Ny={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"},My={key:1,class:"share-body"},Ry={class:"share-size-pills"},Iy=["onClick"],Oy={class:"share-code-box"},xy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Fy={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"},Dy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Oo(` .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); @@ -381,7 +381,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=hn(),a=e,s=ie(null),r=ie(!1),i=ie(null),l=ie(null),c=ie("link"),u=ie(!1),d=ie(!1),h=ie("medium"),y={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},T=Ne("profileConfig",null),A=he(()=>hy({embedPath:a.embedPath,profileConfig:Mt(T)||null})),P=he(()=>{const G=y[h.value].height;return''});function M(){r.value=!r.value,r.value&&(c.value="link",u.value=!1,d.value=!1)}function L(){r.value=!1}async function _(G){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(G),!0}catch{}try{const K=document.createElement("textarea");K.value=G,K.setAttribute("readonly",""),K.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(K),K.select();const j=document.execCommand("copy");return document.body.removeChild(K),j}catch{return!1}}async function $(){await _(A.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function E(){await _(P.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const k=Ne("mapToolbar",null),v=ie(null);at("mapToolbar",k||{el:v});const w=!k;function m(G){if(s.value=G||null,!w||!G){G||(v.value=null);return}const K=G.offsetParent||G.parentElement;K&&!K.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&K.setAttribute("data-map-area","share-fallback"),v.value=G}return(G,K)=>(ye(),Le("div",{ref:m,class:"share-wrap","data-share-root":""},[Te(by,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:r.value,title:Mt(t)("buttons.share"),onClick:M},{default:Bn(()=>[...K[2]||(K[2]=[Q("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"},[Q("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),Q("polyline",{points:"16 6 12 2 8 6"}),Q("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Te(Sy,{open:r.value,title:Mt(t)("buttons.share"),"is-dark":e.isDark,onClose:L},{default:Bn(()=>[Q("div",{ref_key:"popoverEl",ref:i,class:Ye(["share-pop",{light:!e.isDark}])},[Q("ul",ky,[(ye(!0),Le(De,null,Da(Mt(o)("buttons.shareSteps"),(j,Y)=>(ye(),Le("li",{key:Y},Je(Mt(n)(j)),1))),128))]),Q("div",wy,[Q("button",{class:Ye(["share-tab",{active:c.value==="link"}]),onClick:K[0]||(K[0]=j=>c.value="link")},"Embed link",2),Q("button",{class:Ye(["share-tab",{active:c.value==="embed"}]),onClick:K[1]||(K[1]=j=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ye(),Le("div",Py,[Q("div",Ty,[Q("div",Ly,Je(A.value),1)]),Q("button",{class:Ye(["share-primary-btn",{copied:u.value}]),onClick:$},[u.value?(ye(),Le("svg",Cy,[...K[4]||(K[4]=[Q("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Le("svg",Ey,[...K[3]||(K[3]=[Q("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),Q("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),pt(" "+Je(u.value?"Copied!":"Copy Link"),1)],2)])):Ot("",!0),c.value==="embed"?(ye(),Le("div",Ny,[K[7]||(K[7]=Q("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),Q("div",My,[(ye(),Le(De,null,Da(y,(j,Y)=>Q("button",{key:Y,class:Ye(["share-size-pill",{active:h.value===Y}]),onClick:le=>h.value=Y},Je(j.label),11,Ry)),64))]),Q("div",Iy,Je(P.value),1),Q("button",{class:Ye(["share-secondary-btn",{copied:d.value}]),onClick:E},[d.value?(ye(),Le("svg",Oy,[...K[6]||(K[6]=[Q("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Le("svg",xy,[...K[5]||(K[5]=[Q("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),Q("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),pt(" "+Je(d.value?"Copied!":"Copy Code"),1)],2)])):Ot("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},Dy={class:"apg-root"},By={key:0,class:"apg-loading"},Gy={key:1,class:"apg-error"},jy={key:2,class:"apg-legend"},Uy={class:"apg-legend-sub"},Ky=["onClick"],zy={class:"apg-count"},Vy="all-people-groups/all-people-groups/index.html",Hy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var le;Io(` +`,"share-button");const{t,tm:o,rt:n}=mn(),a=e,s=se(null),r=se(!1),i=se(null),l=se(null),c=se("link"),u=se(!1),d=se(!1),h=se("medium"),y={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},P=Re("profileConfig",null),A=he(()=>my({embedPath:a.embedPath,profileConfig:Rt(P)||null})),N=he(()=>{const B=y[h.value].height;return''});function M(){r.value=!r.value,r.value&&(c.value="link",u.value=!1,d.value=!1)}function w(){r.value=!1}async function $(B){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(B),!0}catch{}try{const j=document.createElement("textarea");j.value=B,j.setAttribute("readonly",""),j.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(j),j.select();const K=document.execCommand("copy");return document.body.removeChild(j),K}catch{return!1}}async function _(){await $(A.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function E(){await $(N.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const S=Re("mapToolbar",null),L=se(null);rt("mapToolbar",S||{el:L});const k=!S;function m(B){if(s.value=B||null,!k||!B){B||(L.value=null);return}const j=B.offsetParent||B.parentElement;j&&!j.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&j.setAttribute("data-map-area","share-fallback"),L.value=B}return(B,j)=>(ye(),Ee("div",{ref:m,class:"share-wrap","data-share-root":""},[Te(yy,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:r.value,title:Rt(t)("buttons.share"),onClick:M},{default:Bn(()=>[...j[2]||(j[2]=[te("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"},[te("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),te("polyline",{points:"16 6 12 2 8 6"}),te("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Te(ky,{open:r.value,title:Rt(t)("buttons.share"),"is-dark":e.isDark,onClose:w},{default:Bn(()=>[te("div",{ref_key:"popoverEl",ref:i,class:Ze(["share-pop",{light:!e.isDark}])},[te("ul",wy,[(ye(!0),Ee(Ge,null,Ga(Rt(o)("buttons.shareSteps"),(K,Y)=>(ye(),Ee("li",{key:Y},Qe(Rt(n)(K)),1))),128))]),te("div",Py,[te("button",{class:Ze(["share-tab",{active:c.value==="link"}]),onClick:j[0]||(j[0]=K=>c.value="link")},"Embed link",2),te("button",{class:Ze(["share-tab",{active:c.value==="embed"}]),onClick:j[1]||(j[1]=K=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ye(),Ee("div",Ly,[te("div",Ty,[te("div",Ey,Qe(A.value),1)]),te("button",{class:Ze(["share-primary-btn",{copied:u.value}]),onClick:_},[u.value?(ye(),Ee("svg",Ny,[...j[4]||(j[4]=[te("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Ee("svg",Cy,[...j[3]||(j[3]=[te("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),te("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),dt(" "+Qe(u.value?"Copied!":"Copy Link"),1)],2)])):Ft("",!0),c.value==="embed"?(ye(),Ee("div",My,[j[7]||(j[7]=te("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),te("div",Ry,[(ye(),Ee(Ge,null,Ga(y,(K,Y)=>te("button",{key:Y,class:Ze(["share-size-pill",{active:h.value===Y}]),onClick:Z=>h.value=Y},Qe(K.label),11,Iy)),64))]),te("div",Oy,Qe(N.value),1),te("button",{class:Ze(["share-secondary-btn",{copied:d.value}]),onClick:E},[d.value?(ye(),Ee("svg",Fy,[...j[6]||(j[6]=[te("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Ee("svg",xy,[...j[5]||(j[5]=[te("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),te("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),dt(" "+Qe(d.value?"Copied!":"Copy Code"),1)],2)])):Ft("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},Gy={class:"apg-root"},By={key:0,class:"apg-loading"},jy={key:1,class:"apg-error"},Uy={key:2,class:"apg-legend"},Ky={class:"apg-legend-sub"},zy=["onClick"],Vy={class:"apg-count"},Hy="all-people-groups/all-people-groups/index.html",qy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var Z;Oo(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -412,10 +412,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=Ne("profileConfig"),o=Ne("mapboxToken"),n=Ne("dataSource"),a=Ne("dataStore"),s=Ne("mapStore"),r=he(()=>{var F;return((F=t.value)==null?void 0:F.isDark)===!0}),i=yc(t),l=he(()=>{var F;return String(((F=t==null?void 0:t.value)==null?void 0:F.assetsBase)||"/assets").replace(/\/+$/,"")}),c=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],u=Object.fromEntries(c.map(F=>[F.id,F.color])),d=ie({doxa:0,frontier:0,unreached:0,reached:0});function h(F,O){if(O.has(String(F.ROP3Code||"")))return"doxa";const U=Number(F.GSEC);return!Number.isFinite(U)||U<=1?"frontier":U<=3?"unreached":"reached"}function y(){var U;let F="";try{F=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const O=(U=t==null?void 0:t.value)==null?void 0:U.utmSource;return encodeURIComponent(String(F||O||"agwm"))}const T=ie(null),A=ie(!1),P=ie(null),{map:M,initializeMap:L,destroy:_}=xb({containerRef:T,accessToken:o.value,provider:i,style:((le=t==null?void 0:t.value)==null?void 0:le.style)??"ink",center:[20,12],zoom:1.6}),$=new zc,E=cy({mapId:"all-people-groups",dataSourceId:n.value,dataSourceManager:$,dataStore:a,markRaw:F=>F});let k=[],v=new Map;function w(F){return String(F??"").replace(/[&<>"']/g,O=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[O])}async function m(){const[F,O]=await Promise.all([fetch(`${l.value}/people-groups/people-groups-slim.json`).then(te=>{if(!te.ok)throw new Error(`people-groups-slim.json ${te.status}`);return te.json()}),E.loadData().then(()=>E.normalizedPeopleGroups.value||[]).catch(te=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",te),[]))]),U=new Set;for(const te of O){const se=String(te.peopleGroupId||te.rop3||te.peopleGroupCountry||"");se&&(U.add(se),v.has(se)||v.set(se,{slug:te.slug||"",name:te.name||""}))}const J=[],ge={doxa:0,frontier:0,unreached:0,reached:0};for(const te of F.rows||[]){const se=Number(te.Lat),me=Number(te.Long);if(!Number.isFinite(se)||!Number.isFinite(me)||se===0&&me===0)continue;const oe=h(te,U);ge[oe]++,J.push({type:"Feature",geometry:{type:"Point",coordinates:[me,se]},properties:{name:te.Name||"",country:te.CountryName||"",population:Number(te.Population)||0,gsec:te.GSEC,evangelical:te.EvangelicalLevel||"",language:te.LanguageName||"",religion:te.ReligionName||"",rop3:String(te.ROP3Code||""),category:oe}})}return d.value=ge,k=J,{type:"FeatureCollection",features:J}}function G(F){const O=M.value;O.addSource("apg",{type:"geojson",data:F}),O.addLayer({id:"apg-pins",type:"circle",source:"apg",layout:{"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]},paint:{"circle-color":["match",["get","category"],"doxa",u.doxa,"frontier",u.frontier,"unreached",u.unreached,u.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92}}),O.on("mouseenter","apg-pins",()=>{O.getCanvas().style.cursor="pointer"}),O.on("mouseleave","apg-pins",()=>{O.getCanvas().style.cursor=""}),O.on("click","apg-pins",U=>{const J=U.features&&U.features[0];if(!J)return;const ge=J.properties,te=ge.category==="doxa"?v.get(ge.rop3):null,se=c.find(re=>re.id===ge.category),me=te&&te.slug?`Pray for them →`:"",oe=i==="maplibre"?window.maplibregl:window.mapboxgl;new oe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(U.lngLat).setHTML(`
- ${w(ge.name)} ${w(se.label.split(" — ")[0])} -
${w(ge.country)} · pop ${Number(ge.population).toLocaleString()}
-
${w(ge.evangelical||"GSEC "+ge.gsec)}
-
${w(ge.language)}${ge.religion?" · "+w(ge.religion):""}
+`,"all-people-groups");const t=Re("profileConfig"),o=Re("mapboxToken"),n=Re("dataSource"),a=Re("dataStore"),s=Re("mapStore"),r=he(()=>{var F;return((F=t.value)==null?void 0:F.isDark)===!0}),i=yc(t),l=he(()=>hy((t==null?void 0:t.value)||{})),c=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],u=Object.fromEntries(c.map(F=>[F.id,F.color])),d=se({doxa:0,frontier:0,unreached:0,reached:0});function h(F,x){if(x.has(String(F.ROP3Code||"")))return"doxa";const U=Number(F.GSEC);return!Number.isFinite(U)||U<=1?"frontier":U<=3?"unreached":"reached"}function y(){var U;let F="";try{F=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const x=(U=t==null?void 0:t.value)==null?void 0:U.utmSource;return encodeURIComponent(String(F||x||"agwm"))}const P=se(null),A=se(!1),N=se(null),{map:M,initializeMap:w,destroy:$}=xb({containerRef:P,accessToken:o.value,provider:i,style:((Z=t==null?void 0:t.value)==null?void 0:Z.style)??"ink",center:[20,12],zoom:1.6}),_=new zc,E=uy({mapId:"all-people-groups",dataSourceId:n.value,dataSourceManager:_,dataStore:a,markRaw:F=>F});let S=[],L=new Map;function k(F){return String(F??"").replace(/[&<>"']/g,x=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[x])}async function m(){const[F,x]=await Promise.all([fetch(`${l.value}/people-groups/people-groups-slim.json`).then(Q=>{if(!Q.ok)throw new Error(`people-groups-slim.json ${Q.status}`);return Q.json()}),E.loadData().then(()=>E.normalizedPeopleGroups.value||[]).catch(Q=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Q),[]))]),U=new Set;for(const Q of x){const ue=String(Q.peopleGroupId||Q.rop3||Q.peopleGroupCountry||"");ue&&(U.add(ue),L.has(ue)||L.set(ue,{slug:Q.slug||"",name:Q.name||""}))}const X=[],ie={doxa:0,frontier:0,unreached:0,reached:0};for(const Q of F.rows||[]){const ue=Number(Q.Lat),me=Number(Q.Long);if(!Number.isFinite(ue)||!Number.isFinite(me)||ue===0&&me===0)continue;const _e=h(Q,U);ie[_e]++,X.push({type:"Feature",geometry:{type:"Point",coordinates:[me,ue]},properties:{name:Q.Name||"",country:Q.CountryName||"",population:Number(Q.Population)||0,gsec:Q.GSEC,evangelical:Q.EvangelicalLevel||"",language:Q.LanguageName||"",religion:Q.ReligionName||"",rop3:String(Q.ROP3Code||""),category:_e}})}return d.value=ie,S=X,{type:"FeatureCollection",features:X}}function B(F){const x=M.value;x.addSource("apg",{type:"geojson",data:F}),x.addLayer({id:"apg-pins",type:"circle",source:"apg",layout:{"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]},paint:{"circle-color":["match",["get","category"],"doxa",u.doxa,"frontier",u.frontier,"unreached",u.unreached,u.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92}}),x.on("mouseenter","apg-pins",()=>{x.getCanvas().style.cursor="pointer"}),x.on("mouseleave","apg-pins",()=>{x.getCanvas().style.cursor=""}),x.on("click","apg-pins",U=>{const X=U.features&&U.features[0];if(!X)return;const ie=X.properties,Q=ie.category==="doxa"?L.get(ie.rop3):null,ue=c.find(De=>De.id===ie.category),me=Q&&Q.slug?`Pray for them →`:"",_e=i==="maplibre"?window.maplibregl:window.mapboxgl;new _e.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(U.lngLat).setHTML(`
+ ${k(ie.name)} ${k(ue.label.split(" — ")[0])} +
${k(ie.country)} · pop ${Number(ie.population).toLocaleString()}
+
${k(ie.evangelical||"GSEC "+ie.gsec)}
+
${k(ie.language)}${ie.religion?" · "+k(ie.religion):""}
${me} -
`).addTo(O)})}const K=ie(null);function j(F){const O=M.value;if(!O||!O.getLayer("apg-pins"))return;if(K.value===F){K.value=null,O.setFilter("apg-pins",null),O.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}K.value=F,O.setFilter("apg-pins",["==",["get","category"],F]);let U=180,J=85,ge=-180,te=-85,se=0;for(const me of k){if(me.properties.category!==F)continue;const[oe,re]=me.geometry.coordinates;oege&&(ge=oe),rete&&(te=re),se++}se&&O.fitBounds([[U,J],[ge,te]],{padding:60,duration:900,maxZoom:6})}ko(async()=>{const F=m().catch(O=>(P.value=String((O==null?void 0:O.message)||O),null));try{await L()}catch(O){P.value=String((O==null?void 0:O.message)||O);return}if(!M.value){P.value="Map failed to initialize — check token and container";return}M.value.once("style.load",async()=>{var O;try{const U=await F;if(!U)return;try{M.value.setProjection("mercator")}catch{}G(U),(O=s==null?void 0:s.registerMap)==null||O.call(s,"all-people-groups",M.value),A.value=!0}catch(U){P.value=String((U==null?void 0:U.message)||U)}})}),Qo(()=>{var F;(F=s==null?void 0:s.unregisterMap)==null||F.call(s,"all-people-groups"),_()});const Y=he(()=>d.value.doxa+d.value.frontier+d.value.unreached+d.value.reached);return(F,O)=>(ye(),Le("div",Dy,[!A.value&&!P.value?(ye(),Le("div",By,"Loading every people group…")):Ot("",!0),P.value?(ye(),Le("div",Gy,"The map could not be loaded. "+Je(P.value),1)):Ot("",!0),Q("div",{ref_key:"mapContainer",ref:T,class:"apg-canvas"},null,512),Te(gy,{"has-geocoder":!1},{default:Bn(()=>[Te(Fy,{"is-dark":r.value,"embed-path":Vy},null,8,["is-dark"])]),_:1}),A.value?(ye(),Le("div",jy,[O[0]||(O[0]=Q("div",{class:"apg-legend-title"},"All People Groups",-1)),Q("div",Uy,Je(Y.value.toLocaleString())+" group–country locations",1),(ye(),Le(De,null,Da(c,U=>Q("div",{key:U.id,class:Ye(["apg-row",{active:K.value===U.id}]),onClick:J=>j(U.id)},[Q("span",{class:"apg-dot",style:Bo({background:U.color})},null,4),pt(" "+Je(U.label)+" ",1),Q("span",zy,Je((d.value[U.id]||0).toLocaleString()),1)],10,Ky)),64)),O[1]||(O[1]=Q("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):Ot("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`).addTo(x)})}const j=se(null);function K(F){const x=M.value;if(!x||!x.getLayer("apg-pins"))return;if(j.value===F){j.value=null,x.setFilter("apg-pins",null),x.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}j.value=F,x.setFilter("apg-pins",["==",["get","category"],F]);let U=180,X=85,ie=-180,Q=-85,ue=0;for(const me of S){if(me.properties.category!==F)continue;const[_e,De]=me.geometry.coordinates;_eie&&(ie=_e),DeQ&&(Q=De),ue++}ue&&x.fitBounds([[U,X],[ie,Q]],{padding:60,duration:900,maxZoom:6})}wo(async()=>{const F=m().catch(x=>(N.value=String((x==null?void 0:x.message)||x),null));try{await w()}catch(x){N.value=String((x==null?void 0:x.message)||x);return}if(!M.value){N.value="Map failed to initialize — check token and container";return}M.value.once("style.load",async()=>{var x;try{const U=await F;if(!U)return;try{M.value.setProjection("mercator")}catch{}B(U),(x=s==null?void 0:s.registerMap)==null||x.call(s,"all-people-groups",M.value),A.value=!0}catch(U){N.value=String((U==null?void 0:U.message)||U)}})}),en(()=>{var F;(F=s==null?void 0:s.unregisterMap)==null||F.call(s,"all-people-groups"),$()});const Y=he(()=>d.value.doxa+d.value.frontier+d.value.unreached+d.value.reached);return(F,x)=>(ye(),Ee("div",Gy,[!A.value&&!N.value?(ye(),Ee("div",By,"Loading every people group…")):Ft("",!0),N.value?(ye(),Ee("div",jy,"The map could not be loaded. "+Qe(N.value),1)):Ft("",!0),te("div",{ref_key:"mapContainer",ref:P,class:"apg-canvas"},null,512),Te(py,{"has-geocoder":!1},{default:Bn(()=>[Te(Dy,{"is-dark":r.value,"embed-path":Hy},null,8,["is-dark"])]),_:1}),A.value?(ye(),Ee("div",Uy,[x[0]||(x[0]=te("div",{class:"apg-legend-title"},"All People Groups",-1)),te("div",Ky,Qe(Y.value.toLocaleString())+" group–country locations",1),(ye(),Ee(Ge,null,Ga(c,U=>te("div",{key:U.id,class:Ze(["apg-row",{active:j.value===U.id}]),onClick:X=>K(U.id)},[te("span",{class:"apg-dot",style:Bo({background:U.color})},null,4),dt(" "+Qe(U.label)+" ",1),te("span",Vy,Qe((d.value[U.id]||0).toLocaleString()),1)],10,zy)),64)),x[1]||(x[1]=te("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):Ft("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/all-people-groups/all-people-groups/index.html b/public/doxa-maps/all-people-groups/all-people-groups/index.html index 2fcba349a..df5f262fa 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups/index.html +++ b/public/doxa-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":35,"runtime":{"apiBaseUrl":"https://pray.doxa.life","token":"pk.eyJ1IjoiZ29zeXN0ZW1zIiwiYSI6ImNtZm9vM291czA3amQya3BzYW42YW9ibTcifQ.52WM0IpxY9FcB0zc9f1zbQ"},"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-wDwlEPqFMo1DGCSAZQqHdBUM9OKTByNW1wSZPNu5auSubOuSBz4eHR4CIf0uvglf","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-wDwlEPqFMo1DGCSAZQqHdBUM9OKTByNW1wSZPNu5auSubOuSBz4eHR4CIf0uvglf\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-zwM56YT56Crw0AFHQsG9fHnIPzkHVRwtLd/tXg9MXedfWyixXRdK7BVA/8S8JjhB","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-zwM56YT56Crw0AFHQsG9fHnIPzkHVRwtLd/tXg9MXedfWyixXRdK7BVA/8S8JjhB\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-6fIHN70s7zCZSxNP27fS3sY8MJdnOMxbXIbA2u702oQDcSNVNCNLELEESMAXGY2t","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-6fIHN70s7zCZSxNP27fS3sY8MJdnOMxbXIbA2u702oQDcSNVNCNLELEESMAXGY2t\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-6fIHN70s7zCZSxNP27fS3sY8MJdnOMxbXIbA2u702oQDcSNVNCNLELEESMAXGY2t\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-6fIHN70s7zCZSxNP27fS3sY8MJdnOMxbXIbA2u702oQDcSNVNCNLELEESMAXGY2t\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-ravBExKROrutu+/bYRm5G3kIoOytPz3YdQToKRUpUPpKE2n6i/vAZjpxK4jTY4y6","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-ravBExKROrutu+/bYRm5G3kIoOytPz3YdQToKRUpUPpKE2n6i/vAZjpxK4jTY4y6\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-ravBExKROrutu+/bYRm5G3kIoOytPz3YdQToKRUpUPpKE2n6i/vAZjpxK4jTY4y6\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"Country Posters as ONE two-tab element — the countries map and the printable","element":"country-posters-mfe","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-ravBExKROrutu+/bYRm5G3kIoOytPz3YdQToKRUpUPpKE2n6i/vAZjpxK4jTY4y6\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-oWvpE6qF7AlXl/L/4dx/1uT493xz3fbpqNuSRcTXlTYdyryVVv1t/hlPOQTaNXg5","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-oWvpE6qF7AlXl/L/4dx/1uT493xz3fbpqNuSRcTXlTYdyryVVv1t/hlPOQTaNXg5\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-0VOyHD7/UL3X96Pa5likzNFFiT+mfQnRg2+pZmbF753yd5g/84z1gOzYhn1NSgKa","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-0VOyHD7/UL3X96Pa5likzNFFiT+mfQnRg2+pZmbF753yd5g/84z1gOzYhn1NSgKa\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-0kpyOLYSyDAS7sKrvfh60jFxPqlWP7Gi4ftn1rGwNmEzdSLY9ijkowlKw77v/3Xa","elements":["doxa-maps-spa"],"composes":["dashboard-plus-grid/dashboard-plus-grid","research-map-plus-grid/research-map-plus-grid","regions-dashboard/regions-mfe","my-upg-100-list/upg-100-mfe","doxa-simple-map/doxa-simple-map","cities-internet/connectivity-map","gospel-resources/resources-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-0kpyOLYSyDAS7sKrvfh60jFxPqlWP7Gi4ftn1rGwNmEzdSLY9ijkowlKw77v/3Xa\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"Research Gallery — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"Research Gallery"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-Pz+BuiLVX/OnZWBl4YhRcseuTjI2XLwN77j8OdfcFfEHkNB0jVIWbHw7wkbChUQZ","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-Pz+BuiLVX/OnZWBl4YhRcseuTjI2XLwN77j8OdfcFfEHkNB0jVIWbHw7wkbChUQZ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-G/NuJx27ipfilwAaJ9N9jsGgKtVlSMwkS9E/dv/NE5drDd56Z5KYewcu0hp3H2N2","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-G/NuJx27ipfilwAaJ9N9jsGgKtVlSMwkS9E/dv/NE5drDd56Z5KYewcu0hp3H2N2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq","elements":["gospel-resources-map"],"composes":["resources-map","data-tables"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap measured by LANGUAGE (ISO 639-3) rather than by people group, because one translation serves every group that speaks it, so counting by group overstates how much work remains.","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Eight tables covering both halves of one question: every gospel resource with its real URL and how much Scripture it is, and the 3,457 people groups where nothing was found with the pools searched recorded per row, plus bridge languages, city bridges, the deaf gap and access against population growth.","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"gospel-dashboard","file":"gospel-dashboard.vue","description":"The gospel map and its tables as one scrolling element: 12,379 people-group pins with the real Scripture, film and Bible-story links for each group's own language, above every resource with its URL and the 3,457 groups where nothing was found, exportable as CSV.","element":"gospel-resources-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./gospel-resources/gospel-dashboard/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/gospel-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which people groups have Scripture in their own language and which have none, zero-resource languages first, with every link the verification pass proved and Open Bible Stories labelled as stories rather than as Scripture.","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"12,379 people-group pins over a country choropleth: tap a pin for the Scripture, audio, film, Bible-story and training links that exist in that group's own language with real URLs, tap a country for every group in it, search by group, language or ISO 639-3 code, and filter to the groups where nothing was found.","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-nzolEnrOfJrY1qd67PyWpwNB6JFgKTsmIaCpvpL+XAdfmuMYmNGf0NAlk/Gi79Ak","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\"","element":"my-upg-100-list-map","type":"single","isMap":false,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-nzolEnrOfJrY1qd67PyWpwNB6JFgKTsmIaCpvpL+XAdfmuMYmNGf0NAlk/Gi79Ak\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-nzolEnrOfJrY1qd67PyWpwNB6JFgKTsmIaCpvpL+XAdfmuMYmNGf0NAlk/Gi79Ak\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-nzolEnrOfJrY1qd67PyWpwNB6JFgKTsmIaCpvpL+XAdfmuMYmNGf0NAlk/Gi79Ak\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-bXnpluxSYtktOs786dmJaVM1oCO0R0Ww20iybJhCR2BscwjimyuFTjIC3+jAOb7E","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-bXnpluxSYtktOs786dmJaVM1oCO0R0Ww20iybJhCR2BscwjimyuFTjIC3+jAOb7E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-PWsWQsPshQsOrFOoSZ3rPg6231BJmKV/pvopXruEZgKovSfp8P2MEjfEEEuBWqMl","elements":["plugin-studio"],"composes":["dashboard-plus-grid","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-PWsWQsPshQsOrFOoSZ3rPg6231BJmKV/pvopXruEZgKovSfp8P2MEjfEEEuBWqMl\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-VZxxlIqmR6mKdB1Dx6143LxEyI3POl9ks045yApFu4M4ZlLxsRH3+dCdEMpJb2Vw","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-VZxxlIqmR6mKdB1Dx6143LxEyI3POl9ks045yApFu4M4ZlLxsRH3+dCdEMpJb2Vw\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-1bDMEUBlEnX3snypPE6DcJnVvxUo3LDCrqnuXyGqAr9iUm7hjNurlCuD63fEbsN3","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-1bDMEUBlEnX3snypPE6DcJnVvxUo3LDCrqnuXyGqAr9iUm7hjNurlCuD63fEbsN3\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-1bDMEUBlEnX3snypPE6DcJnVvxUo3LDCrqnuXyGqAr9iUm7hjNurlCuD63fEbsN3\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-1bDMEUBlEnX3snypPE6DcJnVvxUo3LDCrqnuXyGqAr9iUm7hjNurlCuD63fEbsN3\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-WPEO/mTnyzh9q/ugpVcITzOMSb/eyKbgEekG6xyvtQ12NjTfq+VXNAqB0VIKCXmy","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-WPEO/mTnyzh9q/ugpVcITzOMSb/eyKbgEekG6xyvtQ12NjTfq+VXNAqB0VIKCXmy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-LQYR+uASPJFjo/VTpIpAVxUv+O5KrgBqfOFYOcOi0ZmIvtwcjWTZV4AjAr2ewc7Z","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-LQYR+uASPJFjo/VTpIpAVxUv+O5KrgBqfOFYOcOi0ZmIvtwcjWTZV4AjAr2ewc7Z\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-EI3V6JX9ws4fGxKBzMOgwhG5de8MvL6va3zqmB2gTXecd/m0mxNq8eUht/SGzH1B","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-EI3V6JX9ws4fGxKBzMOgwhG5de8MvL6va3zqmB2gTXecd/m0mxNq8eUht/SGzH1B\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-e6IcmUAvFTc057fmxLFzZmjVnt7Svy9M+S4gXgGbU9XgmssqVY1dwW5UkHI766a+","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-e6IcmUAvFTc057fmxLFzZmjVnt7Svy9M+S4gXgGbU9XgmssqVY1dwW5UkHI766a+\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-e6IcmUAvFTc057fmxLFzZmjVnt7Svy9M+S4gXgGbU9XgmssqVY1dwW5UkHI766a+\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-DVRFKBN7t+UQTjSwHz1FGzDSfgNRBA3e6WAeKCNn/9CUnzAtibMa1UG3X0Xqe7C/","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Who goes to whom: reached neighbors matched to unreached people groups, five lenses","element":"upg-neighbor","type":"monolithic","isMap":true,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-DVRFKBN7t+UQTjSwHz1FGzDSfgNRBA3e6WAeKCNn/9CUnzAtibMa1UG3X0Xqe7C/\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map","apiBaseUrl":"","props":{"profile":"upg-neighbor","view":"send-map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors","apiBaseUrl":"","props":{"profile":"upg-neighbor","view":"cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters","apiBaseUrl":"","props":{"profile":"upg-neighbor","view":"lang-cluster"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit","apiBaseUrl":"","props":{"profile":"upg-neighbor","view":"cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh","apiBaseUrl":"","props":{"profile":"upg-neighbor","view":"flower-mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"upg-neighbor"}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" }