check:composite-freshness found stale on main: key-cities template-bundle; also rebuilt: all-people-groups big-picture cities-internet country-posters dashboard-plus-grid demo-map doxa-maps-spa doxa-research-map doxa-simple-map doxa-vision-card golden-path-check gospel-internet gospel-resources my-upg-100-list people-groups-grid plugin-studio pplr-data-maps prayer-walk-planner regions-dashboard research-dashboard research-map-plus-grid stack-demo upg-neighbor wall-of-people-groups. Rebuilt, tree + SRI regenerated; the landing precondition (fresh, one folder, SRI) passed in main-capture scan.
236 lines
240 KiB
JavaScript
236 lines
240 KiB
JavaScript
(function(){"use strict";/**
|
||
* @vue/shared v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function jo(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const B={},at=[],we=()=>{},jn=()=>!1,Jt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Xt=e=>e.startsWith("onUpdate:"),Q=Object.assign,Bo=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},aa=Object.prototype.hasOwnProperty,U=(e,t)=>aa.call(e,t),E=Array.isArray,Ye=e=>xt(e)==="[object Map]",Zt=e=>xt(e)==="[object Set]",Bn=e=>xt(e)==="[object Date]",A=e=>typeof e=="function",J=e=>typeof e=="string",ve=e=>typeof e=="symbol",W=e=>e!==null&&typeof e=="object",Kn=e=>(W(e)||A(e))&&A(e.then)&&A(e.catch),Vn=Object.prototype.toString,xt=e=>Vn.call(e),la=e=>xt(e).slice(8,-1),Qt=e=>xt(e)==="[object Object]",Ko=e=>J(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,kt=jo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),eo=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ra=/-\w/g,ne=eo(e=>e.replace(ra,t=>t.slice(1).toUpperCase())),ca=/\B([A-Z])/g,be=eo(e=>e.replace(ca,"-$1").toLowerCase()),to=eo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Vo=eo(e=>e?`on${to(e)}`:""),Se=(e,t)=>!Object.is(e,t),oo=(e,...t)=>{for(let o=0;o<e.length;o++)e[o](...t)},qn=(e,t,o,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},qo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Gn=e=>{const t=J(e)?Number(e):NaN;return isNaN(t)?e:t};let Yn;const no=()=>Yn||(Yn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(E(e)){const t={};for(let o=0;o<e.length;o++){const n=e[o],i=J(n)?fa(n):lt(n);if(i)for(const s in i)t[s]=i[s]}return t}else if(J(e)||W(e))return e}const da=/;(?![^(]*\))/g,pa=/:([^]+)/,ua=/\/\*[^]*?\*\//g;function fa(e){const t={};return e.replace(ua,"").split(da).forEach(o=>{if(o){const n=o.split(pa);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ge(e){let t="";if(J(e))t=e;else if(E(e))for(let o=0;o<e.length;o++){const n=ge(e[o]);n&&(t+=n+" ")}else if(W(e))for(const o in e)e[o]&&(t+=o+" ");return t.trim()}const ga=jo("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Jn(e){return!!e||e===""}function ha(e,t){if(e.length!==t.length)return!1;let o=!0;for(let n=0;o&&n<e.length;n++)o=io(e[n],t[n]);return o}function Xn(e,t){if(e.size!==t.size)return!1;const o=Array.from(t),n=new Uint8Array(o.length);for(const i of e){let s=-1;for(let a=0;a<o.length;a++)if(!n[a]&&io(i,o[a])){s=a;break}if(s<0)return!1;n[s]=1}return!0}function io(e,t){if(e===t)return!0;let o=Bn(e),n=Bn(t);if(o||n)return o&&n?e.getTime()===t.getTime():!1;if(o=ve(e),n=ve(t),o||n)return e===t;if(o=E(e),n=E(t),o||n)return o&&n?ha(e,t):!1;if(o=W(e),n=W(t),o||n){if(!o||!n)return!1;if(o=Ye(e),n=Ye(t),o||n||(o=Zt(e),n=Zt(t),o||n))return o&&n?Xn(e,t):!1;const i=Object.keys(e).length,s=Object.keys(t).length;if(i!==s)return!1;for(const a in e){const l=e.hasOwnProperty(a),r=t.hasOwnProperty(a);if(l&&!r||!l&&r||!io(e[a],t[a]))return!1}}return String(e)===String(t)}const Zn=e=>!!(e&&e.__v_isRef===!0),N=e=>J(e)?e:e==null?"":E(e)||W(e)&&(e.toString===Vn||!A(e.toString))?Zn(e)?N(e.value):JSON.stringify(e,Qn,2):String(e),Qn=(e,t)=>Zn(t)?Qn(e,t.value):Ye(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,i],s)=>(o[Go(n,s)+" =>"]=i,o),{})}:Zt(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Go(o))}:ve(t)?Go(t):W(t)&&!E(t)&&!Qt(t)?String(t):t,Go=(e,t="")=>{var o;return ve(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 ie;class $a{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;t<o;t++)n[t].pause()}for(t=0,o=this.effects.length;t<o;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,o;if(this.scopes){const i=this.scopes.slice();for(t=0,o=i.length;t<o;t++)i[t].resume()}const n=this.effects.slice();for(t=0,o=n.length;t<o;t++)n[t].resume()}}run(t){if(this._active){const o=ie;try{return ie=this,t()}finally{ie=o}}}on(){++this._on===1&&(this.prevScope=ie,ie=this)}off(){if(this._on>0&&--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;o<n;o++)this.effects[o].stop();for(this.effects.length=0,o=0,n=this.cleanups.length;o<n;o++)this.cleanups[o]();if(this.cleanups.length=0,this.scopes){const i=this.scopes.slice();for(o=0,n=i.length;o<n;o++)i[o].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function ba(){return ie}let q;const Yo=new WeakSet;class ei{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ie&&(ie.active?ie.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Yo.has(this)&&(Yo.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||oi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,li(this),ni(this);const t=q,o=xe;q=this,xe=!0;try{return this.fn()}finally{ii(this),q=t,xe=o,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Qo(t);this.deps=this.depsTail=void 0,li(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Yo.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Zo(this)&&this.run()}get dirty(){return Zo(this)}}let ti=0,yt,wt;function oi(e,t=!1){if(e.flags|=8,t){e.next=wt,wt=e;return}e.next=yt,yt=e}function Jo(){ti++}function Xo(){if(--ti>0)return;if(wt){let t=wt;for(wt=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;yt;){let t=yt;for(yt=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 ni(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ii(e){let t,o=e.depsTail,n=o;for(;n;){const i=n.prevDep;n.version===-1?(n===o&&(o=i),Qo(n),_a(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=o}function Zo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(si(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function si(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===St)||(e.globalVersion=St,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Zo(e))))return;e.flags|=2;const t=e.dep,o=q,n=xe;q=e,xe=!0;try{ni(e);const i=e.fn(e._value);(t.version===0||Se(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{q=o,xe=n,ii(e),e.flags&=-3}}function Qo(e,t=!1){const{dep:o,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.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)Qo(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function _a(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let xe=!0;const ai=[];function Le(){ai.push(xe),xe=!1}function Te(){const e=ai.pop();xe=e===void 0?!0:e}function li(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=q;q=void 0;try{t()}finally{q=o}}}let St=0;class ma{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 en{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(!q||!xe||q===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==q)o=this.activeLink=new ma(q,this),q.deps?(o.prevDep=q.depsTail,q.depsTail.nextDep=o,q.depsTail=o):q.deps=q.depsTail=o,ri(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=q.depsTail,o.nextDep=void 0,q.depsTail.nextDep=o,q.depsTail=o,q.deps===o&&(q.deps=n)}return o}trigger(t){this.version++,St++,this.notify(t)}notify(t){Jo();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Xo()}}}function ri(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)ri(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const tn=new WeakMap,Ze=Symbol(""),on=Symbol(""),Lt=Symbol("");function re(e,t,o){if(xe&&q){let n=tn.get(e);n||tn.set(e,n=new Map);let i=n.get(o);i||(n.set(o,i=new en),i.map=n,i.key=o),i.track()}}function De(e,t,o,n,i,s){const a=tn.get(e);if(!a){St++;return}const l=r=>{r&&r.trigger()};if(Jo(),t==="clear")a.forEach(l);else{const r=E(e),d=r&&Ko(o);if(r&&o==="length"){const p=Number(n);a.forEach((f,v)=>{(v==="length"||v===Lt||!ve(v)&&v>=p)&&l(f)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),d&&l(a.get(Lt)),t){case"add":r?d&&l(a.get("length")):(l(a.get(Ze)),Ye(e)&&l(a.get(on)));break;case"delete":r||(l(a.get(Ze)),Ye(e)&&l(a.get(on)));break;case"set":Ye(e)&&l(a.get(Ze));break}}Xo()}function rt(e){const t=R(e);return t===e?t:(re(t,"iterate",Lt),_e(e)?t:t.map(ke))}function so(e){return re(e=R(e),"iterate",Lt),e}function Ne(e,t){return ze(e)?ct(Qe(e)?ke(t):t):ke(t)}const va={__proto__:null,[Symbol.iterator](){return nn(this,Symbol.iterator,e=>Ne(this,e))},concat(...e){return rt(this).concat(...e.map(t=>E(t)?rt(t):t))},entries(){return nn(this,"entries",e=>(e[1]=Ne(this,e[1]),e))},every(e,t){return We(this,"every",e,t,void 0,arguments)},filter(e,t){return We(this,"filter",e,t,o=>o.map(n=>Ne(this,n)),arguments)},find(e,t){return We(this,"find",e,t,o=>Ne(this,o),arguments)},findIndex(e,t){return We(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return We(this,"findLast",e,t,o=>Ne(this,o),arguments)},findLastIndex(e,t){return We(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return We(this,"forEach",e,t,void 0,arguments)},includes(...e){return sn(this,"includes",e)},indexOf(...e){return sn(this,"indexOf",e)},join(e){return rt(this).join(e)},lastIndexOf(...e){return sn(this,"lastIndexOf",e)},map(e,t){return We(this,"map",e,t,void 0,arguments)},pop(){return Tt(this,"pop")},push(...e){return Tt(this,"push",e)},reduce(e,...t){return ci(this,"reduce",e,t)},reduceRight(e,...t){return ci(this,"reduceRight",e,t)},shift(){return Tt(this,"shift")},some(e,t){return We(this,"some",e,t,void 0,arguments)},splice(...e){return Tt(this,"splice",e)},toReversed(){return rt(this).toReversed()},toSorted(e){return rt(this).toSorted(e)},toSpliced(...e){return rt(this).toSpliced(...e)},unshift(...e){return Tt(this,"unshift",e)},values(){return nn(this,"values",e=>Ne(this,e))}};function nn(e,t,o){const n=so(e),i=n[t]();return n!==e&&!_e(e)&&(i._next=i.next,i.next=()=>{const s=i._next();return s.done||(s.value=o(s.value)),s}),i}const xa=Array.prototype;function We(e,t,o,n,i,s){const a=so(e),l=a!==e&&!_e(e),r=a[t];if(r!==xa[t]){const f=r.apply(e,s);return l?ke(f):f}let d=o;a!==e&&(l?d=function(f,v){return o.call(this,Ne(e,f),v,e)}:o.length>2&&(d=function(f,v){return o.call(this,f,v,e)}));const p=r.call(a,d,n);return l&&i?i(p):p}function ci(e,t,o,n){const i=so(e),s=i!==e&&!_e(e);let a=o,l=!1;i!==e&&(s?(l=n.length===0,a=function(d,p,f){return l&&(l=!1,d=Ne(e,d)),o.call(this,d,Ne(e,p),f,e)}):o.length>3&&(a=function(d,p,f){return o.call(this,d,p,f,e)}));const r=i[t](a,...n);return l?Ne(e,r):r}function sn(e,t,o){const n=R(e);re(n,"iterate",Lt);const i=n[t](...o);return(i===-1||i===!1)&&cn(o[0])?(o[0]=R(o[0]),n[t](...o)):i}function Tt(e,t,o=[]){Le(),Jo();const n=R(e)[t].apply(e,o);return Xo(),Te(),n}const ka=jo("__proto__,__v_isRef,__isVue"),di=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ve));function ya(e){ve(e)||(e=String(e));const t=R(this);return re(t,"has",e),t.hasOwnProperty(e)}class pi{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const i=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!i;if(o==="__v_isReadonly")return i;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(i?s?bi:$i:s?hi:gi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=E(t);if(!i){let r;if(a&&(r=va[o]))return r;if(o==="hasOwnProperty")return ya}const l=Reflect.get(t,o,se(t)?t:n);if((ve(o)?di.has(o):ka(o))||(i||re(t,"get",o),s))return l;if(se(l)){const r=a&&Ko(o)?l:l.value;return i&&W(r)?rn(r):r}return W(l)?i?rn(l):ln(l):l}}class ui extends pi{constructor(t=!1){super(!1,t)}set(t,o,n,i){let s=t[o];const a=E(t)&&Ko(o);if(!this._isShallow){const d=ze(s);if(!_e(n)&&!ze(n)&&(s=R(s),n=R(n)),!a&&se(s)&&!se(n))return d||(s.value=n),!0}const l=a?Number(o)<t.length:U(t,o),r=Reflect.set(t,o,n,se(t)?t:i);return t===R(i)&&r&&(l?Se(n,s)&&De(t,"set",o,n):De(t,"add",o,n)),r}deleteProperty(t,o){const n=U(t,o);t[o];const i=Reflect.deleteProperty(t,o);return i&&n&&De(t,"delete",o,void 0),i}has(t,o){const n=Reflect.has(t,o);return(!ve(o)||!di.has(o))&&re(t,"has",o),n}ownKeys(t){return re(t,"iterate",E(t)?"length":Ze),Reflect.ownKeys(t)}}class fi extends pi{constructor(t=!1){super(!0,t)}set(t,o){return!0}deleteProperty(t,o){return!0}}const wa=new ui,Sa=new fi,La=new ui(!0),Ta=new fi(!0),an=e=>e,ao=e=>Reflect.getPrototypeOf(e);function Na(e,t,o){return function(...n){const i=this.__v_raw,s=R(i),a=Ye(s),l=e==="entries"||e===Symbol.iterator&&a,r=e==="keys"&&a,d=i[e](...n),p=o?an:t?ct:ke;return!t&&re(s,"iterate",r?on:Ze),Q(Object.create(d),{next(){const{value:f,done:v}=d.next();return v?{value:f,done:v}:{value:l?[p(f[0]),p(f[1])]:p(f),done:v}}})}}function lo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ma(e,t){const o={get(i){const s=this.__v_raw,a=R(s),l=R(i);e||(Se(i,l)&&re(a,"get",i),re(a,"get",l));const{has:r}=ao(a),d=t?an:e?ct:ke;if(r.call(a,i))return d(s.get(i));if(r.call(a,l))return d(s.get(l));s!==a&&s.get(i)},get size(){const i=this.__v_raw;return!e&&re(R(i),"iterate",Ze),i.size},has(i){const s=this.__v_raw,a=R(s),l=R(i);return e||(Se(i,l)&&re(a,"has",i),re(a,"has",l)),i===l?s.has(i):s.has(i)||s.has(l)},forEach(i,s){const a=this,l=a.__v_raw,r=R(l),d=t?an:e?ct:ke;return!e&&re(r,"iterate",Ze),l.forEach((p,f)=>i.call(s,d(p),d(f),a))}};return Q(o,e?{add:lo("add"),set:lo("set"),delete:lo("delete"),clear:lo("clear")}:{add(i){const s=R(this),a=ao(s),l=R(i),r=!t&&!_e(i)&&!ze(i)?l:i;return a.has.call(s,r)||Se(i,r)&&a.has.call(s,i)||Se(l,r)&&a.has.call(s,l)||(s.add(r),De(s,"add",r,r)),this},set(i,s){!t&&!_e(s)&&!ze(s)&&(s=R(s));const a=R(this),{has:l,get:r}=ao(a);let d=l.call(a,i);d||(i=R(i),d=l.call(a,i));const p=r.call(a,i);return a.set(i,s),d?Se(s,p)&&De(a,"set",i,s):De(a,"add",i,s),this},delete(i){const s=R(this),{has:a,get:l}=ao(s);let r=a.call(s,i);r||(i=R(i),r=a.call(s,i)),l&&l.call(s,i);const d=s.delete(i);return r&&De(s,"delete",i,void 0),d},clear(){const i=R(this),s=i.size!==0,a=i.clear();return s&&De(i,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(i=>{o[i]=Na(i,e,t)}),o}function ro(e,t){const o=Ma(e,t);return(n,i,s)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(U(o,i)&&i in n?o:n,i,s)}const Pa={get:ro(!1,!1)},Ca={get:ro(!1,!0)},Ea={get:ro(!0,!1)},Oa={get:ro(!0,!0)},gi=new WeakMap,hi=new WeakMap,$i=new WeakMap,bi=new WeakMap;function Aa(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ln(e){return ze(e)?e:co(e,!1,wa,Pa,gi)}function Fa(e){return co(e,!1,La,Ca,hi)}function rn(e){return co(e,!0,Sa,Ea,$i)}function Wp(e){return co(e,!0,Ta,Oa,bi)}function co(e,t,o,n,i){if(!W(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=i.get(e);if(s)return s;const a=Aa(la(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return i.set(e,l),l}function Qe(e){return ze(e)?Qe(e.__v_raw):!!(e&&e.__v_isReactive)}function ze(e){return!!(e&&e.__v_isReadonly)}function _e(e){return!!(e&&e.__v_isShallow)}function cn(e){return e?!!e.__v_raw:!1}function R(e){const t=e&&e.__v_raw;return t?R(t):e}function Ia(e){return!U(e,"__v_skip")&&Object.isExtensible(e)&&qn(e,"__v_skip",!0),e}const ke=e=>W(e)?ln(e):e,ct=e=>W(e)?rn(e):e;function se(e){return e?e.__v_isRef===!0:!1}function _i(e){return Ra(e,!1)}function Ra(e,t){return se(e)?e:new Ha(e,t)}class Ha{constructor(t,o){this.dep=new en,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:R(t),this._value=o?t:ke(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||_e(t)||ze(t);t=n?t:R(t),Se(t,o)&&(this._rawValue=t,this._value=n?t:ke(t),this.dep.trigger())}}function mi(e){return se(e)?e.value:e}const Ua={get:(e,t,o)=>t==="__v_raw"?e:mi(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const i=e[t];return se(i)&&!se(o)?(i.value=o,!0):Reflect.set(e,t,o,n)}};function vi(e){return Qe(e)?e:new Proxy(e,Ua)}class Da{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new en(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=St-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return oi(this,!0),!0}get value(){const t=this.dep.track();return si(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wa(e,t,o=!1){let n,i;return A(e)?n=e:(n=e.get,i=e.set),new Da(n,i,o)}const po={},uo=new WeakMap;let et;function za(e,t=!1,o=et){if(o){let n=uo.get(o);n||uo.set(o,n=[]),n.push(e)}}function ja(e,t,o=B){const{immediate:n,deep:i,once:s,scheduler:a,augmentJob:l,call:r}=o,d=C=>i?C:_e(C)||i===!1||i===0?je(C,1):je(C);let p,f,v,x,D=!1,F=!1;if(se(e)?(f=()=>e.value,D=_e(e)):Qe(e)?(f=()=>d(e),D=!0):E(e)?(F=!0,D=e.some(C=>Qe(C)||_e(C)),f=()=>e.map(C=>{if(se(C))return C.value;if(Qe(C))return d(C);if(A(C))return r?r(C,2):C()})):A(e)?t?f=r?()=>r(e,2):e:f=()=>{if(v){Le();try{v()}finally{Te()}}const C=et;et=p;try{return r?r(e,3,[x]):e(x)}finally{et=C}}:f=we,t&&i){const C=f,oe=i===!0?1/0:i;f=()=>je(C(),oe)}const ee=ba(),X=()=>{p.stop(),ee&&ee.active&&Bo(ee.effects,p)};if(s&&t){const C=t;t=(...oe)=>{const Ae=C(...oe);return X(),Ae}}let H=F?new Array(e.length).fill(po):po;const z=C=>{if(!(!(p.flags&1)||!p.dirty&&!C))if(t){const oe=p.run();if(C||i||D||(F?oe.some((Ae,Fe)=>Se(Ae,H[Fe])):Se(oe,H))){v&&v();const Ae=et;et=p;try{const Fe=[oe,H===po?void 0:F&&H[0]===po?[]:H,x];H=oe,r?r(t,3,Fe):t(...Fe)}finally{et=Ae}}}else p.run()};return l&&l(z),p=new ei(f),p.scheduler=a?()=>a(z,!1):z,x=C=>za(C,!1,p),v=p.onStop=()=>{const C=uo.get(p);if(C){if(r)r(C,4);else for(const oe of C)oe();uo.delete(p)}},t?n?z(!0):H=p.run():a?a(z.bind(null,!0),!0):p.run(),X.pause=p.pause.bind(p),X.resume=p.resume.bind(p),X.stop=X,X}function je(e,t=1/0,o){if(t<=0||!W(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,se(e))je(e.value,t,o);else if(E(e))for(let n=0;n<e.length;n++)je(e[n],t,o);else if(Zt(e)||Ye(e))e.forEach(n=>{je(n,t,o)});else if(Qt(e)){for(const n in e)je(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&je(e[n],t,o)}return e}/**
|
||
* @vue/runtime-core v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/const Nt=[];let dn=!1;function zp(e,...t){if(dn)return;dn=!0,Le();const o=Nt.length?Nt[Nt.length-1].component:null,n=o&&o.appContext.config.warnHandler,i=Ba();if(n)dt(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,i.map(({vnode:s})=>`at <${vs(o,s.type)}>`).join(`
|
||
`),i]);else{const s=[`[Vue warn]: ${e}`,...t];i.length&&s.push(`
|
||
`,...Ka(i)),console.warn(...s)}Te(),dn=!1}function Ba(){let e=Nt[Nt.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 Ka(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[`
|
||
`],...Va(o))}),t}function Va({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,i=` at <${vs(e.component,e.type,n)}`,s=">"+o;return e.props?[i,...qa(e.props),s]:[i+s]}function qa(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...xi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function xi(e,t,o){return J(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:se(t)?(t=xi(e,R(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):A(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=R(t),o?t:[`${e}=`,t])}function dt(e,t,o,n){try{return n?e(...n):e()}catch(i){fo(i,t,o)}}function ye(e,t,o,n){if(A(e)){const i=dt(e,t,o,n);return i&&Kn(i)&&i.catch(s=>{fo(s,t,o)}),i}if(E(e)){const i=[];for(let s=0;s<e.length;s++)i.push(ye(e[s],t,o,n));return i}}function fo(e,t,o,n=!0){const i=t?t.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:a}=t&&t.appContext.config||B;if(t){let l=t.parent;const r=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${o}`;for(;l;){const p=l.ec;if(p){for(let f=0;f<p.length;f++)if(p[f](e,r,d)===!1)return}l=l.parent}if(s){Le(),dt(s,null,10,[e,r,d]),Te();return}}Ga(e,o,i,n,a)}function Ga(e,t,o,n=!0,i=!1){if(i)throw e;console.error(e)}const de=[];let Me=-1;const pt=[];let Je=null,ut=0;const ki=Promise.resolve();let go=null;function yi(e){const t=go||ki;return e?t.then(this?e.bind(this):e):t}function Ya(e){let t=Me+1,o=de.length;for(;t<o;){const n=t+o>>>1,i=de[n],s=Mt(i);s<e||s===e&&i.flags&2?t=n+1:o=n}return t}function pn(e){if(!(e.flags&1)){const t=Mt(e),o=de[de.length-1];!o||!(e.flags&2)&&t>=Mt(o)?de.push(e):de.splice(Ya(t),0,e),e.flags|=1,wi()}}function wi(){go||(go=ki.then(Ti))}function Ja(e){if(!E(e))Je&&e.id===-1?Je.splice(ut+1,0,e):e.flags&1||(pt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)pt.push(e[t]);wi()}function Si(e,t,o=Me+1){for(;o<de.length;o++){const n=de[o];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;de.splice(o,1),o--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Li(e){if(pt.length){const t=[...new Set(pt)].sort((o,n)=>Mt(o)-Mt(n));if(pt.length=0,Je){for(let o=0;o<t.length;o++)Je.push(t[o]);return}for(Je=t,ut=0;ut<Je.length;ut++){const o=Je[ut];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}Je=null,ut=0}}const Mt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Ti(e){try{for(Me=0;Me<de.length;Me++){const t=de[Me];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),dt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Me<de.length;Me++){const t=de[Me];t&&(t.flags&=-2)}Me=-1,de.length=0,Li(),go=null,(de.length||pt.length)&&Ti()}}let ae=null,Ni=null;function ho(e){const t=ae;return ae=e,Ni=e&&e.type.__scopeId||null,t}function ft(e,t=ae,o){if(!t||e._n)return e;const n=(...i)=>{n._d&&ps(-1);const s=ho(t),a=Ke.length;let l;try{l=e(...i)}finally{for(let r=Ke.length;r>a;r--)Ln();ho(s),n._d&&ps(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function gt(e,t){if(ae===null)return e;const o=To(ae),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[s,a,l,r=B]=t[i];s&&(A(s)&&(s={mounted:s,updated:s}),s.deep&&je(a),n.push({dir:s,instance:o,value:a,oldValue:void 0,arg:l,modifiers:r}))}return e}function tt(e,t,o,n){const i=e.dirs,s=t&&t.dirs;for(let a=0;a<i.length;a++){const l=i[a];s&&(l.oldValue=s[a].value);let r=l.dir[n];r&&(Le(),ye(r,o,8,[e.el,l,e,t]),Te())}}function Xa(e,t){if(ce){let o=ce.provides;const n=ce.parent&&ce.parent.provides;n===o&&(o=ce.provides=Object.create(n)),o[e]=t}}function Pt(e,t,o=!1){const n=gs();if(n||$t){let i=$t?$t._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return o&&A(t)?t.call(n&&n.proxy):t}}const Za=Symbol.for("v-scx"),Qa=()=>Pt(Za);function $o(e,t,o){return Mi(e,t,o)}function Mi(e,t,o=B){const{immediate:n,deep:i,flush:s,once:a}=o,l=Q({},o),r=t&&n||!t&&s!=="post";let d;if(Dt){if(s==="sync"){const x=Qa();d=x.__watcherHandles||(x.__watcherHandles=[])}else if(!r){const x=()=>{};return x.stop=we,x.resume=we,x.pause=we,x}}const p=ce;l.call=(x,D,F)=>ye(x,p,D,F);let f=!1;s==="post"?l.scheduler=x=>{fe(x,p&&p.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(x,D)=>{D?x():pn(x)}),l.augmentJob=x=>{t&&(x.flags|=4),f&&(x.flags|=2,p&&(x.id=p.uid,x.i=p))};const v=ja(e,t,l);return Dt&&(d?d.push(v):r&&v()),v}function el(e,t,o){const n=this.proxy,i=J(e)?e.includes(".")?Pi(n,e):()=>n[e]:e.bind(n,n);let s;A(t)?s=t:(s=t.handler,o=t);const a=Ut(this),l=Mi(i,s.bind(n),o);return a(),l}function Pi(e,t){const o=t.split(".");return()=>{let n=e;for(let i=0;i<o.length&&n;i++)n=n[o[i]];return n}}const tl=Symbol("_vte"),bo=e=>e.__isTeleport,un=Symbol("_leaveCb");function ol(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Ce){t=o;break}}return t}function Ci(e){if(!gn(e))return bo(e.type)&&e.children?ol(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&&A(o.default))return o.default()}}function fn(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;fn(bo(o.type)&&Ci(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 _o(e,t){return A(e)?Q({name:e.name},t,{setup:e}):e}function Ei(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Oi(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const mo=new WeakMap;function Ct(e,t,o,n,i=!1){if(E(e)){e.forEach((F,ee)=>Ct(F,t&&(E(t)?t[ee]:t),o,n,i));return}if(ht(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ct(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?To(n.component):n.el,a=i?null:s,{i:l,r}=e,d=t&&t.r,p=l.refs===B?l.refs={}:l.refs,f=l.setupState,v=R(f),x=f===B?jn:F=>Oi(p,F)?!1:U(v,F),D=(F,ee)=>!(ee&&Oi(p,ee));if(d!=null&&d!==r){if(Ai(t),J(d))p[d]=null,x(d)&&(f[d]=null);else if(se(d)){const F=t;D(d,F.k)&&(d.value=null),F.k&&(p[F.k]=null)}}if(A(r))dt(r,l,12,[a,p]);else{const F=J(r),ee=se(r);if(F||ee){const X=()=>{if(e.f){const H=F?x(r)?f[r]:p[r]:D()||!e.k?r.value:p[e.k];if(i)E(H)&&Bo(H,s);else if(E(H))H.includes(s)||H.push(s);else if(F)p[r]=[s],x(r)&&(f[r]=p[r]);else{const z=[s];D(r,e.k)&&(r.value=z),e.k&&(p[e.k]=z)}}else F?(p[r]=a,x(r)&&(f[r]=a)):ee&&(D(r,e.k)&&(r.value=a),e.k&&(p[e.k]=a))};if(a){const H=()=>{X(),mo.delete(e)};H.id=-1,mo.set(e,H),fe(H,o)}else Ai(e),X()}}}function Ai(e){const t=mo.get(e);t&&(t.flags|=8,mo.delete(e))}no().requestIdleCallback,no().cancelIdleCallback;const ht=e=>!!e.type.__asyncLoader,gn=e=>e.type.__isKeepAlive;function nl(e,t){Fi(e,"a",t)}function il(e,t){Fi(e,"da",t)}function Fi(e,t,o=ce){const n=e.__wdc||(e.__wdc=()=>{let i=o;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(vo(t,n,o),o){let i=o.parent;for(;i&&i.parent;)gn(i.parent.vnode)&&sl(n,t,o,i),i=i.parent}}function sl(e,t,o,n){const i=vo(t,e,n,!0);Ri(()=>{Bo(n[t],i)},o)}function vo(e,t,o=ce,n=!1){if(o){const i=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Le();const l=Ut(o),r=ye(t,o,e,a);return l(),Te(),r});return n?i.unshift(s):i.push(s),s}}const Be=e=>(t,o=ce)=>{(!Dt||e==="sp")&&vo(e,(...n)=>t(...n),o)},al=Be("bm"),hn=Be("m"),ll=Be("bu"),rl=Be("u"),Ii=Be("bum"),Ri=Be("um"),cl=Be("sp"),dl=Be("rtg"),pl=Be("rtc");function ul(e,t=ce){vo("ec",e,t)}const fl="components";function $n(e,t){return hl(fl,e,!0,t)||e}const gl=Symbol.for("v-ndc");function hl(e,t,o=!0,n=!1){const i=ae||ce;if(i){const s=i.type;{const l=ms(s,!1);if(l&&(l===t||l===ne(t)||l===to(ne(t))))return s}const a=Hi(i[e]||s[e],t)||Hi(i.appContext[e],t);return!a&&n?s:a}}function Hi(e,t){return e&&(e[t]||e[ne(t)]||e[to(ne(t))])}function Pe(e,t,o,n){let i;const s=o,a=E(e);if(a||J(e)){const l=a&&Qe(e);let r=!1,d=!1;l&&(r=!_e(e),d=ze(e),e=so(e)),i=new Array(e.length);for(let p=0,f=e.length;p<f;p++)i[p]=t(r?d?ct(ke(e[p])):ke(e[p]):e[p],p,void 0,s)}else if(typeof e=="number"){i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,s)}else if(W(e))if(e[Symbol.iterator])i=Array.from(e,(l,r)=>t(l,r,void 0,s));else{const l=Object.keys(e);i=new Array(l.length);for(let r=0,d=l.length;r<d;r++){const p=l[r];i[r]=t(e[p],p,r,s)}}else i=[];return i}function Et(e,t,o,n,i,s){if(o==null&&(o={}),ae.ce||ae.parent&&ht(ae.parent)&&ae.parent.ce){const d=s!=null&&o.key==null?Q({},o,{key:s}):o,p=Object.keys(d).length>0;return t!=="default"&&(d.name=t),L(),It(Y,null,[me("slot",d,n)],p?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=Ke.length;L();let r;try{const d=a&&Ui(a(o)),p=o.key||s||d&&d.key;r=It(Y,{key:(p&&!ve(p)?p:`_${t}`)+(!d&&n?"_fb":"")},d||(n?n():[]),d&&e._===1?64:-2)}catch(d){for(let p=Ke.length;p>l;p--)Ln();throw d}finally{a&&a._c&&(a._d=!0)}return r.scopeId&&(r.slotScopeIds=[r.scopeId+"-s"]),r}function Ui(e){return e.some(t=>Tn(t)?!(t.type===Ce||t.type===Y&&!Ui(t.children)):!0)?e:null}const bn=e=>e?$s(e)?To(e):bn(e.parent):null,Ot=Q(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=>bn(e.parent),$root:e=>bn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ji(e),$forceUpdate:e=>e.f||(e.f=()=>{pn(e.update)}),$nextTick:e=>e.n||(e.n=yi.bind(e.proxy)),$watch:e=>el.bind(e)}),_n=(e,t)=>e!==B&&!e.__isScriptSetup&&U(e,t),$l={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:i,props:s,accessCache:a,type:l,appContext:r}=e;if(t[0]!=="$"){const v=a[t];if(v!==void 0)switch(v){case 1:return n[t];case 2:return i[t];case 4:return o[t];case 3:return s[t]}else{if(_n(n,t))return a[t]=1,n[t];if(i!==B&&U(i,t))return a[t]=2,i[t];if(U(s,t))return a[t]=3,s[t];if(o!==B&&U(o,t))return a[t]=4,o[t];mn&&(a[t]=0)}}const d=Ot[t];let p,f;if(d)return t==="$attrs"&&re(e.attrs,"get",""),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(o!==B&&U(o,t))return a[t]=4,o[t];if(f=r.config.globalProperties,U(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:i,ctx:s}=e;return _n(i,t)?(i[t]=o,!0):n!==B&&U(n,t)?(n[t]=o,!0):U(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:i,props:s,type:a}},l){let r;return!!(o[l]||e!==B&&l[0]!=="$"&&U(e,l)||_n(t,l)||U(s,l)||U(n,l)||U(Ot,l)||U(i.config.globalProperties,l)||(r=a.__cssModules)&&r[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:U(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Di(e){return E(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let mn=!0;function bl(e){const t=ji(e),o=e.proxy,n=e.ctx;mn=!1,t.beforeCreate&&Wi(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:a,watch:l,provide:r,inject:d,created:p,beforeMount:f,mounted:v,beforeUpdate:x,updated:D,activated:F,deactivated:ee,beforeDestroy:X,beforeUnmount:H,destroyed:z,unmounted:C,render:oe,renderTracked:Ae,renderTriggered:Fe,errorCaptured:Xe,serverPrefetch:Ho,expose:nt,inheritAttrs:Vt,components:Uo,directives:Do,filters:Wn}=t;if(d&&_l(d,n,null),a)for(const Z in a){const G=a[Z];A(G)&&(n[Z]=G.bind(o))}if(i){const Z=i.call(o,o);W(Z)&&(e.data=ln(Z))}if(mn=!0,s)for(const Z in s){const G=s[Z],it=A(G)?G.bind(o,o):A(G.get)?G.get.bind(o,o):we,Wo=!A(G)&&A(G.set)?G.set.bind(o):we,st=xs({get:it,set:Wo});Object.defineProperty(n,Z,{enumerable:!0,configurable:!0,get:()=>st.value,set:Ie=>st.value=Ie})}if(l)for(const Z in l)zi(l[Z],n,o,Z);if(r){const Z=A(r)?r.call(o):r;Reflect.ownKeys(Z).forEach(G=>{Xa(G,Z[G])})}p&&Wi(p,e,"c");function ue(Z,G){E(G)?G.forEach(it=>Z(it.bind(o))):G&&Z(G.bind(o))}if(ue(al,f),ue(hn,v),ue(ll,x),ue(rl,D),ue(nl,F),ue(il,ee),ue(ul,Xe),ue(pl,Ae),ue(dl,Fe),ue(Ii,H),ue(Ri,C),ue(cl,Ho),E(nt))if(nt.length){const Z=e.exposed||(e.exposed={});nt.forEach(G=>{Object.defineProperty(Z,G,{get:()=>o[G],set:it=>o[G]=it,enumerable:!0})})}else e.exposed||(e.exposed={});oe&&e.render===we&&(e.render=oe),Vt!=null&&(e.inheritAttrs=Vt),Uo&&(e.components=Uo),Do&&(e.directives=Do),Ho&&Ei(e)}function _l(e,t,o=we){E(e)&&(e=vn(e));for(const n in e){const i=e[n];let s;W(i)?"default"in i?s=Pt(i.from||n,i.default,!0):s=Pt(i.from||n):s=Pt(i),se(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Wi(e,t,o){ye(E(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function zi(e,t,o,n){let i=n.includes(".")?Pi(o,n):()=>o[n];if(J(e)){const s=t[e];A(s)&&$o(i,s)}else if(A(e))$o(i,e.bind(o));else if(W(e))if(E(e))e.forEach(s=>zi(s,t,o,n));else{const s=A(e.handler)?e.handler.bind(o):t[e.handler];A(s)&&$o(i,s,e)}}function ji(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:i,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let r;return l?r=l:!i.length&&!o&&!n?r=t:(r={},i.length&&i.forEach(d=>xo(r,d,a,!0)),xo(r,t,a)),W(t)&&s.set(t,r),r}function xo(e,t,o,n=!1){const{mixins:i,extends:s}=t;s&&xo(e,s,o,!0),i&&i.forEach(a=>xo(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=ml[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const ml={data:Bi,props:Ki,emits:Ki,methods:At,computed:At,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:At,directives:At,watch:xl,provide:Bi,inject:vl};function Bi(e,t){return t?e?function(){return Q(A(e)?e.call(this,this):e,A(t)?t.call(this,this):t)}:t:e}function vl(e,t){return At(vn(e),vn(t))}function vn(e){if(E(e)){const t={};for(let o=0;o<e.length;o++)t[e[o]]=e[o];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function At(e,t){return e?Q(Object.create(null),e,t):t}function Ki(e,t){return e?E(e)&&E(t)?[...new Set([...e,...t])]:Q(Object.create(null),Di(e),Di(t??{})):t}function xl(e,t){if(!e)return t;if(!t)return e;const o=Q(Object.create(null),e);for(const n in t)o[n]=pe(e[n],t[n]);return o}function Vi(){return{app:null,config:{isNativeTag:jn,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let kl=0;function yl(e,t){return function(n,i=null){A(n)||(n=Q({},n)),i!=null&&!W(i)&&(i=null);const s=Vi(),a=new WeakSet,l=[];let r=!1;const d=s.app={_uid:kl++,_component:n,_props:i,_container:null,_context:s,_instance:null,version:tr,get config(){return s.config},set config(p){},use(p,...f){return a.has(p)||(p&&A(p.install)?(a.add(p),p.install(d,...f)):A(p)&&(a.add(p),p(d,...f))),d},mixin(p){return s.mixins.includes(p)||s.mixins.push(p),d},component(p,f){return f?(s.components[p]=f,d):s.components[p]},directive(p,f){return f?(s.directives[p]=f,d):s.directives[p]},mount(p,f,v){if(!r){const x=d._ceVNode||me(n,i);return x.appContext=s,v===!0?v="svg":v===!1&&(v=void 0),e(x,p,v),r=!0,d._container=p,p.__vue_app__=d,To(x.component)}},onUnmount(p){l.push(p)},unmount(){r&&(ye(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(p,f){return s.provides[p]=f,d},runWithContext(p){const f=$t;$t=d;try{return p()}finally{$t=f}}};return d}}let $t=null;const wl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ne(t)}Modifiers`]||e[`${be(t)}Modifiers`];function Sl(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||B;let i=o;const s=t.startsWith("update:"),a=s&&wl(n,t.slice(7));a&&(a.trim&&(i=o.map(p=>J(p)?p.trim():p)),a.number&&(i=i.map(qo)));let l,r=n[l=Vo(t)]||n[l=Vo(ne(t))];!r&&s&&(r=n[l=Vo(be(t))]),r&&ye(r,e,6,i);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ye(d,e,6,i)}}const Ll=new WeakMap;function qi(e,t,o=!1){const n=o?Ll:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const s=e.emits;let a={},l=!1;if(!A(e)){const r=d=>{const p=qi(d,t,!0);p&&(l=!0,Q(a,p))};!o&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!s&&!l?(W(e)&&n.set(e,null),null):(E(s)?s.forEach(r=>a[r]=null):Q(a,s),W(e)&&n.set(e,a),a)}function ko(e,t){return!e||!Jt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),U(e,t[0].toLowerCase()+t.slice(1))||U(e,be(t))||U(e,t))}function jp(){}function Gi(e){const{type:t,vnode:o,proxy:n,withProxy:i,propsOptions:[s],slots:a,attrs:l,emit:r,render:d,renderCache:p,props:f,data:v,setupState:x,ctx:D,inheritAttrs:F}=e,ee=ho(e);let X,H;try{if(o.shapeFlag&4){const C=i||n,oe=C;X=Ee(d.call(oe,C,p,f,x,v,D)),H=l}else{const C=t;X=Ee(C.length>1?C(f,{attrs:l,slots:a,emit:r}):C(f,null)),H=t.props?l:Tl(l)}}catch(C){Ke.length=0,fo(C,e,1),X=me(Ce)}let z=X;if(H&&F!==!1){const C=Object.keys(H),{shapeFlag:oe}=z;C.length&&oe&7&&(s&&C.some(Xt)&&(H=Nl(H,s)),z=bt(z,H,!1,!0))}if(o.dirs&&(z=bt(z,null,!1,!0),z.dirs=z.dirs?z.dirs.concat(o.dirs):o.dirs),o.transition){const C=bo(z.type)&&Ci(z)||z;fn(C,o.transition)}return X=z,ho(ee),X}const Tl=e=>{let t;for(const o in e)(o==="class"||o==="style"||Jt(o))&&((t||(t={}))[o]=e[o]);return t},Nl=(e,t)=>{const o={};for(const n in e)(!Xt(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Ml(e,t,o){const{props:n,children:i,component:s}=e,{props:a,children:l,patchFlag:r}=t,d=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&r>=0){if(r&1024)return!0;if(r&16)return n?Yi(n,a,d):!!a;if(r&8){const p=t.dynamicProps;for(let f=0;f<p.length;f++){const v=p[f];if(Ji(a,n,v)&&!ko(d,v))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:n===a?!1:n?a?Yi(n,a,d):!0:!!a;return!1}function Yi(e,t,o){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const s=n[i];if(Ji(t,e,s)&&!ko(o,s))return!0}return!1}function Ji(e,t,o){const n=e[o],i=t[o];return o==="style"&&W(n)&&W(i)?!io(n,i):n!==i}function Pl({vnode:e,parent:t,suspense:o},n){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=n,e=i),i===e)(e=t.vnode).el=n,t=t.parent;else break}o&&o.activeBranch===e&&(o.vnode.el=n)}const Xi={},Zi=()=>Object.create(Xi),Qi=e=>Object.getPrototypeOf(e)===Xi;function Cl(e,t,o,n=!1){const i={},s=Zi();e.propsDefaults=Object.create(null),es(e,t,i,s);for(const a in e.propsOptions[0])a in i||(i[a]=void 0);o?e.props=n?i:Fa(i):e.type.props?e.props=i:e.props=s,e.attrs=s}function El(e,t,o,n){const{props:i,attrs:s,vnode:{patchFlag:a}}=e,l=R(i),[r]=e.propsOptions;let d=!1;if((n||a>0)&&!(a&16)){if(a&8){const p=e.vnode.dynamicProps;for(let f=0;f<p.length;f++){let v=p[f];if(ko(e.emitsOptions,v))continue;const x=t[v];if(r)if(U(s,v))x!==s[v]&&(s[v]=x,d=!0);else{const D=ne(v);i[D]=xn(r,l,D,x,e,!1)}else x!==s[v]&&(s[v]=x,d=!0)}}}else{es(e,t,i,s)&&(d=!0);let p;for(const f in l)(!t||!U(t,f)&&((p=be(f))===f||!U(t,p)))&&(r?o&&(o[f]!==void 0||o[p]!==void 0)&&(i[f]=xn(r,l,f,void 0,e,!0)):delete i[f]);if(s!==l)for(const f in s)(!t||!U(t,f))&&(delete s[f],d=!0)}d&&De(e.attrs,"set","")}function es(e,t,o,n){const[i,s]=e.propsOptions;let a=!1,l;if(t)for(let r in t){if(kt(r))continue;const d=t[r];let p;i&&U(i,p=ne(r))?!s||!s.includes(p)?o[p]=d:(l||(l={}))[p]=d:ko(e.emitsOptions,r)||(!(r in n)||d!==n[r])&&(n[r]=d,a=!0)}if(s){const r=R(o),d=l||B;for(let p=0;p<s.length;p++){const f=s[p];o[f]=xn(i,r,f,d[f],e,!U(d,f))}}return a}function xn(e,t,o,n,i,s){const a=e[o];if(a!=null){const l=U(a,"default");if(l&&n===void 0){const r=a.default;if(a.type!==Function&&!a.skipFactory&&A(r)){const{propsDefaults:d}=i;if(o in d)n=d[o];else{const p=Ut(i);n=d[o]=r.call(null,t),p()}}else n=r;i.ce&&i.ce._setProp(o,n)}a[0]&&(s&&!l?n=!1:a[1]&&(n===""||n===be(o))&&(n=!0))}return n}const Ol=new WeakMap;function ts(e,t,o=!1){const n=o?Ol:t.propsCache,i=n.get(e);if(i)return i;const s=e.props,a={},l=[];let r=!1;if(!A(e)){const p=f=>{r=!0;const[v,x]=ts(f,t,!0);Q(a,v),x&&l.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!s&&!r)return W(e)&&n.set(e,at),at;if(E(s))for(let p=0;p<s.length;p++){const f=ne(s[p]);os(f)&&(a[f]=B)}else if(s)for(const p in s){const f=ne(p);if(os(f)){const v=s[p],x=a[f]=E(v)||A(v)?{type:v}:Q({},v),D=x.type;let F=!1,ee=!0;if(E(D))for(let X=0;X<D.length;++X){const H=D[X],z=A(H)&&H.name;if(z==="Boolean"){F=!0;break}else z==="String"&&(ee=!1)}else F=A(D)&&D.name==="Boolean";x[0]=F,x[1]=ee,(F||U(x,"default"))&&l.push(f)}}const d=[a,l];return W(e)&&n.set(e,d),d}function os(e){return e[0]!=="$"&&!kt(e)}const kn=e=>e==="_"||e==="_ctx"||e==="$stable",yn=e=>E(e)?e.map(Ee):[Ee(e)],Al=(e,t,o)=>{if(t._n)return t;const n=ft((...i)=>yn(t(...i)),o);return n._c=!1,n},ns=(e,t,o)=>{const n=e._ctx;for(const i in e){if(kn(i))continue;const s=e[i];if(A(s))t[i]=Al(i,s,n);else if(s!=null){const a=yn(s);t[i]=()=>a}}},is=(e,t)=>{const o=yn(t);e.slots.default=()=>o},ss=(e,t,o)=>{for(const n in t)(o||!kn(n))&&(e[n]=t[n])},Fl=(e,t,o)=>{const n=e.slots=Zi();if(e.vnode.shapeFlag&32){const i=t._;i?(ss(n,t,o),o&&qn(n,"_",i,!0)):ns(t,n)}else t&&is(e,t)},Il=(e,t,o)=>{const{vnode:n,slots:i}=e;let s=!0,a=B;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:ss(i,t,o):(s=!t.$stable,ns(t,i)),a=t}else t&&(is(e,t),a={default:1});if(s)for(const l in i)!kn(l)&&a[l]==null&&delete i[l]},fe=Wl;function Rl(e){return Hl(e)}function Hl(e,t){const o=no();o.__VUE__=!0;const{insert:n,remove:i,patchProp:s,createElement:a,createText:l,createComment:r,setText:d,setElementText:p,parentNode:f,nextSibling:v,setScopeId:x=we,insertStaticContent:D}=e,F=(c,u,g,_=null,b=null,h=null,w=void 0,y=null,k=!!u.dynamicChildren)=>{if(c===u)return;c&&!Rt(c,u)&&(_=zo(c),Ie(c,b,h,!0),c=null),u.patchFlag===-2&&(k=!1,u.dynamicChildren=null);const{type:$,ref:P,shapeFlag:S}=u;switch($){case yo:ee(c,u,g,_);break;case Ce:X(c,u,g,_);break;case Sn:c==null&&H(u,g,_,w);break;case Y:Uo(c,u,g,_,b,h,w,y,k);break;default:S&1?oe(c,u,g,_,b,h,w,y,k):S&6?Do(c,u,g,_,b,h,w,y,k):(S&64||S&128)&&$.process(c,u,g,_,b,h,w,y,k,Gt)}P!=null&&b?Ct(P,c&&c.ref,h,u||c,!u):P==null&&c&&c.ref!=null&&Ct(c.ref,null,h,c,!0)},ee=(c,u,g,_)=>{if(c==null)n(u.el=l(u.children),g,_);else{const b=u.el=c.el;u.children!==c.children&&d(b,u.children)}},X=(c,u,g,_)=>{c==null?n(u.el=r(u.children||""),g,_):u.el=c.el},H=(c,u,g,_)=>{[c.el,c.anchor]=D(c.children,u,g,_,c.el,c.anchor)},z=({el:c,anchor:u},g,_)=>{let b;for(;c&&c!==u;)b=v(c),n(c,g,_),c=b;n(u,g,_)},C=({el:c,anchor:u})=>{let g;for(;c&&c!==u;)g=v(c),i(c),c=g;i(u)},oe=(c,u,g,_,b,h,w,y,k)=>{if(u.type==="svg"?w="svg":u.type==="math"&&(w="mathml"),c==null)Ae(u,g,_,b,h,w,y,k);else{const $=c.el&&c.el._isVueCE?c.el:null;try{$&&$._beginPatch(),Ho(c,u,b,h,w,y,k)}finally{$&&$._endPatch()}}},Ae=(c,u,g,_,b,h,w,y)=>{let k,$;const{props:P,shapeFlag:S,transition:M,dirs:O}=c;if(k=c.el=a(c.type,h,P&&P.is,P),S&8?p(k,c.children):S&16&&Xe(c.children,k,null,_,b,wn(c,h),w,y),O&&tt(c,null,_,"created"),Fe(k,c,c.scopeId,w,_),P){for(const V in P)V!=="value"&&!kt(V)&&s(k,V,null,P[V],h,_);"value"in P&&s(k,"value",null,P.value,h),($=P.onVnodeBeforeMount)&&Oe($,_,c)}O&&tt(c,null,_,"beforeMount");const I=Ul(b,M);I&&M.beforeEnter(k),n(k,u,g),(($=P&&P.onVnodeMounted)||I||O)&&fe(()=>{try{$&&Oe($,_,c),I&&M.enter(k),O&&tt(c,null,_,"mounted")}finally{}},b)},Fe=(c,u,g,_,b)=>{if(g&&x(c,g),_)for(let h=0;h<_.length;h++)x(c,_[h]);if(b){let h=b.subTree;if(u===h||ds(h.type)&&(h.ssContent===u||h.ssFallback===u)){const w=b.vnode;Fe(c,w,w.scopeId,w.slotScopeIds,b.parent)}}},Xe=(c,u,g,_,b,h,w,y,k=0)=>{for(let $=k;$<c.length;$++){const P=c[$]=y?qe(c[$]):Ee(c[$]);F(null,P,u,g,_,b,h,w,y)}},Ho=(c,u,g,_,b,h,w)=>{const y=u.el=c.el;let{patchFlag:k,dynamicChildren:$,dirs:P}=u;k|=c.patchFlag&16;const S=c.props||B,M=u.props||B;let O;if(g&&ot(g,!1),(O=M.onVnodeBeforeUpdate)&&Oe(O,g,u,c),P&&tt(u,c,g,"beforeUpdate"),g&&ot(g,!0),$&&(!c.dynamicChildren||c.dynamicChildren.length!==$.length)&&(k=0,w=!1,$=null),(S.innerHTML&&M.innerHTML==null||S.textContent&&M.textContent==null)&&p(y,""),$?nt(c.dynamicChildren,$,y,g,_,wn(u,b),h):w||G(c,u,y,null,g,_,wn(u,b),h,!1),k>0){if(k&16)Vt(y,S,M,g,b);else if(k&2&&S.class!==M.class&&s(y,"class",null,M.class,b),k&4&&s(y,"style",S.style,M.style,b),k&8){const I=u.dynamicProps;for(let V=0;V<I.length;V++){const j=I[V],te=S[j],le=M[j];(le!==te||j==="value")&&s(y,j,te,le,b,g)}}k&1&&c.children!==u.children&&p(y,u.children)}else!w&&$==null&&Vt(y,S,M,g,b);((O=M.onVnodeUpdated)||P)&&fe(()=>{O&&Oe(O,g,u,c),P&&tt(u,c,g,"updated")},_)},nt=(c,u,g,_,b,h,w)=>{for(let y=0;y<u.length;y++){const k=c[y],$=u[y],P=k.el&&(k.type===Y||!Rt(k,$)||k.shapeFlag&198)?f(k.el):g;F(k,$,P,null,_,b,h,w,!0)}},Vt=(c,u,g,_,b)=>{if(u!==g){if(u!==B)for(const h in u)!kt(h)&&!(h in g)&&s(c,h,u[h],null,b,_);for(const h in g){if(kt(h))continue;const w=g[h],y=u[h];w!==y&&h!=="value"&&s(c,h,y,w,b,_)}"value"in g&&s(c,"value",u.value,g.value,b)}},Uo=(c,u,g,_,b,h,w,y,k)=>{const $=u.el=c?c.el:l(""),P=u.anchor=c?c.anchor:l("");let{patchFlag:S,dynamicChildren:M,slotScopeIds:O}=u;O&&(y=y?y.concat(O):O),c==null?(n($,g,_),n(P,g,_),Xe(u.children||[],g,P,b,h,w,y,k)):S>0&&S&64&&M&&c.dynamicChildren&&c.dynamicChildren.length===M.length?(nt(c.dynamicChildren,M,g,b,h,w,y),(u.key!=null||b&&u===b.subTree)&&as(c,u,!0)):G(c,u,g,P,b,h,w,y,k)},Do=(c,u,g,_,b,h,w,y,k)=>{u.slotScopeIds=y,c==null?u.shapeFlag&512?b.ctx.activate(u,g,_,w,k):Wn(u,g,_,b,h,w,k):ea(c,u,k)},Wn=(c,u,g,_,b,h,w)=>{const y=c.component=ql(c,_,b);if(gn(c)&&(y.ctx.renderer=Gt),Gl(y,!1,w),y.asyncDep){if(b&&b.registerDep(y,ue,w),!c.el){const k=y.subTree=me(Ce);X(null,k,u,g),c.placeholder=k.el}}else ue(y,c,u,g,b,h,w)},ea=(c,u,g)=>{const _=u.component=c.component;if(Ml(c,u,g))if(_.asyncDep&&!_.asyncResolved){Z(_,u,g);return}else _.next=u,_.update();else u.el=c.el,_.vnode=u},ue=(c,u,g,_,b,h,w)=>{const y=()=>{if(c.isMounted){let{next:S,bu:M,u:O,parent:I,vnode:V}=c;{const He=ls(c);if(He){S&&(S.el=V.el,Z(c,S,w)),He.asyncDep.then(()=>{fe(()=>{c.isUnmounted||$()},b)});return}}let j=S,te;ot(c,!1),S?(S.el=V.el,Z(c,S,w)):S=V,M&&oo(M),(te=S.props&&S.props.onVnodeBeforeUpdate)&&Oe(te,I,S,V),ot(c,!0);const le=Gi(c),Re=c.subTree;c.subTree=le,F(Re,le,f(Re.el),zo(Re),c,b,h),S.el=le.el,j===null&&Pl(c,le.el),O&&fe(O,b),(te=S.props&&S.props.onVnodeUpdated)&&fe(()=>Oe(te,I,S,V),b)}else{let S;const{el:M,props:O}=u,{bm:I,m:V,parent:j,root:te,type:le}=c,Re=ht(u);ot(c,!1),I&&oo(I),!Re&&(S=O&&O.onVnodeBeforeMount)&&Oe(S,j,u),ot(c,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(le,c.parent?c.parent.type:void 0);const He=c.subTree=Gi(c);F(null,He,g,_,c,b,h),u.el=He.el}if(V&&fe(V,b),!Re&&(S=O&&O.onVnodeMounted)){const He=u;fe(()=>Oe(S,j,He),b)}(u.shapeFlag&256||j&&ht(j.vnode)&&j.vnode.shapeFlag&256)&&c.a&&fe(c.a,b),c.isMounted=!0,u=g=_=null}};c.scope.on();const k=c.effect=new ei(y);c.scope.off();const $=c.update=k.run.bind(k),P=c.job=k.runIfDirty.bind(k);P.i=c,P.id=c.uid,k.scheduler=()=>pn(P),ot(c,!0),$()},Z=(c,u,g)=>{u.component=c;const _=c.vnode.props;c.vnode=u,c.next=null,El(c,u.props,_,g),Il(c,u.children,g),Le(),Si(c),Te()},G=(c,u,g,_,b,h,w,y,k=!1)=>{const $=c&&c.children,P=c?c.shapeFlag:0,S=u.children,{patchFlag:M,shapeFlag:O}=u;if(M>0){if(M&128){Wo($,S,g,_,b,h,w,y,k);return}else if(M&256){it($,S,g,_,b,h,w,y,k);return}}O&8?(P&16&&qt($,b,h),S!==$&&p(g,S)):P&16?O&16?Wo($,S,g,_,b,h,w,y,k):qt($,b,h,!0):(P&8&&p(g,""),O&16&&Xe(S,g,_,b,h,w,y,k))},it=(c,u,g,_,b,h,w,y,k)=>{c=c||at,u=u||at;const $=c.length,P=u.length,S=Math.min($,P);let M;for(M=0;M<S;M++){const O=u[M]=k?qe(u[M]):Ee(u[M]);F(c[M],O,g,null,b,h,w,y,k)}$>P?qt(c,b,h,!0,!1,S):Xe(u,g,_,b,h,w,y,k,S)},Wo=(c,u,g,_,b,h,w,y,k)=>{let $=0;const P=u.length;let S=c.length-1,M=P-1;for(;$<=S&&$<=M;){const O=c[$],I=u[$]=k?qe(u[$]):Ee(u[$]);if(Rt(O,I))F(O,I,g,null,b,h,w,y,k);else break;$++}for(;$<=S&&$<=M;){const O=c[S],I=u[M]=k?qe(u[M]):Ee(u[M]);if(Rt(O,I))F(O,I,g,null,b,h,w,y,k);else break;S--,M--}if($>S){if($<=M){const O=M+1,I=O<P?u[O].el:_;for(;$<=M;)F(null,u[$]=k?qe(u[$]):Ee(u[$]),g,I,b,h,w,y,k),$++}}else if($>M)for(;$<=S;)Ie(c[$],b,h,!0),$++;else{const O=$,I=$,V=new Map;for($=I;$<=M;$++){const $e=u[$]=k?qe(u[$]):Ee(u[$]);$e.key!=null&&V.set($e.key,$)}let j,te=0;const le=M-I+1;let Re=!1,He=0;const Yt=new Array(le);for($=0;$<le;$++)Yt[$]=0;for($=O;$<=S;$++){const $e=c[$];if(te>=le){Ie($e,b,h,!0);continue}let Ue;if($e.key!=null)Ue=V.get($e.key);else for(j=I;j<=M;j++)if(Yt[j-I]===0&&Rt($e,u[j])){Ue=j;break}Ue===void 0?Ie($e,b,h,!0):(Yt[Ue-I]=$+1,Ue>=He?He=Ue:Re=!0,F($e,u[Ue],g,null,b,h,w,y,k),te++)}const na=Re?Dl(Yt):at;for(j=na.length-1,$=le-1;$>=0;$--){const $e=I+$,Ue=u[$e],ia=u[$e+1],sa=$e+1<P?ia.el||cs(ia):_;Yt[$]===0?F(null,Ue,g,sa,b,h,w,y,k):Re&&(j<0||$!==na[j]?st(Ue,g,sa,2):j--)}}},st=(c,u,g,_,b=null)=>{const{el:h,type:w,transition:y,children:k,shapeFlag:$}=c;if($&6){st(c.component.subTree,u,g,_);return}if($&128){c.suspense.move(u,g,_);return}if($&64){w.move(c,u,g,Gt);return}if(w===Y){n(h,u,g);for(let S=0;S<k.length;S++)st(k[S],u,g,_);n(c.anchor,u,g);return}if(w===Sn){z(c,u,g);return}if(_!==2&&$&1&&y)if(_===0)y.persisted&&!h[un]?n(h,u,g):(y.beforeEnter(h),n(h,u,g),fe(()=>y.enter(h),b));else{const{leave:S,delayLeave:M,afterLeave:O}=y,I=()=>{c.ctx.isUnmounted?i(h):n(h,u,g)},V=()=>{const j=h._isLeaving||!!h[un];h._isLeaving&&h[un](!0),y.persisted&&!j?I():S(h,()=>{I(),O&&O()})};M?M(h,I,V):V()}else n(h,u,g)},Ie=(c,u,g,_=!1,b=!1)=>{const{type:h,props:w,ref:y,children:k,dynamicChildren:$,shapeFlag:P,patchFlag:S,dirs:M,cacheIndex:O,memo:I}=c;if(S===-2&&(b=!1),y!=null&&(Le(),Ct(y,null,g,c,!0),Te()),O!=null&&(u.renderCache[O]=void 0),P&256){u.ctx.deactivate(c);return}const V=P&1&&M,j=!ht(c);let te;if(j&&(te=w&&w.onVnodeBeforeUnmount)&&Oe(te,u,c),P&6)Up(c.component,g,_);else{if(P&128){c.suspense.unmount(g,_);return}V&&tt(c,null,u,"beforeUnmount"),P&64?c.type.remove(c,u,g,Gt,_):$&&!$.hasOnce&&(h!==Y||S>0&&S&64)?qt($,u,g,!1,!0):(h===Y&&S&384||!b&&P&16)&&qt(k,u,g),_&&ta(c)}const le=I!=null&&O==null;(j&&(te=w&&w.onVnodeUnmounted)||V||le)&&fe(()=>{te&&Oe(te,u,c),V&&tt(c,null,u,"unmounted"),le&&(c.el=null)},g)},ta=c=>{const{type:u,el:g,anchor:_,transition:b}=c;if(u===Y){Hp(g,_);return}if(u===Sn){C(c);return}const h=()=>{i(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(c.shapeFlag&1&&b&&!b.persisted){const{leave:w,delayLeave:y}=b,k=()=>w(g,h);y?y(c.el,h,k):k()}else h()},Hp=(c,u)=>{let g;for(;c!==u;)g=v(c),i(c),c=g;i(u)},Up=(c,u,g)=>{const{bum:_,scope:b,job:h,subTree:w,um:y,m:k,a:$}=c;rs(k),rs($),_&&oo(_),b.stop(),h&&(h.flags|=8,Ie(w,c,u,g)),y&&fe(y,u),fe(()=>{c.isUnmounted=!0},u)},qt=(c,u,g,_=!1,b=!1,h=0)=>{for(let w=h;w<c.length;w++)Ie(c[w],u,g,_,b)},zo=c=>{if(c.shapeFlag&6)return zo(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=v(c.anchor||c.el),g=u&&u[tl];return g?v(g):u};let zn=!1;const oa=(c,u,g)=>{let _;c==null?u._vnode&&(Ie(u._vnode,null,null,!0),_=u._vnode.component):F(u._vnode||null,c,u,null,null,null,g),u._vnode=c,zn||(zn=!0,Si(_),Li(),zn=!1)},Gt={p:F,um:Ie,m:st,r:ta,mt:Wn,mc:Xe,pc:G,pbc:nt,n:zo,o:e};return{render:oa,hydrate:void 0,createApp:yl(oa)}}function wn({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 ot({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ul(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function as(e,t,o=!1){const n=e.children,i=t.children;if(E(n)&&E(i))for(let s=0;s<n.length;s++){const a=n[s];let l=i[s];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[s]=qe(i[s]),l.el=a.el),!o&&l.patchFlag!==-2&&as(a,l)),l.type===yo&&(l.patchFlag===-1&&(l=i[s]=qe(l)),l.el=a.el),l.type===Ce&&!l.el&&(l.el=a.el)}}function Dl(e){const t=e.slice(),o=[0];let n,i,s,a,l;const r=e.length;for(n=0;n<r;n++){const d=e[n];if(d!==0){if(i=o[o.length-1],e[i]<d){t[n]=i,o.push(n);continue}for(s=0,a=o.length-1;s<a;)l=s+a>>1,e[o[l]]<d?s=l+1:a=l;d<e[o[s]]&&(s>0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function ls(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ls(t)}function rs(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function cs(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?cs(t.subTree):null}const ds=e=>e.__isSuspense;function Wl(e,t){t&&t.pendingBranch?E(e)?t.effects.push(...e):t.effects.push(e):Ja(e)}const Y=Symbol.for("v-fgt"),yo=Symbol.for("v-txt"),Ce=Symbol.for("v-cmt"),Sn=Symbol.for("v-stc"),Ke=[];let he=null;function L(e=!1){Ke.push(he=e?null:[])}function Ln(){Ke.pop(),he=Ke[Ke.length-1]||null}let Ft=1;function ps(e,t=!1){Ft+=e,e<0&&he&&t&&(he.hasOnce=!0)}function us(e){return e.dynamicChildren=Ft>0?he||at:null,Ln(),Ft>0&&he&&he.push(e),e}function T(e,t,o,n,i,s){return us(m(e,t,o,n,i,s,!0))}function It(e,t,o,n,i){return us(me(e,t,o,n,i,!0))}function Tn(e){return e?e.__v_isVNode===!0:!1}function Rt(e,t){return e.type===t.type&&e.key===t.key}const fs=({key:e})=>e??null,wo=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?J(e)||se(e)||A(e)?{i:ae,r:e,k:t,f:!!o}:e:null);function m(e,t=null,o=null,n=0,i=null,s=e===Y?0:1,a=!1,l=!1){const r={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&fs(t),ref:t&&wo(t),scopeId:Ni,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:i,dynamicChildren:null,appContext:null,ctx:ae};return l?(So(r,o),s&128&&e.normalize(r)):o&&(r.shapeFlag|=J(o)?8:16),Ft>0&&!a&&he&&(r.patchFlag>0||s&6)&&r.patchFlag!==32&&he.push(r),r}const me=zl;function zl(e,t=null,o=null,n=0,i=null,s=!1){if((!e||e===gl)&&(e=Ce),Tn(e)){const l=bt(e,t,!0);return o&&So(l,o),Ft>0&&!s&&he&&(l.shapeFlag&6?he[he.indexOf(e)]=l:he.push(l)),l.patchFlag=-2,l}if(er(e)&&(e=e.__vccOpts),t){t=jl(t);let{class:l,style:r}=t;l&&!J(l)&&(t.class=ge(l)),W(r)&&(cn(r)&&!E(r)&&(r=Q({},r)),t.style=lt(r))}const a=J(e)?1:ds(e)?128:bo(e)?64:W(e)?4:A(e)?2:0;return m(e,t,o,n,i,a,s,!0)}function jl(e){return e?cn(e)||Qi(e)?Q({},e):e:null}function bt(e,t,o=!1,n=!1){const{props:i,ref:s,patchFlag:a,children:l,transition:r}=e,d=t?Bl(i||{},t):i,p={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&fs(d),ref:t&&t.ref?o&&s?E(s)?s.concat(wo(t)):[s,wo(t)]:wo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Y?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:r,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bt(e.ssContent),ssFallback:e.ssFallback&&bt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return r&&n&&fn(p,r.clone(p)),p}function Ve(e=" ",t=0){return me(yo,null,e,t)}function K(e="",t=!1){return t?(L(),It(Ce,null,e)):me(Ce,null,e)}function Ee(e){return e==null||typeof e=="boolean"?me(Ce):E(e)?me(Y,null,e.slice()):Tn(e)?qe(e):me(yo,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bt(e)}function So(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(E(t))o=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),So(e,i()),i._c&&(i._d=!0));return}else{o=32;const i=t._;!i&&!Qi(t)?t._ctx=ae:i===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(A(t)){if(n&65){So(e,{default:t});return}t={default:t,_ctx:ae},o=32}else t=String(t),n&64?(o=16,t=[Ve(t)]):o=8;e.children=t,e.shapeFlag|=o}function Bl(...e){const t={};for(let o=0;o<e.length;o++){const n=e[o];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=ge([t.class,n.class]));else if(i==="style")t.style=lt([t.style,n.style]);else if(Jt(i)){const s=t[i],a=n[i];a&&s!==a&&!(E(s)&&s.includes(a))?t[i]=s?[].concat(s,a):a:a==null&&s==null&&!Xt(i)&&(t[i]=a)}else i!==""&&(t[i]=n[i])}return t}function Oe(e,t,o,n=null){ye(e,t,7,[o,n])}const Kl=Vi();let Vl=0;function ql(e,t,o){const n=e.type,i=(t?t.appContext:e.appContext)||Kl,s={uid:Vl++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new $a(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ts(n,i),emitsOptions:qi(n,i),emit:null,emitted:null,propsDefaults:B,inheritAttrs:n.inheritAttrs,ctx:B,data:B,props:B,attrs:B,slots:B,refs:B,setupState:B,setupContext:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=Sl.bind(null,s),e.ce&&e.ce(s),s}let ce=null;const gs=()=>ce||ae;let Lo,Ht;{const e=no(),t=(o,n)=>{let i;return(i=e[o])||(i=e[o]=[]),i.push(n),s=>{i.length>1?i.forEach(a=>a(s)):i[0](s)}};Lo=t("__VUE_INSTANCE_SETTERS__",o=>ce=o),Ht=t("__VUE_SSR_SETTERS__",o=>Dt=o)}const Ut=e=>{const t=ce;return Lo(e),e.scope.on(),()=>{e.scope.off(),Lo(t)}},hs=()=>{ce&&ce.scope.off(),Lo(null)};function $s(e){return e.vnode.shapeFlag&4}let Dt=!1;function Gl(e,t=!1,o=!1){t&&Ht(t);const{props:n,children:i}=e.vnode,s=$s(e);Cl(e,n,s,t),Fl(e,i,o||t);const a=s?Yl(e,t):void 0;return t&&Ht(!1),a}function Yl(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$l);const{setup:n}=o;if(n){Le();const i=e.setupContext=n.length>1?Xl(e):null,s=Ut(e),a=dt(n,e,0,[e.props,i]),l=Kn(a);if(Te(),s(),(l||e.sp)&&!ht(e)&&Ei(e),l){if(a.then(hs,hs),t)return a.then(r=>{Ht(!0);try{bs(e,r,t)}finally{Ht(!1)}}).catch(r=>{fo(r,e,0)});e.asyncDep=a}else bs(e,a)}else _s(e)}function bs(e,t,o){A(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:W(t)&&(e.setupState=vi(t)),_s(e)}function _s(e,t,o){const n=e.type;e.render||(e.render=n.render||we);{const i=Ut(e);Le();try{bl(e)}finally{Te(),i()}}}const Jl={get(e,t){return re(e,"get",""),e[t]}};function Xl(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Jl),slots:e.slots,emit:e.emit,expose:t}}function To(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vi(Ia(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Ot)return Ot[o](e)},has(t,o){return o in t||o in Ot}})):e.proxy}const Zl=/(?:^|[-_])\w/g,Ql=e=>e.replace(Zl,t=>t.toUpperCase()).replace(/[-_]/g,"");function ms(e,t=!0){return A(e)?e.displayName||e.name:e.name||t&&e.__name}function vs(e,t,o=!1){let n=ms(t);if(!n&&t.__file){const i=t.__file.match(/([^/\\]+)\.\w+$/);i&&(n=i[1])}if(!n&&e){const i=s=>{for(const a in s)if(s[a]===t)return a};n=i(e.components)||e.parent&&i(e.parent.type.components)||i(e.appContext.components)}return n?Ql(n):o?"App":"Anonymous"}function er(e){return A(e)&&"__vccOpts"in e}const xs=(e,t)=>Wa(e,t,Dt),tr="3.5.42";/**
|
||
* @vue/runtime-dom v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let Nn;const ks=typeof window<"u"&&window.trustedTypes;if(ks)try{Nn=ks.createPolicy("vue",{createHTML:e=>e})}catch{}const ys=Nn?e=>Nn.createHTML(e):e=>e,or="http://www.w3.org/2000/svg",nr="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,ws=Ge&&Ge.createElement("template"),ir={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 i=t==="svg"?Ge.createElementNS(or,e):t==="mathml"?Ge.createElementNS(nr,e):o?Ge.createElement(e,{is:o}):Ge.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,i,s){const a=o?o.previousSibling:t.lastChild;if(i&&(i===s||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),o),!(i===s||!(i=i.nextSibling)););else{ws.innerHTML=ys(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=ws.content;if(n==="svg"||n==="mathml"){const r=l.firstChild;for(;r.firstChild;)l.appendChild(r.firstChild);l.removeChild(r)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},sr=Symbol("_vtc");function ar(e,t,o){const n=e[sr];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const No=Symbol("_vod"),Ss=Symbol("_vsh"),Mn={name:"show",beforeMount(e,{value:t},{transition:o}){e[No]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Wt(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Wt(e,!0),n.enter(e)):n.leave(e,()=>{Wt(e,!1)}):Wt(e,t))},beforeUnmount(e,{value:t}){Wt(e,t)}};function Wt(e,t){e.style.display=t?e[No]:"none",e[Ss]=!t}const lr=Symbol(""),rr=/(?:^|;)\s*display\s*:/;function cr(e,t,o){const n=e.style,i=J(o);let s=!1;if(o&&!i){if(t)if(J(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&zt(n,l,"")}else for(const a in t)o[a]==null&&zt(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?pr(e,a,!J(t)&&t?t[a]:void 0,l)||zt(n,a,l):zt(n,a,"")}}else if(i){if(t!==o){const a=n[lr];a&&(o+=";"+a),n.cssText=o,s=rr.test(o)}}else t&&e.removeAttribute("style");No in e&&(e[No]=s?n.display:"",e[Ss]&&(n.display="none"))}const Mo=/\s*!important$/;function zt(e,t,o){if(E(o))o.forEach(n=>zt(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Mo.test(o)?e.setProperty(t,o.replace(Mo,""),"important"):e.setProperty(t,o);else{const n=dr(e,t);Mo.test(o)?e.setProperty(be(n),o.replace(Mo,""),"important"):e[n]=o}}const Ls=["Webkit","Moz","ms"],Pn={};function dr(e,t){const o=Pn[t];if(o)return o;let n=ne(t);if(n!=="filter"&&n in e)return Pn[t]=n;n=to(n);for(let i=0;i<Ls.length;i++){const s=Ls[i]+n;if(s in e)return Pn[t]=s}return t}function pr(e,t,o,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&J(n)&&o===n}const Ts="http://www.w3.org/1999/xlink";function Ns(e,t,o,n,i,s=ga(t)){n&&t.startsWith("xlink:")?o==null?e.removeAttributeNS(Ts,t.slice(6,t.length)):e.setAttributeNS(Ts,t,o):o==null||s&&!Jn(o)?e.removeAttribute(t):e.setAttribute(t,s?"":ve(o)?String(o):o)}function Ms(e,t,o,n,i){if(t==="innerHTML"||t==="textContent"){o!=null&&(e[t]=t==="innerHTML"?ys(o):o);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const l=s==="OPTION"?e.getAttribute("value")||"":e.value,r=o==null?e.type==="checkbox"?"on":"":String(o);(l!==r||!("_value"in e))&&(e.value=r),o==null&&e.removeAttribute(t),e._value=o;return}let a=!1;if(o===""||o==null){const l=typeof e[t];l==="boolean"?o=Jn(o):o==null&&l==="string"?(o="",a=!0):l==="number"&&(o=0,a=!0)}try{e[t]=o}catch{}a&&e.removeAttribute(i||t)}function _t(e,t,o,n){e.addEventListener(t,o,n)}function ur(e,t,o,n){e.removeEventListener(t,o,n)}const Ps=Symbol("_vei");function fr(e,t,o,n,i=null){const s=e[Ps]||(e[Ps]={}),a=s[t];if(n&&a)a.value=n;else{const[l,r]=$r(t);if(n){const d=s[t]=mr(n,i);_t(e,l,d,r)}else a&&(ur(e,l,a,r),s[t]=void 0)}}const gr=/(Once|Passive|Capture)$/,hr=/^on:?(?:Once|Passive|Capture)$/;function $r(e){let t,o;for(;(o=e.match(gr))&&!hr.test(e);)t||(t={}),e=e.slice(0,e.length-o[1].length),t[o[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):be(e.slice(2)),t]}let Cn=0;const br=Promise.resolve(),_r=()=>Cn||(br.then(()=>Cn=0),Cn=Date.now());function mr(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const i=o.value;if(E(i)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=i.slice(),l=[n];for(let r=0;r<a.length&&!n._stopped;r++){const d=a[r];d&&ye(d,t,5,l)}}else ye(i,t,5,[n])};return o.value=e,o.attached=_r(),o}const Cs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,vr=(e,t,o,n,i,s)=>{const a=i==="svg";t==="class"?ar(e,n,a):t==="style"?cr(e,o,n):Jt(t)?Xt(t)||fr(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xr(e,t,n,a))?(Ms(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ns(e,t,n,a,s,t!=="value")):e._isVueCE&&(kr(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!J(n)))?Ms(e,ne(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Ns(e,t,n,a))};function xr(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Cs(t)&&A(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 i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Cs(t)&&J(o)?!1:t in e}function kr(e,t){const o=e._def.props;if(!o)return!1;const n=ne(t);return Array.isArray(o)?o.some(i=>ne(i)===n):Object.keys(o).some(i=>ne(i)===n)}const Es={};function yr(e,t,o){let n=_o(e,t);Qt(n)&&(n=Q({},n,t));class i extends En{constructor(a){super(n,a,o)}}return i.def=n,i}const wr=typeof HTMLElement<"u"?HTMLElement:class{};class En extends wr{constructor(t,o={},n=Hs){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!==Hs?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Q({},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 En){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,yi(()=>{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.attributes.length;n++)this._setAttr(this.attributes[n].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(n,i=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=n;let l;if(s&&!E(s))for(const r in s){const d=s[r];(d===Number||d&&d.type===Number)&&(r in this._props&&(this._props[r]=Gn(this._props[r])),(l||(l=Object.create(null)))[ne(r)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)U(this,n)||Object.defineProperty(this,n,{get:()=>mi(o[n])})}_resolveProps(t){const{props:o}=t,n=E(o)?o:Object.keys(o||{});for(const i of Object.keys(this))i[0]!=="_"&&n.includes(i)&&this._setProp(i,this[i]);for(const i of n.map(ne))Object.defineProperty(this,i,{get(){return this._getProp(i)},set(s){this._setProp(i,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Es;const i=ne(t);o&&this._numberProps&&this._numberProps[i]&&(n=Gn(n)),this._setProp(i,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,i=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Es?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),i&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(be(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(be(t),o+""):o||this.removeAttribute(be(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Mr(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=me(this._def,Q(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const i=(s,a)=>{this.dispatchEvent(new CustomEvent(s,Qt(a[0])?Q({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{i(s,a),be(s)!==s&&i(be(s),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const i=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let r=t.length-1;r>=0;r--){const d=document.createElement("style");i&&d.setAttribute("nonce",i),d.textContent=t[r],s.insertBefore(d,l||a),l=d,r===0&&(n||this._styleAnchors.set(this._def,d),o&&this._styleAnchors.set(o,d))}}_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<t.childNodes.length;o++){const n=t.childNodes[o];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){const t=this._slots={};let o;for(;o=this.firstChild;){const n=o.nodeType===1&&o.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(o),this.removeChild(o)}}_renderSlots(){const t=this._getSlots(),o=this._instance.type.__scopeId;for(let n=0;n<t.length;n++){const i=t[n],s=i.getAttribute("name")||"default",a=this._slots[s],l=i.parentNode;if(a)for(const r of a){if(o&&r.nodeType===1){const d=o+"-s",p=document.createTreeWalker(r,1);r.setAttribute(d,"");let f;for(;f=p.nextNode();)f.setAttribute(d,"")}l.insertBefore(r,i)}else for(;i.firstChild;)l.insertBefore(i.firstChild,i);l.removeChild(i)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const o=new Set;for(const n of t){const i=n.querySelectorAll("slot");for(let s=0;s<i.length;s++)o.add(i[s])}return Array.from(o)}_injectChildStyle(t,o){this._applyStyles(t.styles,t,o)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const Os=e=>{const t=e.props["onUpdate:modelValue"]||!1;return E(t)?o=>oo(t,o):t};function Sr(e){e.target.composing=!0}function As(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Po=Symbol("_assign"),Co=Symbol("_initialValue");function On(e,t,o){return t&&(e=e.trim()),o&&(e=qo(e)),e}const An={created(e,{modifiers:{lazy:t,trim:o,number:n}},i){e.parentNode&&(e.type==="text"?e[Co]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Co]=e.defaultValue.replace(/\r\n?/g,`
|
||
`))),e[Po]=Os(i);const s=n||i.props&&i.props.type==="number";_t(e,t?"change":"input",a=>{a.target.composing||e[Po](On(e.value,o,s))}),(o||s)&&_t(e,"change",()=>{e.value=On(e.value,o,s)}),t||(_t(e,"compositionstart",Sr),_t(e,"compositionend",As),_t(e,"change",As))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const i=t??"",s=e[Co];delete e[Co],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Po](On(e.value,o,n)):e.value=i},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:i,number:s}},a){if(e[Po]=Os(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?qo(e.value):e.value,r=t??"";if(l===r)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(n&&t===o||i&&e.value.trim()===r)||(e.value=r)}},Lr=["ctrl","shift","alt","meta"],Tr={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Lr.some(o=>e[`${o}Key`]&&!t.includes(o))},Fs=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(i,...s)=>{for(let a=0;a<t.length;a++){const l=Tr[t[a]];if(l&&l(i,t))return}return e(i,...s)})},Nr=Q({patchProp:vr},ir);let Is;function Rs(){return Is||(Is=Rl(Nr))}const Mr=(...e)=>{Rs().render(...e)},Hs=(...e)=>{const t=Rs().createApp(...e),{mount:o}=t;return t.mount=n=>{const i=Cr(n);if(!i)return;const s=t._component;!A(s)&&!s.render&&!s.template&&(s.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const a=o(i,!1,Pr(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},t};function Pr(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Cr(e){return J(e)?document.querySelector(e):e}const Er={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",stageExperimental:"تجريبي","widget:rudder-voice/rudder-voice":"Rudder · تحويل الصوت إلى نص",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",mapboxToken:"رمز Mapbox",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}",settings:"الإعدادات",mapEngine:"محرّك الخرائط",engineDefault:"الافتراضي لكل خريطة",engineMapboxNote:"يحتاج إلى رمز",engineMaplibreNote:"لا يحتاج إلى رمز",tokenNotNeeded:"تم اختيار MapLibre: خرائطه لا تحتاج إلى رمز Mapbox",hideHeader:"إخفاء الشريط العلوي",showHeader:"إظهار الشريط العلوي",elementsCount:"{n} عناصر",elements:"عناصر"},Or={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",stageExperimental:"Experimentell","widget:rudder-voice/rudder-voice":"Rudder · Sprache zu Text",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",mapboxToken:"Mapbox-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}",settings:"Einstellungen",mapEngine:"Karten-Engine",engineDefault:"Je Karte eigenes",engineMapboxNote:"braucht einen Token",engineMaplibreNote:"kein Token nötig",tokenNotNeeded:"MapLibre ist gewählt: Seine Karten brauchen keinen Mapbox-Token",hideHeader:"Kopfzeile ausblenden",showHeader:"Kopfzeile einblenden",elementsCount:"{n} Elemente",elements:"Elemente"},Ar={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voice to text",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",mapboxToken:"Mapbox token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}",settings:"Settings",mapEngine:"Map engine",engineDefault:"Each map’s own",engineMapboxNote:"needs a token",engineMaplibreNote:"no token needed",tokenNotNeeded:"MapLibre is selected: its maps need no Mapbox token",hideHeader:"Hide header",showHeader:"Show header",elementsCount:"{n} elements",elements:"elements"},Fr={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voz a texto",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",mapboxToken:"Token de Mapbox",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}",settings:"Ajustes",mapEngine:"Motor de mapas",engineDefault:"El de cada mapa",engineMapboxNote:"necesita un token",engineMaplibreNote:"no necesita token",tokenNotNeeded:"MapLibre está seleccionado: sus mapas no necesitan token de Mapbox",hideHeader:"Ocultar encabezado",showHeader:"Mostrar encabezado",elementsCount:"{n} elementos",elements:"elementos"},Ir={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",stageExperimental:"Expérimental","widget:rudder-voice/rudder-voice":"Rudder · voix vers texte",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",mapboxToken:"Jeton Mapbox",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}",settings:"Paramètres",mapEngine:"Moteur de carte",engineDefault:"Celui de chaque carte",engineMapboxNote:"nécessite un jeton",engineMaplibreNote:"aucun jeton requis",tokenNotNeeded:"MapLibre est sélectionné : ses cartes n’ont pas besoin de jeton Mapbox",hideHeader:"Masquer l'en-tête",showHeader:"Afficher l'en-tête",elementsCount:"{n} éléments",elements:"éléments"},Rr={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",stageExperimental:"प्रायोगिक","widget:rudder-voice/rudder-voice":"Rudder · आवाज़ से टेक्स्ट",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",mapboxToken:"Mapbox टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}",settings:"सेटिंग्स",mapEngine:"मानचित्र इंजन",engineDefault:"हर मानचित्र का अपना",engineMapboxNote:"टोकन चाहिए",engineMaplibreNote:"टोकन की ज़रूरत नहीं",tokenNotNeeded:"MapLibre चुना गया है: इसके मानचित्रों को Mapbox टोकन नहीं चाहिए",hideHeader:"हेडर छिपाएँ",showHeader:"हेडर दिखाएँ",elementsCount:"{n} तत्व",elements:"तत्व"},Hr={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",stageExperimental:"Sperimentale","widget:rudder-voice/rudder-voice":"Rudder · voce in testo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",mapboxToken:"Token Mapbox",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}",settings:"Impostazioni",mapEngine:"Motore mappe",engineDefault:"Quello di ogni mappa",engineMapboxNote:"richiede un token",engineMaplibreNote:"nessun token necessario",tokenNotNeeded:"MapLibre è selezionato: le sue mappe non richiedono un token Mapbox",hideHeader:"Nascondi intestazione",showHeader:"Mostra intestazione",elementsCount:"{n} elementi",elements:"elementi"},Ur={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voz para texto",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",mapboxToken:"Token do Mapbox",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}",settings:"Definições",mapEngine:"Motor de mapas",engineDefault:"O de cada mapa",engineMapboxNote:"precisa de um token",engineMaplibreNote:"não precisa de token",tokenNotNeeded:"MapLibre está selecionado: os seus mapas não precisam de token do Mapbox",hideHeader:"Ocultar cabeçalho",showHeader:"Mostrar cabeçalho",elementsCount:"{n} elementos",elements:"elementos"},Dr={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voce în text",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",mapboxToken:"Token Mapbox",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}",settings:"Setări",mapEngine:"Motor hărți",engineDefault:"Al fiecărei hărți",engineMapboxNote:"necesită un token",engineMaplibreNote:"nu necesită token",tokenNotNeeded:"MapLibre este selectat: hărțile sale nu necesită token Mapbox",hideHeader:"Ascunde antetul",showHeader:"Afișează antetul",elementsCount:"{n} elemente",elements:"elemente"},Wr={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",stageExperimental:"Экспериментальные","widget:rudder-voice/rudder-voice":"Rudder · голос в текст",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",mapboxToken:"Токен Mapbox",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}",settings:"Настройки",mapEngine:"Движок карт",engineDefault:"Свой у каждой карты",engineMapboxNote:"нужен токен",engineMaplibreNote:"токен не нужен",tokenNotNeeded:"Выбран MapLibre: его картам не нужен токен Mapbox",hideHeader:"Скрыть заголовок",showHeader:"Показать заголовок",elementsCount:"{n} элементов",elements:"элементов"},zr={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",stageExperimental:"实验性","widget:rudder-voice/rudder-voice":"Rudder · 语音转文字",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",mapboxToken:"Mapbox 令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}",settings:"设置",mapEngine:"地图引擎",engineDefault:"各地图自身的",engineMapboxNote:"需要令牌",engineMaplibreNote:"无需令牌",tokenNotNeeded:"已选择 MapLibre:其地图无需 Mapbox 令牌",hideHeader:"隐藏标题栏",showHeader:"显示标题栏",elementsCount:"{n} 个元素",elements:"元素"};function Fn(e,t){const o=gs(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:Br(e));hn(()=>{var r;if(!o)return;const i=(r=o.proxy)==null?void 0:r.$el;if(!i)return;const s=i.getRootNode();if(!(s instanceof ShadowRoot))return;if(!s.querySelector('style[data-shadow-styles="reduced-motion"]')){const d=document.createElement("style");d.setAttribute("data-shadow-styles","reduced-motion"),d.textContent=jr,s.appendChild(d)}const a=s.querySelector(`style[data-shadow-styles="${n}"]`);if(a){a.textContent!==e&&(a.textContent=e);return}const l=document.createElement("style");l.setAttribute("data-shadow-styles",n),l.textContent=e,s.appendChild(l)})}const jr=`@media (prefers-reduced-motion: reduce) {
|
||
*, *::before, *::after {
|
||
animation-duration: 0.01ms !important;
|
||
animation-iteration-count: 1 !important;
|
||
transition-duration: 0.01ms !important;
|
||
scroll-behavior: auto !important;
|
||
}
|
||
}`;function Br(e){let t=0;for(let o=0;o<e.length;o++)t=(t<<5)-t+e.charCodeAt(o),t|=0;return"s"+Math.abs(t).toString(36)}const Kr=".btt[data-v-6a25802e]{position:absolute;z-index:15;inset-inline-start:var(--map-fab-beside, calc(12px + env(safe-area-inset-left)) );bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border, #d6d9d2);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.btt[data-v-6a25802e]:hover{background:#d1d4cd}.btt[data-v-6a25802e]:focus-visible{outline:2px solid var(--vtl-accent, #3b463d);outline-offset:2px}@media (prefers-reduced-motion: reduce){.btt[data-v-6a25802e]{transition:none}}",Eo=(e,t)=>{const o=e.__vccOpts||e;for(const[n,i]of t)o[n]=i;return o},Vr=["aria-label","title"],qr=Eo({__name:"BackToTopButton",props:{target:{type:Object,default:null},threshold:{type:Number,default:400},labels:{type:Object,default:()=>({})}},setup(e){const t=e,o=_i(0),n=_i(!1);function i(){const d=t.target;if(!d){o.value=0,n.value=!1;return}o.value=d.scrollTop||0,n.value=(d.scrollHeight||0)-(d.clientHeight||0)>t.threshold}const s=xs(()=>n.value&&o.value>t.threshold);function a(){const d=t.target;if(!d)return;const p=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches;d.scrollTo({top:0,behavior:p?"auto":"smooth"})}let l=null;function r(d){l&&(l.removeEventListener("scroll",i),l=null),d&&(d.addEventListener("scroll",i,{passive:!0}),l=d),i()}return hn(()=>r(t.target)),$o(()=>t.target,d=>r(d)),Ii(()=>r(null)),(d,p)=>s.value?(L(),T("button",{key:0,class:"btt",type:"button","aria-label":e.labels.backToTop||"",title:e.labels.backToTop||"",onClick:a},"↑",8,Vr)):K("",!0)}},[["styles",[Kr]],["__scopeId","data-v-6a25802e"]]),Gr=Object.assign({"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100"},"./locales/ar/poster.json":{export_poster:"تصدير الملصق",size:"الحجم",orientation:"الاتجاه",portrait:"طولي",landscape:"عرضي",dpi:"DPI",format:"الصيغة",png_raster:"PNG (نقطي)",pdf_raster:"PDF (نقطي على صفحة متجهية)",title:"العنوان",map_title:"عنوان الخريطة",subtitle:"العنوان الفرعي",slots:"العناصر",scale_bar:"شريط المقياس",north_arrow:"سهم الشمال",footer_attribution:"التذييل (الإسناد مطلوب)",cancel:"إلغاء",map_preview:"معاينة الخريطة",loading_snapshot:"جارٍ تحميل لقطة الخريطة…",preview_unavailable:"المعاينة غير متاحة",region_africa:"أفريقيا",region_middle_east:"الشرق الأوسط",region_central_asia:"آسيا الوسطى",region_southeast_asia_oceania:"جنوب شرق آسيا + أوقيانوسيا",region_china_mongolia:"الصين + منغوليا",region_india:"الهند",region_other:"أخرى"},"./locales/ar/search.json":{placeholder:"شعب، مكان، لغة، ديانة",placeholderNoPlaces:"شعب، لغة، ديانة (البحث عن الأماكن يتطلب رمز Mapbox)",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:" beten.",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100"},"./locales/de/poster.json":{export_poster:"Poster exportieren",size:"Größe",orientation:"Ausrichtung",portrait:"Hochformat",landscape:"Querformat",dpi:"DPI",format:"Format",png_raster:"PNG (Raster)",pdf_raster:"PDF (Raster auf Vektorseite)",title:"Titel",map_title:"Kartentitel",subtitle:"Untertitel",slots:"Elemente",scale_bar:"Maßstabsleiste",north_arrow:"Nordpfeil",footer_attribution:"Fußzeile (Quellenangabe erforderlich)",cancel:"Abbrechen",map_preview:"Kartenvorschau",loading_snapshot:"Kartenaufnahme wird geladen…",preview_unavailable:"Vorschau nicht verfügbar",region_africa:"Afrika",region_middle_east:"Naher Osten",region_central_asia:"Zentralasien",region_southeast_asia_oceania:"Südostasien + Ozeanien",region_china_mongolia:"China + Mongolei",region_india:"Indien",region_other:"Sonstige"},"./locales/de/search.json":{placeholder:"Volk, Ort, Sprache, Religion",placeholderNoPlaces:"Volk, Sprache, Religion (Ortssuche braucht ein Mapbox-Token)",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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"Hand away the prayer task in clusters of fifties and hundreds — the way Jesus fed the 5,000 (Luke 9:14). Each poster is a 100-list you can pray, print, and put on a wall — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100"},"./locales/en/poster.json":{export_poster:"Export Poster",size:"Size",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",dpi:"DPI",format:"Format",png_raster:"PNG (raster)",pdf_raster:"PDF (raster on vector page)",title:"Title",map_title:"Map title",subtitle:"Subtitle",slots:"Slots",scale_bar:"Scale bar",north_arrow:"North arrow",footer_attribution:"Footer (attribution required)",cancel:"Cancel",map_preview:"map preview",loading_snapshot:"Loading map snapshot…",preview_unavailable:"preview unavailable",region_africa:"Africa",region_middle_east:"Middle East",region_central_asia:"Central Asia",region_southeast_asia_oceania:"Southeast Asia + Oceania",region_china_mongolia:"China + Mongolia",region_india:"India",region_other:"Other"},"./locales/en/search.json":{placeholder:"People, place, language, religion",placeholderNoPlaces:"People, language, religion (place search needs a Mapbox token)",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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100"},"./locales/es/poster.json":{export_poster:"Exportar póster",size:"Tamaño",orientation:"Orientación",portrait:"Vertical",landscape:"Horizontal",dpi:"DPI",format:"Formato",png_raster:"PNG (ráster)",pdf_raster:"PDF (ráster en página vectorial)",title:"Título",map_title:"Título del mapa",subtitle:"Subtítulo",slots:"Elementos",scale_bar:"Barra de escala",north_arrow:"Flecha norte",footer_attribution:"Pie de página (atribución obligatoria)",cancel:"Cancelar",map_preview:"vista previa del mapa",loading_snapshot:"Cargando la captura del mapa…",preview_unavailable:"vista previa no disponible",region_africa:"África",region_middle_east:"Oriente Medio",region_central_asia:"Asia Central",region_southeast_asia_oceania:"Sudeste Asiático + Oceanía",region_china_mongolia:"China + Mongolia",region_india:"India",region_other:"Otros"},"./locales/es/search.json":{placeholder:"Pueblo, lugar, idioma, religión",placeholderNoPlaces:"Pueblo, idioma, religión (buscar lugares requiere un token de Mapbox)",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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100"},"./locales/fr/poster.json":{export_poster:"Exporter l'affiche",size:"Taille",orientation:"Orientation",portrait:"Portrait",landscape:"Paysage",dpi:"DPI",format:"Format",png_raster:"PNG (raster)",pdf_raster:"PDF (raster sur page vectorielle)",title:"Titre",map_title:"Titre de la carte",subtitle:"Sous-titre",slots:"Éléments",scale_bar:"Échelle",north_arrow:"Flèche du nord",footer_attribution:"Pied de page (attribution requise)",cancel:"Annuler",map_preview:"aperçu de la carte",loading_snapshot:"Chargement de l'instantané de la carte…",preview_unavailable:"aperçu indisponible",region_africa:"Afrique",region_middle_east:"Moyen-Orient",region_central_asia:"Asie centrale",region_southeast_asia_oceania:"Asie du Sud-Est + Océanie",region_china_mongolia:"Chine + Mongolie",region_india:"Inde",region_other:"Autres"},"./locales/fr/search.json":{placeholder:"Peuple, lieu, langue, religion",placeholderNoPlaces:"Peuple, langue, religion (la recherche de lieux requiert un jeton Mapbox)",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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntroA:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए ",upg100WallIntroEmph:"उनके जनसमूह के नाम से",upg100WallIntroB:" प्रार्थना करते हुए।",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा"},"./locales/hi/poster.json":{export_poster:"पोस्टर निर्यात करें",size:"आकार",orientation:"अभिविन्यास",portrait:"पोर्ट्रेट",landscape:"लैंडस्केप",dpi:"DPI",format:"प्रारूप",png_raster:"PNG (रास्टर)",pdf_raster:"PDF (वेक्टर पृष्ठ पर रास्टर)",title:"शीर्षक",map_title:"मानचित्र शीर्षक",subtitle:"उपशीर्षक",slots:"स्लॉट",scale_bar:"स्केल बार",north_arrow:"उत्तर तीर",footer_attribution:"फ़ुटर (एट्रिब्यूशन आवश्यक)",cancel:"रद्द करें",map_preview:"मानचित्र पूर्वावलोकन",loading_snapshot:"मानचित्र स्नैपशॉट लोड हो रहा है…",preview_unavailable:"पूर्वावलोकन उपलब्ध नहीं",region_africa:"अफ़्रीका",region_middle_east:"मध्य पूर्व",region_central_asia:"मध्य एशिया",region_southeast_asia_oceania:"दक्षिण-पूर्व एशिया + ओशिनिया",region_china_mongolia:"चीन + मंगोलिया",region_india:"भारत",region_other:"अन्य"},"./locales/hi/search.json":{placeholder:"लोग, स्थान, भाषा, धर्म",placeholderNoPlaces:"लोग, भाषा, धर्म (स्थान खोज के लिए Mapbox टोकन चाहिए)",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100"},"./locales/it/poster.json":{export_poster:"Esporta poster",size:"Dimensione",orientation:"Orientamento",portrait:"Verticale",landscape:"Orizzontale",dpi:"DPI",format:"Formato",png_raster:"PNG (raster)",pdf_raster:"PDF (raster su pagina vettoriale)",title:"Titolo",map_title:"Titolo della mappa",subtitle:"Sottotitolo",slots:"Elementi",scale_bar:"Barra della scala",north_arrow:"Freccia nord",footer_attribution:"Piè di pagina (attribuzione obbligatoria)",cancel:"Annulla",map_preview:"anteprima della mappa",loading_snapshot:"Caricamento dell'istantanea della mappa…",preview_unavailable:"anteprima non disponibile",region_africa:"Africa",region_middle_east:"Medio Oriente",region_central_asia:"Asia centrale",region_southeast_asia_oceania:"Sud-est asiatico + Oceania",region_china_mongolia:"Cina + Mongolia",region_india:"India",region_other:"Altro"},"./locales/it/search.json":{placeholder:"Popolo, luogo, lingua, religione",placeholderNoPlaces:"Popolo, lingua, religione (la ricerca di luoghi richiede un token Mapbox)",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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100"},"./locales/pt/poster.json":{export_poster:"Exportar pôster",size:"Tamanho",orientation:"Orientação",portrait:"Retrato",landscape:"Paisagem",dpi:"DPI",format:"Formato",png_raster:"PNG (raster)",pdf_raster:"PDF (raster em página vetorial)",title:"Título",map_title:"Título do mapa",subtitle:"Subtítulo",slots:"Elementos",scale_bar:"Barra de escala",north_arrow:"Seta norte",footer_attribution:"Rodapé (atribuição obrigatória)",cancel:"Cancelar",map_preview:"pré-visualização do mapa",loading_snapshot:"Carregando o instantâneo do mapa…",preview_unavailable:"pré-visualização indisponível",region_africa:"África",region_middle_east:"Oriente Médio",region_central_asia:"Ásia Central",region_southeast_asia_oceania:"Sudeste Asiático + Oceania",region_china_mongolia:"China + Mongólia",region_india:"Índia",region_other:"Outros"},"./locales/pt/search.json":{placeholder:"Povo, local, língua, religião",placeholderNoPlaces:"Povo, língua, religião (a busca de locais requer um token do Mapbox)",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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100"},"./locales/ro/poster.json":{export_poster:"Exportă posterul",size:"Dimensiune",orientation:"Orientare",portrait:"Portret",landscape:"Peisaj",dpi:"DPI",format:"Format",png_raster:"PNG (raster)",pdf_raster:"PDF (raster pe pagină vectorială)",title:"Titlu",map_title:"Titlul hărții",subtitle:"Subtitlu",slots:"Elemente",scale_bar:"Bară de scară",north_arrow:"Săgeata nord",footer_attribution:"Subsol (atribuire obligatorie)",cancel:"Anulează",map_preview:"previzualizare hartă",loading_snapshot:"Se încarcă instantaneul hărții…",preview_unavailable:"previzualizare indisponibilă",region_africa:"Africa",region_middle_east:"Orientul Mijlociu",region_central_asia:"Asia Centrală",region_southeast_asia_oceania:"Asia de Sud-Est + Oceania",region_china_mongolia:"China + Mongolia",region_india:"India",region_other:"Altele"},"./locales/ro/search.json":{placeholder:"Popor, loc, limbă, religie",placeholderNoPlaces:"Popor, limbă, religie (căutarea locurilor necesită un token Mapbox)",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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100"},"./locales/ru/poster.json":{export_poster:"Экспорт плаката",size:"Размер",orientation:"Ориентация",portrait:"Портретная",landscape:"Альбомная",dpi:"DPI",format:"Формат",png_raster:"PNG (растр)",pdf_raster:"PDF (растр на векторной странице)",title:"Заголовок",map_title:"Заголовок карты",subtitle:"Подзаголовок",slots:"Элементы",scale_bar:"Масштабная линейка",north_arrow:"Указатель севера",footer_attribution:"Нижний колонтитул (указание источника обязательно)",cancel:"Отмена",map_preview:"предпросмотр карты",loading_snapshot:"Загрузка снимка карты…",preview_unavailable:"предпросмотр недоступен",region_africa:"Африка",region_middle_east:"Ближний Восток",region_central_asia:"Центральная Азия",region_southeast_asia_oceania:"Юго-Восточная Азия и Океания",region_china_mongolia:"Китай и Монголия",region_india:"Индия",region_other:"Другие"},"./locales/ru/search.json":{placeholder:"Народ, место, язык, религия",placeholderNoPlaces:"Народ, язык, религия (для поиска мест нужен токен Mapbox)",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"将祷告的工作分成五十人、一百人一组 — 就像耶稣喂饱五千人那样(路加福音 9:14)。每一张海报都是一份 100 人名单,你可以为他们祷告、打印出来、贴在墙上 — ",upg100WallIntroEmph:"按着他们族群的名字",upg100WallIntroB:"为他们祷告。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间"},"./locales/zh/poster.json":{export_poster:"导出海报",size:"尺寸",orientation:"方向",portrait:"纵向",landscape:"横向",dpi:"DPI",format:"格式",png_raster:"PNG(位图)",pdf_raster:"PDF(矢量页面上的位图)",title:"标题",map_title:"地图标题",subtitle:"副标题",slots:"元素",scale_bar:"比例尺",north_arrow:"指北针",footer_attribution:"页脚(必须署名)",cancel:"取消",map_preview:"地图预览",loading_snapshot:"正在加载地图快照…",preview_unavailable:"预览不可用",region_africa:"非洲",region_middle_east:"中东",region_central_asia:"中亚",region_southeast_asia_oceania:"东南亚 + 大洋洲",region_china_mongolia:"中国 + 蒙古",region_india:"印度",region_other:"其他"},"./locales/zh/search.json":{placeholder:"民族、地点、语言、宗教",placeholderNoPlaces:"民族、语言、宗教(地点搜索需要 Mapbox 令牌)",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 资料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"}}),jt={};for(const[e,t]of Object.entries(Gr)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,i]=o;jt[n]??(jt[n]={}),jt[n][i]=t}const Us=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Yr(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Jr(){var n;const e=Yr();if(Us.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Us.includes(o)?o:"en"}const Xr="__DOXA_PAGE_LOCALE";function Zr(){try{return typeof window<"u"&&window[Xr]||""}catch{return""}}function Qr(e,t){const o=i=>{let s=jt[i];for(const a of String(e).split(".")){if(!s||typeof s!="object")return;s=s[a]}return typeof s=="string"?s:void 0},n=Zr()||Jr();return o(n)??o("en")}const Ds={menu:'<line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/>',map:'<polygon points="3 6 9 3 15 6 21 3 21 18 15 21 9 18 3 21"/><line x1="9" y1="3" x2="9" y2="18"/><line x1="15" y1="6" x2="15" y2="21"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18"/><path d="M12 3a15 15 0 0 1 0 18a15 15 0 0 1 0-18"/>',heart:'<path d="M19 14c1.5-1.5 3-3.5 3-5.5A4.5 4.5 0 0 0 12 6a4.5 4.5 0 0 0-10 2.5C2 10.5 3.5 12.5 5 14l7 7Z"/>',prayer:'<path d="M12 4.2c-.9 1.4-1.9 2.6-2.9 3.8-1 1.2-1.6 2.6-1.6 4.2v3.3c0 1.3.7 2.4 1.8 3 .5.3 1.1-.1 1.1-.7"/><path d="M12 4.2c.9 1.4 1.9 2.6 2.9 3.8 1 1.2 1.6 2.6 1.6 4.2v3.3c0 1.3-.7 2.4-1.8 3-.5.3-1.1-.1-1.1-.7"/><path d="M12 4.2V17"/>',list:'<line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><circle cx="4" cy="6" r="1"/><circle cx="4" cy="12" r="1"/><circle cx="4" cy="18" r="1"/>',users:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.9"/><path d="M16 3.1a4 4 0 0 1 0 7.8"/>',flag:'<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V4s-1 1-4 1-5-2-8-2-4 1-4 1z"/><line x1="4" y1="22" x2="4" y2="15"/>',target:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/>',pin:'<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z"/><circle cx="12" cy="10" r="3"/>',monitor:'<rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/>',chart:'<line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/>',folder:'<path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>',layers:'<polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/>',flask:'<path d="M9 3h6v5l5 11a2 2 0 0 1-2 3H6a2 2 0 0 1-2-3l5-11z"/><line x1="9" y1="3" x2="15" y2="3"/><line x1="6" y1="15" x2="18" y2="15"/>',share:'<circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.6" y1="13.5" x2="15.4" y2="17.5"/><line x1="15.4" y1="6.5" x2="8.6" y2="10.5"/>',beaker:'<path d="M6 3h12"/><path d="M8 3v7l-3 8a2 2 0 0 0 2 3h10a2 2 0 0 0 2-3l-3-8V3"/>',chevron:'<polyline points="9 18 15 12 9 6"/>',grid:'<rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/>',tree:'<rect x="9" y="3" width="6" height="5" rx="1"/><rect x="2" y="16" width="6" height="5" rx="1"/><rect x="16" y="16" width="6" height="5" rx="1"/><path d="M12 8v4M5 16v-2h14v2"/>',dots:'<circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/>',embed:'<polyline points="9 7 4 12 9 17"/><polyline points="15 7 20 12 15 17"/>',send:'<path d="M21 3 L3 10.5 L9.5 13.5 L12.5 20 Z"/><line x1="21" y1="3" x2="9.5" y2="13.5"/>',poster:'<rect x="4" y="3" width="16" height="18" rx="2"/><circle cx="12" cy="10" r="2.5"/><path d="M8 17h8"/>',search:'<circle cx="10.5" cy="10.5" r="7.5"/><line x1="15.8" y1="15.8" x2="20.5" y2="20.5"/>',book:'<path d="M12 6.5C12 6.5 9.5 4.5 4 4.5v13C9.5 17.5 12 19.5 12 19.5"/><path d="M12 6.5C12 6.5 14.5 4.5 20 4.5v13C14.5 17.5 12 19.5 12 19.5"/>',wifi:'<path d="M3.5 9a13 13 0 0 1 17 0"/><path d="M6.8 12.4a8.5 8.5 0 0 1 10.4 0"/><path d="M10 15.7a4 4 0 0 1 4 0"/><circle cx="12" cy="19" r="1"/>'};function Ws(e,t=""){const o=Ds[e]||Ds.map;return`<svg class="ic ${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${o}</svg>`}const Bt={};function In(e,t){return e?(Bt[e]||(Bt[e]=new Promise((o,n)=>{const i=document.createElement("script");i.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(i.type="module"),i.onload=()=>o(),i.onerror=()=>{delete Bt[e],n(new Error("failed to load "+e))},document.head.appendChild(i)})),Bt[e]):Promise.resolve()}function zs(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function ec(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const tc=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:0 0 28px #0000008c;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:1000}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}",oc=(e,t)=>Qr(e)||t,nc=e=>In(e);function ic(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const sc=`
|
||
.vtl { position:absolute; inset:0; display:grid !important; grid-template-rows:auto 1fr; height:100%; width:100%; min-height:420px; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --vtl-accent:#92b195; --vtl-border:#d1d4cd; --vtl-elevated:#ffffff; --vtl-accented:#d1d4cd; --vtl-muted:#6d766e; --vtl-rail:256px; }
|
||
.vtl.no-header { grid-template-rows:1fr; }
|
||
.vtl-top { flex:0 0 auto; display:flex; align-items:center; gap:10px; box-sizing:border-box; min-height:64px; padding:8px 16px; border-bottom:1px solid var(--vtl-border); background:#ffffff; }
|
||
.vtl-menu { display:none; font:16px/1 system-ui; color:#3b463d; background:#d1d4cd; border:1px solid #d1d4cd; border-radius:8px; padding:5px 10px; cursor:pointer; }
|
||
.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; }
|
||
.vtl-fab:hover { background:#d1d4cd; }
|
||
.vtl-fab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:2px; }
|
||
.vtl-menu:hover { background:#d1d4cd; }
|
||
.vtl-brand { display:inline-flex; align-items:center; }
|
||
.vtl-brand:empty { display:none; }
|
||
.vtl-title { font-size:15px; font-weight:600; letter-spacing:-0.01em; color:#3b463d; }
|
||
.vtl-meta { color:var(--vtl-muted); font-size:12px; margin-left:auto; display:inline-flex; align-items:center; gap:8px; }
|
||
.vtl-body { min-height:0; position:relative; display:flex; }
|
||
.vtl-nav { position:absolute; top:0; bottom:0; left:0; z-index:5; width:256px; box-sizing:border-box; overflow-y:auto; overflow-x:hidden; border-right:1px solid var(--vtl-border); padding:12px 12px 20px; background:#ffffff; scrollbar-width:thin; scrollbar-color:#c4c8c0 transparent; contain:layout paint; transform:translateX(0); transition:transform .2s cubic-bezier(.4,0,.2,1); will-change:transform; }
|
||
.vtl-nav::-webkit-scrollbar { width:8px; height:8px; }
|
||
.vtl-nav::-webkit-scrollbar-track { background:transparent; }
|
||
.vtl-nav::-webkit-scrollbar-thumb { background:#c4c8c0; border-radius:8px; }
|
||
.vtl-nav::-webkit-scrollbar-thumb:hover { background:#9aa197; }
|
||
.vtl-collapse { display:flex; align-items:center; gap:8px; width:100%; box-sizing:border-box; margin:0 0 8px; padding:7px 10px; border:1px solid var(--vtl-border); border-radius:8px; background:#d1d4cd; color:var(--vtl-muted); font:inherit; font-size:12px; cursor:pointer; }
|
||
.vtl-collapse:hover { background:var(--vtl-accented); color:#3b463d; }
|
||
.vtl-collapse:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:-2px; }
|
||
.vtl-collapse-ic { flex:0 0 auto; display:inline-flex; transition:transform .16s ease; transform:rotate(180deg); }
|
||
.vtl-collapse-ic svg { width:16px; height:16px; }
|
||
.vtl-collapse-tx { white-space:nowrap; }
|
||
.vtl-grp { margin-bottom:2px; }
|
||
.vtl-grp + .vtl-grp { margin-top:8px; padding-top:8px; border-top:1px solid var(--vtl-border); }
|
||
.vtl-tier { width:100%; padding:8px 8px 6px; display:flex; align-items:center; gap:8px; box-sizing:border-box; }
|
||
.vtl-tier-btn { border:0; background:none; color:inherit; font:inherit; cursor:pointer; text-align:left; border-radius:8px; }
|
||
.vtl-tier-btn:hover { background:var(--vtl-accented); }
|
||
.vtl-tier-btn:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:-2px; }
|
||
.vtl-tier-ic { flex:0 0 auto; display:inline-flex; color:var(--vtl-muted); }
|
||
.vtl-tier-ic svg { width:15px; height:15px; }
|
||
.vtl-cap { font:700 10px/1 system-ui; letter-spacing:.4px; color:#052e16; background:var(--vtl-accent); border-radius:999px; padding:3px 7px; }
|
||
.vtl-tl { font-weight:600; font-size:11px; letter-spacing:.03em; text-transform:uppercase; color:var(--vtl-muted); }
|
||
.vtl-td { color:#6b6b6b; font-size:11px; margin-left:auto; }
|
||
.vtl-chev { margin-left:auto; display:inline-flex; color:var(--vtl-muted); transition:transform .16s ease; }
|
||
.vtl-chev svg { width:15px; height:15px; }
|
||
.vtl-chev.open { transform:rotate(90deg); }
|
||
.vtl-rows { display:flex; flex-direction:column; gap:1px; }
|
||
.vtl-tab { display:flex; align-items:center; gap:11px; width:100%; min-height:48px; text-align:left; border:0; background:none; color:var(--vtl-muted); padding:8px 12px; cursor:pointer; border-radius:var(--vtl-radius,8px); font:inherit; margin:0; transition:background .13s ease,color .13s ease; }
|
||
.vtl-tab:hover { background:var(--vtl-accented); color:#3b463d; }
|
||
.vtl-tab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:-2px; }
|
||
.vtl-tab.active { background:var(--vtl-accented); color:#3b463d; font-weight:500; }
|
||
.vtl-tab.active .vtl-tab-ic { color:var(--vtl-accent); }
|
||
.vtl-tab-ic { flex:0 0 auto; display:inline-flex; color:var(--vtl-muted); }
|
||
.vtl-tab-ic svg { width:20px; height:20px; }
|
||
.vtl-tab-emoji { font-size:17px; line-height:1; flex:0 0 auto; }
|
||
.vtl-tab-fallback { display:none; flex:0 0 auto; width:20px; height:20px; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--vtl-muted); background:var(--vtl-accented); border-radius:6px; }
|
||
.vtl-tab.active .vtl-tab-fallback { color:var(--vtl-accent); }
|
||
.vtl-tab-text { display:flex; flex-direction:column; min-width:0; }
|
||
.vtl-tab-label { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:flex; align-items:center; gap:6px; }
|
||
.vtl-tab-badge { font:600 9px/1 system-ui; letter-spacing:.3px; text-transform:uppercase; color:var(--vtl-accent); border:1px solid var(--vtl-accent); border-radius:var(--vtl-radius,8px); padding:2px 5px; }
|
||
.vtl-tab-sub { font-size:11px; color:#6b6b6b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
|
||
.vtl-tab-sub code { font-family:ui-monospace,Menlo,monospace; }
|
||
.vtl-tab.active .vtl-tab-sub { color:var(--vtl-muted); }
|
||
.vtl-main { position:absolute; top:0; bottom:0; right:0; left:256px; min-width:0; display:flex; flex-direction:column; }
|
||
.vtl-content { flex:1 1 auto; position:relative; min-height:0; }
|
||
.vtl-host { position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; --profile-min-h:0; }
|
||
.vtl-host-slot { position:relative; min-height:100%; }
|
||
.vtl-host-slot > * { min-height:0; max-height:none; }
|
||
.vtl-host-hint { position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:var(--dx-muted, #6d766e); font-size:13px; padding:20px; }
|
||
.vtl-host-hint.err { color:#f87171; }
|
||
.vtl-host-hint small { color:var(--dx-muted, #6d766e); }
|
||
.vtl.rail-collapsed .vtl-nav { transform:translateX(-184px); }
|
||
.vtl.rail-collapsed .vtl-main { left:72px; }
|
||
.vtl.rail-collapsed .vtl-collapse { padding-left:184px; justify-content:flex-start; }
|
||
.vtl.rail-collapsed .vtl-collapse-ic { transform:rotate(0deg); }
|
||
.vtl.rail-collapsed .vtl-collapse-tx { display:none; }
|
||
.vtl.rail-collapsed .vtl-tab { padding-left:188px; gap:0; }
|
||
.vtl.rail-collapsed .vtl-tab-text { display:none; }
|
||
.vtl.rail-collapsed .vtl-tab-emoji { font-size:19px; }
|
||
.vtl.rail-collapsed .vtl-tab-fallback { display:inline-flex; }
|
||
.vtl.rail-collapsed .vtl-tier { padding-left:196px; }
|
||
.vtl.rail-collapsed .vtl-tl, .vtl.rail-collapsed .vtl-td, .vtl.rail-collapsed .vtl-cap, .vtl.rail-collapsed .vtl-chev { display:none; }
|
||
.vtl.rail-collapsed .vtl-grp + .vtl-grp { margin-top:6px; padding-top:6px; }
|
||
@media (max-width: 760px) {
|
||
.vtl-top { min-height:56px; }
|
||
.vtl-menu { display:inline-block; }
|
||
.vtl-meta { display:none; }
|
||
.vtl-nav { z-index:20; width:256px; box-shadow:0 0 28px rgba(0,0,0,.55); transform:translateX(-100%); }
|
||
.vtl.nav-open .vtl-nav { transform:translateX(0); z-index:1000; }
|
||
.vtl-main { left:0; }
|
||
.vtl.rail-collapsed .vtl-nav { transform:translateX(-100%); }
|
||
.vtl.rail-collapsed.nav-open .vtl-nav { transform:translateX(0); }
|
||
.vtl.rail-collapsed .vtl-main { left:0; }
|
||
.vtl.rail-collapsed .vtl-collapse { padding-left:10px; justify-content:flex-start; }
|
||
.vtl.rail-collapsed .vtl-collapse-ic { transform:rotate(180deg); }
|
||
.vtl.rail-collapsed .vtl-collapse-tx { display:inline; }
|
||
.vtl.rail-collapsed .vtl-tab { padding-left:10px; gap:11px; }
|
||
.vtl.rail-collapsed .vtl-tab-text { display:flex; }
|
||
.vtl.rail-collapsed .vtl-tab-fallback { display:none; }
|
||
.vtl.rail-collapsed .vtl-tier { padding-left:8px; }
|
||
.vtl.rail-collapsed .vtl-tl, .vtl.rail-collapsed .vtl-td, .vtl.rail-collapsed .vtl-cap, .vtl.rail-collapsed .vtl-chev { display:inline; }
|
||
}
|
||
.vtl:dir(rtl) .vtl-nav { left:auto; right:0; border-right:0; border-left:1px solid var(--vtl-border); }
|
||
.vtl:dir(rtl) .vtl-main { left:0; right:256px; }
|
||
.vtl:dir(rtl) .vtl-tab, .vtl:dir(rtl) .vtl-tier-btn { text-align:right; }
|
||
.vtl:dir(rtl) .vtl-meta, .vtl:dir(rtl) .vtl-td, .vtl:dir(rtl) .vtl-chev { margin-left:0; margin-right:auto; }
|
||
.vtl:dir(rtl) .vtl-chev:not(.open) { transform:scaleX(-1); }
|
||
.vtl:dir(rtl) .vtl-collapse-ic svg { transform:scaleX(-1); }
|
||
.vtl:dir(rtl) .vtl-fab { left:auto; right:calc(12px + env(safe-area-inset-right)); }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-nav { transform:translateX(184px); }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-main { left:0; right:72px; }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-collapse { padding-left:10px; padding-right:184px; }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-tab { padding-left:12px; padding-right:188px; }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-tier { padding-left:8px; padding-right:196px; }
|
||
@media (max-width: 760px) {
|
||
.vtl:dir(rtl) .vtl-nav { transform:translateX(100%); }
|
||
.vtl.nav-open:dir(rtl) .vtl-nav { transform:translateX(0); }
|
||
.vtl:dir(rtl) .vtl-main, .vtl.rail-collapsed:dir(rtl) .vtl-main { left:0; right:0; }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-nav { transform:translateX(100%); }
|
||
.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav { transform:translateX(0); }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-collapse { padding-left:10px; padding-right:10px; }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-tab { padding-left:12px; padding-right:10px; }
|
||
.vtl.rail-collapsed:dir(rtl) .vtl-tier { padding-left:8px; padding-right:8px; }
|
||
}
|
||
`,ac=_o({name:"VerticalTabsLayout",components:{BackToTopButton:qr},props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},labels:{type:Object,default:()=>({})},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){return Fn(sc,"vertical-tabs-layout"),{T:oc}},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{},hostEls:{}}},computed:{fabShown(){return this.narrow&&!this.header&&!this.navOpen},activeHostEl(){return this.hostEls[this.active]||null},railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const o of t.rows||[])e.push(o);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e)}}},mounted(){try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=e=>{this.narrow=e.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active))},beforeUnmount(){try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},label(e){const t={toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse"};return this.labels&&this.labels[e]||t[e]},expandRail(){!this.narrow&&this.railCollapsed&&(this.railCollapsed=!1)},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(o=>o.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(n=>n.key===e),o=this._hostSlots[e];!t||!o||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},nc(t.src).then(()=>ic(t.element)).then(()=>{o.innerHTML="";const n=document.createElement(t.element),i=t.attrs||{};for(const s in i){const a=i[s],l=a!=null&&typeof a=="object"?JSON.stringify(a):String(a);try{n[s]=a}catch{}try{n.setAttribute(s,l)}catch{}}n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n),this.hostState={...this.hostState,[e]:"ready"}}).catch(n=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:n&&n.message||String(n)}}))},iconSvg(e){return e?Ws(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],o=(this.groups||[]).find(i=>i.key===e),n=t??(o&&o.open===!0);this.folderOverride={...this.folderOverride,[e]:!n}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const o=t.indexOf(this.active);let n=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")n=(o+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")n=(o-1+t.length)%t.length;else if(e.key==="Home")n=0;else if(e.key==="End")n=t.length-1;else return;e.preventDefault();const i=t[n];this.pick(i),this.$nextTick(()=>{const s=this._tabEls[i];s&&s.focus&&s.focus()})}}}),lc={key:0,class:"vtl-top"},rc=["aria-expanded","aria-label"],cc={class:"vtl-brand"},dc={class:"vtl-title"},pc={class:"vtl-meta"},uc=["aria-expanded","aria-label"],fc={class:"vtl-body"},gc=["aria-label","aria-hidden","role","aria-orientation"],hc=["aria-expanded","aria-label"],$c=["innerHTML"],bc={class:"vtl-collapse-tx"},_c=["aria-expanded","onClick"],mc={key:0,class:"vtl-cap"},vc={class:"vtl-tl"},xc={key:1,class:"vtl-td"},kc=["innerHTML"],yc={key:1,class:"vtl-tier"},wc={key:0,class:"vtl-cap"},Sc={class:"vtl-tl"},Lc={key:1,class:"vtl-td"},Tc={class:"vtl-rows"},Nc=["aria-selected","tabindex","onClick"],Mc=["innerHTML"],Pc={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Cc={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Ec={class:"vtl-tab-text"},Oc={class:"vtl-tab-label"},Ac={key:0,class:"vtl-tab-badge"},Fc={key:0,class:"vtl-tab-sub"},Ic=["innerHTML"],Rc=["aria-selected","tabindex","onClick"],Hc=["innerHTML"],Uc={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Dc={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Wc={class:"vtl-tab-text"},zc={class:"vtl-tab-label"},jc={key:0,class:"vtl-tab-sub"},Bc={class:"vtl-main"},Kc={class:"vtl-content"},Vc=["hidden"],qc={key:0,class:"vtl-host-hint"},Gc={key:1,class:"vtl-host-hint err"};function Yc(e,t,o,n,i,s){const a=$n("BackToTopButton");return L(),T("div",{class:ge(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}]),style:lt(e.fabShown?{"--map-fab-clearance":"calc(56px + env(safe-area-inset-bottom))","--map-fab-beside":"calc(64px + env(safe-area-inset-left))"}:null)},[e.header?(L(),T("header",lc,[m("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=l=>e.navOpen=!e.navOpen),"aria-label":e.label("toggleList")},"☰",8,rc),m("span",cc,[Et(e.$slots,"brand")]),m("b",dc,N(e.title),1),m("span",pc,[Et(e.$slots,"meta")])])):K("",!0),e.fabShown?(L(),T("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=l=>e.navOpen=!0),"aria-label":e.label("openViews")},"☰",8,uc)):K("",!0),e.narrow?(L(),It(a,{key:2,target:e.activeHostEl,labels:{backToTop:e.T("actions.backToTop","Back to top")}},null,8,["target","labels"])):K("",!0),m("div",fc,[m("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:e.$slots.rail?null:"tablist","aria-orientation":e.$slots.rail?null:"vertical"},[m("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?e.label("expandList"):e.label("collapseList"),onClick:t[2]||(t[2]=(...l)=>e.toggleRail&&e.toggleRail(...l))},[m("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,$c),m("span",bc,N(e.label("collapse")),1)],8,hc),e.$slots.rail?Et(e.$slots,"rail",{collapsed:e.railCollapsed&&!e.narrow,expand:e.expandRail,pick:e.pick},void 0,void 0,0):e.groups&&e.groups.length?(L(!0),T(Y,{key:1},Pe(e.groups,l=>(L(),T("div",{class:"vtl-grp",key:l.key},[l.folder?(L(),T("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(l)),onClick:r=>e.toggleFolder(l.key)},[l.badge?(L(),T("span",mc,N(l.badge),1)):K("",!0),m("span",vc,N(l.label),1),l.count!=null?(L(),T("span",xc,N(l.count),1)):K("",!0),m("span",{class:ge(["vtl-chev",{open:!e.isFolderClosed(l)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,kc)],8,_c)):(L(),T("div",yc,[l.badge?(L(),T("span",wc,N(l.badge),1)):K("",!0),m("span",Sc,N(l.label),1),l.count!=null?(L(),T("span",Lc,N(l.count),1)):K("",!0)])),gt(m("div",Tc,[(L(!0),T(Y,null,Pe(l.rows,r=>(L(),T("button",{key:r.key,type:"button",role:"tab",class:ge(["vtl-tab",{active:r.key===e.active}]),"aria-selected":String(r.key===e.active),tabindex:r.key===e.active?0:-1,ref_for:!0,ref:d=>e.registerTab(r.key,d),onClick:d=>e.pick(r.key),onKeydown:t[3]||(t[3]=d=>e.onKey(d))},[r.icon?(L(),T("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,Mc)):r.emoji?(L(),T("span",Pc,N(r.emoji),1)):(L(),T("span",Cc,N(e.initial(r.label)),1)),m("span",Ec,[m("span",Oc,[Ve(N(r.label),1),r.badge?(L(),T("span",Ac,N(r.badge),1)):K("",!0)]),r.sub?(L(),T("span",Fc,[m("span",{innerHTML:r.sub},null,8,Ic)])):K("",!0)])],42,Nc))),128))],512),[[Mn,!l.folder||!e.isFolderClosed(l)]])]))),128)):(L(!0),T(Y,{key:2},Pe(e.items,l=>(L(),T("button",{key:l.key,type:"button",role:"tab",class:ge(["vtl-tab",{active:l.key===e.active}]),"aria-selected":String(l.key===e.active),tabindex:l.key===e.active?0:-1,ref_for:!0,ref:r=>e.registerTab(l.key,r),onClick:r=>e.pick(l.key),onKeydown:t[4]||(t[4]=r=>e.onKey(r))},[l.icon?(L(),T("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Hc)):l.emoji?(L(),T("span",Uc,N(l.emoji),1)):(L(),T("span",Dc,N(e.initial(l.label)),1)),m("span",Wc,[m("span",zc,N(l.label),1),l.sub?(L(),T("span",jc,N(l.sub),1)):K("",!0)])],42,Rc))),128))],8,gc),m("main",Bc,[e.header?Et(e.$slots,"toolbar",{},void 0,void 0,0):K("",!0),m("div",Kc,[(L(!0),T(Y,null,Pe(e.mountedElementRows,l=>gt((L(),T("section",{key:l.key,class:"vtl-host",hidden:l.key!==e.active,ref_for:!0,ref:r=>{r?e.hostEls[l.key]=r:delete e.hostEls[l.key]}},[m("div",{class:"vtl-host-slot",ref_for:!0,ref:r=>e.setHostSlot(l.key,r)},null,512),e.hostState[l.key]==="loading"?(L(),T("div",qc,N(e.T("messages.loadingNamed","Loading {name}…").replace("{name}",l.label)),1)):e.hostState[l.key]==="error"?(L(),T("div",Gc,[Ve(N(e.T("messages.couldNotLoadNamed","Could not load {name}.").replace("{name}",l.label)),1),t[5]||(t[5]=m("br",null,null,-1)),m("small",null,N(e.hostError[l.key]),1)])):K("",!0)],8,Vc)),[[Mn,l.key===e.active]])),128)),Et(e.$slots,"default")])])])],6)}const Jc=Eo(ac,[["render",Yc],["styles",[tc]]]),Xc='.st{display:flex;flex-direction:column;margin:0 -12px}.st-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff}.st-find{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1;color:#6d766e}.st-find:focus-within{border-color:#92b195;background:#fff}.st-find-ic{display:inline-flex}.st-find-ic svg{width:14px;height:14px}.st-find-in{flex:1 1 auto;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:13px;color:#3b463d}.st-tool{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:none;color:#6d766e;cursor:pointer}.st-tool:hover{background:#f3f3f1;color:#3b463d}.st-tool:focus-visible{outline:2px solid #92b195;outline-offset:-2px}.st-tool svg{width:16px;height:16px}.st-tree{display:flex;flex-direction:column;padding:0 0 8px;outline:0}.st-row{position:relative;display:flex;align-items:center;gap:6px;height:28px;box-sizing:border-box;padding-block:0;padding-inline:calc(8px + var(--st-depth) * 14px) 10px;font-size:13px;color:#3b463d;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:0}.st-row:hover{background:#f3f3f1}.st-row:focus-visible{box-shadow:inset 0 0 0 1px #92b195}.st-row.active{background:#92b1953d}.st-row.active:after{content:"";position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:3px;border-start-end-radius:3px;border-end-end-radius:3px;background:#92b195}.st-row.alias.active{background:#92b1951f}.st-sec{position:sticky;top:46px;z-index:2;height:30px;margin-top:6px;background:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6d766e;border-top:1px solid #eceee9}.st-sec:first-child{margin-top:0;border-top:0}.st-sec:hover{background:#fff;color:#3b463d}.st-cap{flex:0 0 auto;font:700 10px/1 system-ui,sans-serif;letter-spacing:.3px;padding:3px 6px;border-radius:999px;background:#92b195;color:#1d2a1f}.st-sec-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-twisty,.st-twisty-sp{flex:0 0 16px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#6d766e}.st-twisty svg{width:14px;height:14px;transition:transform .12s ease}.st-row[aria-expanded=true]>.st-twisty svg{transform:rotate(90deg)}.st:dir(rtl) .st-twisty svg{transform:scaleX(-1)}.st:dir(rtl) .st-row[aria-expanded=true]>.st-twisty svg{transform:rotate(90deg)}.st-ic{flex:0 0 16px;display:inline-flex;color:#6d766e}.st-ic svg{width:16px;height:16px}.st-row.active .st-ic{color:#5f8a63}.st-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-desc{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;font:11px/1 ui-monospace,Menlo,monospace;color:#8a928b}.st-part{flex:0 0 auto;font:600 9px/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.3px;padding:2px 4px;border:1px solid #92b195;border-radius:4px;color:#5f8a63}.st-count{flex:0 0 auto;margin-inline-start:auto;min-width:18px;text-align:right;font-size:11px;font-weight:500;letter-spacing:0;color:#6d766e}.st-guide{position:absolute;top:0;bottom:0;inset-inline-start:calc(15px + var(--st-g) * 14px);border-inline-start:1px solid #dfe2db;pointer-events:none}.st-row:hover>.st-guide{border-inline-start-color:#c4c8c0}.st-empty{margin:12px;font-size:13px;color:#6d766e}.st-activity{display:flex;flex-direction:column;gap:4px}.st-act{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:44px;margin-inline-start:172px;padding:0;border:0;border-radius:10px;background:none;color:#6d766e;cursor:pointer}.st-act:hover,.st-act.active{background:#f3f3f1;color:#3b463d}.st-act:focus-visible{outline:2px solid #92b195;outline-offset:-2px}.st-act-ic{display:inline-flex}.st-act-ic svg{width:20px;height:20px}.st-act-n{position:absolute;right:6px;bottom:5px;font:700 9px/1 system-ui,sans-serif;color:#5f8a63}',Zc='.st { display:flex; flex-direction:column; margin:0 -12px; }.st-bar { position:sticky; top:0; z-index:3; display:flex; align-items:center; gap:6px; padding:8px 12px 8px; background:#ffffff; }.st-find { flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:6px; height:30px; padding:0 8px; border:1px solid #d1d4cd; border-radius:8px; background:#f3f3f1; color:#6d766e; }.st-find:focus-within { border-color:#92b195; background:#ffffff; }.st-find-ic { display:inline-flex; } .st-find-ic svg { width:14px; height:14px; }.st-find-in { flex:1 1 auto; min-width:0; border:0; outline:0; background:none; font:inherit; font-size:13px; color:#3b463d; }.st-tool { flex:0 0 auto; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:8px; background:none; color:#6d766e; cursor:pointer; }.st-tool:hover { background:#f3f3f1; color:#3b463d; } .st-tool:focus-visible { outline:2px solid #92b195; outline-offset:-2px; }.st-tool svg { width:16px; height:16px; }.st-tree { display:flex; flex-direction:column; padding:0 0 8px; outline:0; }.st-row { position:relative; display:flex; align-items:center; gap:6px; height:28px; box-sizing:border-box; padding-block:0; padding-inline:calc(8px + var(--st-depth) * 14px) 10px; font-size:13px; color:#3b463d; cursor:pointer; white-space:nowrap; user-select:none; outline:0; }.st-row:hover { background:#f3f3f1; }.st-row:focus-visible { box-shadow:inset 0 0 0 1px #92b195; }.st-row.active { background:rgba(146,177,149,.24); }.st-row.active::after { content:""; position:absolute; inset-inline-start:0; top:4px; bottom:4px; width:3px; border-start-end-radius:3px; border-end-end-radius:3px; background:#92b195; }.st-row.alias.active { background:rgba(146,177,149,.12); }.st-sec { position:sticky; top:46px; z-index:2; height:30px; margin-top:6px; background:#ffffff; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#6d766e; border-top:1px solid #eceee9; }.st-sec:first-child { margin-top:0; border-top:0; }.st-sec:hover { background:#ffffff; color:#3b463d; }.st-cap { flex:0 0 auto; font:700 10px/1 system-ui,sans-serif; letter-spacing:.3px; padding:3px 6px; border-radius:999px; background:#92b195; color:#1d2a1f; }.st-sec-label { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.st-twisty, .st-twisty-sp { flex:0 0 16px; width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; color:#6d766e; }.st-twisty svg { width:14px; height:14px; transition:transform .12s ease; }.st-row[aria-expanded="true"] > .st-twisty svg { transform:rotate(90deg); }.st:dir(rtl) .st-twisty svg { transform:scaleX(-1); } .st:dir(rtl) .st-row[aria-expanded="true"] > .st-twisty svg { transform:rotate(90deg); }.st-ic { flex:0 0 16px; display:inline-flex; color:#6d766e; } .st-ic svg { width:16px; height:16px; }.st-row.active .st-ic { color:#5f8a63; }.st-label { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.st-desc { flex:1 1 0; min-width:0; overflow:hidden; text-overflow:ellipsis; font:11px/1 ui-monospace,Menlo,monospace; color:#8a928b; }.st-part { flex:0 0 auto; font:600 9px/1 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.3px; padding:2px 4px; border:1px solid #92b195; border-radius:4px; color:#5f8a63; }.st-count { flex:0 0 auto; margin-inline-start:auto; min-width:18px; text-align:right; font-size:11px; font-weight:500; letter-spacing:0; color:#6d766e; }.st-guide { position:absolute; top:0; bottom:0; inset-inline-start:calc(15px + var(--st-g) * 14px); border-inline-start:1px solid #dfe2db; pointer-events:none; }.st-row:hover > .st-guide { border-inline-start-color:#c4c8c0; }.st-empty { margin:12px; font-size:13px; color:#6d766e; }.st-activity { display:flex; flex-direction:column; gap:4px; }.st-act { position:relative; display:flex; align-items:center; justify-content:center; width:48px; height:44px; margin-inline-start:172px; padding:0; border:0; border-radius:10px; background:none; color:#6d766e; cursor:pointer; }.st-act:hover, .st-act.active { background:#f3f3f1; color:#3b463d; }.st-act:focus-visible { outline:2px solid #92b195; outline-offset:-2px; }.st-act-ic { display:inline-flex; } .st-act-ic svg { width:20px; height:20px; }.st-act-n { position:absolute; right:6px; bottom:5px; font:700 9px/1 system-ui,sans-serif; color:#5f8a63; }',Qc='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="3"/><line x1="8.5" y1="12" x2="15.5" y2="12"/></svg>',ed={filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",treeLabel:"Plugins by capability",openSection:"Open {cap}, {label}",part:"part"},td='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 6 15 12 9 18"/></svg>',Rn=e=>e.canonical!==void 0?!!e.canonical:e.depth===0,od=e=>e.canonical!==void 0?!e.canonical&&!e.folder:e.depth>0,nd=_o({name:"StudioTree",props:{sections:{type:Array,default:()=>[]},active:{type:String,default:""},collapsed:{type:Boolean,default:!1},pick:{type:Function,default:null},expand:{type:Function,default:null},strings:{type:Object,default:()=>({})}},emits:["select"],setup(){Fn(Zc,"studio-tree")},data(){const e=this.readState();return{query:"",focusId:"",secClosed:e.sec||{},nodeOpen:e.node||{},chev:td,collapseAllSvg:Qc}},computed:{byId(){const e=new Map;for(const t of this.sections)for(const o of t.nodes)e.set(o.id,o);return e},q(){return this.query.trim().toLowerCase()},kept(){if(!this.q)return null;const e=new Set;for(const t of this.sections)for(const o of t.nodes){if(!(o.label.toLowerCase().includes(this.q)||String(o.desc||"").toLowerCase().includes(this.q)))continue;e.add(o.id);let i=o.parent;for(;i;)e.add(i),i=this.byId.get(i)&&this.byId.get(i).parent}return e},visible(){const e=[];for(const t of this.sections){const o=this.kept?t.nodes.filter(n=>this.kept.has(n.id)):t.nodes;if(!(this.kept&&!o.length)&&(e.push({id:"sec:"+t.id,section:!0,sectionId:t.id,level:1,depth:0,expandable:!0,cap:t.cap,badge:t.badge||"CAP "+t.cap,label:t.label,title:t.title||"",count:t.nodes.filter(n=>n.depth===0).length}),!(!this.kept&&this.secClosed[t.id])))for(const n of o)!this.kept&&!this.ancestorsOpen(n)||e.push({...n,sectionId:t.id,level:n.depth+2,expandable:!!n.kids,alias:od(n)})}return e},activeSectionId(){for(const e of this.sections)if(e.nodes.some(t=>Rn(t)&&t.target===this.active))return e.id;return""}},watch:{active:{handler(){this.reveal()},immediate:!0},sections(){this.reveal()},query(e){e&&this.visible.length&&(this.focusId=this.visible[0].id)}},methods:{svg(e){return e?Ws(e):""},str(e,t){let o=this.strings[e]||ed[e]||e;if(t)for(const n in t)o=o.split("{"+n+"}").join(String(t[n]));return o},storageKey(){return"dx-studio-tree:"+(typeof location<"u"&&location.pathname||"")},readState(){try{return JSON.parse(window.localStorage.getItem(this.storageKey())||"{}")||{}}catch{return{}}},saveState(){try{window.localStorage.setItem(this.storageKey(),JSON.stringify({sec:this.secClosed,node:this.nodeOpen}))}catch{}},ancestorsOpen(e){let t=e.parent;for(;t;){if(!this.nodeOpen[t])return!1;t=this.byId.get(t)&&this.byId.get(t).parent}return!0},isOpen(e){return this.kept?!0:e.section?!this.secClosed[e.sectionId]:!!this.nodeOpen[e.id]},setOpen(e,t){e.section?this.secClosed={...this.secClosed,[e.sectionId]:!t}:this.nodeOpen={...this.nodeOpen,[e.id]:t},this.saveState()},toggle(e){e.expandable&&this.setOpen(e,!this.isOpen(e))},collapseAll(){this.nodeOpen={},this.saveState();const e=this.visible.find(t=>!t.section&&t.target===this.active&&Rn(t));e&&(this.focusId=e.id)},rowClass(e){return{"st-row":!0,"st-sec":!!e.section,active:!e.section&&e.target===this.active,alias:!!e.alias}},setRow(e,t){this._rows||(this._rows={}),t?this._rows[e]=t:delete this._rows[e]},activate(e){if(e.section){this.toggle(e);return}e.target&&(this.pick?this.pick(e.target):this.$emit("select",e.target))},onRowClick(e){this.focusId=e.id,this.activate(e)},focusRow(e){e&&(this.focusId=e,this.$nextTick(()=>{const t=this._rows&&this._rows[e];t&&(t.focus({preventScroll:!0}),t.scrollIntoView({block:"nearest"}))}))},onTreeKey(e){const t=this.visible;if(!t.length)return;const o=Math.max(0,t.findIndex(s=>s.id===this.focusId)),n=t[o],i=s=>s.section?"":s.parent||"sec:"+s.sectionId;switch(e.key){case"ArrowDown":this.focusRow((t[o+1]||n).id);break;case"ArrowUp":this.focusRow((t[o-1]||n).id);break;case"Home":this.focusRow(t[0].id);break;case"End":this.focusRow(t[t.length-1].id);break;case"ArrowRight":if(!n.expandable)break;this.isOpen(n)?t[o+1]&&t[o+1].level>n.level&&this.focusRow(t[o+1].id):this.setOpen(n,!0);break;case"ArrowLeft":n.expandable&&this.isOpen(n)&&!this.kept?this.setOpen(n,!1):this.focusRow(i(n));break;case"Enter":case" ":this.activate(n);break;default:if(e.key.length===1&&/\S/.test(e.key)&&!e.ctrlKey&&!e.metaKey&&!e.altKey){const s=e.key.toLowerCase(),l=t.slice(o+1).concat(t.slice(0,o+1)).find(r=>String(r.label).toLowerCase().startsWith(s));l&&this.focusRow(l.id);break}return}e.preventDefault()},onFindKey(e){e.key==="Escape"?(this.query="",e.preventDefault()):e.key==="ArrowDown"&&this.visible.length&&(this.focusRow(this.visible[0].id),e.preventDefault())},reveal(){if(!this.active||!this.sections.length)return;let e=null;for(const t of this.sections)if(e=t.nodes.find(o=>Rn(o)&&o.target===this.active),e){this.secClosed[t.id]&&(this.secClosed={...this.secClosed,[t.id]:!1},this.saveState());break}if(e)for(let t=e.parent;t;){const o=this.byId.get(t);if(!o)break;if(o.target===this.active&&!this.nodeOpen[t]){e=o;break}t=o.parent}if(e){let t=e.parent,o=!1;for(;t;)this.nodeOpen[t]||(this.nodeOpen={...this.nodeOpen,[t]:!0},o=!0),t=this.byId.get(t)&&this.byId.get(t).parent;o&&this.saveState()}e&&((!this.focusId||!this.byId.has(this.focusId)||this.byId.get(this.focusId).target!==this.active)&&(this.focusId=e.id),this.$nextTick(()=>{const t=this._rows&&this._rows[e.id];t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest"})}))},openSectionFromActivity(e){this.secClosed[e]&&(this.secClosed={...this.secClosed,[e]:!1},this.saveState()),this.expand&&this.expand(),this.$nextTick(()=>this.focusRow("sec:"+e))}}}),id={key:0,class:"st-activity"},sd=["aria-label","onClick"],ad=["innerHTML"],ld={class:"st-act-n","aria-hidden":"true"},rd={key:1,class:"st"},cd={class:"st-bar"},dd={class:"st-find"},pd=["innerHTML"],ud=["placeholder","aria-label"],fd=["aria-label","title"],gd=["innerHTML"],hd=["aria-label"],$d=["aria-level","aria-expanded","aria-selected","tabindex","title","onClick","onFocus"],bd=["innerHTML"],_d={class:"st-cap"},md={class:"st-sec-label"},vd={class:"st-count"},xd=["innerHTML","onClick"],kd={key:1,class:"st-twisty-sp","aria-hidden":"true"},yd=["innerHTML"],wd={class:"st-label"},Sd={key:2,class:"st-part"},Ld={class:"st-desc"},Td={key:3,class:"st-count"},Nd={key:0,class:"st-empty"};function Md(e,t,o,n,i,s){return e.collapsed?(L(),T("div",id,[(L(!0),T(Y,null,Pe(e.sections,a=>(L(),T("button",{key:a.id,type:"button",class:ge(["st-act",{active:a.id===e.activeSectionId}]),"aria-label":e.str("openSection",{cap:a.badge||"CAP "+a.cap,label:a.label}),onClick:l=>e.openSectionFromActivity(a.id)},[m("span",{class:"st-act-ic","aria-hidden":"true",innerHTML:e.svg(a.icon)},null,8,ad),m("span",ld,N(a.short||a.cap),1)],10,sd))),128))])):(L(),T("div",rd,[m("div",cd,[m("label",dd,[m("span",{class:"st-find-ic","aria-hidden":"true",innerHTML:e.svg("search")},null,8,pd),gt(m("input",{ref:"find",type:"search",class:"st-find-in","onUpdate:modelValue":t[0]||(t[0]=a=>e.query=a),placeholder:e.str("filterPlaceholder"),"aria-label":e.str("filterPlaceholder"),onKeydown:t[1]||(t[1]=(...a)=>e.onFindKey&&e.onFindKey(...a))},null,40,ud),[[An,e.query]])]),m("button",{type:"button",class:"st-tool","aria-label":e.str("collapseAll"),title:e.str("collapseAll"),onClick:t[2]||(t[2]=(...a)=>e.collapseAll&&e.collapseAll(...a))},[m("span",{"aria-hidden":"true",innerHTML:e.collapseAllSvg},null,8,gd)],8,fd)]),m("div",{class:"st-tree",role:"tree","aria-label":e.str("treeLabel"),onKeydown:t[3]||(t[3]=(...a)=>e.onTreeKey&&e.onTreeKey(...a))},[(L(!0),T(Y,null,Pe(e.visible,a=>(L(),T("div",{key:a.id,ref_for:!0,ref:l=>e.setRow(a.id,l),role:"treeitem","aria-level":a.level,"aria-expanded":a.expandable?String(e.isOpen(a)):null,"aria-selected":a.section?null:String(a.target===e.active),tabindex:a.id===e.focusId?0:-1,class:ge(e.rowClass(a)),style:lt({"--st-depth":a.depth}),title:a.title||null,onClick:l=>e.onRowClick(a),onFocus:l=>e.focusId=a.id},[a.section?(L(),T(Y,{key:0},[m("span",{class:"st-twisty","aria-hidden":"true",innerHTML:e.chev},null,8,bd),m("span",_d,N(a.badge),1),m("span",md,N(a.label),1),m("span",vd,N(a.count),1)],64)):(L(),T(Y,{key:1},[(L(!0),T(Y,null,Pe(a.depth,l=>(L(),T("span",{key:l,class:"st-guide",style:lt({"--st-g":l-1}),"aria-hidden":"true"},null,4))),128)),a.expandable?(L(),T("span",{key:0,class:"st-twisty","aria-hidden":"true",innerHTML:e.chev,onClick:Fs(l=>e.toggle(a),["stop"])},null,8,xd)):(L(),T("span",kd)),m("span",{class:"st-ic","aria-hidden":"true",innerHTML:e.svg(a.icon)},null,8,yd),m("span",wd,N(a.label),1),a.part?(L(),T("span",Sd,N(e.str("part")),1)):K("",!0),m("span",Ld,N(a.desc),1),a.expandable?(L(),T("span",Td,N(a.kids),1)):K("",!0)],64))],46,$d))),128)),e.query&&!e.visible.length?(L(),T("p",Nd,N(e.str("noMatch",{query:e.query})),1)):K("",!0)],40,hd)]))}const Pd=Eo(nd,[["render",Md],["styles",[Xc]]]),Oo=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",hideFromSwitcher:!0},{code:"ro",name:"Romanian",nativeName:"Română",flag:"🇷🇴",hideFromSwitcher:!0},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳",hideFromSwitcher:!0}];Oo.filter(e=>!e.hideFromSwitcher);function Cd(e){return Oo.find(t=>t.code===e)}function Hn(e){const t=String(e||"").split("-")[0].toLowerCase();return Oo.some(o=>o.code===t)?t:"en"}const js="doxa-maps:locale";function Ed(){try{const e=localStorage.getItem(js);if(e)return Hn(e)}catch{}return Hn(navigator==null?void 0:navigator.language)}function Od(e){try{localStorage.setItem(js,e)}catch{}}const Ao="__doxaMapToken",Bs="doxa:map-token",Ks="__doxaMapTokenBridge",Kt=()=>{if(typeof window>"u")return"";const e=window[Ao];return typeof e=="string"?e:""};function Vs(e){if(typeof window>"u")return"";qs();const t=typeof e=="string"?e.trim():"";if(!t||t===Kt())return Kt();window[Ao]=t;try{window.dispatchEvent(new CustomEvent(Bs,{detail:t}))}catch{}return t}function Ad(){var t;if(typeof window>"u")return;const e=Kt()||typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN;if(qs(),window[Ao]="",!((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))try{window.MAP_TOKEN=""}catch{}if(e)try{window.dispatchEvent(new CustomEvent(Bs,{detail:""}))}catch{}}function qs(){var t;if(typeof window>"u"||window[Ks]&&((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Kt()&&(window[Ao]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Kt()},set(o){Vs(o)}}),window[Ks]=!0}catch{}}const Fd=":host{display:block;position:relative;height:var(--plugin-studio-height, 85vh);min-height:480px}:host([hidden]){display:none}.ps-logo{display:inline-flex;align-items:center}.ps-logo svg{display:block}.ps-count{color:#6d766e}.vtl-top{position:relative;z-index:3}.vtl-body{isolation:isolate}.ps-token{position:relative;display:inline-flex}.ps-show-header{position:fixed;top:8px;inset-inline-end:8px;z-index:2147483000;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d1d4cd;border-radius:999px;background:#fffffff0;color:#3b463d;font:600 12px system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 14px #0000002e}.ps-show-header:hover,.ps-show-header:focus-visible{background:#fff;outline:2px solid #92b195}.ps-token-dot{width:8px;height:8px;border-radius:50%;background:#b8bdb4}.ps-token-dot.is-yours,.ps-token-dot.is-url{background:#92b195}.ps-token-dot.is-built{background:#c9b36a}.ps-token-dot.is-none{background:#d27a6a}.ps-token-panel{position:absolute;top:100%;inset-inline-end:0;margin-top:4px;z-index:30;width:min(340px,90vw);display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000040;color:#3b463d;font-size:12px}.ps-token-label{display:flex;flex-direction:column;gap:4px}.ps-token-input{font:inherit;font-size:12px;padding:6px 8px;border:1px solid #d1d4cd;border-radius:7px;background:#f8f8f6;color:#3b463d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ps-token-row{display:flex;gap:8px}.ps-token-apply,.ps-token-clear{font:inherit;font-size:12px;padding:5px 12px;border-radius:7px;border:1px solid #d1d4cd;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-token-apply{background:#92b195;border-color:#92b195;color:#fff}.ps-token-apply:disabled{opacity:.6;cursor:progress}.ps-token-status{margin:0}.ps-token-head{margin:0;font-weight:600;font-size:12px}.ps-token-status.err{color:#b3412f}.ps-token-note{margin:0;color:#6d766e}.ps-locale{position:relative;display:inline-flex}.ps-locale-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;padding:4px 9px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-locale-btn:hover{background:#d1d4cd}.ps-flag{font-size:13px;line-height:1}.ps-locale-name{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-token-btn .ps-locale-name{max-width:none}.ps-dots{color:#6d766e}.ps-locale-menu{position:absolute;top:100%;right:0;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.ps-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.ps-locale-opt:hover,.ps-locale-opt.active{background:#d1d4cd;color:#3b463d}.ps-locale-opt.active .ps-locale-name{color:#92b195}.ps-locale-en{margin-left:auto;font-size:11px;color:#6d766e}.ps-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px 0}.ps-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ps-bar-t{flex:1 1 auto;min-width:0}.ps-bar-t b{font-size:15px;color:#3b463d}.ps-bar-sub{display:block;font-size:12px;color:#6d766e}.ps-btn{font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer;white-space:nowrap}.ps-btn:hover{background:#d1d4cd}.ps-embed{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1}.ps-embed label{font-size:12px;color:#6d766e;display:flex;justify-content:space-between;align-items:center}.ps-embed textarea{width:100%;height:58px;font:11px/1.35 ui-monospace,Menlo,monospace;border:1px solid #d1d4cd;border-radius:6px;background:#fff;color:#3b463d;padding:6px;resize:vertical}.ps-stage{position:absolute;top:10px;right:12px;bottom:12px;left:12px;border:1px solid #d1d4cd;border-radius:10px;overflow:hidden;background:#f3f3f1}.ps-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h: 0}.ps-slot{position:relative;min-height:100%}.ps-slot>*{min-height:0;max-height:none}.ps-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.ps-hint.err{color:#f87171}.ps-hint small{color:#6d766e}",Fo="plugin-studio:mapbox-token",Io="plugin-studio:mapbox-token-url",Gs="plugin-studio:header-hidden",Ys="plugin-studio:map-provider";function mt(e){try{return typeof window<"u"&&window.localStorage.getItem(e)||""}catch{return""}}function vt(e,t){try{t?window.localStorage.setItem(e,t):window.localStorage.removeItem(e)}catch{}}const Id=`
|
||
:host { display:block; position:relative; height:var(--plugin-studio-height, 85vh); min-height:480px; }
|
||
:host([hidden]) { display:none; }
|
||
.ps-logo { display:inline-flex; align-items:center; }
|
||
.ps-logo svg { display:block; }
|
||
.ps-count { color:#6d766e; }
|
||
.vtl-top { position:relative; z-index:3; }
|
||
.vtl-body { isolation:isolate; }
|
||
.ps-token { position:relative; display:inline-flex; }
|
||
.ps-show-header { position:fixed; top:8px; inset-inline-end:8px; z-index:2147483000; display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:1px solid #d1d4cd; border-radius:999px; background:rgba(255,255,255,.94); color:#3b463d; font:600 12px system-ui, sans-serif; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.18); }
|
||
.ps-show-header:hover, .ps-show-header:focus-visible { background:#ffffff; outline:2px solid #92b195; }
|
||
.ps-token-dot { width:8px; height:8px; border-radius:50%; background:#b8bdb4; }
|
||
.ps-token-dot.is-yours, .ps-token-dot.is-url { background:#92b195; }
|
||
.ps-token-dot.is-built { background:#c9b36a; }
|
||
.ps-token-dot.is-none { background:#d27a6a; }
|
||
.ps-token-panel { position:absolute; top:100%; inset-inline-end:0; margin-top:4px; z-index:30; width:min(340px, 90vw); display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid #d1d4cd; border-radius:10px; background:#ffffff; box-shadow:0 12px 32px rgba(0,0,0,.25); color:#3b463d; font-size:12px; }
|
||
.ps-token-label { display:flex; flex-direction:column; gap:4px; }
|
||
.ps-token-input { font:inherit; font-size:12px; padding:6px 8px; border:1px solid #d1d4cd; border-radius:7px; background:#f8f8f6; color:#3b463d; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
|
||
.ps-token-row { display:flex; gap:8px; }
|
||
.ps-token-apply, .ps-token-clear { font:inherit; font-size:12px; padding:5px 12px; border-radius:7px; border:1px solid #d1d4cd; background:#d1d4cd; color:#3b463d; cursor:pointer; }
|
||
.ps-token-apply { background:#92b195; border-color:#92b195; color:#fff; }
|
||
.ps-token-apply:disabled { opacity:.6; cursor:progress; }
|
||
.ps-token-status { margin:0; }
|
||
.ps-token-head { margin:0; font-weight:600; font-size:12px; }
|
||
.ps-token-status.err { color:#b3412f; }
|
||
.ps-token-note { margin:0; color:#6d766e; }
|
||
.ps-locale { position:relative; display:inline-flex; }
|
||
.ps-locale-btn { display:inline-flex; align-items:center; gap:6px; font:inherit; font-size:12px; padding:4px 9px; border:1px solid #d1d4cd; border-radius:8px; background:#d1d4cd; color:#3b463d; cursor:pointer; }
|
||
.ps-locale-btn:hover { background:#d1d4cd; }
|
||
.ps-flag { font-size:13px; line-height:1; }
|
||
.ps-locale-name { max-width:11ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
||
.ps-token-btn .ps-locale-name { max-width:none; }
|
||
.ps-dots { color:#6d766e; }
|
||
.ps-locale-menu { position:absolute; top:100%; right:0; margin-top:4px; z-index:30; min-width:180px; list-style:none; padding:6px; border:1px solid #d1d4cd; border-radius:10px; background:#ffffff; box-shadow:0 12px 32px rgba(0,0,0,.5); max-height:320px; overflow:auto; }
|
||
.ps-locale-opt { display:flex; align-items:center; gap:8px; width:100%; text-align:left; font:inherit; font-size:13px; padding:7px 9px; border:0; border-radius:7px; background:none; color:#3b463d; cursor:pointer; }
|
||
.ps-locale-opt:hover { background:#d1d4cd; color:#3b463d; }
|
||
.ps-locale-opt.active { background:#d1d4cd; color:#3b463d; }
|
||
.ps-locale-opt.active .ps-locale-name { color:#92b195; }
|
||
.ps-locale-en { margin-left:auto; font-size:11px; color:#6d766e; }
|
||
.ps-toolbar { display:flex; flex-direction:column; gap:8px; padding:10px 12px 0; }
|
||
.ps-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
|
||
.ps-bar-t { flex:1 1 auto; min-width:0; }
|
||
.ps-bar-t b { font-size:15px; color:#3b463d; }
|
||
.ps-bar-sub { display:block; font-size:12px; color:#6d766e; }
|
||
.ps-btn { font:inherit; font-size:12px; padding:5px 10px; border:1px solid #d1d4cd; border-radius:8px; background:#d1d4cd; color:#3b463d; cursor:pointer; white-space:nowrap; }
|
||
.ps-btn:hover { background:#d1d4cd; }
|
||
.ps-embed { display:flex; flex-direction:column; gap:6px; padding:8px; border:1px solid #d1d4cd; border-radius:8px; background:#f3f3f1; }
|
||
.ps-embed label { font-size:12px; color:#6d766e; display:flex; justify-content:space-between; align-items:center; }
|
||
.ps-embed textarea { width:100%; height:58px; font:11px/1.35 ui-monospace,Menlo,monospace; border:1px solid #d1d4cd; border-radius:6px; background:#ffffff; color:#3b463d; padding:6px; resize:vertical; }
|
||
.ps-stage { position:absolute; inset:10px 12px 12px; border:1px solid #d1d4cd; border-radius:10px; overflow:hidden; background:#f3f3f1; }
|
||
.ps-pane { position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; --profile-min-h:0; }
|
||
.ps-slot { position:relative; min-height:100%; }
|
||
.ps-slot > * { min-height:0; max-height:none; }
|
||
.ps-hint { position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:#6d766e; font-size:13px; padding:20px; }
|
||
.ps-hint.err { color:#f87171; }
|
||
.ps-hint small { color:#6d766e; }
|
||
`,Rd={5:"App shell · nested-mfe-spa",4:"Composite element",3:"Multi-view element",2:"Preset element",1:"Single element"},Js={"nested-mfe-spa":0,"nested-elements-mfe":1,monolithic:2,parameterized:3,single:4},Hd=e=>Js[e]!=null?5-Js[e]:1,Ud={5:"nested-mfe-spa",4:"nested-elements-mfe",3:"monolithic",2:"parameterized",1:"single"},Un={5:"monitor",4:"tree",3:"layers",2:"grid",1:"embed"},Xs=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid","gospel-internet-board"]),Zs=new Set(["big-picture"]),Ro={};for(const[e,t]of Object.entries(Object.assign({"../../library/i18n/locales/ar/studio.json":Er,"../../library/i18n/locales/de/studio.json":Or,"../../library/i18n/locales/en/studio.json":Ar,"../../library/i18n/locales/es/studio.json":Fr,"../../library/i18n/locales/fr/studio.json":Ir,"../../library/i18n/locales/hi/studio.json":Rr,"../../library/i18n/locales/it/studio.json":Hr,"../../library/i18n/locales/pt/studio.json":Ur,"../../library/i18n/locales/ro/studio.json":Dr,"../../library/i18n/locales/ru/studio.json":Wr,"../../library/i18n/locales/zh/studio.json":zr}))){const o=e.match(/locales\/([^/]+)\/studio\.json$/);o&&(Ro[o[1]]=t)}const Qs={},Dn=e=>String(e).split(/[-_]+/).filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" ");function Dd(e,t){const o=e+"/"+t.profile;if(Qs[o])return Qs[o];const n=typeof t.label=="string"?t.label.replace(/\s*\([^()]*\)\s*$/,"").trim():"";return n||(t.profile===e?Dn(e):Dn(e)+" · "+Dn(t.profile))}const Wd=`
|
||
[data-studio-widgets]{position:fixed;z-index:2147483647;display:flex;flex-direction:column;gap:10px;pointer-events:none}
|
||
[data-studio-widgets] > *{pointer-events:auto}
|
||
[data-studio-widgets="bottom-right"]{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));align-items:flex-end}
|
||
[data-studio-widgets="bottom-left"]{bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));align-items:flex-start}
|
||
[data-studio-widgets="top-right"]{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));align-items:flex-end}
|
||
[data-studio-widgets="top-left"]{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));align-items:flex-start}
|
||
[data-widget]{display:flex;flex-direction:column;align-items:inherit;gap:10px}
|
||
[data-studio-widgets^="top"] [data-widget]{flex-direction:column-reverse}
|
||
[data-widget-panel]{display:none;position:relative;width:360px;max-width:calc(100vw - 32px);height:min(480px,calc(100vh - 110px));height:min(480px,calc(100dvh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border-radius:16px;overflow:hidden;background:#0b0f14;box-shadow:0 12px 40px rgba(0,0,0,.35)}
|
||
[data-widget-panel][data-open]{display:block}
|
||
[data-widget-bubble]{position:relative;display:inline-flex;align-items:center;gap:8px;height:48px;max-width:min(360px,calc(100vw - 32px));padding:0 18px 0 14px;border:1px solid #334155;border-radius:999px;background:#0f172a;color:#e5e7eb;font:600 14px/1 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.3)}
|
||
[data-widget-bubble]:focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}
|
||
[data-wb-icon]{display:grid;place-items:center;flex:none;color:#38bdf8}
|
||
[data-wb-icon] svg,[data-wb-chev] svg{width:20px;height:20px;display:block}
|
||
[data-wb-text]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
|
||
[data-widget-bubble][data-listening="true"]{width:min(300px,calc(100vw - 32px))}
|
||
[data-widget-bubble][data-listening="true"] [data-wb-text]{flex:1 1 auto}
|
||
[data-wb-dot],[data-wb-chev]{display:none;flex:none}
|
||
[data-wb-dot]{width:10px;height:10px;border-radius:50%;background:#ef4444}
|
||
[data-widget-bubble][aria-expanded="true"] [data-wb-chev]{display:block}
|
||
[data-widget-bubble][data-listening="true"]{border-color:#ef4444;background:#1f0f12;animation:studio-widget-pulse 1.4s ease-out infinite}
|
||
[data-widget-bubble][data-listening="true"] [data-wb-dot]{display:block}
|
||
[data-widget-bubble][data-listening="true"] [data-wb-icon]{color:#6b7280}
|
||
[data-widget-bubble][data-speaking="true"] [data-wb-icon]{color:#4ade80;animation:studio-widget-speak .5s ease-in-out infinite alternate}
|
||
@keyframes studio-widget-pulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 12px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
|
||
@keyframes studio-widget-speak{from{transform:scale(1)}to{transform:scale(1.18)}}
|
||
@media (prefers-reduced-motion:reduce){[data-widget-bubble][data-listening="true"],[data-widget-bubble][data-speaking="true"] [data-wb-icon]{animation:none}}
|
||
@media (max-width:480px){
|
||
[data-studio-widgets^="bottom"]{bottom:max(8px,env(safe-area-inset-bottom))}
|
||
[data-studio-widgets$="right"]{right:max(8px,env(safe-area-inset-right))}
|
||
[data-studio-widgets$="left"]{left:max(8px,env(safe-area-inset-left))}
|
||
[data-widget-panel]{width:calc(100vw - 16px);max-width:none;height:60vh;height:60dvh}
|
||
[data-widget-bubble]{max-width:calc(100vw - 16px)}
|
||
}`,zd='<span data-wb-dot aria-hidden="true"></span><span data-wb-icon>'+'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10v1a7 7 0 0 0 14 0v-1"/><path d="M12 18v4"/></svg>'+"</span><span data-wb-text></span><span data-wb-chev>"+'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" aria-hidden="true"><path d="M6 9l6 6 6-6"/></svg>'+"</span>",jd=_o({name:"PluginStudio",inheritAttrs:!1,components:{VerticalTabsLayout:Jc,StudioTree:Pd},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},provider:{type:String,default:""},heading:{type:String,default:""},tokenUrl:{type:String,default:""},tk:{type:String,default:""}},setup(){return Fn(Id,"plugin-studio"),{injectedBase:Pt("psTreeBase","")}},data(){return{activeKey:"",embedOpen:!1,locale:this.initialLocale(),localeOpen:!1,settingsOpen:!1,headerHidden:mt(Gs)==="1",engineOpen:!1,userProvider:mt(Ys),tokenBusy:!1,tokenErr:"",tokenDraft:mt(Fo),urlDraft:mt(Io),userTk:mt(Fo),userTokenUrl:mt(Io),fetchedTk:"",bakedTk:"",hostProvider:"",switcherLangs:Oo,rows:[],manifestBundles:[]}},computed:{cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},flatRows(){return this.rows},groups(){const e={};for(const t of this.rows)(e[t.cap]=e[t.cap]||[]).push(t);return[5,4,3,2,1].filter(t=>e[t]&&e[t].length).map(t=>({cap:t,label:Rd[t]||"capability "+t,rows:e[t]}))},treeSections(){const e=new Map(this.compositionTrees.map(i=>[i.nodes[0].selects,i])),t=new Map;for(const i of this.rows)t.has(i.bundle)||t.set(i.bundle,[]),t.get(i.bundle).push(i);const o=[...t.entries()].map(([i,s])=>({bundle:i,rows:s,cap:Math.max(...s.map(a=>a.cap))}));return[5,4,3,2,1].map(i=>({cap:i,group:o.filter(s=>s.cap===i).sort((s,a)=>s.bundle.localeCompare(a.bundle))})).map(({cap:i,group:s})=>{if(!s.length)return null;const a=[],l=(r,d,p)=>{const f=e.get(r.key);if(a.push({id:r.key,parent:p,depth:d,label:r.label,desc:(r.stage==="production"?"":this.tr("stageExperimental")+" · ")+"cap "+r.cap+" · "+r.tag,icon:r.icon,target:r.key,canonical:!0,kids:f?f.nodes[0].kids:0,title:r.label+" · <"+r.tag+"> · CAP "+r.cap+" "+this.tr("cap"+r.cap)}),!f)return;const v=x=>x===0?r.key:r.key+">"+x;for(const x of f.nodes.slice(1))a.push({id:v(x.id),parent:v(x.ancestors[x.ancestors.length-1]),depth:d+x.depth,label:x.label,part:!!x.part,target:x.selects||"",canonical:!1,icon:x.part?"dots":Un[x.cap]||"embed",desc:x.part?this.tr("noStandalone"):"cap "+x.cap+" · "+x.tag,kids:x.kids||0,title:x.part?x.label+" · "+this.tr("partOf",{name:r.label}):x.label+" · <"+x.tag+"> · CAP "+x.cap+" "+this.tr("cap"+x.cap)})};for(const r of s){const d=[...r.rows].sort((f,v)=>v.cap-f.cap||f.label.localeCompare(v.label));if(d.length===1){l(d[0],0,"");continue}const p="bundle:"+r.bundle;a.push({id:p,parent:"",depth:0,label:r.bundle,desc:this.tr("elementsCount",{n:d.length}),icon:"folder",target:d[0].key,canonical:!1,folder:!0,kids:d.length,title:r.bundle+" · plugin-designs/"+r.bundle+"/ · "+d.length+" "+this.tr("elements")});for(const f of d)l(f,1,p)}return{id:"cap-"+i,cap:i,label:this.tr("cap"+i),title:this.tr("cap"+i)+" · "+(Ud[i]||""),icon:Un[i]||"embed",nodes:a}}).filter(Boolean)},compositionTrees(){const e=[],t=(o,n,i,s,a)=>{const l=this.manifestBundles.find(v=>v.bundle===o.bundle),r=o.cap>=4&&l&&l.composes||[],d=[],p=[],f=new Set;for(const v of r){const x=this.resolveRef(v,o.bundle);if(!x){p.push(v);continue}x.key===o.key||f.has(x.key)||(f.add(x.key),d.push(x))}d.sort((v,x)=>x.cap-v.cap||v.label.localeCompare(x.label));for(const v of d){const x={id:s.length,label:v.label,tag:v.tag,cap:v.cap,selects:v.key,depth:n+1,ancestors:a,kids:0};s.push(x);const D=s.length;i.has(v.key)||t(v,n+1,new Set([...i,v.key]),s,[...a,x.id]),x.kids=s.filter((F,ee)=>ee>=D&&F.depth===n+2).length}for(const v of p)s.push({id:s.length,label:v,part:!0,selects:o.key,depth:n+1,ancestors:a,kids:0})};for(const o of this.manifestBundles){if(!o.composes||!o.composes.length||Zs.has(o.bundle))continue;const n=this.rows.find(s=>s.bundle===o.bundle);if(!n)continue;const i=[{id:0,label:n.label,tag:n.tag,cap:n.cap,selects:n.key,depth:0,ancestors:[]}];t(n,0,new Set([n.key]),i,[0]),i[0].kids=i.filter(s=>s.depth===1).length,i.length>1&&e.push({bundle:o.bundle,nodes:i})}return e},active(){return this.rows.find(e=>e.key===this.activeKey)||null},effectiveTk(){return this.userTk||this.fetchedTk||this.tk||this.cfg.tk||this.bakedTk||""},effectiveProvider(){const e=String(this.userProvider||this.provider||this.cfg.provider||"").toLowerCase().trim();return e==="maplibre"||e==="mapbox"?e:""},engines(){return[{id:"",label:this.tr("engineDefault"),note:""},{id:"mapbox",label:"Mapbox",note:this.tr("engineMapboxNote")},{id:"maplibre",label:"MapLibre",note:this.tr("engineMaplibreNote")}]},engineLabel(){return this.userProvider==="mapbox"?"Mapbox":this.userProvider==="maplibre"?"MapLibre":this.tr("engineDefault")},tokenSource(){return this.userTk?"yours":this.fetchedTk?"url":this.tk||this.cfg.tk||this.bakedTk?"built":"none"},tokenStatus(){return this.effectiveProvider==="maplibre"?this.tr("tokenNotNeeded"):this.tokenSource==="yours"?this.tr("tokenSourceYours"):this.tokenSource==="url"?this.tr("tokenSourceUrl",{url:this.userTokenUrl}):this.tokenSource==="built"?this.tr("tokenSourceBuilt"):this.tr("tokenSourceNone")},countLabel(){const e=new Set(this.rows.map(t=>t.bundle)).size;return this.tr("countLabel",{bundles:e,elements:this.rows.length})},activeLang(){return Cd(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},uiDir(){return(this.activeLang&&this.activeLang.dir)==="rtl"?"rtl":"ltr"}},mounted(){this.bakedTk=typeof window<"u"&&window.MAP_TOKEN||"",this.hostProvider=typeof window<"u"&&typeof window.MAP_PROVIDER=="string"?window.MAP_PROVIDER:"",this.publishProvider(),this.userTk?this.publishToken():(this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl)&&this.fetchToken(this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl).then(e=>{e&&e!==this.fetchedTk&&(this.fetchedTk=e,this.publishToken(),this.remountPanes())}).catch(()=>{}),this.loadManifest()},methods:{async fetchToken(e){if(!/^https?:\/\//i.test(e))throw new Error("not an http(s) URL");let t;try{t=await fetch(e,{cache:"no-store",credentials:"same-origin"})}catch{throw new Error("the request was blocked or the server did not answer (cross-origin rules can do this)")}if(!t.ok)throw new Error("HTTP "+t.status);const o=(await t.text()).trim();let n=o;try{const i=JSON.parse(o);n=i&&(i.token||i.tk||i.accessToken)||(typeof i=="string"?i:"")}catch{}if(n=String(n||"").trim(),n.startsWith("sk."))throw new Error(this.tr("tokenSecret"));if(!n.startsWith("pk."))throw new Error(this.tr("tokenNotPk"));return n},async applyToken(){this.tokenErr="";const e=this.tokenDraft,t=this.urlDraft;if(e.startsWith("sk.")){this.tokenErr=this.tr("tokenSecret");return}if(e&&!e.startsWith("pk.")){this.tokenErr=this.tr("tokenNotPk");return}this.tokenBusy=!0;try{let o="";if(!e&&t)try{o=await this.fetchToken(t)}catch(n){this.tokenErr=this.tr("tokenUrlFailed",{why:n.message});return}this.userTk=e,this.userTokenUrl=e?"":t,this.fetchedTk=o,vt(Fo,this.userTk),vt(Io,this.userTokenUrl),this.publishToken(),this.remountPanes(),this.settingsOpen=!1}finally{this.tokenBusy=!1}},setHeaderHidden(e){this.headerHidden=!!e,this.settingsOpen=!1,this.engineOpen=!1,this.localeOpen=!1,vt(Gs,e?"1":"")},setProvider(e){this.engineOpen=!1,e!==this.userProvider&&(this.userProvider=e,vt(Ys,e),this.publishProvider(),this.remountPanes())},publishProvider(){typeof window>"u"||(this.effectiveProvider?window.MAP_PROVIDER=this.effectiveProvider:this.hostProvider?window.MAP_PROVIDER=this.hostProvider:"MAP_PROVIDER"in window&&delete window.MAP_PROVIDER)},clearToken(){this.tokenDraft="",this.urlDraft="",this.tokenErr="",this.userTk="",this.userTokenUrl="",this.fetchedTk="",vt(Fo,""),vt(Io,""),this.publishToken(),this.remountPanes()},publishToken(){typeof window>"u"||(this.effectiveTk?(Vs(this.effectiveTk),window.MAP_TOKEN!==this.effectiveTk&&(window.MAP_TOKEN=this.effectiveTk)):Ad())},remountPanes(){for(const t of this.rows)t.mounted&&this.releaseRow(t);const e=this.active;e&&this.$nextTick(()=>{this.activeKey===e.key&&this.mountElement(e)})},tr(e,t){const o=(this.locale||"en").split("-")[0];let n=(Ro[this.locale]||{})[e]||(Ro[o]||{})[e]||(Ro.en||{})[e]||e;if(t)for(const i in t)n=n.split("{"+i+"}").join(String(t[i]));return n},resolveRef(e,t){return t&&this.rows.find(o=>o.key===t+"/"+e)||this.rows.find(o=>o.key===e)||this.rows.find(o=>o.tag===e)||this.rows.find(o=>o.bundle===e)||null},setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},initialLocale(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}let t="";try{const n=new URLSearchParams(window.location.search);t=n.get("lang")||n.get("locale")||""}catch{}const o=e&&(e.locale||e.lang)||t;return o?Hn(o):Ed()},paneConfig(e,t){const o={profile:e.profile,instanceId:"ps-"+e.key.replace(/\//g,"-"),locale:t};this.effectiveTk&&(o.tk=this.effectiveTk);const n=this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl;return n&&(o.tokenUrl=n),this.effectiveProvider&&(o.provider=this.effectiveProvider),this.base&&(o.treeBase=this.base),o},setLocale(e){this.locale=e,this.localeOpen=!1,Od(e);try{for(const t of this.rows){if(!t.mounted)continue;const o=this._slots&&this._slots[t.key],n=o&&o.firstElementChild;n&&n.setAttribute&&n.setAttribute("profile-config",JSON.stringify(this.paneConfig(t,e)))}}catch{}},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const o=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+o:"../"+o},loadManifest(){const e=o=>{this.manifestBundles=o&&o.bundles||[],this.rows=this.rowsFromManifest(o),this.setupWidgets(),this.route()},t=typeof window<"u"&&window.__psBaked||null;if(typeof fetch=="function"&&typeof location<"u"&&location.protocol!=="file:"){const o=this.base?this.resolve("manifest.json"):"../manifest.json";fetch(o,{cache:"no-cache"}).then(n=>n.ok?n.json():null).then(n=>e(n||t||{bundles:[]})).catch(()=>e(t||{bundles:[]}))}else e(t||{bundles:[]})},rowsFromManifest(e){const t=[];for(const o of e.bundles||[])if(!(o.bundle==="plugin-studio"||Zs.has(o.bundle)))for(const n of o.profiles||[]){const i=o.elements&&o.elements.length?o.elements:null,s=(n.element&&(!i||i.includes(n.element))?n.element:null)||i&&i[0]||n.element||o.bundle,a=Hd(n.type||"single"),l=Xs.has(s)||Xs.has(o.bundle)||n.heavy===!0;t.push({key:o.bundle+"/"+n.profile,bundle:o.bundle,stage:o.stage==="production"?"production":"experimental",label:Dd(o.bundle,n),profile:n.profile,tag:s,cap:a,icon:Un[a]||"embed",description:n.description||"",widget:n.widget&&["bottom-right","bottom-left","top-right","top-left"].includes(n.widget.corner)?n.widget.corner:"",heavy:l,bundleJs:o.scriptUrl||o.bundle+"/"+o.bundle+".js",embed:n.embed&&n.embed.script||"",mounted:!1,state:"idle",error:""})}return t.sort((o,n)=>n.cap-o.cap||o.bundle.localeCompare(n.bundle)||o.label.localeCompare(n.label)),t},route(){const e=(typeof location<"u"&&location.hash||"").replace(/^#\/?/,"");if(e&&this.rows.some(o=>o.key===e)){this.select(e);return}const t=this.readLastTab();if(t&&this.rows.some(o=>o.key===t)){this.select(t);return}this.rows.length&&this.select(this.rows[0].key)},storageKey(){return"dx-studio-tab:"+(typeof location<"u"&&location.pathname||"")},readLastTab(){try{return window.localStorage.getItem(this.storageKey())||""}catch{return""}},writeLastTab(e){try{window.localStorage.setItem(this.storageKey(),e)}catch{}},select(e){if(!this.rows.some(i=>i.key===e))return;const t=this.rows.find(i=>i.key===e);if(t&&t.widget){this.openWidget(t,!0);return}const o=this.activeKey;if(this.activeKey=e,this.embedOpen=!1,o&&o!==e){const i=this.rows.find(s=>s.key===o);i&&i.heavy&&i.mounted&&this.releaseRow(i)}const n=this.rows.find(i=>i.key===e);n&&(this.writeLastTab(e),n.mounted||this.$nextTick(()=>{this.activeKey===n.key&&this.mountElement(n)}))},releaseRow(e){try{const t=this._slots&&this._slots[e.key];t&&(t.innerHTML="")}catch{}this._slots&&delete this._slots[e.key],e.mounted=!1,e.state="idle",e.error=""},widgetStore(){return window.__doxaStudioWidgets||(window.__doxaStudioWidgets={hosts:{},els:{}}),window.__doxaStudioWidgets},widgetHost(e){const t=this.widgetStore();if(!document.getElementById("studio-widget-css")){const n=document.createElement("style");n.id="studio-widget-css",n.textContent=Wd,document.head.appendChild(n)}if(t.hosts[e]&&t.hosts[e].isConnected)return t.hosts[e];const o=document.createElement("div");return o.setAttribute("data-studio-widgets",e),document.body.appendChild(o),t.hosts[e]=o,o},setupWidgets(){for(const e of this.rows.filter(t=>t.widget)){const t=this.widgetStore(),o=this.widgetHost(e.widget);let n=o.querySelector(`[data-widget="${e.key}"]`);if(!n){n=document.createElement("div"),n.setAttribute("data-widget",e.key);const s=document.createElement("div");s.setAttribute("data-widget-panel","");const a=document.createElement("button");a.type="button",a.setAttribute("data-widget-bubble","");const l="widget:"+e.key,r=this.tr(l);a.setAttribute("aria-label",r!==l?r:e.label),a.title=a.getAttribute("aria-label"),a.setAttribute("aria-expanded","false"),a.innerHTML=zd,a.querySelector("[data-wb-text]").textContent=a.getAttribute("aria-label"),a.addEventListener("click",()=>this.openWidget(e,!s.hasAttribute("data-open"))),n.appendChild(s),n.appendChild(a),o.appendChild(n)}t.els[e.key]&&!n.querySelector(e.tag)&&n.querySelector("[data-widget-panel]").appendChild(t.els[e.key]);let i=!1;try{i=localStorage.getItem("plugin-studio:widget-open:"+e.key)==="1"}catch{}i&&this.openWidget(e,!0)}},openWidget(e,t){const n=this.widgetHost(e.widget).querySelector(`[data-widget="${e.key}"]`);if(!n){this.setupWidgets();return}const i=n.querySelector("[data-widget-panel]"),s=n.querySelector("[data-widget-bubble]");t?i.setAttribute("data-open",""):i.removeAttribute("data-open"),s.setAttribute("aria-expanded",t?"true":"false");try{localStorage.setItem("plugin-studio:widget-open:"+e.key,t?"1":"0")}catch{}const a=this.widgetStore();!t||a.els[e.key]||In(this.resolve(e.bundleJs)).then(()=>zs(e.tag)).then(()=>{if(a.els[e.key])return;const l=document.createElement(e.tag);l.setAttribute("profile-config",JSON.stringify(this.paneConfig(e,this.locale))),l.setAttribute("variant","widget"),this.base&&l.setAttribute("tree-base",this.base.replace(/\/+$/,"")),l.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;";const r=n.querySelector("[data-widget-bubble]"),d=r.querySelector("[data-wb-text]");l.addEventListener("recording",p=>{const f=!!(Array.isArray(p.detail)?p.detail[0]:p.detail);r.setAttribute("data-listening",f?"true":"false"),f?d.textContent="":(r.setAttribute("data-speaking","false"),d.textContent=r.getAttribute("aria-label"))}),l.addEventListener("activity",p=>{const f=(Array.isArray(p.detail)?p.detail[0]:p.detail)||{};if(r.getAttribute("data-listening")!=="true")return;r.setAttribute("data-speaking",f.speaking?"true":"false");const v=f.words||"";d.textContent=v.length>34?"…"+v.slice(-33):v}),a.els[e.key]=l,i.appendChild(l)}).catch(l=>{i.textContent=l&&l.message||String(l)})},mountElement(e){e.mounted=!0,e.state="loading";const t=this.resolve(e.bundleJs);In(t).then(()=>zs(e.tag)).then(()=>{try{if(e.heavy&&this.activeKey!==e.key){e.mounted=!1,e.state="idle";return}const o=this._slots&&this._slots[e.key];if(!o){e.state="error",e.error="no slot";return}o.innerHTML="";const n=document.createElement(e.tag);n.setAttribute("profile-config",JSON.stringify(this.paneConfig(e,this.locale))),this.base&&n.setAttribute("tree-base",this.base.replace(/\/+$/,"")),n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n),e.state="ready"}catch(o){e.state="error",e.error="mount failed: "+(o&&o.message||String(o))}}).catch(o=>{e.state="error",e.error=o&&o.message||String(o)})},copyText(e,t){const o=()=>{const n=t.textContent;t.textContent=this.tr("copied"),setTimeout(()=>{t.textContent=n},1200)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(o,()=>{});else try{const n=document.createElement("textarea");n.value=e,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),o()}catch{}}}}),Bd={class:"ps-count"},Kd={class:"ps-locale"},Vd=["aria-expanded","aria-label"],qd={class:"ps-flag"},Gd={class:"ps-locale-name"},Yd={key:0,class:"ps-locale-menu",role:"listbox"},Jd=["aria-selected"],Xd=["onClick"],Zd={class:"ps-flag"},Qd={class:"ps-locale-name"},ep={class:"ps-locale-en"},tp={class:"ps-locale ps-engine"},op=["aria-expanded","aria-label","title"],np={class:"ps-locale-name"},ip=["aria-label"],sp=["aria-selected"],ap=["onClick"],lp={class:"ps-locale-name"},rp={class:"ps-locale-en"},cp={class:"ps-token"},dp=["aria-expanded","title"],pp={class:"ps-locale-name"},up={class:"ps-token-head"},fp={class:"ps-token-label"},gp={class:"ps-token-label"},hp={class:"ps-token-row"},$p=["disabled"],bp={class:"ps-token-note"},_p=["title","aria-label"],mp={class:"ps-locale-name"},vp={key:0,class:"ps-toolbar"},xp={class:"ps-bar"},kp={class:"ps-bar-t"},yp={class:"ps-bar-sub"},wp={key:0},Sp=["aria-expanded"],Lp={key:0,class:"ps-embed"},Tp=["value"],Np=["title","aria-label"],Mp={class:"ps-stage"},Pp=["hidden"],Cp={key:0,class:"ps-hint"},Ep={key:1,class:"ps-hint err"},Op={key:0,class:"ps-hint"};function Ap(e,t,o,n,i,s){const a=$n("StudioTree"),l=$n("VerticalTabsLayout");return L(),It(l,{title:e.heading||e.tr("title"),dir:e.uiDir,"nav-label":e.tr("navLabel"),labels:{toggleList:e.tr("toggleList"),openViews:e.tr("openViews"),expandList:e.tr("expandList"),collapseList:e.tr("collapseList"),collapse:e.tr("collapse")},header:!e.headerHidden,active:e.activeKey,"onUpdate:active":e.select},{rail:ft(({collapsed:r,expand:d,pick:p})=>[me(a,{sections:e.treeSections,active:e.activeKey,collapsed:r,expand:d,pick:p,strings:{filterPlaceholder:e.tr("filterPlaceholder"),collapseAll:e.tr("collapseAll"),noMatch:e.tr("noMatch"),treeLabel:e.tr("navLabel"),openSection:e.tr("openSection"),part:e.tr("part")}},null,8,["sections","active","collapsed","expand","pick","strings"])]),brand:ft(()=>[...t[11]||(t[11]=[m("span",{class:"ps-logo","aria-hidden":"true"},[m("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[m("path",{d:"M10 3v3M14 3v3M7 6h10v5a5 5 0 0 1-10 0V6Z"}),m("path",{d:"M12 16v5"})])],-1)])]),meta:ft(()=>[m("span",Bd,N(e.countLabel),1),m("span",Kd,[m("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":e.tr("changeLanguage"),onClick:t[0]||(t[0]=r=>{e.localeOpen=!e.localeOpen,e.engineOpen=!1,e.settingsOpen=!1})},[m("span",qd,N(e.activeLang.flag),1),m("span",Gd,N(e.activeLang.nativeName),1),t[12]||(t[12]=m("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,Vd),e.localeOpen?(L(),T("ul",Yd,[(L(!0),T(Y,null,Pe(e.switcherLangs,r=>(L(),T("li",{key:r.code,role:"option","aria-selected":String(r.code===e.locale)},[m("button",{type:"button",class:ge(["ps-locale-opt",{active:r.code===e.locale}]),onClick:d=>e.setLocale(r.code)},[m("span",Zd,N(r.flag),1),m("span",Qd,N(r.nativeName),1),m("span",ep,N(r.name),1)],10,Xd)],8,Jd))),128))])):K("",!0)]),m("span",tp,[m("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.engineOpen),"aria-label":e.tr("mapEngine"),title:e.tr("mapEngine"),onClick:t[1]||(t[1]=r=>{e.engineOpen=!e.engineOpen,e.localeOpen=!1,e.settingsOpen=!1})},[t[13]||(t[13]=m("span",{"aria-hidden":"true"},"🗺",-1)),m("span",np,N(e.engineLabel),1),t[14]||(t[14]=m("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,op),e.engineOpen?(L(),T("ul",{key:0,class:"ps-locale-menu",role:"listbox","aria-label":e.tr("mapEngine")},[(L(!0),T(Y,null,Pe(e.engines,r=>(L(),T("li",{key:r.id||"default",role:"option","aria-selected":String(r.id===e.userProvider)},[m("button",{type:"button",class:ge(["ps-locale-opt",{active:r.id===e.userProvider}]),onClick:d=>e.setProvider(r.id)},[m("span",lp,N(r.label),1),m("span",rp,N(r.note),1)],10,ap)],8,sp))),128))],8,ip)):K("",!0)]),m("span",cp,[m("button",{type:"button",class:"ps-locale-btn ps-token-btn","aria-expanded":String(e.settingsOpen),title:e.tokenStatus,onClick:t[2]||(t[2]=r=>{e.settingsOpen=!e.settingsOpen,e.localeOpen=!1,e.engineOpen=!1})},[m("span",pp,N(e.tr("mapboxToken")),1),m("span",{class:ge(["ps-token-dot","is-"+e.tokenSource]),"aria-hidden":"true"},null,2)],8,dp),e.settingsOpen?(L(),T("form",{key:0,class:"ps-token-panel",onSubmit:t[6]||(t[6]=Fs((...r)=>e.applyToken&&e.applyToken(...r),["prevent"]))},[m("p",up,N(e.tr("mapToken")),1),m("label",fp,[Ve(N(e.tr("tokenPaste"))+" ",1),gt(m("input",{class:"ps-token-input","onUpdate:modelValue":t[3]||(t[3]=r=>e.tokenDraft=r),placeholder:"pk.eyJ…",autocomplete:"off",spellcheck:"false"},null,512),[[An,e.tokenDraft,void 0,{trim:!0}]])]),m("label",gp,[Ve(N(e.tr("tokenUrlLabel"))+" ",1),gt(m("input",{class:"ps-token-input","onUpdate:modelValue":t[4]||(t[4]=r=>e.urlDraft=r),type:"url",placeholder:"https://doxa.life/api/maps/token",autocomplete:"off",spellcheck:"false"},null,512),[[An,e.urlDraft,void 0,{trim:!0}]])]),m("div",hp,[m("button",{type:"submit",class:"ps-token-apply",disabled:e.tokenBusy},N(e.tr("tokenApply")),9,$p),m("button",{type:"button",class:"ps-token-clear",onClick:t[5]||(t[5]=(...r)=>e.clearToken&&e.clearToken(...r))},N(e.tr("tokenClear")),1)]),m("p",{class:ge(["ps-token-status",{err:!!e.tokenErr}]),role:"status"},N(e.tokenErr||e.tokenStatus),3),m("p",bp,N(e.tr("tokenStoredHere")),1)],32)):K("",!0)]),m("button",{type:"button",class:"ps-locale-btn ps-hide-header",title:e.tr("hideHeader"),"aria-label":e.tr("hideHeader"),onClick:t[7]||(t[7]=r=>e.setHeaderHidden(!0))},[t[15]||(t[15]=m("span",{"aria-hidden":"true"},"⌃",-1)),m("span",mp,N(e.tr("hideHeader")),1)],8,_p)]),toolbar:ft(()=>[e.active?(L(),T("div",vp,[m("div",xp,[m("div",kp,[m("b",null,N(e.active.label),1),m("span",yp,[Ve(N(e.active.bundle)+" · <"+N(e.active.tag)+">",1),e.active.description?(L(),T("span",wp," · "+N(e.active.description),1)):K("",!0)])]),e.active.embed?(L(),T("button",{key:0,type:"button",class:"ps-btn","aria-expanded":String(e.embedOpen),onClick:t[8]||(t[8]=r=>e.embedOpen=!e.embedOpen)},N(e.tr("copyEmbed")),9,Sp)):K("",!0)]),e.embedOpen&&e.active.embed?(L(),T("div",Lp,[m("label",null,[Ve(N(e.tr("scriptEmbed"))+" ",1),m("button",{type:"button",class:"ps-btn",onClick:t[9]||(t[9]=r=>e.copyText(e.active.embed,r.target))},N(e.tr("copy")),1)]),m("textarea",{readonly:"",value:e.active.embed},null,8,Tp)])):K("",!0)])):K("",!0)]),default:ft(()=>[e.headerHidden?(L(),T("button",{key:0,type:"button",class:"ps-show-header",title:e.tr("showHeader"),"aria-label":e.tr("showHeader"),onClick:t[10]||(t[10]=r=>e.setHeaderHidden(!1))},[t[16]||(t[16]=m("span",{"aria-hidden":"true"},"⌄",-1)),Ve(" "+N(e.tr("showHeader")),1)],8,Np)):K("",!0),m("div",Mp,[(L(!0),T(Y,null,Pe(e.flatRows,r=>gt((L(),T("section",{key:r.key,class:"ps-pane",hidden:r.key!==e.activeKey},[!r.heavy||r.key===e.activeKey?(L(),T(Y,{key:0},[m("div",{class:"ps-slot",ref_for:!0,ref:d=>e.setSlot(r.key,d)},null,512),r.state==="loading"?(L(),T("div",Cp,N(e.tr("loading",{name:r.label})),1)):r.state==="error"?(L(),T("div",Ep,[Ve(N(e.tr("couldNotLoad",{name:r.label})),1),t[17]||(t[17]=m("br",null,null,-1)),m("small",null,N(r.error),1)])):K("",!0)],64)):K("",!0)],8,Pp)),[[Mn,r.key===e.activeKey]])),128)),e.activeKey?K("",!0):(L(),T("div",Op,N(e.tr("chooseElement")),1))])]),_:1},8,["title","dir","nav-label","labels","header","active","onUpdate:active"])}const Fp=Eo(jd,[["render",Ap],["styles",[Fd]]]),Ip=ec(),Rp=yr(Fp,{configureApp(e){e.provide("psTreeBase",Ip)}});typeof customElements<"u"&&!customElements.get("plugin-studio")&&customElements.define("plugin-studio",Rp)})();
|