(function(){"use strict";/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function Ts(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const W={},nt=[],we=()=>{},mi=()=>!1,Vt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Bt=e=>e.startsWith("onUpdate:"),X=Object.assign,Cs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},To=Object.prototype.hasOwnProperty,D=(e,t)=>To.call(e,t),A=Array.isArray,ze=e=>gt(e)==="[object Map]",Wt=e=>gt(e)==="[object Set]",xi=e=>gt(e)==="[object Date]",R=e=>typeof e=="function",q=e=>typeof e=="string",be=e=>typeof e=="symbol",j=e=>e!==null&&typeof e=="object",yi=e=>(j(e)||R(e))&&R(e.then)&&R(e.catch),_i=Object.prototype.toString,gt=e=>_i.call(e),Co=e=>gt(e).slice(8,-1),zt=e=>gt(e)==="[object Object]",ks=e=>q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vt=Ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Kt=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},ko=/-\w/g,se=Kt(e=>e.replace(ko,t=>t.slice(1).toUpperCase())),Oo=/\B([A-Z])/g,ve=Kt(e=>e.replace(Oo,"-$1").toLowerCase()),Gt=Kt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Os=Kt(e=>e?`on${Gt(e)}`:""),He=(e,t)=>!Object.is(e,t),As=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:s})},Ao=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Si=e=>{const t=q(e)?Number(e):NaN;return isNaN(t)?e:t};let Ei;const qt=()=>Ei||(Ei=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ms(e){if(A(e)){const t={};for(let s=0;s{if(s){const i=s.split(Ro);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function Ke(e){let t="";if(q(e))t=e;else if(A(e))for(let s=0;s!!(e&&e.__v_isRef===!0),F=e=>q(e)?e:e==null?"":A(e)||j(e)&&(e.toString===_i||!R(e.toString))?ki(e)?F(e.value):JSON.stringify(e,Oi,2):String(e),Oi=(e,t)=>ki(t)?Oi(e,t.value):ze(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[i,n],o)=>(s[Rs(i,o)+" =>"]=n,s),{})}:Wt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Rs(s))}:be(t)?Rs(t):j(t)&&!A(t)&&!zt(t)?String(t):t,Rs=(e,t="")=>{var s;return be(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let ie;class Ho{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,s;if(this.scopes){const i=this.scopes.slice();for(t=0,s=i.length;t0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,i;for(s=0,i=this.effects.length;s0)return;if(mt){let t=mt;for(mt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;bt;){let t=bt;for(bt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=s}}if(e)throw e}function Pi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Li(e){let t,s=e.depsTail,i=s;for(;i;){const n=i.prevDep;i.version===-1?(i===s&&(s=n),Hs(i),Fo(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=n}e.deps=t,e.depsTail=s}function Ns(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xt)||(e.globalVersion=xt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ns(e))))return;e.flags|=2;const t=e.dep,s=K,i=me;K=e,me=!0;try{Pi(e);const n=e.fn(e._value);(t.version===0||He(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{K=s,me=i,Li(e),e.flags&=-3}}function Hs(e,t=!1){const{dep:s,prevSub:i,nextSub:n}=e;if(i&&(i.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=i,e.nextSub=void 0),s.subs===e&&(s.subs=i,!i&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Hs(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Fo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let me=!0;const Ni=[];function Se(){Ni.push(me),me=!1}function Ee(){const e=Ni.pop();me=e===void 0?!0:e}function Hi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=K;K=void 0;try{t()}finally{K=s}}}let xt=0;class $o{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Di{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(!K||!me||K===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==K)s=this.activeLink=new $o(K,this),K.deps?(s.prevDep=K.depsTail,K.depsTail.nextDep=s,K.depsTail=s):K.deps=K.depsTail=s,Fi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const i=s.nextDep;i.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=i),s.prevDep=K.depsTail,s.nextDep=void 0,K.depsTail.nextDep=s,K.depsTail=s,K.deps===s&&(K.deps=i)}return s}trigger(t){this.version++,xt++,this.notify(t)}notify(t){Ls();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Is()}}}function Fi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)Fi(i)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Ds=new WeakMap,Ye=Symbol(""),Fs=Symbol(""),yt=Symbol("");function re(e,t,s){if(me&&K){let i=Ds.get(e);i||Ds.set(e,i=new Map);let n=i.get(s);n||(i.set(s,n=new Di),n.map=i,n.key=s),n.track()}}function De(e,t,s,i,n,o){const l=Ds.get(e);if(!l){xt++;return}const r=a=>{a&&a.trigger()};if(Ls(),t==="clear")l.forEach(r);else{const a=A(e),u=a&&ks(s);if(a&&s==="length"){const f=Number(i);l.forEach((h,S)=>{(S==="length"||S===yt||!be(S)&&S>=f)&&r(h)})}else switch((s!==void 0||l.has(void 0))&&r(l.get(s)),u&&r(l.get(yt)),t){case"add":a?u&&r(l.get("length")):(r(l.get(Ye)),ze(e)&&r(l.get(Fs)));break;case"delete":a||(r(l.get(Ye)),ze(e)&&r(l.get(Fs)));break;case"set":ze(e)&&r(l.get(Ye));break}}Is()}function ot(e){const t=$(e);return t===e?t:(re(t,"iterate",yt),xe(e)?t:t.map($e))}function Yt(e){return re(e=$(e),"iterate",yt),e}function Te(e,t){return Ge(e)?lt(Xe(e)?$e(t):t):$e(t)}const jo={__proto__:null,[Symbol.iterator](){return $s(this,Symbol.iterator,e=>Te(this,e))},concat(...e){return ot(this).concat(...e.map(t=>A(t)?ot(t):t))},entries(){return $s(this,"entries",e=>(e[1]=Te(this,e[1]),e))},every(e,t){return Fe(this,"every",e,t,void 0,arguments)},filter(e,t){return Fe(this,"filter",e,t,s=>s.map(i=>Te(this,i)),arguments)},find(e,t){return Fe(this,"find",e,t,s=>Te(this,s),arguments)},findIndex(e,t){return Fe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Fe(this,"findLast",e,t,s=>Te(this,s),arguments)},findLastIndex(e,t){return Fe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Fe(this,"forEach",e,t,void 0,arguments)},includes(...e){return js(this,"includes",e)},indexOf(...e){return js(this,"indexOf",e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return js(this,"lastIndexOf",e)},map(e,t){return Fe(this,"map",e,t,void 0,arguments)},pop(){return _t(this,"pop")},push(...e){return _t(this,"push",e)},reduce(e,...t){return $i(this,"reduce",e,t)},reduceRight(e,...t){return $i(this,"reduceRight",e,t)},shift(){return _t(this,"shift")},some(e,t){return Fe(this,"some",e,t,void 0,arguments)},splice(...e){return _t(this,"splice",e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return _t(this,"unshift",e)},values(){return $s(this,"values",e=>Te(this,e))}};function $s(e,t,s){const i=Yt(e),n=i[t]();return i!==e&&!xe(e)&&(n._next=n.next,n.next=()=>{const o=n._next();return o.done||(o.value=s(o.value)),o}),n}const Uo=Array.prototype;function Fe(e,t,s,i,n,o){const l=Yt(e),r=l!==e&&!xe(e),a=l[t];if(a!==Uo[t]){const h=a.apply(e,o);return r?$e(h):h}let u=s;l!==e&&(r?u=function(h,S){return s.call(this,Te(e,h),S,e)}:s.length>2&&(u=function(h,S){return s.call(this,h,S,e)}));const f=a.call(l,u,i);return r&&n?n(f):f}function $i(e,t,s,i){const n=Yt(e),o=n!==e&&!xe(e);let l=s,r=!1;n!==e&&(o?(r=i.length===0,l=function(u,f,h){return r&&(r=!1,u=Te(e,u)),s.call(this,u,Te(e,f),h,e)}):s.length>3&&(l=function(u,f,h){return s.call(this,u,f,h,e)}));const a=n[t](l,...i);return r?Te(e,a):a}function js(e,t,s){const i=$(e);re(i,"iterate",yt);const n=i[t](...s);return(n===-1||n===!1)&&Ws(s[0])?(s[0]=$(s[0]),i[t](...s)):n}function _t(e,t,s=[]){Se(),Ls();const i=$(e)[t].apply(e,s);return Is(),Ee(),i}const Vo=Ts("__proto__,__v_isRef,__isVue"),ji=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(be));function Bo(e){be(e)||(e=String(e));const t=$(this);return re(t,"has",e),t.hasOwnProperty(e)}class Ui{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,i){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return o;if(s==="__v_raw")return i===(n?o?Gi:Ki:o?zi:Wi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const l=A(t);if(!n){let a;if(l&&(a=jo[s]))return a;if(s==="hasOwnProperty")return Bo}const r=Reflect.get(t,s,ae(t)?t:i);if((be(s)?ji.has(s):Vo(s))||(n||re(t,"get",s),o))return r;if(ae(r)){const a=l&&ks(s)?r:r.value;return n&&j(a)?Bs(a):a}return j(r)?n?Bs(r):Vs(r):r}}class Vi extends Ui{constructor(t=!1){super(!1,t)}set(t,s,i,n){let o=t[s];const l=A(t)&&ks(s);if(!this._isShallow){const u=Ge(o);if(!xe(i)&&!Ge(i)&&(o=$(o),i=$(i)),!l&&ae(o)&&!ae(i))return u||(o.value=i),!0}const r=l?Number(s)e,Xt=e=>Reflect.getPrototypeOf(e);function qo(e,t,s){return function(...i){const n=this.__v_raw,o=$(n),l=ze(o),r=e==="entries"||e===Symbol.iterator&&l,a=e==="keys"&&l,u=n[e](...i),f=s?Us:t?lt:$e;return!t&&re(o,"iterate",a?Fs:Ye),X(Object.create(u),{next(){const{value:h,done:S}=u.next();return S?{value:h,done:S}:{value:r?[f(h[0]),f(h[1])]:f(h),done:S}}})}}function Zt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jo(e,t){const s={get(n){const o=this.__v_raw,l=$(o),r=$(n);e||(He(n,r)&&re(l,"get",n),re(l,"get",r));const{has:a}=Xt(l),u=t?Us:e?lt:$e;if(a.call(l,n))return u(o.get(n));if(a.call(l,r))return u(o.get(r));o!==l&&o.get(n)},get size(){const n=this.__v_raw;return!e&&re($(n),"iterate",Ye),n.size},has(n){const o=this.__v_raw,l=$(o),r=$(n);return e||(He(n,r)&&re(l,"has",n),re(l,"has",r)),n===r?o.has(n):o.has(n)||o.has(r)},forEach(n,o){const l=this,r=l.__v_raw,a=$(r),u=t?Us:e?lt:$e;return!e&&re(a,"iterate",Ye),r.forEach((f,h)=>n.call(o,u(f),u(h),l))}};return X(s,e?{add:Zt("add"),set:Zt("set"),delete:Zt("delete"),clear:Zt("clear")}:{add(n){const o=$(this),l=Xt(o),r=$(n),a=!t&&!xe(n)&&!Ge(n)?r:n;return l.has.call(o,a)||He(n,a)&&l.has.call(o,n)||He(r,a)&&l.has.call(o,r)||(o.add(a),De(o,"add",a,a)),this},set(n,o){!t&&!xe(o)&&!Ge(o)&&(o=$(o));const l=$(this),{has:r,get:a}=Xt(l);let u=r.call(l,n);u||(n=$(n),u=r.call(l,n));const f=a.call(l,n);return l.set(n,o),u?He(o,f)&&De(l,"set",n,o):De(l,"add",n,o),this},delete(n){const o=$(this),{has:l,get:r}=Xt(o);let a=l.call(o,n);a||(n=$(n),a=l.call(o,n)),r&&r.call(o,n);const u=o.delete(n);return a&&De(o,"delete",n,void 0),u},clear(){const n=$(this),o=n.size!==0,l=n.clear();return o&&De(n,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=qo(n,e,t)}),s}function Qt(e,t){const s=Jo(e,t);return(i,n,o)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?i:Reflect.get(D(s,n)&&n in i?s:i,n,o)}const Yo={get:Qt(!1,!1)},Xo={get:Qt(!1,!0)},Zo={get:Qt(!0,!1)},Qo={get:Qt(!0,!0)},Wi=new WeakMap,zi=new WeakMap,Ki=new WeakMap,Gi=new WeakMap;function el(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Vs(e){return Ge(e)?e:es(e,!1,Wo,Yo,Wi)}function tl(e){return es(e,!1,Ko,Xo,zi)}function Bs(e){return es(e,!0,zo,Zo,Ki)}function Nc(e){return es(e,!0,Go,Qo,Gi)}function es(e,t,s,i,n){if(!j(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=n.get(e);if(o)return o;const l=el(Co(e));if(l===0)return e;const r=new Proxy(e,l===2?i:s);return n.set(e,r),r}function Xe(e){return Ge(e)?Xe(e.__v_raw):!!(e&&e.__v_isReactive)}function Ge(e){return!!(e&&e.__v_isReadonly)}function xe(e){return!!(e&&e.__v_isShallow)}function Ws(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function sl(e){return!D(e,"__v_skip")&&Object.isExtensible(e)&&wi(e,"__v_skip",!0),e}const $e=e=>j(e)?Vs(e):e,lt=e=>j(e)?Bs(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function qi(e){return ae(e)?e.value:e}const il={get:(e,t,s)=>t==="__v_raw"?e:qi(Reflect.get(e,t,s)),set:(e,t,s,i)=>{const n=e[t];return ae(n)&&!ae(s)?(n.value=s,!0):Reflect.set(e,t,s,i)}};function Ji(e){return Xe(e)?e:new Proxy(e,il)}class nl{constructor(t,s,i){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Di(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&K!==this)return Ri(this,!0),!0}get value(){const t=this.dep.track();return Ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ol(e,t,s=!1){let i,n;return R(e)?i=e:(i=e.get,n=e.set),new nl(i,n,s)}const ts={},ss=new WeakMap;let Ze;function ll(e,t=!1,s=Ze){if(s){let i=ss.get(s);i||ss.set(s,i=[]),i.push(e)}}function rl(e,t,s=W){const{immediate:i,deep:n,once:o,scheduler:l,augmentJob:r,call:a}=s,u=O=>n?O:xe(O)||n===!1||n===0?je(O,1):je(O);let f,h,S,E,U=!1,L=!1;if(ae(e)?(h=()=>e.value,U=xe(e)):Xe(e)?(h=()=>u(e),U=!0):A(e)?(L=!0,U=e.some(O=>Xe(O)||xe(O)),h=()=>e.map(O=>{if(ae(O))return O.value;if(Xe(O))return u(O);if(R(O))return a?a(O,2):O()})):R(e)?t?h=a?()=>a(e,2):e:h=()=>{if(S){Se();try{S()}finally{Ee()}}const O=Ze;Ze=f;try{return a?a(e,3,[E]):e(E)}finally{Ze=O}}:h=we,t&&n){const O=h,te=n===!0?1/0:n;h=()=>je(O(),te)}const Z=Do(),J=()=>{f.stop(),Z&&Z.active&&Cs(Z.effects,f)};if(o&&t){const O=t;t=(...te)=>{const Me=O(...te);return J(),Me}}let H=L?new Array(e.length).fill(ts):ts;const V=O=>{if(!(!(f.flags&1)||!f.dirty&&!O))if(t){const te=f.run();if(O||n||U||(L?te.some((Me,Re)=>He(Me,H[Re])):He(te,H))){S&&S();const Me=Ze;Ze=f;try{const Re=[te,H===ts?void 0:L&&H[0]===ts?[]:H,E];H=te,a?a(t,3,Re):t(...Re)}finally{Ze=Me}}}else f.run()};return r&&r(V),f=new Ai(h),f.scheduler=l?()=>l(V,!1):V,E=O=>ll(O,!1,f),S=f.onStop=()=>{const O=ss.get(f);if(O){if(a)a(O,4);else for(const te of O)te();ss.delete(f)}},t?i?V(!0):H=f.run():l?l(V.bind(null,!0),!0):f.run(),J.pause=f.pause.bind(f),J.resume=f.resume.bind(f),J.stop=J,J}function je(e,t=1/0,s){if(t<=0||!j(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ae(e))je(e.value,t,s);else if(A(e))for(let i=0;i{je(i,t,s)});else if(zt(e)){for(const i in e)je(e[i],t,s);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&je(e[i],t,s)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const wt=[];let zs=!1;function Hc(e,...t){if(zs)return;zs=!0,Se();const s=wt.length?wt[wt.length-1].component:null,i=s&&s.appContext.config.warnHandler,n=al();if(i)rt(i,s,11,[e+t.map(o=>{var l,r;return(r=(l=o.toString)==null?void 0:l.call(o))!=null?r:JSON.stringify(o)}).join(""),s&&s.proxy,n.map(({vnode:o})=>`at <${Yn(s,o.type)}>`).join(` `),n]);else{const o=[`[Vue warn]: ${e}`,...t];n.length&&o.push(` `,...cl(n)),console.warn(...o)}Ee(),zs=!1}function al(){let e=wt[wt.length-1];if(!e)return[];const t=[];for(;e;){const s=t[0];s&&s.vnode===e?s.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function cl(e){const t=[];return e.forEach((s,i)=>{t.push(...i===0?[]:[` `],...dl(s))}),t}function dl({vnode:e,recurseCount:t}){const s=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,n=` at <${Yn(e.component,e.type,i)}`,o=">"+s;return e.props?[n,...fl(e.props),o]:[n+o]}function fl(e){const t=[],s=Object.keys(e);return s.slice(0,3).forEach(i=>{t.push(...Yi(i,e[i]))}),s.length>3&&t.push(" ..."),t}function Yi(e,t,s){return q(t)?(t=JSON.stringify(t),s?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?s?t:[`${e}=${t}`]:ae(t)?(t=Yi(e,$(t.value),!0),s?t:[`${e}=Ref<`,t,">"]):R(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=$(t),s?t:[`${e}=`,t])}function rt(e,t,s,i){try{return i?e(...i):e()}catch(n){is(n,t,s)}}function ye(e,t,s,i){if(R(e)){const n=rt(e,t,s,i);return n&&yi(n)&&n.catch(o=>{is(o,t,s)}),n}if(A(e)){const n=[];for(let o=0;o>>1,n=de[i],o=St(n);o=St(s)?de.push(e):de.splice(pl(t),0,e),e.flags|=1,Qi()}}function Qi(){ns||(ns=Xi.then(sn))}function hl(e){if(!A(e))qe&&e.id===-1?qe.splice(ct+1,0,e):e.flags&1||(at.push(e),e.flags|=1);else for(let t=0;tSt(s)-St(i));if(at.length=0,qe){for(let s=0;se.id==null?e.flags&2?-1:1/0:e.id;function sn(e){try{for(Ce=0;Ce{i._d&&Un(-1);const o=os(t),l=Ve.length;let r;try{r=e(...n)}finally{for(let a=Ve.length;a>l;a--)ai();os(o),i._d&&Un(1)}return r};return i._n=!0,i._c=!0,i._d=!0,i}function Gs(e,t){if(ne===null)return e;const s=bs(ne),i=e.dirs||(e.dirs=[]);for(let n=0;n1)return s&&R(t)?t.call(i&&i.proxy):t}}const vl=Symbol.for("v-scx"),bl=()=>Tt(vl);function qs(e,t,s){return on(e,t,s)}function on(e,t,s=W){const{immediate:i,deep:n,flush:o,once:l}=s,r=X({},s),a=t&&i||!t&&o!=="post";let u;if(Lt){if(o==="sync"){const E=bl();u=E.__watcherHandles||(E.__watcherHandles=[])}else if(!a){const E=()=>{};return E.stop=we,E.resume=we,E.pause=we,E}}const f=ce;r.call=(E,U,L)=>ye(E,f,U,L);let h=!1;o==="post"?r.scheduler=E=>{pe(E,f&&f.suspense)}:o!=="sync"&&(h=!0,r.scheduler=(E,U)=>{U?E():Ks(E)}),r.augmentJob=E=>{t&&(E.flags|=4),h&&(E.flags|=2,f&&(E.id=f.uid,E.i=f))};const S=rl(e,t,r);return Lt&&(u?u.push(S):a&&S()),S}function ml(e,t,s){const i=this.proxy,n=q(e)?e.includes(".")?ln(i,e):()=>i[e]:e.bind(i,i);let o;R(t)?o=t:(o=t.handler,s=t);const l=Pt(this),r=on(n,o.bind(i),s);return l(),r}function ln(e,t){const s=t.split(".");return()=>{let i=e;for(let n=0;ne.__isTeleport,Js=Symbol("_leaveCb");function yl(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==ke){t=s;break}}return t}function rn(e){if(!Zs(e))return ls(e.type)&&e.children?yl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&R(s.default))return s.default()}}function Ys(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;Ys(ls(s.type)&&rn(s)||s,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Xs(e,t){return R(e)?X({name:e.name},t,{setup:e}):e}function an(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function cn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const rs=new WeakMap;function Ct(e,t,s,i,n=!1){if(A(e)){e.forEach((L,Z)=>Ct(L,t&&(A(t)?t[Z]:t),s,i,n));return}if(dt(i)&&!n){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&Ct(e,t,s,i.component.subTree);return}const o=i.shapeFlag&4?bs(i.component):i.el,l=n?null:o,{i:r,r:a}=e,u=t&&t.r,f=r.refs===W?r.refs={}:r.refs,h=r.setupState,S=$(h),E=h===W?mi:L=>cn(f,L)?!1:D(S,L),U=(L,Z)=>!(Z&&cn(f,Z));if(u!=null&&u!==a){if(dn(t),q(u))f[u]=null,E(u)&&(h[u]=null);else if(ae(u)){const L=t;U(u,L.k)&&(u.value=null),L.k&&(f[L.k]=null)}}if(R(a))rt(a,r,12,[l,f]);else{const L=q(a),Z=ae(a);if(L||Z){const J=()=>{if(e.f){const H=L?E(a)?h[a]:f[a]:U()||!e.k?a.value:f[e.k];if(n)A(H)&&Cs(H,o);else if(A(H))H.includes(o)||H.push(o);else if(L)f[a]=[o],E(a)&&(h[a]=f[a]);else{const V=[o];U(a,e.k)&&(a.value=V),e.k&&(f[e.k]=V)}}else L?(f[a]=l,E(a)&&(h[a]=l)):Z&&(U(a,e.k)&&(a.value=l),e.k&&(f[e.k]=l))};if(l){const H=()=>{J(),rs.delete(e)};H.id=-1,rs.set(e,H),pe(H,s)}else dn(e),J()}}}function dn(e){const t=rs.get(e);t&&(t.flags|=8,rs.delete(e))}qt().requestIdleCallback,qt().cancelIdleCallback;const dt=e=>!!e.type.__asyncLoader,Zs=e=>e.type.__isKeepAlive;function _l(e,t){fn(e,"a",t)}function wl(e,t){fn(e,"da",t)}function fn(e,t,s=ce){const i=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(as(t,i,s),s){let n=s.parent;for(;n&&n.parent;)Zs(n.parent.vnode)&&Sl(i,t,s,n),n=n.parent}}function Sl(e,t,s,i){const n=as(t,e,i,!0);pn(()=>{Cs(i[t],n)},s)}function as(e,t,s=ce,i=!1){if(s){const n=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...l)=>{Se();const r=Pt(s),a=ye(t,s,e,l);return r(),Ee(),a});return i?n.unshift(o):n.push(o),o}}const Ue=e=>(t,s=ce)=>{(!Lt||e==="sp")&&as(e,(...i)=>t(...i),s)},El=Ue("bm"),un=Ue("m"),Tl=Ue("bu"),Cl=Ue("u"),kl=Ue("bum"),pn=Ue("um"),Ol=Ue("sp"),Al=Ue("rtg"),Ml=Ue("rtc");function Rl(e,t=ce){as("ec",e,t)}const Pl="components";function Ll(e,t){return Nl(Pl,e,!0,t)||e}const Il=Symbol.for("v-ndc");function Nl(e,t,s=!0,i=!1){const n=ne||ce;if(n){const o=n.type;{const r=Jn(o,!1);if(r&&(r===t||r===se(t)||r===Gt(se(t))))return o}const l=hn(n[e]||o[e],t)||hn(n.appContext[e],t);return!l&&i?o:l}}function hn(e,t){return e&&(e[t]||e[se(t)]||e[Gt(se(t))])}function ft(e,t,s,i){let n;const o=s,l=A(e);if(l||q(e)){const r=l&&Xe(e);let a=!1,u=!1;r&&(a=!xe(e),u=Ge(e),e=Yt(e)),n=new Array(e.length);for(let f=0,h=e.length;ft(r,a,void 0,o));else{const r=Object.keys(e);n=new Array(r.length);for(let a=0,u=r.length;a0;return t!=="default"&&(u.name=t),P(),ps(ee,null,[_e("slot",u,i)],f?-2:64)}let l=e[t];l&&l._c&&(l._d=!1);const r=Ve.length;P();let a;try{const u=l&&gn(l(s)),f=s.key||o||u&&u.key;a=ps(ee,{key:(f&&!be(f)?f:`_${t}`)+(!u&&i?"_fb":"")},u||(i?i():[]),u&&e._===1?64:-2)}catch(u){for(let f=Ve.length;f>r;f--)ai();throw u}finally{l&&l._c&&(l._d=!0)}return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),a}function gn(e){return e.some(t=>ci(t)?!(t.type===ke||t.type===ee&&!gn(t.children)):!0)?e:null}const Qs=e=>e?Kn(e)?bs(e):Qs(e.parent):null,kt=X(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=>Qs(e.parent),$root:e=>Qs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xn(e),$forceUpdate:e=>e.f||(e.f=()=>{Ks(e.update)}),$nextTick:e=>e.n||(e.n=Zi.bind(e.proxy)),$watch:e=>ml.bind(e)}),ei=(e,t)=>e!==W&&!e.__isScriptSetup&&D(e,t),Hl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:i,data:n,props:o,accessCache:l,type:r,appContext:a}=e;if(t[0]!=="$"){const S=l[t];if(S!==void 0)switch(S){case 1:return i[t];case 2:return n[t];case 4:return s[t];case 3:return o[t]}else{if(ei(i,t))return l[t]=1,i[t];if(n!==W&&D(n,t))return l[t]=2,n[t];if(D(o,t))return l[t]=3,o[t];if(s!==W&&D(s,t))return l[t]=4,s[t];ti&&(l[t]=0)}}const u=kt[t];let f,h;if(u)return t==="$attrs"&&re(e.attrs,"get",""),u(e);if((f=r.__cssModules)&&(f=f[t]))return f;if(s!==W&&D(s,t))return l[t]=4,s[t];if(h=a.config.globalProperties,D(h,t))return h[t]},set({_:e},t,s){const{data:i,setupState:n,ctx:o}=e;return ei(n,t)?(n[t]=s,!0):i!==W&&D(i,t)?(i[t]=s,!0):D(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:i,appContext:n,props:o,type:l}},r){let a;return!!(s[r]||e!==W&&r[0]!=="$"&&D(e,r)||ei(t,r)||D(o,r)||D(i,r)||D(kt,r)||D(n.config.globalProperties,r)||(a=l.__cssModules)&&a[r])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:D(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function vn(e){return A(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let ti=!0;function Dl(e){const t=xn(e),s=e.proxy,i=e.ctx;ti=!1,t.beforeCreate&&bn(t.beforeCreate,e,"bc");const{data:n,computed:o,methods:l,watch:r,provide:a,inject:u,created:f,beforeMount:h,mounted:S,beforeUpdate:E,updated:U,activated:L,deactivated:Z,beforeDestroy:J,beforeUnmount:H,destroyed:V,unmounted:O,render:te,renderTracked:Me,renderTriggered:Re,errorCaptured:Je,serverPrefetch:ys,expose:tt,inheritAttrs:Ft,components:_s,directives:ws,filters:vi}=t;if(u&&Fl(u,i,null),l)for(const Y in l){const G=l[Y];R(G)&&(i[Y]=G.bind(s))}if(n){const Y=n.call(s,s);j(Y)&&(e.data=Vs(Y))}if(ti=!0,o)for(const Y in o){const G=o[Y],st=R(G)?G.bind(s,s):R(G.get)?G.get.bind(s,s):we,Ss=!R(G)&&R(G.set)?G.set.bind(s):we,it=_r({get:st,set:Ss});Object.defineProperty(i,Y,{enumerable:!0,configurable:!0,get:()=>it.value,set:Pe=>it.value=Pe})}if(r)for(const Y in r)mn(r[Y],i,s,Y);if(a){const Y=R(a)?a.call(s):a;Reflect.ownKeys(Y).forEach(G=>{gl(G,Y[G])})}f&&bn(f,e,"c");function ue(Y,G){A(G)?G.forEach(st=>Y(st.bind(s))):G&&Y(G.bind(s))}if(ue(El,h),ue(un,S),ue(Tl,E),ue(Cl,U),ue(_l,L),ue(wl,Z),ue(Rl,Je),ue(Ml,Me),ue(Al,Re),ue(kl,H),ue(pn,O),ue(Ol,ys),A(tt))if(tt.length){const Y=e.exposed||(e.exposed={});tt.forEach(G=>{Object.defineProperty(Y,G,{get:()=>s[G],set:st=>s[G]=st,enumerable:!0})})}else e.exposed||(e.exposed={});te&&e.render===we&&(e.render=te),Ft!=null&&(e.inheritAttrs=Ft),_s&&(e.components=_s),ws&&(e.directives=ws),ys&&an(e)}function Fl(e,t,s=we){A(e)&&(e=si(e));for(const i in e){const n=e[i];let o;j(n)?"default"in n?o=Tt(n.from||i,n.default,!0):o=Tt(n.from||i):o=Tt(n),ae(o)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[i]=o}}function bn(e,t,s){ye(A(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,s)}function mn(e,t,s,i){let n=i.includes(".")?ln(s,i):()=>s[i];if(q(e)){const o=t[e];R(o)&&qs(n,o)}else if(R(e))qs(n,e.bind(s));else if(j(e))if(A(e))e.forEach(o=>mn(o,t,s,i));else{const o=R(e.handler)?e.handler.bind(s):t[e.handler];R(o)&&qs(n,o,e)}}function xn(e){const t=e.type,{mixins:s,extends:i}=t,{mixins:n,optionsCache:o,config:{optionMergeStrategies:l}}=e.appContext,r=o.get(t);let a;return r?a=r:!n.length&&!s&&!i?a=t:(a={},n.length&&n.forEach(u=>ds(a,u,l,!0)),ds(a,t,l)),j(t)&&o.set(t,a),a}function ds(e,t,s,i=!1){const{mixins:n,extends:o}=t;o&&ds(e,o,s,!0),n&&n.forEach(l=>ds(e,l,s,!0));for(const l in t)if(!(i&&l==="expose")){const r=$l[l]||s&&s[l];e[l]=r?r(e[l],t[l]):t[l]}return e}const $l={data:yn,props:_n,emits:_n,methods:Ot,computed:Ot,beforeCreate:fe,created:fe,beforeMount:fe,mounted:fe,beforeUpdate:fe,updated:fe,beforeDestroy:fe,beforeUnmount:fe,destroyed:fe,unmounted:fe,activated:fe,deactivated:fe,errorCaptured:fe,serverPrefetch:fe,components:Ot,directives:Ot,watch:Ul,provide:yn,inject:jl};function yn(e,t){return t?e?function(){return X(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function jl(e,t){return Ot(si(e),si(t))}function si(e){if(A(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${se(t)}Modifiers`]||e[`${ve(t)}Modifiers`];function zl(e,t,...s){if(e.isUnmounted)return;const i=e.vnode.props||W;let n=s;const o=t.startsWith("update:"),l=o&&Wl(i,t.slice(7));l&&(l.trim&&(n=s.map(f=>q(f)?f.trim():f)),l.number&&(n=n.map(Ao)));let r,a=i[r=Os(t)]||i[r=Os(se(t))];!a&&o&&(a=i[r=Os(ve(t))]),a&&ye(a,e,6,n);const u=i[r+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ye(u,e,6,n)}}const Kl=new WeakMap;function Sn(e,t,s=!1){const i=s?Kl:t.emitsCache,n=i.get(e);if(n!==void 0)return n;const o=e.emits;let l={},r=!1;if(!R(e)){const a=u=>{const f=Sn(u,t,!0);f&&(r=!0,X(l,f))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!r?(j(e)&&i.set(e,null),null):(A(o)?o.forEach(a=>l[a]=null):X(l,o),j(e)&&i.set(e,l),l)}function fs(e,t){return!e||!Vt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),D(e,t[0].toLowerCase()+t.slice(1))||D(e,ve(t))||D(e,t))}function Dc(){}function En(e){const{type:t,vnode:s,proxy:i,withProxy:n,propsOptions:[o],slots:l,attrs:r,emit:a,render:u,renderCache:f,props:h,data:S,setupState:E,ctx:U,inheritAttrs:L}=e,Z=os(e);let J,H;try{if(s.shapeFlag&4){const O=n||i,te=O;J=Oe(u.call(te,O,f,h,E,S,U)),H=r}else{const O=t;J=Oe(O.length>1?O(h,{attrs:r,slots:l,emit:a}):O(h,null)),H=t.props?r:Gl(r)}}catch(O){Ve.length=0,is(O,e,1),J=_e(ke)}let V=J;if(H&&L!==!1){const O=Object.keys(H),{shapeFlag:te}=V;O.length&&te&7&&(o&&O.some(Bt)&&(H=ql(H,o)),V=pt(V,H,!1,!0))}if(s.dirs&&(V=pt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(s.dirs):s.dirs),s.transition){const O=ls(V.type)&&rn(V)||V;Ys(O,s.transition)}return J=V,os(Z),J}const Gl=e=>{let t;for(const s in e)(s==="class"||s==="style"||Vt(s))&&((t||(t={}))[s]=e[s]);return t},ql=(e,t)=>{const s={};for(const i in e)(!Bt(i)||!(i.slice(9)in t))&&(s[i]=e[i]);return s};function Jl(e,t,s){const{props:i,children:n,component:o}=e,{props:l,children:r,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return i?Tn(i,l,u):!!l;if(a&8){const f=t.dynamicProps;for(let h=0;hObject.create(kn),An=e=>Object.getPrototypeOf(e)===kn;function Xl(e,t,s,i=!1){const n={},o=On();e.propsDefaults=Object.create(null),Mn(e,t,n,o);for(const l in e.propsOptions[0])l in n||(n[l]=void 0);s?e.props=i?n:tl(n):e.type.props?e.props=n:e.props=o,e.attrs=o}function Zl(e,t,s,i){const{props:n,attrs:o,vnode:{patchFlag:l}}=e,r=$(n),[a]=e.propsOptions;let u=!1;if((i||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let h=0;h{a=!0;const[S,E]=Rn(h,t,!0);X(l,S),E&&r.push(...E)};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!a)return j(e)&&i.set(e,nt),nt;if(A(o))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",oi=e=>A(e)?e.map(Oe):[Oe(e)],er=(e,t,s)=>{if(t._n)return t;const i=Et((...n)=>oi(t(...n)),s);return i._c=!1,i},Ln=(e,t,s)=>{const i=e._ctx;for(const n in e){if(ni(n))continue;const o=e[n];if(R(o))t[n]=er(n,o,i);else if(o!=null){const l=oi(o);t[n]=()=>l}}},In=(e,t)=>{const s=oi(t);e.slots.default=()=>s},Nn=(e,t,s)=>{for(const i in t)(s||!ni(i))&&(e[i]=t[i])},tr=(e,t,s)=>{const i=e.slots=On();if(e.vnode.shapeFlag&32){const n=t._;n?(Nn(i,t,s),s&&wi(i,"_",n,!0)):Ln(t,i)}else t&&In(e,t)},sr=(e,t,s)=>{const{vnode:i,slots:n}=e;let o=!0,l=W;if(i.shapeFlag&32){const r=t._;r?s&&r===1?o=!1:Nn(n,t,s):(o=!t.$stable,Ln(t,n)),l=t}else t&&(In(e,t),l={default:1});if(o)for(const r in n)!ni(r)&&l[r]==null&&delete n[r]},pe=rr;function ir(e){return nr(e)}function nr(e,t){const s=qt();s.__VUE__=!0;const{insert:i,remove:n,patchProp:o,createElement:l,createText:r,createComment:a,setText:u,setElementText:f,parentNode:h,nextSibling:S,setScopeId:E=we,insertStaticContent:U}=e,L=(c,d,p,m=null,b=null,g=null,_=void 0,y=null,x=!!d.dynamicChildren)=>{if(c===d)return;c&&!Mt(c,d)&&(m=Es(c),Pe(c,b,g,!0),c=null),d.patchFlag===-2&&(x=!1,d.dynamicChildren=null);const{type:v,ref:k,shapeFlag:w}=d;switch(v){case us:Z(c,d,p,m);break;case ke:J(c,d,p,m);break;case ri:c==null&&H(d,p,m,_);break;case ee:_s(c,d,p,m,b,g,_,y,x);break;default:w&1?te(c,d,p,m,b,g,_,y,x):w&6?ws(c,d,p,m,b,g,_,y,x):(w&64||w&128)&&v.process(c,d,p,m,b,g,_,y,x,jt)}k!=null&&b?Ct(k,c&&c.ref,g,d||c,!d):k==null&&c&&c.ref!=null&&Ct(c.ref,null,g,c,!0)},Z=(c,d,p,m)=>{if(c==null)i(d.el=r(d.children),p,m);else{const b=d.el=c.el;d.children!==c.children&&u(b,d.children)}},J=(c,d,p,m)=>{c==null?i(d.el=a(d.children||""),p,m):d.el=c.el},H=(c,d,p,m)=>{[c.el,c.anchor]=U(c.children,d,p,m,c.el,c.anchor)},V=({el:c,anchor:d},p,m)=>{let b;for(;c&&c!==d;)b=S(c),i(c,p,m),c=b;i(d,p,m)},O=({el:c,anchor:d})=>{let p;for(;c&&c!==d;)p=S(c),n(c),c=p;n(d)},te=(c,d,p,m,b,g,_,y,x)=>{if(d.type==="svg"?_="svg":d.type==="math"&&(_="mathml"),c==null)Me(d,p,m,b,g,_,y,x);else{const v=c.el&&c.el._isVueCE?c.el:null;try{v&&v._beginPatch(),ys(c,d,b,g,_,y,x)}finally{v&&v._endPatch()}}},Me=(c,d,p,m,b,g,_,y)=>{let x,v;const{props:k,shapeFlag:w,transition:T,dirs:M}=c;if(x=c.el=l(c.type,g,k&&k.is,k),w&8?f(x,c.children):w&16&&Je(c.children,x,null,m,b,li(c,g),_,y),M&&Qe(c,null,m,"created"),Re(x,c,c.scopeId,_,m),k){for(const z in k)z!=="value"&&!vt(z)&&o(x,z,null,k[z],g,m);"value"in k&&o(x,"value",null,k.value,g),(v=k.onVnodeBeforeMount)&&Ae(v,m,c)}M&&Qe(c,null,m,"beforeMount");const N=or(b,T);N&&T.beforeEnter(x),i(x,d,p),((v=k&&k.onVnodeMounted)||N||M)&&pe(()=>{try{v&&Ae(v,m,c),N&&T.enter(x),M&&Qe(c,null,m,"mounted")}finally{}},b)},Re=(c,d,p,m,b)=>{if(p&&E(c,p),m)for(let g=0;g{for(let v=x;v{const y=d.el=c.el;let{patchFlag:x,dynamicChildren:v,dirs:k}=d;x|=c.patchFlag&16;const w=c.props||W,T=d.props||W;let M;if(p&&et(p,!1),(M=T.onVnodeBeforeUpdate)&&Ae(M,p,d,c),k&&Qe(d,c,p,"beforeUpdate"),p&&et(p,!0),v&&(!c.dynamicChildren||c.dynamicChildren.length!==v.length)&&(x=0,_=!1,v=null),(w.innerHTML&&T.innerHTML==null||w.textContent&&T.textContent==null)&&f(y,""),v?tt(c.dynamicChildren,v,y,p,m,li(d,b),g):_||G(c,d,y,null,p,m,li(d,b),g,!1),x>0){if(x&16)Ft(y,w,T,p,b);else if(x&2&&w.class!==T.class&&o(y,"class",null,T.class,b),x&4&&o(y,"style",w.style,T.style,b),x&8){const N=d.dynamicProps;for(let z=0;z{M&&Ae(M,p,d,c),k&&Qe(d,c,p,"updated")},m)},tt=(c,d,p,m,b,g,_)=>{for(let y=0;y{if(d!==p){if(d!==W)for(const g in d)!vt(g)&&!(g in p)&&o(c,g,d[g],null,b,m);for(const g in p){if(vt(g))continue;const _=p[g],y=d[g];_!==y&&g!=="value"&&o(c,g,y,_,b,m)}"value"in p&&o(c,"value",d.value,p.value,b)}},_s=(c,d,p,m,b,g,_,y,x)=>{const v=d.el=c?c.el:r(""),k=d.anchor=c?c.anchor:r("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:M}=d;M&&(y=y?y.concat(M):M),c==null?(i(v,p,m),i(k,p,m),Je(d.children||[],p,k,b,g,_,y,x)):w>0&&w&64&&T&&c.dynamicChildren&&c.dynamicChildren.length===T.length?(tt(c.dynamicChildren,T,p,b,g,_,y),(d.key!=null||b&&d===b.subTree)&&Hn(c,d,!0)):G(c,d,p,k,b,g,_,y,x)},ws=(c,d,p,m,b,g,_,y,x)=>{d.slotScopeIds=y,c==null?d.shapeFlag&512?b.ctx.activate(d,p,m,_,x):vi(d,p,m,b,g,_,x):xo(c,d,x)},vi=(c,d,p,m,b,g,_)=>{const y=c.component=pr(c,m,b);if(Zs(c)&&(y.ctx.renderer=jt),hr(y,!1,_),y.asyncDep){if(b&&b.registerDep(y,ue,_),!c.el){const x=y.subTree=_e(ke);J(null,x,d,p),c.placeholder=x.el}}else ue(y,c,d,p,b,g,_)},xo=(c,d,p)=>{const m=d.component=c.component;if(Jl(c,d,p))if(m.asyncDep&&!m.asyncResolved){Y(m,d,p);return}else m.next=d,m.update();else d.el=c.el,m.vnode=d},ue=(c,d,p,m,b,g,_)=>{const y=()=>{if(c.isMounted){let{next:w,bu:T,u:M,parent:N,vnode:z}=c;{const Ie=Dn(c);if(Ie){w&&(w.el=z.el,Y(c,w,_)),Ie.asyncDep.then(()=>{pe(()=>{c.isUnmounted||v()},b)});return}}let B=w,Q;et(c,!1),w?(w.el=z.el,Y(c,w,_)):w=z,T&&As(T),(Q=w.props&&w.props.onVnodeBeforeUpdate)&&Ae(Q,N,w,z),et(c,!0);const le=En(c),Le=c.subTree;c.subTree=le,L(Le,le,h(Le.el),Es(Le),c,b,g),w.el=le.el,B===null&&Yl(c,le.el),M&&pe(M,b),(Q=w.props&&w.props.onVnodeUpdated)&&pe(()=>Ae(Q,N,w,z),b)}else{let w;const{el:T,props:M}=d,{bm:N,m:z,parent:B,root:Q,type:le}=c,Le=dt(d);et(c,!1),N&&As(N),!Le&&(w=M&&M.onVnodeBeforeMount)&&Ae(w,B,d),et(c,!0);{Q.ce&&Q.ce._hasShadowRoot()&&Q.ce._injectChildStyle(le,c.parent?c.parent.type:void 0);const Ie=c.subTree=En(c);L(null,Ie,p,m,c,b,g),d.el=Ie.el}if(z&&pe(z,b),!Le&&(w=M&&M.onVnodeMounted)){const Ie=d;pe(()=>Ae(w,B,Ie),b)}(d.shapeFlag&256||B&&dt(B.vnode)&&B.vnode.shapeFlag&256)&&c.a&&pe(c.a,b),c.isMounted=!0,d=p=m=null}};c.scope.on();const x=c.effect=new Ai(y);c.scope.off();const v=c.update=x.run.bind(x),k=c.job=x.runIfDirty.bind(x);k.i=c,k.id=c.uid,x.scheduler=()=>Ks(k),et(c,!0),v()},Y=(c,d,p)=>{d.component=c;const m=c.vnode.props;c.vnode=d,c.next=null,Zl(c,d.props,m,p),sr(c,d.children,p),Se(),en(c),Ee()},G=(c,d,p,m,b,g,_,y,x=!1)=>{const v=c&&c.children,k=c?c.shapeFlag:0,w=d.children,{patchFlag:T,shapeFlag:M}=d;if(T>0){if(T&128){Ss(v,w,p,m,b,g,_,y,x);return}else if(T&256){st(v,w,p,m,b,g,_,y,x);return}}M&8?(k&16&&$t(v,b,g),w!==v&&f(p,w)):k&16?M&16?Ss(v,w,p,m,b,g,_,y,x):$t(v,b,g,!0):(k&8&&f(p,""),M&16&&Je(w,p,m,b,g,_,y,x))},st=(c,d,p,m,b,g,_,y,x)=>{c=c||nt,d=d||nt;const v=c.length,k=d.length,w=Math.min(v,k);let T;for(T=0;Tk?$t(c,b,g,!0,!1,w):Je(d,p,m,b,g,_,y,x,w)},Ss=(c,d,p,m,b,g,_,y,x)=>{let v=0;const k=d.length;let w=c.length-1,T=k-1;for(;v<=w&&v<=T;){const M=c[v],N=d[v]=x?Be(d[v]):Oe(d[v]);if(Mt(M,N))L(M,N,p,null,b,g,_,y,x);else break;v++}for(;v<=w&&v<=T;){const M=c[w],N=d[T]=x?Be(d[T]):Oe(d[T]);if(Mt(M,N))L(M,N,p,null,b,g,_,y,x);else break;w--,T--}if(v>w){if(v<=T){const M=T+1,N=MT)for(;v<=w;)Pe(c[v],b,g,!0),v++;else{const M=v,N=v,z=new Map;for(v=N;v<=T;v++){const ge=d[v]=x?Be(d[v]):Oe(d[v]);ge.key!=null&&z.set(ge.key,v)}let B,Q=0;const le=T-N+1;let Le=!1,Ie=0;const Ut=new Array(le);for(v=0;v=le){Pe(ge,b,g,!0);continue}let Ne;if(ge.key!=null)Ne=z.get(ge.key);else for(B=N;B<=T;B++)if(Ut[B-N]===0&&Mt(ge,d[B])){Ne=B;break}Ne===void 0?Pe(ge,b,g,!0):(Ut[Ne-N]=v+1,Ne>=Ie?Ie=Ne:Le=!0,L(ge,d[Ne],p,null,b,g,_,y,x),Q++)}const wo=Le?lr(Ut):nt;for(B=wo.length-1,v=le-1;v>=0;v--){const ge=N+v,Ne=d[ge],So=d[ge+1],Eo=ge+1{const{el:g,type:_,transition:y,children:x,shapeFlag:v}=c;if(v&6){it(c.component.subTree,d,p,m);return}if(v&128){c.suspense.move(d,p,m);return}if(v&64){_.move(c,d,p,jt);return}if(_===ee){i(g,d,p);for(let w=0;wy.enter(g),b));else{const{leave:w,delayLeave:T,afterLeave:M}=y,N=()=>{c.ctx.isUnmounted?n(g):i(g,d,p)},z=()=>{const B=g._isLeaving||!!g[Js];g._isLeaving&&g[Js](!0),y.persisted&&!B?N():w(g,()=>{N(),M&&M()})};T?T(g,N,z):z()}else i(g,d,p)},Pe=(c,d,p,m=!1,b=!1)=>{const{type:g,props:_,ref:y,children:x,dynamicChildren:v,shapeFlag:k,patchFlag:w,dirs:T,cacheIndex:M,memo:N}=c;if(w===-2&&(b=!1),y!=null&&(Se(),Ct(y,null,p,c,!0),Ee()),M!=null&&(d.renderCache[M]=void 0),k&256){d.ctx.deactivate(c);return}const z=k&1&&T,B=!dt(c);let Q;if(B&&(Q=_&&_.onVnodeBeforeUnmount)&&Ae(Q,d,c),k&6)Lc(c.component,p,m);else{if(k&128){c.suspense.unmount(p,m);return}z&&Qe(c,null,d,"beforeUnmount"),k&64?c.type.remove(c,d,p,jt,m):v&&!v.hasOnce&&(g!==ee||w>0&&w&64)?$t(v,d,p,!1,!0):(g===ee&&w&384||!b&&k&16)&&$t(x,d,p),m&&yo(c)}const le=N!=null&&M==null;(B&&(Q=_&&_.onVnodeUnmounted)||z||le)&&pe(()=>{Q&&Ae(Q,d,c),z&&Qe(c,null,d,"unmounted"),le&&(c.el=null)},p)},yo=c=>{const{type:d,el:p,anchor:m,transition:b}=c;if(d===ee){Pc(p,m);return}if(d===ri){O(c);return}const g=()=>{n(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(c.shapeFlag&1&&b&&!b.persisted){const{leave:_,delayLeave:y}=b,x=()=>_(p,g);y?y(c.el,g,x):x()}else g()},Pc=(c,d)=>{let p;for(;c!==d;)p=S(c),n(c),c=p;n(d)},Lc=(c,d,p)=>{const{bum:m,scope:b,job:g,subTree:_,um:y,m:x,a:v}=c;Fn(x),Fn(v),m&&As(m),b.stop(),g&&(g.flags|=8,Pe(_,c,d,p)),y&&pe(y,d),pe(()=>{c.isUnmounted=!0},d)},$t=(c,d,p,m=!1,b=!1,g=0)=>{for(let _=g;_{if(c.shapeFlag&6)return Es(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=S(c.anchor||c.el),p=d&&d[xl];return p?S(p):d};let bi=!1;const _o=(c,d,p)=>{let m;c==null?d._vnode&&(Pe(d._vnode,null,null,!0),m=d._vnode.component):L(d._vnode||null,c,d,null,null,null,p),d._vnode=c,bi||(bi=!0,en(m),tn(),bi=!1)},jt={p:L,um:Pe,m:it,r:yo,mt:vi,mc:Je,pc:G,pbc:tt,n:Es,o:e};return{render:_o,hydrate:void 0,createApp:Bl(_o)}}function li({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function et({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function or(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Hn(e,t,s=!1){const i=e.children,n=t.children;if(A(i)&&A(n))for(let o=0;o>1,e[s[r]]0&&(t[i]=s[o-1]),s[o]=i)}}for(o=s.length,l=s[o-1];o-- >0;)s[o]=l,l=t[l];return s}function Dn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dn(t)}function Fn(e){if(e)for(let t=0;te.__isSuspense;function rr(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):hl(e)}const ee=Symbol.for("v-fgt"),us=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),ri=Symbol.for("v-stc"),Ve=[];let he=null;function P(e=!1){Ve.push(he=e?null:[])}function ai(){Ve.pop(),he=Ve[Ve.length-1]||null}let At=1;function Un(e,t=!1){At+=e,e<0&&he&&t&&(he.hasOnce=!0)}function Vn(e){return e.dynamicChildren=At>0?he||nt:null,ai(),At>0&&he&&he.push(e),e}function I(e,t,s,i,n,o){return Vn(C(e,t,s,i,n,o,!0))}function ps(e,t,s,i,n){return Vn(_e(e,t,s,i,n,!0))}function ci(e){return e?e.__v_isVNode===!0:!1}function Mt(e,t){return e.type===t.type&&e.key===t.key}const Bn=({key:e})=>e??null,hs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?q(e)||ae(e)||R(e)?{i:ne,r:e,k:t,f:!!s}:e:null);function C(e,t=null,s=null,i=0,n=null,o=e===ee?0:1,l=!1,r=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bn(t),ref:t&&hs(t),scopeId:nn,slotScopeIds:null,children:s,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:o,patchFlag:i,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:ne};return r?(gs(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=q(s)?8:16),At>0&&!l&&he&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&he.push(a),a}const _e=ar;function ar(e,t=null,s=null,i=0,n=null,o=!1){if((!e||e===Il)&&(e=ke),ci(e)){const r=pt(e,t,!0);return s&&gs(r,s),At>0&&!o&&he&&(r.shapeFlag&6?he[he.indexOf(e)]=r:he.push(r)),r.patchFlag=-2,r}if(yr(e)&&(e=e.__vccOpts),t){t=cr(t);let{class:r,style:a}=t;r&&!q(r)&&(t.class=Ke(r)),j(a)&&(Ws(a)&&!A(a)&&(a=X({},a)),t.style=Ms(a))}const l=q(e)?1:jn(e)?128:ls(e)?64:j(e)?4:R(e)?2:0;return C(e,t,s,i,n,l,o,!0)}function cr(e){return e?Ws(e)||An(e)?X({},e):e:null}function pt(e,t,s=!1,i=!1){const{props:n,ref:o,patchFlag:l,children:r,transition:a}=e,u=t?dr(n||{},t):n,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Bn(u),ref:t&&t.ref?s&&o?A(o)?o.concat(hs(t)):[o,hs(t)]:hs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ee?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&pt(e.ssContent),ssFallback:e.ssFallback&&pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&i&&Ys(f,a.clone(f)),f}function ht(e=" ",t=0){return _e(us,null,e,t)}function oe(e="",t=!1){return t?(P(),ps(ke,null,e)):_e(ke,null,e)}function Oe(e){return e==null||typeof e=="boolean"?_e(ke):A(e)?_e(ee,null,e.slice()):ci(e)?Be(e):_e(us,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:pt(e)}function gs(e,t){let s=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(A(t))s=16;else if(typeof t=="object")if(i&65){const n=t.default;n&&(n._c&&(n._d=!1),gs(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!An(t)?t._ctx=ne:n===3&&ne&&(ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(R(t)){if(i&65){gs(e,{default:t});return}t={default:t,_ctx:ne},s=32}else t=String(t),i&64?(s=16,t=[ht(t)]):s=8;e.children=t,e.shapeFlag|=s}function dr(...e){const t={};for(let s=0;sce||ne;let vs,Rt;{const e=qt(),t=(s,i)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(i),o=>{n.length>1?n.forEach(l=>l(o)):n[0](o)}};vs=t("__VUE_INSTANCE_SETTERS__",s=>ce=s),Rt=t("__VUE_SSR_SETTERS__",s=>Lt=s)}const Pt=e=>{const t=ce;return vs(e),e.scope.on(),()=>{e.scope.off(),vs(t)}},zn=()=>{ce&&ce.scope.off(),vs(null)};function Kn(e){return e.vnode.shapeFlag&4}let Lt=!1;function hr(e,t=!1,s=!1){t&&Rt(t);const{props:i,children:n}=e.vnode,o=Kn(e);Xl(e,i,o,t),tr(e,n,s||t);const l=o?gr(e,t):void 0;return t&&Rt(!1),l}function gr(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Hl);const{setup:i}=s;if(i){Se();const n=e.setupContext=i.length>1?br(e):null,o=Pt(e),l=rt(i,e,0,[e.props,n]),r=yi(l);if(Ee(),o(),(r||e.sp)&&!dt(e)&&an(e),r){if(l.then(zn,zn),t)return l.then(a=>{Rt(!0);try{Gn(e,a,t)}finally{Rt(!1)}}).catch(a=>{is(a,e,0)});e.asyncDep=l}else Gn(e,l)}else qn(e)}function Gn(e,t,s){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:j(t)&&(e.setupState=Ji(t)),qn(e)}function qn(e,t,s){const i=e.type;e.render||(e.render=i.render||we);{const n=Pt(e);Se();try{Dl(e)}finally{Ee(),n()}}}const vr={get(e,t){return re(e,"get",""),e[t]}};function br(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,vr),slots:e.slots,emit:e.emit,expose:t}}function bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ji(sl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in kt)return kt[s](e)},has(t,s){return s in t||s in kt}})):e.proxy}const mr=/(?:^|[-_])\w/g,xr=e=>e.replace(mr,t=>t.toUpperCase()).replace(/[-_]/g,"");function Jn(e,t=!0){return R(e)?e.displayName||e.name:e.name||t&&e.__name}function Yn(e,t,s=!1){let i=Jn(t);if(!i&&t.__file){const n=t.__file.match(/([^/\\]+)\.\w+$/);n&&(i=n[1])}if(!i&&e){const n=o=>{for(const l in o)if(o[l]===t)return l};i=n(e.components)||e.parent&&n(e.parent.type.components)||n(e.appContext.components)}return i?xr(i):s?"App":"Anonymous"}function yr(e){return R(e)&&"__vccOpts"in e}const _r=(e,t)=>ol(e,t,Lt),wr="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let di;const Xn=typeof window<"u"&&window.trustedTypes;if(Xn)try{di=Xn.createPolicy("vue",{createHTML:e=>e})}catch{}const Zn=di?e=>di.createHTML(e):e=>e,Sr="http://www.w3.org/2000/svg",Er="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,Qn=We&&We.createElement("template"),Tr={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,i)=>{const n=t==="svg"?We.createElementNS(Sr,e):t==="mathml"?We.createElementNS(Er,e):s?We.createElement(e,{is:s}):We.createElement(e);return e==="select"&&i&&i.multiple!=null&&n.setAttribute("multiple",i.multiple),n},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,i,n,o){const l=s?s.previousSibling:t.lastChild;if(n&&(n===o||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===o||!(n=n.nextSibling)););else{Qn.innerHTML=Zn(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);const r=Qn.content;if(i==="svg"||i==="mathml"){const a=r.firstChild;for(;a.firstChild;)r.appendChild(a.firstChild);r.removeChild(a)}t.insertBefore(r,s)}return[l?l.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Cr=Symbol("_vtc");function kr(e,t,s){const i=e[Cr];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ms=Symbol("_vod"),eo=Symbol("_vsh"),fi={name:"show",beforeMount(e,{value:t},{transition:s}){e[ms]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):It(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:i}){!t!=!s&&(i?t?(i.beforeEnter(e),It(e,!0),i.enter(e)):i.leave(e,()=>{It(e,!1)}):It(e,t))},beforeUnmount(e,{value:t}){It(e,t)}};function It(e,t){e.style.display=t?e[ms]:"none",e[eo]=!t}const Or=Symbol(""),Ar=/(?:^|;)\s*display\s*:/;function Mr(e,t,s){const i=e.style,n=q(s);let o=!1;if(s&&!n){if(t)if(q(t))for(const l of t.split(";")){const r=l.slice(0,l.indexOf(":")).trim();s[r]==null&&Nt(i,r,"")}else for(const l in t)s[l]==null&&Nt(i,l,"");for(const l in s){l==="display"&&(o=!0);const r=s[l];r!=null?Pr(e,l,!q(t)&&t?t[l]:void 0,r)||Nt(i,l,r):Nt(i,l,"")}}else if(n){if(t!==s){const l=i[Or];l&&(s+=";"+l),i.cssText=s,o=Ar.test(s)}}else t&&e.removeAttribute("style");ms in e&&(e[ms]=o?i.display:"",e[eo]&&(i.display="none"))}const xs=/\s*!important$/;function Nt(e,t,s){if(A(s))s.forEach(i=>Nt(e,t,i));else if(s==null&&(s=""),t.startsWith("--"))xs.test(s)?e.setProperty(t,s.replace(xs,""),"important"):e.setProperty(t,s);else{const i=Rr(e,t);xs.test(s)?e.setProperty(ve(i),s.replace(xs,""),"important"):e[i]=s}}const to=["Webkit","Moz","ms"],ui={};function Rr(e,t){const s=ui[t];if(s)return s;let i=se(t);if(i!=="filter"&&i in e)return ui[t]=i;i=Gt(i);for(let n=0;npi||($r.then(()=>pi=0),pi=Date.now());function Ur(e,t){const s=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=s.attached)return;const n=s.value;if(A(n)){const o=i.stopImmediatePropagation;i.stopImmediatePropagation=()=>{o.call(i),i._stopped=!0};const l=n.slice(),r=[i];for(let a=0;ae.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vr=(e,t,s,i,n,o)=>{const l=n==="svg";t==="class"?kr(e,i,l):t==="style"?Mr(e,s,i):Vt(t)?Bt(t)||Nr(e,t,s,i,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Br(e,t,i,l))?(no(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&io(e,t,i,l,o,t!=="value")):e._isVueCE&&(Wr(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!q(i)))?no(e,se(t),i,o,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),io(e,t,i,l))};function Br(e,t,s,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&lo(t)&&R(s));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 n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return lo(t)&&q(s)?!1:t in e}function Wr(e,t){const s=e._def.props;if(!s)return!1;const i=se(t);return Array.isArray(s)?s.some(n=>se(n)===i):Object.keys(s).some(n=>se(n)===i)}const ro={};function zr(e,t,s){let i=Xs(e,t);zt(i)&&(i=X({},i,t));class n extends hi{constructor(l){super(i,l,s)}}return n.def=i,n}const Kr=typeof HTMLElement<"u"?HTMLElement:class{};class hi extends Kr{constructor(t,s={},i=fo){super(),this._def=t,this._props=s,this._createApp=i,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&&i!==fo?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(X({},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 hi){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,Zi(()=>{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 s of t)this._setAttr(s.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let i=0;i{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:l}=i;let r;if(o&&!A(o))for(const a in o){const u=o[a];(u===Number||u&&u.type===Number)&&(a in this._props&&(this._props[a]=Si(this._props[a])),(r||(r=Object.create(null)))[se(a)]=!0)}this._numberProps=r,this._resolveProps(i),this.shadowRoot&&this._applyStyles(l),this._mount(i)},s=this._def.__asyncLoader;if(s)return this._pendingResolve=s().then(i=>{i.configureApp=this._def.configureApp,t(this._def=i,!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 s=this._instance&&this._instance.exposed;if(s)for(const i in s)D(this,i)||Object.defineProperty(this,i,{get:()=>qi(s[i])})}_resolveProps(t){const{props:s}=t,i=A(s)?s:Object.keys(s||{});for(const n of Object.keys(this))n[0]!=="_"&&i.includes(n)&&this._setProp(n,this[n]);for(const n of i.map(se))Object.defineProperty(this,n,{get(){return this._getProp(n)},set(o){this._setProp(n,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const s=this.hasAttribute(t);let i=s?this.getAttribute(t):ro;const n=se(t);s&&this._numberProps&&this._numberProps[n]&&(i=Si(i)),this._setProp(n,i,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,s,i=!0,n=!1){if(s!==this._props[t]&&(this._dirty=!0,s===ro?delete this._props[t]:(this._props[t]=s,t==="key"&&this._app&&(this._app._ceVNode.key=s)),n&&this._instance&&this._update(),i)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),s===!0?this.setAttribute(ve(t),""):typeof s=="string"||typeof s=="number"?this.setAttribute(ve(t),s+""):s||this.removeAttribute(ve(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),qr(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const s=_e(this._def,X(t,this._props));return this._instance||(s.ce=i=>{this._instance=i,i.ce=this,i.isCE=!0;const n=(o,l)=>{this.dispatchEvent(new CustomEvent(o,zt(l[0])?X({detail:l},l[0]):{detail:l}))};i.emit=(o,...l)=>{n(o,l),ve(o)!==o&&n(ve(o),l)},this._setParent()}),s}_applyStyles(t,s,i){if(!t)return;if(s){if(s===this._def||this._styleChildren.has(s))return;this._styleChildren.add(s)}const n=this._nonce,o=this.shadowRoot,l=i?this._getStyleAnchor(i)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let r=null;for(let a=t.length-1;a>=0;a--){const u=document.createElement("style");n&&u.setAttribute("nonce",n),u.textContent=t[a],o.insertBefore(u,r||l),r=u,a===0&&(i||this._styleAnchors.set(this._def,u),s&&this._styleAnchors.set(s,u))}}_getStyleAnchor(t){if(!t)return null;const s=this._styleAnchors.get(t);return s&&s.parentNode===this.shadowRoot?s:(s&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let s=0;s{co().render(...e)},fo=(...e)=>{const t=co().createApp(...e),{mount:s}=t;return t.mount=i=>{const n=Yr(i);if(!n)return;const o=t._component;!R(o)&&!o.render&&!o.template&&(o.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const l=s(n,!1,Jr(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),l},t};function Jr(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Yr(e){return q(e)?document.querySelector(e):e}function uo(e,t){const s=t||Xr(e);un(()=>{var r;const i=Wn();if(!i)return;const n=(r=i.proxy)==null?void 0:r.$el;if(!n)return;const o=n.getRootNode();if(!(o instanceof ShadowRoot)||o.querySelector(`style[data-shadow-styles="${s}"]`))return;const l=document.createElement("style");l.setAttribute("data-shadow-styles",s),l.textContent=e,o.appendChild(l)})}function Xr(e){let t=0;for(let s=0;s',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function Zr(e,t=""){const s=po[e]||po.map;return``}const Qr=".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;contain:layout}.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)}.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}}",ho=(e,t)=>{const s=e.__vccOpts||e;for(const[i,n]of t)s[i]=n;return s},Ht={};function ea(e){return e?(Ht[e]||(Ht[e]=new Promise((t,s)=>{const i=document.createElement("script");i.src=e,i.onload=()=>t(),i.onerror=()=>{delete Ht[e],s(new Error("failed to load "+e))},document.head.appendChild(i)})),Ht[e]):Promise.resolve()}function ta(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>i(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const sa=` /* STRUCTURAL DISPLAY — the !important is deliberate, not a hack. This layout's display mode is load-bearing: it CANNOT function as a block. As a library/ (high-bar) component it ships across all 5 deployment methods, and a host (app-shell direct-mount, WordPress, mobile webview) may force its own inline display onto the element. Declaring it non-overridable is the correct contract. grid-template-rows: auto 1fr = header takes its natural height, .vtl-body gets a DEFINITE remaining track — no dependence on in-flow children (nav/main are absolute for the rail slide). */ .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; } /* HEADER-OFF (header=false, e.g. the cap-5 doxa-maps-spa): the .vtl-top element is NOT rendered, so .vtl-body becomes the ONLY grid child and auto-places into row 1 — the auto row — which has no content to size it and collapses to 0 (the 1fr row sits empty) → the same 0-height black screen. With no header there is only one region, so declare a single 1fr row and the body fills. */ .vtl.no-header { grid-template-rows:1fr; } /* MATERIAL APP BAR = 64px desktop / 56px mobile (2026-09-21), was 51px from 11px padding. Stated as an explicit min-height rather than left to padding arithmetic, so the number a reader sees is the number that renders. min-height keeps a wrapping title from clipping. ★ box-sizing:border-box IS LOAD-BEARING HERE. Without it this element is content-box, so min-height:64px MEASURED 81px live: 64 + 16px vertical padding + 1px border. A height stated in a comment is worth nothing if the box model adds to it — measure the rendered value, do not trust the declaration. (Found exactly that way: the probe read 81 against a 64 target.) THIS RULE EXISTS TWICE (VTL_SHADOW_CSS and the scoped style block); keep them identical. */ .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; } /* Headerless-mobile drawer opener. Only ever rendered when narrow AND header-off AND the drawer is shut, so it cannot appear in any layout that already has a working toggle. z-index sits ABOVE the content but BELOW the drawer (.vtl-nav is z-index:20) so the drawer covers it when it slides in. 44px is the minimum comfortable touch target; the safe-area insets keep it clear of an iOS home indicator and a notch in landscape. */ .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; } /* GRID ROWS, not flex (BUG-EMBEDDED-PLUGIN-STUDIO-BLACK-SCREEN). The collapsible-rail design makes .vtl-nav and .vtl-main position:absolute (so the rail slides by transform without reflowing the heavy map sibling). That leaves .vtl-body with NO in-flow children → ZERO intrinsic height, so it could only fill via flex:1 from a flex parent. A host that forces display:block on .vtl (the app-shell direct-mounts cap-5 elements that way) made that flex inert → .vtl-body collapsed to 0 → black screen. The auto/1fr grid on .vtl gives this row a DEFINITE height by construction, so it no longer depends on the parent's display mode NOR on in-flow children. Header-off (header=false) still works: the auto row collapses to 0 and 1fr takes the full height. */ .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; } /* Thin OVERLAY scrollbar: transparent track so the bar costs no visual space and sits flush to the nav edge; low-contrast thumb that darkens on hover. Matches the research-dashboard rails. */ .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; } /* MATERIAL NAV-ROW METRICS (2026-09-21). product owner: "people are used to the YouTube layout, Google layout is just way better. We do not need to create custom styles people are not used to." Measured before this change: 44px rows with an 8px radius. min-height:48px the Material list-item height. min-height, not height, so a wrapping label still grows instead of clipping. border-radius var(--vtl-radius,8px) — SUPERSEDED THE FULL PILL (2026-09-23). The 999px stadium above was a real instruction ("imitate the YouTube active row") and it shipped. The product owner then measured it against the rest of the product and reversed it: "the roundedness of the tabs is a little bit too round because there is nowhere else in the app that has that same roundedness. Even the collapse button is not that round... it looks more material UI to have a more rounded tab than a less circular tab." He is right on the facts — .vtl-collapse is 8px, the filter toggles in @map/components/search are 8px, and 8px is already the most common radius in this file. A 999px radius on a 48px row is a stadium, which is why it reads as foreign beside everything else. ★ DO NOT "RESTORE" THE PILL on the strength of the YouTube rationale above — that rationale is kept because it is true history, not because it is current. The 48px Material row height is unaffected and stays. NOT VENDORED: the card's law is to imitate the metrics in our own CSS, never to add Quasar or MUI. Same clone-dont-edit rule the library follows everywhere else. THIS RULE EXISTS TWICE (VTL_SHADOW_CSS and the scoped style block) and the two copies must stay byte-identical — edit both or neither. */ .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; } /* ★ contain:layout, NOT layout paint (BUG-STILL-CANNOT-SCROLL-DOWN-TO-THE-GRID, measured 2026-09-22). layout is the half that does the work the rail collapse needs — it isolates this subtree so sliding the rail never reflows a heavy mounted map. paint additionally CLIPS the subtree to this box, which silently swallowed every pixel a scroll-stack composite rendered below one viewport. The clipping now belongs to .vtl-host, which owns a real scrollbar, so the content is both contained AND reachable. Dropping paint costs the collapse nothing: paint never contributed reflow isolation, only clipping. */ .vtl-content { flex:1 1 auto; position:relative; min-height:0; contain:layout; } /* ★ THE PANE OWNS THE SCROLL (BUG-STILL-CANNOT-SCROLL-DOWN-TO-THE-GRID). Measured in the cap-5 shell: the dashboard-plus-grid composite mounted here reported scrollHeight 3380 / clientHeight 769 — 2611px of real, mounted, populated content (the people-groups grid, h=2586) that NO element could scroll to, because this box was position:absolute; inset:0 with the default overflow:visible. The document itself measured scrollHeight 900 === clientHeight 900, so a wheel gesture anywhere had nothing to move and the page simply sat still. THIS IS A HOST GAP, NOT A PLUGIN BUG. The same composite is PERFECT standalone (document 2960/900, wheel scrolls to 2060, grid reachable) because its generated leaf sets body{overflow-y:auto} — the document owns the scroll there. In this shell the pane is pinned to viewport height and no ancestor scrolls, so the layout must own it. generate-tree.mjs keeps cap-5 leaves fixed-viewport on the reasoning that "any scroll-stack it hosts is its OWN iframe leaf" — but the studio documents "there is NO iframe mode": every tab mounts its REAL custom element directly into this pane. So the scroll has to land here. WHY THIS IS SAFE FOR THE FIXED-VIEWPORT MAP TABS, which are the majority. A map element ships position:absolute; inset:0 (or height:100%) and therefore fills this box exactly: scrollHeight === clientHeight, so auto yields NO scrollbar and NOTHING changes for them. Only a pane whose content genuinely exceeds one viewport — i.e. a StackLayout scroll-stack, which is the composite that is meant to scroll — gets one. auto is load-bearing; scroll would paint a dead scrollbar on all 19 map tabs. overscroll-behavior:contain stops a wheel that bottoms out here from chaining to the document. */ .vtl-host { position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; --profile-min-h:0; } /* The slot is the element's mount point. It must NOT be position:absolute; inset:0 any more: that pinned it to the pane's height and re-created the exact trap one level down — an absolutely positioned child cannot grow a scroll container. min-height:100% keeps a fixed-viewport map filling the pane (the behaviour absolute-inset gave it) while letting a taller scroll-stack composite push the pane's scrollHeight past its clientHeight, which is what produces the scrollbar. */ .vtl-host-slot { position:relative; min-height:100%; } /* ★ THE dvh FLOOR, NEUTRALISED FOR HOSTED ELEMENTS (measured 2026-09-22 in the studio, same layout shape). A hosted map ships .profile-loader { height:100%; min-height:100dvh }, and the two resolve against DIFFERENT bases: height:100% against this pane, min-height:100dvh against the VIEWPORT. Wherever the pane is shorter than the viewport (any header/toolbar chrome above it), the floor wins, the element overflows by exactly that chrome height, and the overflow-y:auto above then correctly paints a scrollbar on a fixed-viewport map that should never have one. The floor is DELIBERATE and must stay in the element (standalone it prevents a collapse to 0 against an auto-height body). It is only wrong HERE, against a definite shorter pane. A genuine scroll-stack composite is unaffected: it exceeds the pane on its own content, not on this floor. */ .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); } /* MATERIAL MINI-VARIANT RAIL = 72px (2026-09-21), up from 60px. ★ THE COLLAPSE IS A TRANSLATE, NOT A WIDTH CHANGE — so FOUR numbers are coupled and must move together, which is precisely where a partial edit would break the layout: nav translate -184px the 256px rail slides left, leaving 256-184 = 72px visible main left 72px the content pane starts exactly where the rail ends collapse pad 184px pushes the toggle's icon into the 72px strip that stays on screen tab pad 188px the same for each row's icon (4px more, matching the old 196/200 pair) Change one without the others and the icons drift out of the visible strip or the content overlaps the rail. Old values were -196 / 60 / 196 / 200. THIS BLOCK EXISTS TWICE (VTL_SHADOW_CSS and the scoped style block); keep them byte-identical. */ .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) { /* Material app bar is 56px on mobile, 64px on desktop — the desktop value is set above. */ .vtl-top { min-height:56px; } .vtl-menu { display:inline-block; } .vtl-meta { display:none; } /* MOBILE = the SAME composited-transform model, taken to its full-off-canvas extreme: a full-width drawer that slides in/out via transform (never a layout property), so opening/closing the drawer never reflows the content. Content is full-width (left:0) and stays put; the drawer floats over it. */ .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); } .vtl-main { left:0; } /* The desktop slim-rail collapse has no meaning on a phone — reconcileForWidth() clears railCollapsed at this width, but neutralize its CSS too (belt-and-suspenders) so a full labelled drawer always shows: no partial slide, no icon-column padding, labels/sections visible. */ .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; } } `,ia=Xs({name:"VerticalTabsLayout",props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){uo(sa,"vertical-tabs-layout")},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{}}},computed:{railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const s of t.rows||[])e.push(s);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},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(s=>s.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(i=>i.key===e),s=this._hostSlots[e];!t||!s||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},ea(t.src).then(()=>ta(t.element)).then(()=>{s.innerHTML="";const i=document.createElement(t.element),n=t.attrs||{};for(const o in n){const l=n[o],r=l!=null&&typeof l=="object"?JSON.stringify(l):String(l);try{i[o]=l}catch{}try{i.setAttribute(o,r)}catch{}}i.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",s.appendChild(i),this.hostState={...this.hostState,[e]:"ready"}}).catch(i=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:i&&i.message||String(i)}}))},iconSvg(e){return e?Zr(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],s=(this.groups||[]).find(n=>n.key===e),i=t??(s&&s.open===!0);this.folderOverride={...this.folderOverride,[e]:!i}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const s=t.indexOf(this.active);let i=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")i=(s+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")i=(s-1+t.length)%t.length;else if(e.key==="Home")i=0;else if(e.key==="End")i=t.length-1;else return;e.preventDefault();const n=t[i];this.pick(n),this.$nextTick(()=>{const o=this._tabEls[n];o&&o.focus&&o.focus()})}}}),na={key:0,class:"vtl-top"},oa=["aria-expanded"],la={class:"vtl-brand"},ra={class:"vtl-title"},aa={class:"vtl-meta"},ca=["aria-expanded"],da={class:"vtl-body"},fa=["aria-label","aria-hidden"],ua=["aria-expanded","aria-label"],pa=["innerHTML"],ha=["aria-expanded","onClick"],ga={class:"vtl-tl"},va=["innerHTML"],ba={key:1,class:"vtl-tier"},ma={key:0,class:"vtl-cap"},xa={class:"vtl-tl"},ya={key:1,class:"vtl-td"},_a={class:"vtl-rows"},wa=["aria-selected","tabindex","onClick"],Sa=["innerHTML"],Ea={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Ta={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Ca={class:"vtl-tab-text"},ka={class:"vtl-tab-label"},Oa={key:0,class:"vtl-tab-badge"},Aa={key:0,class:"vtl-tab-sub"},Ma=["innerHTML"],Ra=["aria-selected","tabindex","onClick"],Pa=["innerHTML"],La={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Ia={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Na={class:"vtl-tab-text"},Ha={class:"vtl-tab-label"},Da={key:0,class:"vtl-tab-sub"},Fa={class:"vtl-main"},$a={class:"vtl-content"},ja=["hidden"],Ua={key:0,class:"vtl-host-hint"},Va={key:1,class:"vtl-host-hint err"};function Ba(e,t,s,i,n,o){return P(),I("div",{class:Ke(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}])},[e.header?(P(),I("header",na,[C("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=l=>e.navOpen=!e.navOpen),"aria-label":"Toggle list"},"☰",8,oa),C("span",la,[cs(e.$slots,"brand")]),C("b",ra,F(e.title),1),C("span",aa,[cs(e.$slots,"meta")])])):oe("",!0),e.narrow&&!e.header&&!e.navOpen?(P(),I("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=l=>e.navOpen=!0),"aria-label":"Open the list of views"},"☰",8,ca)):oe("",!0),C("div",da,[C("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:"tablist","aria-orientation":"vertical"},[C("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?"Expand list":"Collapse list",onClick:t[2]||(t[2]=(...l)=>e.toggleRail&&e.toggleRail(...l))},[C("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,pa),t[5]||(t[5]=C("span",{class:"vtl-collapse-tx"},"Collapse",-1))],8,ua),e.groups&&e.groups.length?(P(!0),I(ee,{key:0},ft(e.groups,l=>(P(),I("div",{class:"vtl-grp",key:l.key},[l.folder?(P(),I("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(l)),onClick:r=>e.toggleFolder(l.key)},[C("span",ga,F(l.label),1),C("span",{class:Ke(["vtl-chev",{open:!e.isFolderClosed(l)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,va)],8,ha)):(P(),I("div",ba,[l.badge?(P(),I("span",ma,F(l.badge),1)):oe("",!0),C("span",xa,F(l.label),1),l.count!=null?(P(),I("span",ya,F(l.count),1)):oe("",!0)])),Gs(C("div",_a,[(P(!0),I(ee,null,ft(l.rows,r=>(P(),I("button",{key:r.key,type:"button",role:"tab",class:Ke(["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:a=>e.registerTab(r.key,a),onClick:a=>e.pick(r.key),onKeydown:t[3]||(t[3]=a=>e.onKey(a))},[r.icon?(P(),I("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,Sa)):r.emoji?(P(),I("span",Ea,F(r.emoji),1)):(P(),I("span",Ta,F(e.initial(r.label)),1)),C("span",Ca,[C("span",ka,[ht(F(r.label),1),r.badge?(P(),I("span",Oa,F(r.badge),1)):oe("",!0)]),r.sub?(P(),I("span",Aa,[C("span",{innerHTML:r.sub},null,8,Ma)])):oe("",!0)])],42,wa))),128))],512),[[fi,!l.folder||!e.isFolderClosed(l)]])]))),128)):(P(!0),I(ee,{key:1},ft(e.items,l=>(P(),I("button",{key:l.key,type:"button",role:"tab",class:Ke(["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?(P(),I("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Pa)):l.emoji?(P(),I("span",La,F(l.emoji),1)):(P(),I("span",Ia,F(e.initial(l.label)),1)),C("span",Na,[C("span",Ha,F(l.label),1),l.sub?(P(),I("span",Da,F(l.sub),1)):oe("",!0)])],42,Ra))),128))],8,fa),C("main",Fa,[e.header?cs(e.$slots,"toolbar",{},void 0,void 0,0):oe("",!0),C("div",$a,[(P(!0),I(ee,null,ft(e.mountedElementRows,l=>Gs((P(),I("section",{key:l.key,class:"vtl-host",hidden:l.key!==e.active},[C("div",{class:"vtl-host-slot",ref_for:!0,ref:r=>e.setHostSlot(l.key,r)},null,512),e.hostState[l.key]==="loading"?(P(),I("div",Ua,"Loading "+F(l.label)+"…",1)):e.hostState[l.key]==="error"?(P(),I("div",Va,[ht(" Could not load "+F(l.label)+".",1),t[6]||(t[6]=C("br",null,null,-1)),C("small",null,F(e.hostError[l.key]),1)])):oe("",!0)],8,ja)),[[fi,l.key===e.active]])),128)),cs(e.$slots,"default")])])])],2)}const Wa=ho(ia,[["render",Ba],["styles",[Qr]]]),gi=[{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}],za=gi.filter(e=>!e.hideFromSwitcher);function Ka(e){return gi.find(t=>t.code===e)}function go(e){const t=String(e||"").split("-")[0].toLowerCase();return gi.some(s=>s.code===t)?t:"en"}const vo="doxa-maps:locale";function Ga(){try{const e=localStorage.getItem(vo);if(e)return go(e)}catch{}return go(navigator==null?void 0:navigator.language)}function qa(e){try{localStorage.setItem(vo,e)}catch{}}const Ja=".ps-logo{display:inline-flex;align-items:center}.ps-logo svg{display:block}.ps-count{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-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}",Ya=` .ps-logo { display:inline-flex; align-items:center; } .ps-logo svg { display:block; } .ps-count { 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-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; } /* ★ THE PANE OWNS THE SCROLL (BUG-STILL-CANNOT-SCROLL-DOWN-TO-THE-GRID, measured 2026-09-22). A scroll-stack composite (dashboard-plus-grid: an 88svh dashboard band + the people-groups grid below it) mounted here measured scrollHeight 3380 / clientHeight 769 — 2611px of real, mounted, populated content that NO element could scroll to, because this pane was position:absolute; inset:0 with the default overflow:visible inside a .ps-stage that is overflow:hidden. Document scrollHeight was 900, exactly === clientHeight, so a wheel gesture had nothing to move. The identical composite is PERFECT standalone (document 2960/900, wheel reaches 2060) because its generated leaf gives the DOCUMENT the scroll — a host that pins the pane to viewport height has to own that scroll itself. auto, not scroll: only a pane whose content really exceeds its box gets a scrollbar, so the map tabs stay scrollbar-free (see the dvh floor note below, which is what makes that true). */ .ps-pane { position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; --profile-min-h:0; } /* NOT absolute-inset: that pinned the mount point to the pane's height and re-created the same trap one level down (an absolutely positioned child cannot grow a scroll container). min-height:100% keeps a fixed-viewport map filling the pane while letting a taller composite grow it. */ .ps-slot { position:relative; min-height:100%; } /* ★ THE dvh FLOOR, NEUTRALISED FOR HOSTED ELEMENTS (measured 2026-09-22, caught by the regression check on this very fix — my first version of the rule above was WRONG about this). I claimed a fixed-viewport map "fills this box exactly, so auto is a no-op for it". It is not. doxa-research-map ships .profile-loader { height:100%; min-height:100dvh }, and those two resolve against DIFFERENT bases: height:100% against the pane (769px here, because the pane sits inside a .ps-stage inset by the studio chrome), min-height:100dvh against the VIEWPORT (900px). The floor wins, the element is 131px taller than its container, and overflow:auto then correctly reported a scrollbar on a map tab that should never have one — a real regression my reasoning had ruled out. The dvh floor is deliberate and must stay for the STANDALONE leaf, where it fixes the opposite bug (BUG-UPG100-NESTED-ELEMENTS-ZERO-HEIGHT: min-height:100% against a body with no definite height collapses to 0). It is only wrong HERE, where the pane is a definite box shorter than the viewport. So neutralise it on the hosted subtree rather than editing the map: a direct child of a studio pane is bounded by the PANE. A taller-than-viewport scroll-stack composite is unaffected — it grows past this floor on its own content, which is what makes the grid reachable. ★ AND --profile-min-h:0 ON THE PANE, which is the half that actually does the work. Sizing the host is NOT enough, and measuring proved it: the host correctly became 769px while the pane still overflowed by exactly 131px, because .profile-loader lives INSIDE the map's SHADOW ROOT at min-height:100dvh and a host-page SELECTOR cannot reach into a shadow tree. Inherited properties CAN, so ProfileLoader.vue now reads min-height:var(--profile-min-h, 100dvh) and this pane sets it to 0 — the floor keeps its default everywhere else, including every standalone leaf where it still fixes BUG-UPG100. ★ NOT overflow:clip, which I tried first and MEASURED as wrong: it bounded the map (good) but ALSO bounded the scroll-stack composite, whose host box is the pane height while its content is 3380px — so the grid became unreachable again and the gate went straight back to 0px scrolled. One blanket rule cannot serve both; the variable targets the actual culprit instead. */ .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; } `,Xa={5:"App shell · nested-mfe-spa",4:"Composite element",3:"Multi-view element",2:"Preset element",1:"Single element"},bo={"nested-mfe-spa":0,"nested-elements-mfe":1,monolithic:2,parameterized:3,single:4},Za=e=>bo[e]!=null?5-bo[e]:1,Qa={5:"🧩",4:"🔗",3:"🗂️",2:"🎛️",1:"🔹"},mo=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"]),Dt={};function ec(e,t){return Dt[e]||(Dt[e]=new Promise((s,i)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>s(),n.onerror=()=>{delete Dt[e],i(new Error("failed to load "+e))},document.head.appendChild(n)})),Dt[e]}function tc(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>{customElements.get(e)||i(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}const sc=Xs({name:"PluginStudio",components:{VerticalTabsLayout:Wa},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},heading:{type:String,default:"Plugin Studio"},tokenUrl:{type:String,default:""},tk:{type:String,default:""}},setup(){return uo(Ya,"plugin-studio"),{injectedBase:Tt("psTreeBase","")}},data(){return{activeKey:"",embedOpen:!1,locale:Ga(),localeOpen:!1,switcherLangs:za,rows:[]}},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:Xa[t]||"capability "+t,rows:e[t]}))},navGroups(){const e=t=>String(t).replace(/&/g,"&").replace(//g,">");return this.groups.map(t=>({key:"cap-"+t.cap,badge:"CAP "+t.cap,label:t.label,count:t.rows.length,rows:t.rows.map(s=>({key:s.key,label:s.label,emoji:s.emoji,sub:"<"+e(s.tag)+">"}))}))},active(){return this.rows.find(e=>e.key===this.activeKey)||null},countLabel(){return new Set(this.rows.map(t=>t.bundle)).size+" bundles · "+this.rows.length+" elements"},activeLang(){return Ka(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}}},mounted(){this.loadManifest()},methods:{setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},setLocale(e){this.locale=e,this.localeOpen=!1,qa(e);try{const t=this.active,s=this._slots&&this._slots[this.activeKey],i=s&&s.firstElementChild;if(i&&i.setAttribute&&t){const n={profile:t.label,instanceId:"ps-"+this.activeKey.replace(/\//g,"-"),locale:e};(this.tk||this.cfg.tk)&&(n.tk=this.tk||this.cfg.tk),i.setAttribute("profile-config",JSON.stringify(n))}}catch{}},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const s=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+s:"../"+s},loadManifest(){const e=s=>{this.rows=this.rowsFromManifest(s),this.route()},t=typeof window<"u"&&window.__psBaked||null;if(typeof fetch=="function"&&typeof location<"u"&&location.protocol!=="file:"){const s=this.base?this.resolve("manifest.json"):"../manifest.json";fetch(s,{cache:"no-cache"}).then(i=>i.ok?i.json():null).then(i=>e(i||t||{bundles:[]})).catch(()=>e(t||{bundles:[]}))}else e(t||{bundles:[]})},rowsFromManifest(e){const t=[];for(const s of e.bundles||[])if(s.bundle!=="plugin-studio")for(const i of s.profiles||[]){const n=i.element||s.elements&&s.elements[0]||s.bundle,o=Za(i.type||"single"),l=mo.has(n)||mo.has(s.bundle);t.push({key:s.bundle+"/"+i.profile,bundle:s.bundle,label:i.profile,tag:n,cap:o,emoji:Qa[o]||"🔹",description:i.description||"",heavy:l,bundleJs:s.scriptUrl||s.bundle+"/"+s.bundle+".js",embed:i.embed&&i.embed.script||"",mounted:!1,state:"idle",error:""})}return t.sort((s,i)=>i.cap-s.cap||s.bundle.localeCompare(i.bundle)||s.label.localeCompare(i.label)),t},route(){const e=(typeof location<"u"&&location.hash||"").replace(/^#\/?/,"");if(e&&this.rows.some(s=>s.key===e)){this.select(e);return}const t=this.readLastTab();if(t&&this.rows.some(s=>s.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){const t=this.activeKey;if(this.activeKey=e,this.embedOpen=!1,t&&t!==e){const i=this.rows.find(n=>n.key===t);i&&i.heavy&&i.mounted&&this.releaseRow(i)}const s=this.rows.find(i=>i.key===e);s&&(this.writeLastTab(e),s.mounted||this.$nextTick(()=>{this.activeKey===s.key&&this.mountElement(s)}))},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=""},mountElement(e){e.mounted=!0,e.state="loading";const t=this.resolve(e.bundleJs);ec(t).then(()=>tc(e.tag)).then(()=>{try{if(e.heavy&&this.activeKey!==e.key){e.mounted=!1,e.state="idle";return}const s=this._slots&&this._slots[e.key];if(!s){e.state="error",e.error="no slot";return}s.innerHTML="";const i=document.createElement(e.tag),n={profile:e.label,instanceId:"ps-"+e.key.replace(/\//g,"-"),locale:this.locale};(this.tk||this.cfg.tk)&&(n.tk=this.tk||this.cfg.tk),(this.tokenUrl||this.cfg.tokenUrl)&&(n.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.base&&(n.treeBase=this.base),i.setAttribute("profile-config",JSON.stringify(n)),i.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",s.appendChild(i),e.state="ready"}catch(s){e.state="error",e.error="mount failed: "+(s&&s.message||String(s))}}).catch(s=>{e.state="error",e.error=s&&s.message||String(s)})},copyText(e,t){const s=()=>{const i=t.textContent;t.textContent="Copied",setTimeout(()=>{t.textContent=i},1200)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(s,()=>{});else try{const i=document.createElement("textarea");i.value=e,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i),s()}catch{}}}}),ic={class:"ps-count"},nc={class:"ps-locale"},oc=["aria-expanded"],lc={class:"ps-flag"},rc={class:"ps-locale-name"},ac={key:0,class:"ps-locale-menu",role:"listbox"},cc=["aria-selected"],dc=["onClick"],fc={class:"ps-flag"},uc={class:"ps-locale-name"},pc={class:"ps-locale-en"},hc={key:0,class:"ps-toolbar"},gc={class:"ps-bar"},vc={class:"ps-bar-t"},bc={class:"ps-bar-sub"},mc={key:0},xc=["aria-expanded"],yc={key:0,class:"ps-embed"},_c=["value"],wc={class:"ps-stage"},Sc=["hidden"],Ec={key:0,class:"ps-hint"},Tc={key:1,class:"ps-hint err"},Cc={key:0,class:"ps-hint"};function kc(e,t,s,i,n,o){const l=Ll("VerticalTabsLayout");return P(),ps(l,{title:e.heading,"nav-label":"Plugin elements · by capability 5 → 1",header:!0,groups:e.navGroups,active:e.activeKey,"onUpdate:active":e.select},{brand:Et(()=>[...t[3]||(t[3]=[C("span",{class:"ps-logo","aria-hidden":"true"},[C("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C("path",{d:"M10 3v3M14 3v3M7 6h10v5a5 5 0 0 1-10 0V6Z"}),C("path",{d:"M12 16v5"})])],-1)])]),meta:Et(()=>[C("span",ic,F(e.countLabel),1),C("span",nc,[C("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":"Change language",onClick:t[0]||(t[0]=r=>e.localeOpen=!e.localeOpen)},[C("span",lc,F(e.activeLang.flag),1),C("span",rc,F(e.activeLang.nativeName),1),t[4]||(t[4]=C("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,oc),e.localeOpen?(P(),I("ul",ac,[(P(!0),I(ee,null,ft(e.switcherLangs,r=>(P(),I("li",{key:r.code,role:"option","aria-selected":String(r.code===e.locale)},[C("button",{type:"button",class:Ke(["ps-locale-opt",{active:r.code===e.locale}]),onClick:a=>e.setLocale(r.code)},[C("span",fc,F(r.flag),1),C("span",uc,F(r.nativeName),1),C("span",pc,F(r.name),1)],10,dc)],8,cc))),128))])):oe("",!0)])]),toolbar:Et(()=>[e.active?(P(),I("div",hc,[C("div",gc,[C("div",vc,[C("b",null,F(e.active.label),1),C("span",bc,[ht(F(e.active.bundle)+" · <"+F(e.active.tag)+">",1),e.active.description?(P(),I("span",mc," · "+F(e.active.description),1)):oe("",!0)])]),e.active.embed?(P(),I("button",{key:0,type:"button",class:"ps-btn","aria-expanded":String(e.embedOpen),onClick:t[1]||(t[1]=r=>e.embedOpen=!e.embedOpen)},"Copy embed",8,xc)):oe("",!0)]),e.embedOpen&&e.active.embed?(P(),I("div",yc,[C("label",null,[t[5]||(t[5]=ht("script embed ",-1)),C("button",{type:"button",class:"ps-btn",onClick:t[2]||(t[2]=r=>e.copyText(e.active.embed,r.target))},"Copy")]),C("textarea",{readonly:"",value:e.active.embed},null,8,_c)])):oe("",!0)])):oe("",!0)]),default:Et(()=>[C("div",wc,[(P(!0),I(ee,null,ft(e.flatRows,r=>Gs((P(),I("section",{key:r.key,class:"ps-pane",hidden:r.key!==e.activeKey},[!r.heavy||r.key===e.activeKey?(P(),I(ee,{key:0},[C("div",{class:"ps-slot",ref_for:!0,ref:a=>e.setSlot(r.key,a)},null,512),r.state==="loading"?(P(),I("div",Ec,"Loading "+F(r.label)+"…",1)):r.state==="error"?(P(),I("div",Tc,[ht(" Could not load "+F(r.label)+".",1),t[6]||(t[6]=C("br",null,null,-1)),C("small",null,F(r.error),1)])):oe("",!0)],64)):oe("",!0)],8,Sc)),[[fi,r.key===e.activeKey]])),128)),e.activeKey?oe("",!0):(P(),I("div",Cc,"Choose an element from the list."))])]),_:1},8,["title","groups","active","onUpdate:active"])}const Oc=ho(sc,[["render",kc],["styles",[Ja]]]);function Ac(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const Mc=Ac(),Rc=zr(Oc,{configureApp(e){e.provide("psTreeBase",Mc)}});typeof customElements<"u"&&!customElements.get("plugin-studio")&&customElements.define("plugin-studio",Rc)})();