home-hosted 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +103 -15
- package/NOTIFICATIONS.md +69 -0
- package/README.md +208 -179
- package/SERVERS.md +101 -0
- package/UI_CREATION.md +104 -77
- package/dist/cli.js +1197 -142
- package/dist/cli.js.map +1 -1
- package/package.json +12 -4
- package/uis/stock/dist/assets/index-DOD80X00.css +2 -0
- package/uis/stock/dist/assets/index-x_wy1ycR.js +47 -0
- package/uis/stock/dist/index.html +2 -2
- package/uis/stock/dist/assets/index-CmkrtNU0.css +0 -2
- package/uis/stock/dist/assets/index-DqcdQi-W.js +0 -47
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function n(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var r={},i=[],a=()=>{},o=()=>!1,s=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),c=e=>e.startsWith(`onUpdate:`),l=Object.assign,u=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},d=Object.prototype.hasOwnProperty,f=(e,t)=>d.call(e,t),p=Array.isArray,m=e=>w(e)===`[object Map]`,h=e=>w(e)===`[object Set]`,g=e=>w(e)===`[object Date]`,_=e=>w(e)===`[object RegExp]`,v=e=>typeof e==`function`,y=e=>typeof e==`string`,b=e=>typeof e==`symbol`,x=e=>typeof e==`object`&&!!e,S=e=>(x(e)||v(e))&&v(e.then)&&v(e.catch),C=Object.prototype.toString,w=e=>C.call(e),T=e=>w(e).slice(8,-1),ee=e=>w(e)===`[object Object]`,E=e=>y(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,te=n(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ne=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},re=/-\w/g,ie=ne(e=>e.replace(re,e=>e.slice(1).toUpperCase())),ae=/\B([A-Z])/g,oe=ne(e=>e.replace(ae,`-$1`).toLowerCase()),se=ne(e=>e.charAt(0).toUpperCase()+e.slice(1)),ce=ne(e=>e?`on${se(e)}`:``),D=(e,t)=>!Object.is(e,t),le=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},ue=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},de=e=>{let t=parseFloat(e);return isNaN(t)?e:t},fe=e=>{let t=y(e)?Number(e):NaN;return isNaN(t)?e:t},pe,me=()=>pe||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{},he=n(`Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol`);function ge(e){if(p(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=y(r)?be(r):ge(r);if(i)for(let e in i)t[e]=i[e]}return t}if(y(e)||x(e))return e}var _e=/;(?![^(]*\))/g,ve=/:([^]+)/,ye=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function be(e){let t={};return e.replace(ye,e=>e.startsWith(`/*`)?``:e).split(_e).forEach(e=>{if(e){let n=e.split(ve);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function O(e){let t=``;if(y(e))t=e;else if(p(e))for(let n=0;n<e.length;n++){let r=O(e[n]);r&&(t+=r+` `)}else if(x(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}function xe(e){if(!e)return null;let{class:t,style:n}=e;return t&&!y(t)&&(e.class=O(t)),n&&(e.style=ge(n)),e}var Se=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,Ce=n(Se);Se+``;function we(e){return!!e||e===``}function Te(e,t,n){if(e.length!==t.length)return!1;let r=!0;for(let i=0;r&&i<e.length;i++)r=ke(e[i],t[i],n);return r}function Ee(e,t,n){if(e.size!==t.size)return!1;let r=Array.from(t),i=new Uint8Array(r.length);for(let t of e){let e=-1;for(let a=0;a<r.length;a++)if(!i[a]&&ke(t,r[a],n)){e=a;break}if(e<0)return!1;i[e]=1}return!0}function De(e,t,n){let r=m(e),i=m(t);if(r||i||(r=h(e),i=h(t),r||i))return r&&i?Ee(e,t,n):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e){let i=e.hasOwnProperty(r),a=t.hasOwnProperty(r);if(i&&!a||!i&&a||!ke(e[r],t[r],n))return!1}return String(e)===String(t)}function Oe(e,t,n,r){n||=[new Map,new Map];let[i,a]=n;if(i.has(e)||a.has(t))return i.get(e)===t&&a.get(t)===e;i.set(e,t),a.set(t,e);let o=r(e,t,n);return i.delete(e),a.delete(t),o}function ke(e,t,n){if(e===t)return!0;let r=g(e),i=g(t);return r||i?r&&i?e.getTime()===t.getTime():!1:(r=b(e),i=b(t),r||i?e===t:(r=p(e),i=p(t),r||i?r&&i?Oe(e,t,n,Te):!1:(r=x(e),i=x(t),r||i?!r||!i?!1:Oe(e,t,n,De):String(e)===String(t))))}function Ae(e,t){return e.findIndex(e=>ke(e,t))}var je=e=>!!(e&&e.__v_isRef===!0),k=e=>y(e)?e:e==null?``:p(e)||x(e)&&(e.toString===C||!v(e.toString))?je(e)?k(e.value):JSON.stringify(e,Me,2):String(e),Me=(e,t)=>je(t)?Me(e,t.value):m(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ne(t,r)+` =>`]=n,e),{})}:h(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ne(e))}:b(t)?Ne(t):x(t)&&!p(t)&&!ee(t)?String(t):t,Ne=(e,t=``)=>b(e)?`Symbol(${e.description??t})`:e;function Pe(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var Fe,Ie=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&Fe&&(Fe.active?(this.parent=Fe,this.index=(Fe.scopes||(Fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].pause()}for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}let n=this.effects.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}}run(e){if(this._active){let t=Fe;try{return Fe=this,e()}finally{Fe=t}}}on(){++this._on===1&&(this.prevScope=Fe,Fe=this)}off(){if(this._on>0&&--this._on===0){if(Fe===this)Fe=this.prevScope;else{let e=Fe;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){let e=this.scopes.slice();for(t=0,n=e.length;t<n;t++)e[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Le(e){return new Ie(e)}function Re(){return Fe}function ze(e,t=!1){Fe&&Fe.cleanups.push(e)}var Be,Ve=new WeakSet,He=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Fe&&(Fe.active?Fe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ve.has(this)&&(Ve.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ke(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,st(this),Ye(this);let e=Be,t=rt;Be=this,rt=!0;try{return this.fn()}finally{Xe(this),Be=e,rt=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)$e(e);this.deps=this.depsTail=void 0,st(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ve.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ze(this)&&this.run()}get dirty(){return Ze(this)}},Ue=0,We,Ge;function Ke(e,t=!1){if(e.flags|=8,t){e.next=Ge,Ge=e;return}e.next=We,We=e}function qe(){Ue++}function Je(){if(--Ue>0)return;if(Ge){let e=Ge;for(Ge=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;We;){let t=We;for(We=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Ye(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xe(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),$e(r),et(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Ze(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qe(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qe(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ct)||(e.globalVersion=ct,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ze(e))))return;e.flags|=2;let t=e.dep,n=Be,r=rt;Be=e,rt=!0;try{Ye(e);let n=e.fn(e._value);(t.version===0||D(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Be=n,rt=r,Xe(e),e.flags&=-3}}function $e(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)$e(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function et(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function tt(e,t){e.effect instanceof He&&(e=e.effect.fn);let n=new He(e);t&&l(n,t);try{n.run()}catch(e){throw n.stop(),e}let r=n.run.bind(n);return r.effect=n,r}function nt(e){e.effect.stop()}var rt=!0,it=[];function at(){it.push(rt),rt=!1}function ot(){let e=it.pop();rt=e===void 0||e}function st(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Be;Be=void 0;try{t()}finally{Be=e}}}var ct=0,lt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},ut=class{constructor(e){this.computed=e,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(e){if(!Be||!rt||Be===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Be)t=this.activeLink=new lt(Be,this),Be.deps?(t.prevDep=Be.depsTail,Be.depsTail.nextDep=t,Be.depsTail=t):Be.deps=Be.depsTail=t,dt(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Be.depsTail,t.nextDep=void 0,Be.depsTail.nextDep=t,Be.depsTail=t,Be.deps===t&&(Be.deps=e)}return t}trigger(e){this.version++,ct++,this.notify(e)}notify(e){qe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Je()}}};function dt(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)dt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var ft=new WeakMap,pt=Symbol(``),mt=Symbol(``),ht=Symbol(``);function gt(e,t,n){if(rt&&Be){let t=ft.get(e);t||ft.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new ut),r.map=t,r.key=n),r.track()}}function _t(e,t,n,r,i,a){let o=ft.get(e);if(!o){ct++;return}let s=e=>{e&&e.trigger()};if(qe(),t===`clear`)o.forEach(s);else{let i=p(e),a=i&&E(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===ht||!b(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(ht)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(pt)),m(e)&&s(o.get(mt)));break;case`delete`:i||(s(o.get(pt)),m(e)&&s(o.get(mt)));break;case`set`:m(e)&&s(o.get(pt))}}Je()}function vt(e,t){let n=ft.get(e);return n&&n.get(t)}function yt(e){let t=un(e);return t===e||(gt(t,`iterate`,ht),cn(e))?t:sn(e)?on(e)?t.map(e=>pn(fn(e))):t.map(pn):t.map(fn)}function bt(e){return gt(e=un(e),`iterate`,ht),e}function xt(e,t){return sn(e)?pn(on(e)?fn(t):t):fn(t)}var St={__proto__:null,[Symbol.iterator](){return Ct(this,Symbol.iterator,e=>xt(this,e))},concat(...e){return yt(this).concat(...e.map(e=>p(e)?yt(e):e))},entries(){return Ct(this,`entries`,e=>(e[1]=xt(this,e[1]),e))},every(e,t){return Tt(this,`every`,e,t,void 0,arguments)},filter(e,t){return Tt(this,`filter`,e,t,e=>e.map(e=>xt(this,e)),arguments)},find(e,t){return Tt(this,`find`,e,t,e=>xt(this,e),arguments)},findIndex(e,t){return Tt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Tt(this,`findLast`,e,t,e=>xt(this,e),arguments)},findLastIndex(e,t){return Tt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Tt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Dt(this,`includes`,e)},indexOf(...e){return Dt(this,`indexOf`,e)},join(e){return yt(this).join(e)},lastIndexOf(...e){return Dt(this,`lastIndexOf`,e)},map(e,t){return Tt(this,`map`,e,t,void 0,arguments)},pop(){return Ot(this,`pop`)},push(...e){return Ot(this,`push`,e)},reduce(e,...t){return Et(this,`reduce`,e,t)},reduceRight(e,...t){return Et(this,`reduceRight`,e,t)},shift(){return Ot(this,`shift`)},some(e,t){return Tt(this,`some`,e,t,void 0,arguments)},splice(...e){return Ot(this,`splice`,e)},toReversed(){return yt(this).toReversed()},toSorted(e){return yt(this).toSorted(e)},toSpliced(...e){return yt(this).toSpliced(...e)},unshift(...e){return Ot(this,`unshift`,e)},values(){return Ct(this,`values`,e=>xt(this,e))}};function Ct(e,t,n){let r=bt(e),i=r[t]();return r!==e&&!cn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var wt=Array.prototype;function Tt(e,t,n,r,i,a){let o=bt(e),s=o!==e&&!cn(e),c=o[t];if(c!==wt[t]){let t=c.apply(e,a);return s?fn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,xt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function Et(e,t,n,r){let i=bt(e),a=i!==e&&!cn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=xt(e,t)),n.call(this,t,xt(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?xt(e,c):c}function Dt(e,t,n){let r=un(e);gt(r,`iterate`,ht);let i=r[t](...n);return(i===-1||i===!1)&&ln(n[0])?(n[0]=un(n[0]),r[t](...n)):i}function Ot(e,t,n=[]){at(),qe();let r=un(e)[t].apply(e,n);return Je(),ot(),r}var kt=n(`__proto__,__v_isRef,__isVue`),At=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(b));function jt(e){b(e)||(e=String(e));let t=un(this);return gt(t,`has`,e),t.hasOwnProperty(e)}var Mt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Qt:Zt:i?Xt:Yt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=p(e);if(!r){let e;if(a&&(e=St[t]))return e;if(t===`hasOwnProperty`)return jt}let o=Reflect.get(e,t,A(e)?e:n);if((b(t)?At.has(t):kt(t))||(r||gt(e,`get`,t),i))return o;if(A(o)){let e=a&&E(t)?o:o.value;return r&&x(e)?nn(e):e}return x(o)?r?nn(o):en(o):o}},Nt=class extends Mt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=p(e)&&E(t);if(!this._isShallow){let e=sn(i);if(!cn(n)&&!sn(n)&&(i=un(i),n=un(n)),!a&&A(i)&&!A(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:f(e,t),s=Reflect.set(e,t,n,A(e)?e:r);return e===un(r)&&s&&(o?D(n,i)&&_t(e,`set`,t,n,i):_t(e,`add`,t,n)),s}deleteProperty(e,t){let n=f(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&_t(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!b(t)||!At.has(t))&>(e,`has`,t),n}ownKeys(e){return gt(e,`iterate`,p(e)?`length`:pt),Reflect.ownKeys(e)}},Pt=class extends Mt{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},Ft=new Nt,It=new Pt,Lt=new Nt(!0),Rt=new Pt(!0),zt=e=>e,Bt=e=>Reflect.getPrototypeOf(e);function Vt(e,t,n){return function(...r){let i=this.__v_raw,a=un(i),o=m(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,u=i[e](...r),d=n?zt:t?pn:fn;return!t&>(a,`iterate`,c?mt:pt),l(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Ht(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ut(e,t){let n={get(n){let r=this.__v_raw,i=un(r),a=un(n);e||(D(n,a)&>(i,`get`,n),gt(i,`get`,a));let{has:o}=Bt(i),s=t?zt:e?pn:fn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&>(un(t),`iterate`,pt),t.size},has(t){let n=this.__v_raw,r=un(n),i=un(t);return e||(D(t,i)&>(r,`has`,t),gt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=un(a),s=t?zt:e?pn:fn;return!e&>(o,`iterate`,pt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return l(n,e?{add:Ht(`add`),set:Ht(`set`),delete:Ht(`delete`),clear:Ht(`clear`)}:{add(e){let n=un(this),r=Bt(n),i=un(e),a=!t&&!cn(e)&&!sn(e)?i:e;return r.has.call(n,a)||D(e,a)&&r.has.call(n,e)||D(i,a)&&r.has.call(n,i)||(n.add(a),_t(n,`add`,a,a)),this},set(e,n){!t&&!cn(n)&&!sn(n)&&(n=un(n));let r=un(this),{has:i,get:a}=Bt(r),o=i.call(r,e);o||=(e=un(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?D(n,s)&&_t(r,`set`,e,n,s):_t(r,`add`,e,n),this},delete(e){let t=un(this),{has:n,get:r}=Bt(t),i=n.call(t,e);i||=(e=un(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&_t(t,`delete`,e,void 0,a),o},clear(){let e=un(this),t=e.size!==0,n=e.clear();return t&&_t(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Vt(r,e,t)}),n}function Wt(e,t){let n=Ut(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(f(n,r)&&r in t?n:t,r,i)}var Gt={get:Wt(!1,!1)},Kt={get:Wt(!1,!0)},qt={get:Wt(!0,!1)},Jt={get:Wt(!0,!0)},Yt=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,Qt=new WeakMap;function $t(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function en(e){return sn(e)?e:an(e,!1,Ft,Gt,Yt)}function tn(e){return an(e,!1,Lt,Kt,Xt)}function nn(e){return an(e,!0,It,qt,Zt)}function rn(e){return an(e,!0,Rt,Jt,Qt)}function an(e,t,n,r,i){if(!x(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=$t(T(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function on(e){return sn(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function sn(e){return!!(e&&e.__v_isReadonly)}function cn(e){return!!(e&&e.__v_isShallow)}function ln(e){return e?!!e.__v_raw:!1}function un(e){let t=e&&e.__v_raw;return t?un(t):e}function dn(e){return!f(e,`__v_skip`)&&Object.isExtensible(e)&&ue(e,`__v_skip`,!0),e}var fn=e=>x(e)?en(e):e,pn=e=>x(e)?nn(e):e;function A(e){return e?e.__v_isRef===!0:!1}function j(e){return hn(e,!1)}function mn(e){return hn(e,!0)}function hn(e,t){return A(e)?e:new gn(e,t)}var gn=class{constructor(e,t){this.dep=new ut,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:un(e),this._value=t?e:fn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||cn(e)||sn(e);e=n?e:un(e),D(e,t)&&(this._rawValue=e,this._value=n?e:fn(e),this.dep.trigger())}};function _n(e){e.dep&&e.dep.trigger()}function M(e){return A(e)?e.value:e}function vn(e){return v(e)?e():M(e)}var yn={get:(e,t,n)=>t===`__v_raw`?e:M(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return A(i)&&!A(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function bn(e){return on(e)?e:new Proxy(e,yn)}var xn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new ut,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function Sn(e){return new xn(e)}function Cn(e){let t=p(e)?Array(e.length):{};for(let n in e)t[n]=Dn(e,n);return t}var wn=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=b(t)?t:String(t),this._raw=un(e);let r=!0,i=e;if(!p(e)||b(this._key)||!E(this._key))do r=!ln(i)||cn(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=M(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&A(this._raw[this._key])){let t=this._object[this._key];if(A(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return vt(this._raw,this._key)}},Tn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function En(e,t,n){return A(e)?e:v(e)?new Tn(e):x(e)&&arguments.length>1?Dn(e,t,n):j(e)}function Dn(e,t,n){return new wn(e,t,n)}var On=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new ut(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ct-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Be!==this)return Ke(this,!0),!0}get value(){let e=this.dep.track();return Qe(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function kn(e,t,n=!1){let r,i;return v(e)?r=e:(r=e.get,i=e.set),new On(r,i,n)}var An={GET:`get`,HAS:`has`,ITERATE:`iterate`},jn={SET:`set`,ADD:`add`,DELETE:`delete`,CLEAR:`clear`},Mn={},Nn=new WeakMap,Pn=void 0;function Fn(){return Pn}function In(e,t=!1,n=Pn){if(n){let t=Nn.get(n);t||Nn.set(n,t=[]),t.push(e)}}function Ln(e,t,n=r){let{immediate:i,deep:o,once:s,scheduler:c,augmentJob:l,call:d}=n,f=e=>o?e:cn(e)||o===!1||o===0?Rn(e,1):Rn(e),m,h,g,_,y=!1,b=!1;if(A(e)?(h=()=>e.value,y=cn(e)):on(e)?(h=()=>f(e),y=!0):p(e)?(b=!0,y=e.some(e=>on(e)||cn(e)),h=()=>e.map(e=>{if(A(e))return e.value;if(on(e))return f(e);if(v(e))return d?d(e,2):e()})):h=v(e)?t?d?()=>d(e,2):e:()=>{if(g){at();try{g()}finally{ot()}}let t=Pn;Pn=m;try{return d?d(e,3,[_]):e(_)}finally{Pn=t}}:a,t&&o){let e=h,t=o===!0?1/0:o;h=()=>Rn(e(),t)}let x=Re(),S=()=>{m.stop(),x&&x.active&&u(x.effects,m)};if(s&&t){let e=t;t=(...t)=>{let n=e(...t);return S(),n}}let C=b?Array(e.length).fill(Mn):Mn,w=e=>{if(m.flags&1&&(m.dirty||e)){if(t){let n=m.run();if(e||o||y||(b?n.some((e,t)=>D(e,C[t])):D(n,C))){g&&g();let e=Pn;Pn=m;try{let e=[n,C===Mn?void 0:b&&C[0]===Mn?[]:C,_];C=n,d?d(t,3,e):t(...e)}finally{Pn=e}}}else m.run()}};return l&&l(w),m=new He(h),m.scheduler=c?()=>c(w,!1):w,_=e=>In(e,!1,m),g=m.onStop=()=>{let e=Nn.get(m);if(e){if(d)d(e,4);else for(let t of e)t();Nn.delete(m)}},t?i?w(!0):C=m.run():c?c(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function Rn(e,t=1/0,n){if(t<=0||!x(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,A(e))Rn(e.value,t,n);else if(p(e))for(let r=0;r<e.length;r++)Rn(e[r],t,n);else if(h(e)||m(e))e.forEach(e=>{Rn(e,t,n)});else if(ee(e)){for(let r in e)Rn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Rn(e[r],t,n)}return e}var zn=[];function Bn(e){zn.push(e)}function Vn(){zn.pop()}function Hn(e,t){}var Un={SETUP_FUNCTION:0,0:`SETUP_FUNCTION`,RENDER_FUNCTION:1,1:`RENDER_FUNCTION`,NATIVE_EVENT_HANDLER:5,5:`NATIVE_EVENT_HANDLER`,COMPONENT_EVENT_HANDLER:6,6:`COMPONENT_EVENT_HANDLER`,VNODE_HOOK:7,7:`VNODE_HOOK`,DIRECTIVE_HOOK:8,8:`DIRECTIVE_HOOK`,TRANSITION_HOOK:9,9:`TRANSITION_HOOK`,APP_ERROR_HANDLER:10,10:`APP_ERROR_HANDLER`,APP_WARN_HANDLER:11,11:`APP_WARN_HANDLER`,FUNCTION_REF:12,12:`FUNCTION_REF`,ASYNC_COMPONENT_LOADER:13,13:`ASYNC_COMPONENT_LOADER`,SCHEDULER:14,14:`SCHEDULER`,COMPONENT_UPDATE:15,15:`COMPONENT_UPDATE`,APP_UNMOUNT_CLEANUP:16,16:`APP_UNMOUNT_CLEANUP`},Wn={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function Gn(e,t,n,r){try{return r?e(...r):e()}catch(e){qn(e,t,n)}}function Kn(e,t,n,r){if(v(e)){let i=Gn(e,t,n,r);return i&&S(i)&&i.catch(e=>{qn(e,t,n)}),i}if(p(e)){let i=[];for(let a=0;a<e.length;a++)i.push(Kn(e[a],t,n,r));return i}}function qn(e,t,n,i=!0){let a=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||r;if(t){let r=t.parent,i=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;r;){let t=r.ec;if(t){for(let n=0;n<t.length;n++)if(t[n](e,i,a)===!1)return}r=r.parent}if(o){at(),Gn(o,null,10,[e,i,a]),ot();return}}Jn(e,n,a,i,s)}function Jn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var Yn=[],Xn=-1,Zn=[],Qn=null,$n=0,er=Promise.resolve(),tr=null;function nr(e){let t=tr||er;return e?t.then(this?e.bind(this):e):t}function rr(e){let t=Xn+1,n=Yn.length;for(;t<n;){let r=t+n>>>1,i=Yn[r],a=lr(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function ir(e){if(!(e.flags&1)){let t=lr(e),n=Yn[Yn.length-1];!n||!(e.flags&2)&&t>=lr(n)?Yn.push(e):Yn.splice(rr(t),0,e),e.flags|=1,ar()}}function ar(){tr||=er.then(ur)}function or(e){if(!p(e))Qn&&e.id===-1?Qn.splice($n+1,0,e):e.flags&1||(Zn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Zn.push(e[t]);ar()}function sr(e,t,n=Xn+1){for(;n<Yn.length;n++){let t=Yn[n];if(t&&t.flags&2){if(e&&t.id!==e.uid)continue;Yn.splice(n,1),n--,t.flags&4&&(t.flags&=-2),t(),t.flags&4||(t.flags&=-2)}}}function cr(e){if(Zn.length){let e=[...new Set(Zn)].sort((e,t)=>lr(e)-lr(t));if(Zn.length=0,Qn){for(let t=0;t<e.length;t++)Qn.push(e[t]);return}for(Qn=e,$n=0;$n<Qn.length;$n++){let e=Qn[$n];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}Qn=null,$n=0}}var lr=e=>e.id==null?e.flags&2?-1:1/0:e.id;function ur(e){try{for(Xn=0;Xn<Yn.length;Xn++){let e=Yn[Xn];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),Gn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;Xn<Yn.length;Xn++){let e=Yn[Xn];e&&(e.flags&=-2)}Xn=-1,Yn.length=0,cr(e),tr=null,(Yn.length||Zn.length)&&ur(e)}}var dr,fr=[];function pr(e,t){dr=e,dr?(dr.enabled=!0,fr.forEach(({event:e,args:t})=>dr.emit(e,...t)),fr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{pr(e,t)}),setTimeout(()=>{dr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,fr=[])},3e3)):fr=[]}var mr=null,hr=null;function gr(e){let t=mr;return mr=e,hr=e&&e.type.__scopeId||null,t}function _r(e){hr=e}function vr(){hr=null}var yr=e=>N;function N(e,t=mr,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&vs(-1);let i=gr(t),a=ms.length,o;try{o=e(...n)}finally{for(let e=ms.length;e>a;e--)gs();gr(i),r._d&&vs(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function br(e,t){if(mr===null)return e;let n=tc(mr),i=e.dirs||=[];for(let e=0;e<t.length;e++){let[a,o,s,c=r]=t[e];a&&(v(a)&&(a={mounted:a,updated:a}),a.deep&&Rn(o),i.push({dir:a,instance:n,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function xr(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(at(),Kn(c,n,8,[e.el,s,e,t]),ot())}}function Sr(e,t){if(Ls){let n=Ls.provides,r=Ls.parent&&Ls.parent.provides;r===n&&(n=Ls.provides=Object.create(r)),n[e]=t}}function Cr(e,t,n=!1){let r=Rs();if(r||oo){let i=oo?oo._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&v(t)?t.call(r&&r.proxy):t}}function wr(){return!!(Rs()||oo)}var Tr=Symbol.for(`v-scx`),Er=()=>Cr(Tr);function Dr(e,t){return jr(e,null,t)}function Or(e,t){return jr(e,null,{flush:`post`})}function kr(e,t){return jr(e,null,{flush:`sync`})}function Ar(e,t,n){return jr(e,t,n)}function jr(e,t,n=r){let{immediate:i,deep:o,flush:s,once:c}=n,u=l({},n),d=t&&i||!t&&s!==`post`,f;if(Ws){if(s===`sync`){let e=Er();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=a,e.resume=a,e.pause=a,e}}let p=Ls;u.call=(e,t,n)=>Kn(e,p,t,n);let m=!1;s===`post`?u.scheduler=e=>{Bo(e,p&&p.suspense)}:s!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():ir(e)}),u.augmentJob=e=>{t&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=Ln(e,t,u);return Ws&&(f?f.push(h):d&&h()),h}function Mr(e,t,n){let r=this.proxy,i=y(e)?e.includes(`.`)?Nr(r,e):()=>r[e]:e.bind(r,r),a;v(t)?a=t:(a=t.handler,n=t);let o=Vs(this),s=jr(i,a.bind(r),n);return o(),s}function Nr(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var Pr=new WeakMap,Fr=Symbol(`_vte`),Ir=e=>e.__isTeleport,Lr=e=>e&&(e.disabled||e.disabled===``),Rr=e=>e&&(e.defer||e.defer===``),zr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,Br=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Vr=(e,t)=>{let n=e&&e.to;return y(n)?t?t(n):null:n},Hr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=Lr(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=Lr(e.props),r=e.target=Vr(e.props,m),a=qr(r,e,h,p);r&&(o!==`svg`&&zr(r)?o=`svg`:o!==`mathml`&&Br(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),Kr(e,!1)))},S=e=>{let t=()=>{if(Pr.get(e)===t){if(Pr.delete(e),Lr(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),Kr(e,!0)}x(e)}};Pr.set(e,t),Bo(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),Rr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),Kr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Pr.get(e);if(u){u.flags|=8,Pr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=Lr(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||zr(p)?o=`svg`:(o===`mathml`||Br(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),qo(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ur(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=Vr(t.props,m);e&&(t.target=e,Ur(t,e,null,l,0))}else g&&Ur(t,p,h,l,1);Kr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=Lr(f),m=a||!p,h=Pr.get(e);if(h&&(h.flags|=8,Pr.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,m,!!i.dynamicChildren)}},move:Ur,hydrate:Wr};function Ur(e,t,n,{o:{insert:r},m:i},a=2){a===0&&r(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!Pr.has(e)&&(!d||Lr(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function Wr(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=Vr(t.props,c),h=Lr(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||qr(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||qr(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),Kr(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var Gr=Hr;function Kr(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function qr(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[Fr]=o,e&&(r(a,e,i),r(o,e,i)),o}var Jr=Symbol(`_leaveCb`),Yr=Symbol(`_enterCb`);function Xr(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ta(()=>{e.isMounted=!0}),ia(()=>{e.isUnmounting=!0}),e}var Zr=[Function,Array],Qr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Zr,onEnter:Zr,onAfterEnter:Zr,onEnterCancelled:Zr,onBeforeLeave:Zr,onLeave:Zr,onAfterLeave:Zr,onLeaveCancelled:Zr,onBeforeAppear:Zr,onAppear:Zr,onAfterAppear:Zr,onAppearCancelled:Zr},$r=e=>{let t=e.subTree;return t.component?$r(t.component):t},ei={name:`BaseTransition`,props:Qr,setup(e,{slots:t}){let n=Rs(),r=Xr();return()=>{let i=t.default&&ci(t.default(),!0),a=i&&i.length?ti(i):n.subTree?U():void 0;if(!a)return;let o=un(e),{mode:s}=o;if(r.isLeaving)return ai(a);let c=oi(a);if(!c)return ai(a);let l=ii(c,o,r,n,e=>l=e);c.type!==fs&&si(c,l);let u=n.subTree&&oi(n.subTree);if(u&&u.type!==fs&&!xs(u,c)&&$r(n).type!==fs){let e=ii(u,o,r,n);if(si(u,e),s===`out-in`&&c.type!==fs)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},ai(a);s===`in-out`&&c.type!==fs?e.delayLeave=(e,t,n)=>{let i=ri(r,u);i[String(u.key)]=u,e[Jr]=()=>{t(),e[Jr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function ti(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==fs){t=n;break}}return t}var ni=ei;function ri(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ii(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=ri(n,e),C=(e,t)=>{e&&Kn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),p(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted){if(a)r=_||c;else return}t[Jr]&&t[Jr](!0);let i=S[x];i&&xs(e,i)&&i.el[Jr]&&i.el[Jr](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted){if(a)r=v||l,i=y||u,o=b||d;else return}let s=!1;t[Yr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Yr]=void 0)};let c=t[Yr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Yr]&&t[Yr](!0),n.isUnmounting)return r();C(f,[t]);let a=!1;t[Jr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[Jr]=void 0,S[i]===e&&delete S[i])};let o=t[Jr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=ii(e,t,n,r,i);return i&&i(a),a}};return T}function ai(e){if(Ui(e))return e=Ds(e),e.children=null,e}function oi(e){if(!Ui(e))return Ir(e.type)&&e.children?ti(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&v(n.default))return n.default()}}function si(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;si(Ir(n.type)&&oi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ci(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===I?(o.patchFlag&128&&i++,r=r.concat(ci(o.children,t,s))):(t||o.type!==fs)&&r.push(s==null?o:Ds(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function P(e,t){return v(e)?l({name:e.name},t,{setup:e}):e}function li(){let e=Rs();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+e.ids[1]++:``}function ui(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function di(e){let t=Rs(),n=mn(null);if(t){let i=t.refs===r?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}return n}function fi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var pi=new WeakMap;function mi(e,t,n,i,a=!1){if(p(e)){e.forEach((e,r)=>mi(e,t&&(p(t)?t[r]:t),n,i,a));return}if(Bi(i)&&!a){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&mi(e,t,n,i.component.subTree);return}let s=i.shapeFlag&4?tc(i.component):i.el,c=a?null:s,{i:l,r:d}=e,m=t&&t.r,h=l.refs===r?l.refs={}:l.refs,g=l.setupState,_=un(g),b=g===r?o:e=>!fi(h,e)&&f(_,e),x=(e,t)=>!(t&&fi(h,t));if(m!=null&&m!==d){if(hi(t),y(m))h[m]=null,b(m)&&(g[m]=null);else if(A(m)){let e=t;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(v(d))Gn(d,l,12,[c,h]);else{let t=y(d),r=A(d);if(t||r){let i=()=>{if(e.f){let n=t?b(d)?g[d]:h[d]:x(d)||!e.k?d.value:h[e.k];if(a)p(n)&&u(n,s);else if(p(n))n.includes(s)||n.push(s);else if(t)h[d]=[s],b(d)&&(g[d]=h[d]);else{let t=[s];x(d,e.k)&&(d.value=t),e.k&&(h[e.k]=t)}}else t?(h[d]=c,b(d)&&(g[d]=c)):r&&(x(d,e.k)&&(d.value=c),e.k&&(h[e.k]=c))};if(c){let t=()=>{i(),pi.delete(e)};t.id=-1,pi.set(e,t),Bo(t,n)}else hi(e),i()}}}function hi(e){let t=pi.get(e);t&&(t.flags|=8,pi.delete(e))}var gi=!1,_i=()=>{gi||=(console.error(`Hydration completed but contains mismatches.`),!0)},vi=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,yi=e=>e.namespaceURI.includes(`MathML`),bi=e=>{if(e.nodeType===1){if(vi(e))return`svg`;if(yi(e))return`mathml`}},xi=e=>e.nodeType===8;function Si(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:a,parentNode:o,remove:c,insert:l,createComment:u}}=e,d=(e,t)=>{if(!t.hasChildNodes()){n(null,e,t),cr(),t._vnode=e;return}f(t.firstChild,e,null,null,null),cr(),t._vnode=e},f=(n,r,s,c,u,d=!1)=>{d||=!!r.dynamicChildren;let b=xi(n)&&n.data===`[`,x=()=>g(n,r,s,c,u,b),{type:S,ref:C,shapeFlag:w,patchFlag:T}=r,ee=n.nodeType;r.el=n,T===-2&&(d=!1,r.dynamicChildren=null);let E=null;switch(S){case ds:ee===3?(n.data!==r.children&&(_i(),n.data=r.children),E=a(n)):r.children===``?(l(r.el=i(``),o(n),n),E=n):E=x();break;case fs:y(n)?(E=a(n),v(r.el=n.content.firstChild,n,s)):E=ee!==8||b?x():a(n);break;case ps:if(b&&(n=a(n),ee=n.nodeType),ee===1||ee===3){E=n;let e=!r.children.length;for(let t=0;t<r.staticCount;t++)e&&(r.children+=E.nodeType===1?E.outerHTML:E.data),t===r.staticCount-1&&(r.anchor=E),E=a(E);return b?a(E):E}x();break;case I:E=b?h(n,r,s,c,u,d):x();break;default:if(w&1)E=(ee!==1||r.type.toLowerCase()!==n.tagName.toLowerCase())&&!y(n)?x():p(n,r,s,c,u,d);else if(w&6){r.slotScopeIds=u;let e=o(n);if(E=b?_(n):xi(n)&&n.data===`teleport start`?_(n,n.data,`teleport end`):a(n),t(r,e,null,s,c,bi(e),d),(Bi(r)||r.component.asyncDep)&&!r.component.subTree){let t;b?(t=V(ps),t.anchor=E?E.previousSibling:e.lastChild):t=n.nodeType===3?H(``):V(n.nodeType===8?fs:`div`),t.el=n,r.component.subTree=t}}else w&64?E=ee===8?r.type.hydrate(n,r,s,c,u,d,e,m):x():w&128&&(E=r.type.hydrate(n,r,s,c,bi(o(n)),u,d,e,f))}return C!=null&&mi(C,null,c,r),E},p=(e,t,n,i,a,o)=>{o||=!!t.dynamicChildren;let{type:l,dynamicProps:u,props:d,patchFlag:f,shapeFlag:p,dirs:h,transition:g}=t,_=l===`input`||l===`option`,b=!!u;if(_||b||f!==-1){h&&xr(t,null,n,`created`);let l=!1;if(y(e)){l=Ko(null,g)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(l){let e=r.getAttribute(`class`);e&&(r.$cls=e),g.beforeEnter(r)}v(r,e,n),t.el=e=r}if(p&16&&!(d&&(d.innerHTML||d.textContent))){let r=m(e.firstChild,t,e,n,i,a,o);for(r&&!Di(e,1)&&_i();r;){let e=r;r=r.nextSibling,c(e)}}else if(p&8){let n=t.children;n[0]===`
|
|
2
|
+
`&&(e.tagName===`PRE`||e.tagName===`TEXTAREA`)&&(n=n.slice(1));let{textContent:r}=e;r!==n&&r!==n.replace(/\r\n|\r/g,`
|
|
3
|
+
`)&&(Di(e,0)||_i(),e.textContent=t.children)}if(d){if(_||b||!o||f&48){let t=e.tagName.includes(`-`),i=e.namespaceURI.includes(`svg`)?`svg`:e.namespaceURI.includes(`MathML`)?`mathml`:void 0;for(let a in d)if(_&&(a.endsWith(`value`)||a===`indeterminate`)||s(a)&&!te(a)||a[0]===`.`||t&&!te(a)||u&&u.includes(a)){if(wi(e,a,d[a]))continue;r(e,a,null,d[a],i,n)}}else if(d.onClick)r(e,`onClick`,null,d.onClick,void 0,n);else if(f&4&&on(d.style))for(let e in d.style)d.style[e]}let x;(x=d&&d.onVnodeBeforeMount)&&Ns(x,n,t),h&&xr(t,null,n,`beforeMount`),((x=d&&d.onVnodeMounted)||h||l)&&cs(()=>{x&&Ns(x,n,t),l&&g.enter(e),h&&xr(t,null,n,`mounted`)},i)}return e.nextSibling},m=(e,t,r,o,s,c,u)=>{u||=!!t.dynamicChildren;let d=t.children,p=d.length,m=!1;for(let t=0;t<p;t++){let h=u?d[t]:d[t]=ks(d[t]),g=h.type===ds;e?(g&&!u&&t+1<p&&ks(d[t+1]).type===ds&&(l(i(e.data.slice(h.children.length)),r,a(e)),e.data=h.children),e=f(e,h,o,s,c,u)):g&&!h.children?l(h.el=i(``),r):(m||(m=!0,Di(r,1)||_i()),n(null,h,r,null,o,s,bi(r),c))}return e},h=(e,t,n,r,i,s)=>{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=o(e),f=m(a(e),t,d,n,r,i,s);return f&&xi(f)&&f.data===`]`?a(t.anchor=f):(_i(),l(t.anchor=u(`]`),d,f),f)},g=(e,t,r,i,s,l)=>{if(ki(e,t)||_i(),t.el=null,l){let t=_(e);for(;;){let n=a(e);if(n&&n!==t)c(n);else break}}let u=a(e),d=o(e);return c(e),n(null,t,d,u,r,i,bi(d),s),r&&(r.vnode.el=t.el,xo(r,t.el)),u},_=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&xi(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},v=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[d,f]}var Ci=new Set([`src`,`srcset`,`href`,`poster`]);function wi(e,t,n){return Ci.has(t)?e.getAttribute(t)===(n==null?null:`${n}`):!1}var Ti=`data-allow-mismatch`,Ei={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function Di(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Ti);)e=e.parentElement;return Oi(e&&e.getAttribute(Ti),t)}function Oi(e,t){if(e==null)return!1;if(e===``)return!0;{let n=e.split(`,`);return t===0&&n.includes(`children`)?!0:n.includes(Ei[t])}}function ki(e,t){return Di(e.parentElement,1)||Ai(e)||ji(t)}function Ai(e){return e.nodeType===1&&Oi(e.getAttribute(Ti),1)}function ji({props:e}){let t=e&&e[Ti];return typeof t==`string`&&Oi(t,1)}var Mi=me().requestIdleCallback||(e=>setTimeout(e,1)),Ni=me().cancelIdleCallback||(e=>clearTimeout(e)),Pi=(e=1e4)=>t=>{let n=Mi(t,{timeout:e});return()=>Ni(n)};function Fi(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t<a||r>0&&r<a)&&(n>0&&n<o||i>0&&i<o)}var Ii=e=>(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(Fi(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},Li=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},Ri=(e=[])=>(t,n)=>{y(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function zi(e,t){if(xi(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(xi(r)){if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++}r=r.nextSibling}}else t(e)}var Bi=e=>!!e.type.__asyncLoader;function Vi(e){v(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return P({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=e.isConnected,i=!1;(t.bu||=[]).push(()=>i=!0);let o=()=>{i||!e.parentNode||r&&!e.isConnected||n()},s=a?()=>{let n=a(o,t=>zi(e,t));n&&(t.bum||=[]).push(n)}:o;u?s():p().then(()=>!t.isUnmounted&&s())},get __asyncResolved(){return u},setup(){let e=Ls;if(ui(e),u)return()=>Hi(u,e);let t=t=>{l=null,qn(t,e,13,!r)};if(s&&e.suspense||Ws)return p().then(t=>()=>Hi(t,e)).catch(e=>(t(e),()=>r?V(r,{error:e}):null));let a=j(!1),c=j(),d=j(!!i),f,m;return aa(()=>{f!=null&&clearTimeout(f),m!=null&&clearTimeout(m)}),i&&(m=setTimeout(()=>{e.isUnmounted||(d.value=!1)},i)),o!=null&&(f=setTimeout(()=>{if(!e.isUnmounted&&!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o)),p().then(()=>{e.isUnmounted||(a.value=!0,e.parent&&Ui(e.parent.vnode)&&e.parent.update())}).catch(n=>{if(e.isUnmounted){l=null;return}t(n),c.value=n}),()=>{if(a.value&&u)return Hi(u,e);if(c.value&&r)return V(r,{error:c.value});if(n&&!d.value)return Hi(n,e)}}})}function Hi(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=V(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var Ui=e=>e.type.__isKeepAlive,Wi={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Rs(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),Bo(()=>{a.isDeactivated=!1,a.a&&le(a.a);let t=e.props&&e.props.onVnodeMounted;t&&Ns(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Xo(t.m),Xo(t.a),l(e,f,null,1,s),Bo(()=>{t.da&&le(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&Ns(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Xi(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=nc(Bi(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!xs(t,o))?p(t):o&&Xi(o),i.delete(e),a.delete(e)}Ar(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Gi(e,t)),t&&m(e=>!Gi(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Qo(n.subTree.type)?Bo(()=>{let e=Zi(n.subTree);e.component&&i.set(g,e)},n.subTree.suspense):i.set(g,Zi(n.subTree)))};return ta(_),ra(_),ia(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Zi(t);if(e.type===i.type&&e.key===i.key){Xi(i);let e=i.component.da;e&&Bo(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!bs(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Zi(r);if(s.type===fs)return o=null,s;let c=s.type,l=nc(Bi(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Gi(u,l))||d&&l&&Gi(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Ds(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&si(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Qo(r.type)?r:s}}};function Gi(e,t){return p(e)?e.some(e=>Gi(e,t)):y(e)?e.split(`,`).includes(t):_(e)?(e.lastIndex=0,e.test(t)):!1}function Ki(e,t){Ji(e,`a`,t)}function qi(e,t){Ji(e,`da`,t)}function Ji(e,t,n=Ls){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Qi(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Ui(e.parent.vnode)&&Yi(r,t,n,e),e=e.parent}}function Yi(e,t,n,r){let i=Qi(t,e,r,!0);aa(()=>{u(r[t],i)},n)}function Xi(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Zi(e){return e.shapeFlag&128?e.ssContent:e}function Qi(e,t,n=Ls,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{at();let i=Vs(n),a=Kn(t,n,e,r);return i(),ot(),a};return r?i.unshift(a):i.push(a),a}}var $i=e=>(t,n=Ls)=>{(!Ws||e===`sp`)&&Qi(e,(...e)=>t(...e),n)},ea=$i(`bm`),ta=$i(`m`),na=$i(`bu`),ra=$i(`u`),ia=$i(`bum`),aa=$i(`um`),oa=$i(`sp`),sa=$i(`rtg`),ca=$i(`rtc`);function la(e,t=Ls){Qi(`ec`,e,t)}var ua=`components`,da=`directives`;function fa(e,t){return ga(ua,e,!0,t)||e}var pa=Symbol.for(`v-ndc`);function ma(e){return y(e)?ga(ua,e,!1)||e:e||pa}function ha(e){return ga(da,e)}function ga(e,t,n=!0,r=!1){let i=mr||Ls;if(i){let n=i.type;if(e===ua){let e=nc(n,!1);if(e&&(e===t||e===ie(t)||e===se(ie(t))))return n}let a=_a(i[e]||n[e],t)||_a(i.appContext[e],t);return!a&&r?n:a}}function _a(e,t){return e&&(e[t]||e[ie(t)]||e[se(ie(t))])}function va(e,t,n,r){let i,a=n&&n[r],o=p(e);if(o||y(e)){let n=o&&on(e),r=!1,s=!1;n&&(r=!cn(e),s=sn(e),e=bt(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?pn(fn(e[n])):fn(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(x(e)){if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}}else i=[];return n&&(n[r]=i),i}function ya(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(p(r))for(let t=0;t<r.length;t++)e[r[t].name]=r[t].fn;else r&&(e[r.name]=r.key?(...e)=>{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function F(e,t,n,r,i,a){if(n??={},mr.ce||mr.parent&&Bi(mr.parent)&&mr.parent.ce){let e=a!=null&&n.key==null?l({},n,{key:a}):n,i=Object.keys(e).length>0;return t!=="default"&&(e.name=t),L(),z(I,null,[V(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=ms.length;L();let c;try{let i=o&&ba(o(n)),s=n.key||a||i&&i.key;c=z(I,{key:(s&&!b(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=ms.length;e>s;e--)gs();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),c}function ba(e){return e.some(e=>!bs(e)||!(e.type===fs||e.type===I&&!ba(e.children)))?e:null}function xa(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:ce(r)]=e[r];return n}var Sa=e=>e?Us(e)?tc(e):Sa(e.parent):null,Ca=l(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=>Sa(e.parent),$root:e=>Sa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qa(e),$forceUpdate:e=>e.f||=()=>{ir(e.update)},$nextTick:e=>e.n||=nr.bind(e.proxy),$watch:e=>Mr.bind(e)}),wa=(e,t)=>e!==r&&!e.__isScriptSetup&&f(e,t),Ta={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(t[0]!==`$`){let e=s[t];if(e!==void 0)switch(e){case 1:return i[t];case 2:return a[t];case 4:return n[t];case 3:return o[t]}else if(wa(i,t))return s[t]=1,i[t];else if(a!==r&&f(a,t))return s[t]=2,a[t];else if(f(o,t))return s[t]=3,o[t];else if(n!==r&&f(n,t))return s[t]=4,n[t];else Ha&&(s[t]=0)}let u=Ca[t],d,p;if(u)return t===`$attrs`&>(e.attrs,`get`,``),u(e);if((d=c.__cssModules)&&(d=d[t]))return d;if(n!==r&&f(n,t))return s[t]=4,n[t];if(p=l.config.globalProperties,f(p,t))return p[t]},set({_:e},t,n){let{data:i,setupState:a,ctx:o}=e;return wa(a,t)?(a[t]=n,!0):i!==r&&f(i,t)?(i[t]=n,!0):f(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(n[c]||e!==r&&c[0]!==`$`&&f(e,c)||wa(t,c)||f(o,c)||f(i,c)||f(Ca,c)||f(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?f(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},Ea=l({},Ta,{get(e,t){if(t!==Symbol.unscopables)return Ta.get(e,t,e)},has(e,t){return t[0]!==`_`&&!he(t)}});function Da(){return null}function Oa(){return null}function ka(e){}function Aa(e){}function ja(){return null}function Ma(){}function Na(e,t){return null}function Pa(){return Ia(`useSlots`).slots}function Fa(){return Ia(`useAttrs`).attrs}function Ia(e){let t=Rs();return t.setupContext||=ec(t)}function La(e){return p(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function Ra(e,t){let n=La(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?p(r)||v(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function za(e,t){return!e||!t?e||t:p(e)&&p(t)?e.concat(t):l({},La(e),La(t))}function Ba(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Va(e){let t=Rs(),n=Ws,r=e();Hs(),n&&Bs(!1);let i=()=>{Vs(t),n&&Bs(!0)},a=()=>{Rs()!==t&&t.scope.off(),Hs(),n&&Bs(!1)};return S(r)&&(r=r.catch(e=>{throw i(),Promise.resolve().then(()=>Promise.resolve().then(a)),e})),[r,()=>{i(),Promise.resolve().then(a)}]}var Ha=!0;function Ua(e){let t=qa(e),n=e.proxy,r=e.ctx;Ha=!1,t.beforeCreate&&Ga(t.beforeCreate,e,`bc`);let{data:i,computed:o,methods:s,watch:c,provide:l,inject:u,created:d,beforeMount:f,mounted:m,beforeUpdate:h,updated:g,activated:_,deactivated:y,beforeDestroy:b,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:E,errorCaptured:te,serverPrefetch:ne,expose:re,inheritAttrs:ie,components:ae,directives:oe,filters:se}=t;if(u&&Wa(u,r,null),s)for(let e in s){let t=s[e];v(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);x(t)&&(e.data=en(t))}if(Ha=!0,o)for(let e in o){let t=o[e],i=W({get:v(t)?t.bind(n,n):v(t.get)?t.get.bind(n,n):a,set:!v(t)&&v(t.set)?t.set.bind(n):a});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(c)for(let e in c)Ka(c[e],r,n,e);if(l){let e=v(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Sr(t,e[t])})}d&&Ga(d,e,`c`);function ce(e,t){p(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(ce(ea,f),ce(ta,m),ce(na,h),ce(ra,g),ce(Ki,_),ce(qi,y),ce(la,te),ce(ca,ee),ce(sa,E),ce(ia,S),ce(aa,w),ce(oa,ne),p(re)){if(re.length){let t=e.exposed||={};re.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}T&&e.render===a&&(e.render=T),ie!=null&&(e.inheritAttrs=ie),ae&&(e.components=ae),oe&&(e.directives=oe),ne&&ui(e)}function Wa(e,t,n=a){p(e)&&(e=Qa(e));for(let n in e){let r=e[n],i;i=x(r)?`default`in r?Cr(r.from||n,r.default,!0):Cr(r.from||n):Cr(r),A(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Ga(e,t,n){Kn(p(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ka(e,t,n,r){let i=r.includes(`.`)?Nr(n,r):()=>n[r];if(y(e)){let n=t[e];v(n)&&Ar(i,n)}else if(v(e))Ar(i,e.bind(n));else if(x(e)){if(p(e))e.forEach(e=>Ka(e,t,n,r));else{let r=v(e.handler)?e.handler.bind(n):t[e.handler];v(r)&&Ar(i,r,e)}}}function qa(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ja(c,e,o,!0)),Ja(c,t,o)),x(t)&&a.set(t,c),c}function Ja(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ja(e,a,n,!0),i&&i.forEach(t=>Ja(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ya[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ya={data:Xa,props:to,emits:to,methods:eo,computed:eo,beforeCreate:$a,created:$a,beforeMount:$a,mounted:$a,beforeUpdate:$a,updated:$a,beforeDestroy:$a,beforeUnmount:$a,destroyed:$a,unmounted:$a,activated:$a,deactivated:$a,errorCaptured:$a,serverPrefetch:$a,components:eo,directives:eo,watch:no,provide:Xa,inject:Za};function Xa(e,t){return t?e?function(){return l(v(e)?e.call(this,this):e,v(t)?t.call(this,this):t)}:t:e}function Za(e,t){return eo(Qa(e),Qa(t))}function Qa(e){if(p(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function $a(e,t){return e?[...new Set([].concat(e,t))]:t}function eo(e,t){return e?l(Object.create(null),e,t):t}function to(e,t){return e?p(e)&&p(t)?[...new Set([...e,...t])]:l(Object.create(null),La(e),La(t??{})):t}function no(e,t){if(!e)return t;if(!t)return e;let n=l(Object.create(null),e);for(let r in t)n[r]=$a(e[r],t[r]);return n}function ro(){return{app:null,config:{isNativeTag:o,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var io=0;function ao(e,t){return function(n,r=null){v(n)||(n=l({},n)),r!=null&&!x(r)&&(r=null);let i=ro(),a=new WeakSet,o=[],s=!1,c=i.app={_uid:io++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:cc,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&v(e.install)?(a.add(e),e.install(c,...t)):v(e)&&(a.add(e),e(c,...t))),c},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),c},component(e,t){return t?(i.components[e]=t,c):i.components[e]},directive(e,t){return t?(i.directives[e]=t,c):i.directives[e]},mount(a,o,l){if(!s){let u=c._ceVNode||V(n,r);return u.appContext=i,l===!0?l=`svg`:l===!1&&(l=void 0),o&&t?t(u,a):e(u,a,l),s=!0,c._container=a,a.__vue_app__=c,tc(u.component)}},onUnmount(e){o.push(e)},unmount(){s&&(Kn(o,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(e,t){return i.provides[e]=t,c},runWithContext(e){let t=oo;oo=c;try{return e()}finally{oo=t}}};return c}}var oo=null;function so(e,t,n=r){let i=Rs(),a=ie(t),o=oe(t),s=co(e,a),c=Sn((s,c)=>{let l,u=r,d;return kr(()=>{let t=e[a];D(l,t)&&(l=t,c())}),{get(){return s(),n.get?n.get(l):l},set(e){let s=n.set?n.set(e):e;if(!D(s,l)&&!(u!==r&&D(e,u)))return;let f=i.vnode.props,p=!!(f&&(t in f||a in f||o in f)&&(`onUpdate:${t}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f));p||(l=e,c()),i.emit(`update:${t}`,s),D(e,u)&&(D(e,s)&&!D(s,d)||p&&u!==r&&!D(s,l))&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||r:c,done:!1}:{done:!0}}}},c}var co=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${ie(t)}Modifiers`]||e[`${oe(t)}Modifiers`];function lo(e,t,...n){if(e.isUnmounted)return;let i=e.vnode.props||r,a=n,o=t.startsWith(`update:`),s=o&&co(i,t.slice(7));s&&(s.trim&&(a=n.map(e=>y(e)?e.trim():e)),s.number&&(a=a.map(de)));let c,l=i[c=ce(t)]||i[c=ce(ie(t))];!l&&o&&(l=i[c=ce(oe(t))]),l&&Kn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Kn(u,e,6,a)}}var uo=new WeakMap;function fo(e,t,n=!1){let r=n?uo:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!v(e)){let r=e=>{let n=fo(e,t,!0);n&&(s=!0,l(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(x(e)&&r.set(e,null),null):(p(a)?a.forEach(e=>o[e]=null):l(o,a),x(e)&&r.set(e,o),o)}function po(e,t){return!e||!s(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),f(e,t[0].toLowerCase()+t.slice(1))||f(e,oe(t))||f(e,t))}function mo(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=gr(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=ks(u.call(t,e,d,f,m,p,h)),y=s}else{let e=t;v=ks(e.length>1?e(f,{attrs:s,slots:o,emit:l}):e(f,null)),y=t.props?s:go(s)}}catch(t){ms.length=0,qn(t,e,1),v=V(fs)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(c)&&(y=_o(y,a)),b=Ds(b,y,!1,!0))}return n.dirs&&(b=Ds(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&si(Ir(b.type)&&oi(b)||b,n.transition),v=b,gr(_),v}function ho(e,t=!0){let n;for(let t=0;t<e.length;t++){let r=e[t];if(bs(r)){if(r.type!==fs||r.children===`v-if`){if(n)return;n=r}}else return}return n}var go=e=>{let t;for(let n in e)(n===`class`||n===`style`||s(n))&&((t||={})[n]=e[n]);return t},_o=(e,t)=>{let n={};for(let r in e)(!c(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function vo(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?yo(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(bo(o,r,n)&&!po(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||yo(r,o,l):!!o;return!1}function yo(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(bo(t,e,a)&&!po(n,a))return!0}return!1}function bo(e,t,n){let r=e[n],i=t[n];return n===`style`&&x(r)&&x(i)?!ke(r,i):r!==i}function xo({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var So={},Co=()=>Object.create(So),wo=e=>Object.getPrototypeOf(e)===So;function To(e,t,n,r=!1){let i={},a=Co();e.propsDefaults=Object.create(null),Do(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:tn(i):e.type.props?i:a,e.attrs=a}function Eo(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=un(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(po(e.emitsOptions,o))continue;let u=t[o];if(c){if(f(a,o))u!==a[o]&&(a[o]=u,l=!0);else{let t=ie(o);i[t]=Oo(c,s,t,u,e,!1)}}else u!==a[o]&&(a[o]=u,l=!0)}}}else{Do(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!f(t,a)&&((r=oe(a))===a||!f(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=Oo(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!f(t,e))&&(delete a[e],l=!0)}l&&_t(e.attrs,`set`,``)}function Do(e,t,n,i){let[a,o]=e.propsOptions,s=!1,c;if(t)for(let r in t){if(te(r))continue;let l=t[r],u;a&&f(a,u=ie(r))?!o||!o.includes(u)?n[u]=l:(c||={})[u]=l:po(e.emitsOptions,r)||(!(r in i)||l!==i[r])&&(i[r]=l,s=!0)}if(o){let t=un(n),i=c||r;for(let r=0;r<o.length;r++){let s=o[r];n[s]=Oo(a,t,s,i[s],e,!f(i,s))}}return s}function Oo(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=f(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&v(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=Vs(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===oe(n))&&(r=!0))}return r}var ko=new WeakMap;function Ao(e,t,n=!1){let a=n?ko:t.propsCache,o=a.get(e);if(o)return o;let s=e.props,c={},u=[],d=!1;if(!v(e)){let r=e=>{d=!0;let[n,r]=Ao(e,t,!0);l(c,n),r&&u.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!s&&!d)return x(e)&&a.set(e,i),i;if(p(s))for(let e=0;e<s.length;e++){let t=ie(s[e]);jo(t)&&(c[t]=r)}else if(s)for(let e in s){let t=ie(e);if(jo(t)){let n=s[e],r=c[t]=p(n)||v(n)?{type:n}:l({},n),i=r.type,a=!1,o=!0;if(p(i))for(let e=0;e<i.length;++e){let t=i[e],n=v(t)&&t.name;if(n===`Boolean`){a=!0;break}n===`String`&&(o=!1)}else a=v(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||f(r,`default`))&&u.push(t)}}let m=[c,u];return x(e)&&a.set(e,m),m}function jo(e){return e[0]!==`$`&&!te(e)}var Mo=e=>e===`_`||e===`_ctx`||e===`$stable`,No=e=>p(e)?e.map(ks):[ks(e)],Po=(e,t,n)=>{if(t._n)return t;let r=N((...e)=>No(t(...e)),n);return r._c=!1,r},Fo=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Mo(n))continue;let i=e[n];if(v(i))t[n]=Po(n,i,r);else if(i!=null){let e=No(i);t[n]=()=>e}}},Io=(e,t)=>{let n=No(t);e.slots.default=()=>n},Lo=(e,t,n)=>{for(let r in t)(n||!Mo(r))&&(e[r]=t[r])},Ro=(e,t,n)=>{let r=e.slots=Co();if(e.vnode.shapeFlag&32){let e=t._;e?(Lo(r,t,n),n&&ue(r,`_`,e,!0)):Fo(t,r)}else t&&Io(e,t)},zo=(e,t,n)=>{let{vnode:i,slots:a}=e,o=!0,s=r;if(i.shapeFlag&32){let e=t._;e?n&&e===1?o=!1:Lo(a,t,n):(o=!t.$stable,Fo(t,a)),s=t}else t&&(Io(e,t),s={default:1});if(o)for(let e in a)!Mo(e)&&s[e]==null&&delete a[e]},Bo=cs;function Vo(e){return Uo(e)}function Ho(e){return Uo(e,Si)}function Uo(e,t){let n=me();n.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=a,insertStaticContent:_}=e,v=(e,t,n,r=null,a=null,o=null,s=void 0,c=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!xs(e,t)&&(r=O(e),ge(e,a,o,!0),e=null),t.patchFlag===-2&&(l=!1,t.dynamicChildren=null),t.dynamicChildren&&e&&e.dynamicChildren&&e.dynamicChildren.hasOnce&&(t.dynamicChildren===i&&(t.dynamicChildren=[]),t.dynamicChildren.hasOnce=!0);let{type:u,ref:d,shapeFlag:f}=t;switch(u){case ds:y(e,t,n,r);break;case fs:b(e,t,n,r);break;case ps:e??x(t,n,r,s);break;case I:ae(e,t,n,r,a,o,s,c,l);break;default:f&1?w(e,t,n,r,a,o,s,c,l):f&6?oe(e,t,n,r,a,o,s,c,l):(f&64||f&128)&&u.process(e,t,n,r,a,o,s,c,l,Ce)}d!=null&&a?mi(d,e&&e.ref,o,t||e,!t):d==null&&e&&e.ref!=null&&mi(e.ref,null,o,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ne(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&E(e.children,d,null,r,i,Wo(e,a),s,u),_&&xr(e,null,r,`created`),ee(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!te(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ns(f,r,e)}_&&xr(e,null,r,`beforeMount`);let v=Ko(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&Bo(()=>{try{f&&Ns(f,r,e),v&&g.enter(d),_&&xr(e,null,r,`mounted`)}finally{}},i)},ee=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||Qo(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;ee(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},E=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++){let c=e[l]=s?As(e[l]):ks(e[l]);v(null,c,t,n,r,i,a,o,s)}},ne=(e,t,n,i,a,o,s)=>{let l=t.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=t;u|=e.patchFlag&16;let m=e.props||r,h=t.props||r,g;if(n&&Go(n,!1),(g=h.onVnodeBeforeUpdate)&&Ns(g,n,t,e),f&&xr(t,e,n,`beforeUpdate`),n&&Go(n,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?re(e.dynamicChildren,d,l,n,i,Wo(t,a),o):s||de(e,t,l,null,n,i,Wo(t,a),o,!1),u>0){if(u&16)ie(l,m,h,n,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let r=e[t],i=m[r],o=h[r];(o!==i||r===`value`)&&c(l,r,i,o,a,n)}}u&1&&e.children!==t.children&&p(l,t.children)}else!s&&d==null&&ie(l,m,h,n,a);((g=h.onVnodeUpdated)||f)&&Bo(()=>{g&&Ns(g,n,t,e),f&&xr(t,e,n,`updated`)},i)},re=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s],u=c.el&&(c.type===I||!xs(c,l)||c.shapeFlag&198)?m(c.el):n;v(c,l,u,null,r,i,a,o,!0)}},ie=(e,t,n,i,a)=>{if(t!==n){if(t!==r)for(let r in t)!te(r)&&!(r in n)&&c(e,r,t[r],null,a,i);for(let r in n){if(te(r))continue;let o=n[r],s=t[r];o!==s&&r!==`value`&&c(e,r,s,o,a,i)}`value`in n&&c(e,`value`,t.value,n.value,a)}},ae=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),E(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(re(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&qo(e,t,!0)):de(e,t,n,f,i,a,s,c,l)},oe=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):se(t,n,r,i,a,o,c):ce(e,t,c)},se=(e,t,n,r,i,a,o)=>{let s=e.component=Is(e,r,i);if(Ui(e)&&(s.ctx.renderer=Ce),Gs(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,D,o),!e.el){let r=s.subTree=V(fs);b(null,r,t,n),e.placeholder=r.el}}else D(s,e,t,n,i,a,o)},ce=(e,t,n)=>{let r=t.component=e.component;if(vo(e,t,n)){if(r.asyncDep&&!r.asyncResolved){t.el=e.el,ue(r,t,n);return}r.next=t,r.update()}else t.el=e.el,r.vnode=t},D=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Yo(e);if(n){t&&(t.el=c.el,ue(e,t,o)),n.asyncDep.then(()=>{Bo(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;Go(e,!1),t?(t.el=c.el,ue(e,t,o)):t=c,n&&le(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ns(d,s,t,c),Go(e,!0);let f=mo(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),O(p),e,i,a),t.el=f.el,u===null&&xo(e,f.el),r&&Bo(r,i),(d=t.props&&t.props.onVnodeUpdated)&&Bo(()=>Ns(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Bi(t);if(Go(e,!1),l&&le(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ns(o,d,t),Go(e,!0),s&&Te){let t=()=>{e.subTree=mo(e),Te(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=mo(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&Bo(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;Bo(()=>Ns(o,d,e),i)}(t.shapeFlag&256||d&&Bi(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&Bo(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new He(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>ir(u),Go(e,!0),l()},ue=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Eo(e,t.props,r,n),zo(e,t.children,n),at(),sr(e),ot()},de=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){pe(l,d,n,r,i,a,o,s,c);return}if(f&256){fe(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&be(l,i,a),d!==l&&p(n,d)):u&16?m&16?pe(l,d,n,r,i,a,o,s,c):be(l,i,a,!0):(u&8&&p(n,``),m&16&&E(d,n,r,i,a,o,s,c))},fe=(e,t,n,r,a,o,s,c,l)=>{e||=i,t||=i;let u=e.length,d=t.length,f=Math.min(u,d),p=0;for(;p<f;p++){let r=t[p]=l?As(t[p]):ks(t[p]);v(e[p],r,n,null,a,o,s,c,l)}u>d?be(e,a,o,!0,!1,f):E(t,n,r,a,o,s,c,l,f)},pe=(e,t,n,r,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let r=e[u],i=t[u]=l?As(t[u]):ks(t[u]);if(xs(r,i))v(r,i,n,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let r=e[f],i=t[p]=l?As(t[p]):ks(t[p]);if(xs(r,i))v(r,i,n,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,i=e<d?t[e].el:r;for(;u<=p;)v(null,t[u]=l?As(t[u]):ks(t[u]),n,i,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)ge(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?As(t[u]):ks(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let r=e[u];if(y>=b){ge(r,a,o,!0);continue}let i;if(r.key!=null)i=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&xs(r,t[_])){i=_;break}i===void 0?ge(r,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(r,t[i],n,null,a,o,s,c,l),y++)}let w=x?Jo(C):i;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,i=t[e],f=t[e+1],p=e+1<d?f.el||Zo(f):r;C[u]===0?v(null,i,n,p,a,o,s,c,l):x&&(_<0||u!==w[_]?he(i,n,p,2):_--)}}},he=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){he(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,Ce);return}if(c===I){o(a,t,n);for(let e=0;e<u.length;e++)he(u[e],t,n,r);o(e.anchor,t,n);return}if(c===ps){S(e,t,n);return}if(r!==2&&d&1&&l){if(r===0)l.persisted&&!a[Jr]?o(a,t,n):(l.beforeEnter(a),o(a,t,n),Bo(()=>l.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[Jr];a._isLeaving&&a[Jr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}}else o(a,t,n)},ge=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if((d===-2||l&&l.hasOnce)&&(i=!1),s!=null&&(at(),mi(s,null,n,e,!0),ot()),p!=null&&(!e.ctx||e.ctx===t)&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Bi(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ns(_,t,e),u&6)ye(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&xr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,Ce,r):l&&!l.hasOnce&&(a!==I||d>0&&d&64)?be(l,t,n,!1,!0):(a===I&&d&384||!i&&u&16)&&be(c,t,n),r&&_e(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&Bo(()=>{_&&Ns(_,t,e),h&&xr(e,null,t,`unmounted`),v&&(e.el=null)},n)},_e=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===I){ve(n,r);return}if(t===ps){C(e),i&&!i.persisted&&i.afterLeave&&i.afterLeave();return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ve=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},ye=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Xo(c),Xo(l),r&&le(r),i.stop(),a?(a.flags|=8,ge(o,e,t,n)):e.vnode.el&&o&&(o.transition=e.vnode.transition,ge(o,e,t,n)),s&&Bo(s,t),Bo(()=>{e.isUnmounted=!0},t)},be=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)ge(e[o],t,n,r,i)},O=e=>{if(e.shapeFlag&6)return O(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Fr];return n?h(n):t},xe=!1,Se=(e,t,n)=>{let r;e==null?t._vnode&&(ge(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,xe||=(xe=!0,sr(r),cr(),!1)},Ce={p:v,um:ge,m:he,r:_e,mt:se,mc:E,pc:de,pbc:re,n:O,o:e},we,Te;return t&&([we,Te]=t(Ce)),{render:Se,hydrate:we,createApp:ao(Se,we)}}function Wo({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Go({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ko(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qo(e,t,n=!1){let r=e.children,i=t.children;if(p(r)&&p(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=As(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&qo(t,a)),a.type===ds&&(a.patchFlag===-1&&(a=i[e]=As(a)),a.el=t.el),a.type===fs&&!a.el&&(a.el=t.el)}}function Jo(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function Yo(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Yo(t)}function Xo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Zo(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?Zo(t.subTree):null}var Qo=e=>e.__isSuspense,$o=0,es={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)ns(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback&&!a.isHydrating){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}rs(e,t,n,r,i,o,s,c,l)}},hydrate:as,normalize:os};function ts(e,t){let n=e.props&&e.props[t];v(n)&&n()}function ns(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=is(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(ts(e,`onPending`),ts(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),ls(f,e.ssFallback)):f.resolve(!1,!0)}function rs(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,xs(h,f)?(d.deps++,c(h,f,_?n:d.hiddenContainer,null,i,d,a,o,s),d.deps--,d.deps<=0?d.resolve():g&&!_&&!d.isFallbackMountPending&&(c(m,p,n,r,i,null,a,o,s),ls(d,p))):(d.pendingId=$o++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():d.isFallbackMountPending||(c(m,p,n,r,i,null,a,o,s),ls(d,p))):m&&xs(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&xs(m,f))c(m,f,n,r,i,d,a,o,s),ls(d,f);else if(ts(t,`onPending`),d.pendingBranch=f,d.pendingId=f.shapeFlag&512?f.component.suspenseId:$o++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function is(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=us(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?fe(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:$o++,timeout:typeof y==`number`?y:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;if(x.isHydrating)x.isHydrating=!1;else if(!e){g=i&&o.transition&&o.transition.mode===`out-in`;let e=!1;g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b&&!e?m(i):a,0),or(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&!x.isFallbackMountPending&&(h(i.el)===u&&(a=m(i),e=!0),p(i,l,x,!0),!g&&d&&r.ssFallback&&Bo(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)}x.isFallbackMountPending=!1,ls(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,S=!1;for(;y;){if(y.pendingBranch){for(let e=0;e<c.length;e++)y.effects.push(c[e]);S=!0;break}y=y.parent}!S&&!g&&or(c),x.effects=[],v&&t&&t.pendingBranch&&_===t.pendingId&&(_=void 0,t.deps--,t.deps===0&&!n&&t.resolve()),ts(r,`onResolve`)},fallback(e){if(!x.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:r,container:i,namespace:a}=x;ts(t,`onFallback`);let o=m(n),l=()=>{if(x.isFallbackMountPending=!1,!x.isInFallback)return;let e=x.vnode.ssFallback;d(null,e,i,o,r,null,a,s,c),ls(x,e)},u=e.transition&&e.transition.mode===`out-in`;u&&(x.isFallbackMountPending=!0,n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{qn(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;if(Hs(),i&&!e.scope.active){r&&--x.deps===0&&x.resolve();return}e.asyncResolved=!0;let{vnode:s}=e;qs(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),xo(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function as(e,t,n,r,i,a,o,s,c){let l=t.suspense=is(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function os(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=ss(r?n.default:n),e.ssFallback=r?ss(n.fallback):V(fs)}function ss(e){let t;if(v(e)){let n=_s&&e._c;n&&(e._d=!1,L()),e=e(),n&&(e._d=!0,t=hs,gs())}return p(e)&&(e=ho(e)),e=ks(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function cs(e,t){t&&t.pendingBranch?p(e)?t.effects.push(...e):t.effects.push(e):or(e)}function ls(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,xo(r,i))}function us(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var I=Symbol.for(`v-fgt`),ds=Symbol.for(`v-txt`),fs=Symbol.for(`v-cmt`),ps=Symbol.for(`v-stc`),ms=[],hs=null;function L(e=!1){ms.push(hs=e?null:[])}function gs(){ms.pop(),hs=ms[ms.length-1]||null}var _s=1;function vs(e,t=!1){_s+=e,e<0&&hs&&t&&(hs.hasOnce=!0)}function ys(e){return e.dynamicChildren=_s>0?hs||i:null,gs(),_s>0&&hs&&hs.push(e),e}function R(e,t,n,r,i,a){return ys(B(e,t,n,r,i,a,!0))}function z(e,t,n,r,i){return ys(V(e,t,n,r,i,!0))}function bs(e){return e?e.__v_isVNode===!0:!1}function xs(e,t){return e.type===t.type&&e.key===t.key}function Ss(e){}var Cs=({key:e})=>e??null,ws=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:y(e)||A(e)||v(e)?{i:mr,r:e,k:t,f:!!n}:e);function B(e,t=null,n=null,r=0,i=null,a=e===I?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Cs(t),ref:t&&ws(t),scopeId:hr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:mr};return s?(js(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=y(n)?8:16),_s>0&&!o&&hs&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&hs.push(c),c}var V=Ts;function Ts(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===pa)&&(e=fs),bs(e)){let r=Ds(e,t,!0);return n&&js(r,n),_s>0&&!a&&hs&&(r.shapeFlag&6?hs[hs.indexOf(e)]=r:hs.push(r)),r.patchFlag=-2,r}if(rc(e)&&(e=e.__vccOpts),t){t=Es(t);let{class:e,style:n}=t;e&&!y(e)&&(t.class=O(e)),x(n)&&(ln(n)&&!p(n)&&(n=l({},n)),t.style=ge(n))}let o=y(e)?1:Qo(e)?128:Ir(e)?64:x(e)?4:v(e)?2:0;return B(e,t,n,r,i,o,a,!0)}function Es(e){return e?ln(e)||wo(e)?l({},e):e:null}function Ds(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ms(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Cs(l),ref:t&&t.ref?n&&a?p(a)?a.concat(ws(t)):[a,ws(t)]:ws(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==I?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ds(e.ssContent),ssFallback:e.ssFallback&&Ds(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&r&&si(u,c.clone(u)),u}function H(e=` `,t=0){return V(ds,null,e,t)}function Os(e,t){let n=V(ps,null,e);return n.staticCount=t,n}function U(e=``,t=!1){return t?(L(),z(fs,null,e)):V(fs,null,e)}function ks(e){return e==null||typeof e==`boolean`?V(fs):p(e)?V(I,null,e.slice()):bs(e)?As(e):V(ds,null,String(e))}function As(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ds(e)}function js(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(p(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),js(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!wo(t)?t._ctx=mr:r===3&&mr&&(mr.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(v(t)){if(r&65){js(e,{default:t});return}t={default:t,_ctx:mr},n=32}else t=String(t),r&64?(n=16,t=[H(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ms(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=O([t.class,r.class]));else if(e===`style`)t.style=ge([t.style,r.style]);else if(s(e)){let n=t[e],i=r[e];i&&n!==i&&!(p(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!c(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Ns(e,t,n,r=null){Kn(e,t,7,[n,r])}var Ps=ro(),Fs=0;function Is(e,t,n){let i=e.type,a=(t?t.appContext:e.appContext)||Ps,o={uid:Fs++,vnode:e,type:i,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ie(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ao(i,a),emitsOptions:fo(i,a),emit:null,emitted:null,propsDefaults:r,inheritAttrs:i.inheritAttrs,ctx:r,data:r,props:r,attrs:r,slots:r,refs:r,setupState:r,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=lo.bind(null,o),e.ce&&e.ce(o),o}var Ls=null,Rs=()=>Ls||mr,zs,Bs;{let e=me(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};zs=t(`__VUE_INSTANCE_SETTERS__`,e=>Ls=e),Bs=t(`__VUE_SSR_SETTERS__`,e=>Ws=e)}var Vs=e=>{let t=Ls;return zs(e),e.scope.on(),()=>{e.scope.off(),zs(t)}},Hs=()=>{Ls&&Ls.scope.off(),zs(null)};function Us(e){return e.vnode.shapeFlag&4}var Ws=!1;function Gs(e,t=!1,n=!1){t&&Bs(t);let{props:r,children:i}=e.vnode,a=Us(e);To(e,r,a,t),Ro(e,i,n||t);let o=a?Ks(e,t):void 0;return t&&Bs(!1),o}function Ks(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ta);let{setup:r}=n;if(r){at();let n=e.setupContext=r.length>1?ec(e):null,i=Vs(e),a=Gn(r,e,0,[e.props,n]),o=S(a);if(ot(),i(),(o||e.sp)&&!Bi(e)&&ui(e),o){if(a.then(Hs,Hs),t)return a.then(n=>{Bs(!0);try{qs(e,n,t)}finally{Bs(!1)}}).catch(t=>{qn(t,e,0)});e.asyncDep=a}else qs(e,a,t)}else Qs(e,t)}function qs(e,t,n){v(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:x(t)&&(e.setupState=bn(t)),Qs(e,n)}var Js,Ys;function Xs(e){Js=e,Ys=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Ea))}}var Zs=()=>!Js;function Qs(e,t,n){let r=e.type;if(!e.render){if(!t&&Js&&!r.render){let t=r.template||qa(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=l(l({isCustomElement:n,delimiters:a},i),o);r.render=Js(t,s)}}e.render=r.render||a,Ys&&Ys(e)}{let t=Vs(e);at();try{Ua(e)}finally{ot(),t()}}}var $s={get(e,t){return gt(e,`get`,``),e[t]}};function ec(e){return{attrs:new Proxy(e.attrs,$s),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function tc(e){return e.exposed?e.exposeProxy||=new Proxy(bn(dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ca)return Ca[n](e)},has(e,t){return t in e||t in Ca}}):e.proxy}function nc(e,t=!0){return v(e)?e.displayName||e.name:e.name||t&&e.__name}function rc(e){return v(e)&&`__vccOpts`in e}var W=(e,t)=>kn(e,t,Ws);function ic(e,t,n){try{vs(-1);let r=arguments.length;return r===2?x(t)&&!p(t)?bs(t)?V(e,null,[t]):V(e,t):V(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&bs(n)&&(n=[n]),V(e,t,n))}finally{vs(1)}}function ac(){}function oc(e,t,n,r){let i=n[r];if(i&&sc(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function sc(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e<n.length;e++)if(D(n[e],t[e]))return!1;return _s>0&&hs&&hs.push(e),!0}var cc=`3.5.43`,lc=a,uc=Wn,dc=dr,fc=pr,pc={createComponentInstance:Is,setupComponent:Gs,renderComponentRoot:mo,setCurrentRenderingInstance:gr,isVNode:bs,normalizeVNode:ks,getComponentPublicInstance:tc,ensureValidVNode:ba,pushWarningContext:Bn,popWarningContext:Vn},mc=void 0,hc=typeof window<`u`&&window.trustedTypes;if(hc)try{mc=hc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var gc=mc?e=>mc.createHTML(e):e=>e,_c=`http://www.w3.org/2000/svg`,vc=`http://www.w3.org/1998/Math/MathML`,yc=typeof document<`u`?document:null,bc=yc&&yc.createElement(`template`),xc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?yc.createElementNS(_c,e):t===`mathml`?yc.createElementNS(vc,e):n?yc.createElement(e,{is:n}):yc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>yc.createTextNode(e),createComment:e=>yc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==a&&(i=i.nextSibling););else{bc.innerHTML=gc(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=bc.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Sc=`transition`,Cc=`animation`,wc=Symbol(`_vtc`),Tc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ec=l({},Qr,Tc),Dc=(e=>(e.displayName=`Transition`,e.props=Ec,e))((e,{slots:t})=>ic(ni,Ac(e),t)),Oc=(e,t=[])=>{p(e)?e.forEach(e=>e(...t)):e&&e(...t)},kc=e=>e?p(e)?e.some(e=>e.length>1):e.length>1:!1;function Ac(e){let t={};for(let n in e)n in Tc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=jc(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,Pc(e,t?d:s),Pc(e,t?u:o),n&&n()},E=(e,t)=>{e._isLeaving=!1,Pc(e,f),Pc(e,m),Pc(e,p),t&&t()},te=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);Oc(i,[t,o]),Fc(()=>{Pc(t,e?c:a),Nc(t,e?d:s),kc(i)||Lc(t,r,g,o)})};return l(t,{onBeforeEnter(e){Oc(v,[e]),Nc(e,a),Nc(e,o)},onBeforeAppear(e){Oc(C,[e]),Nc(e,c),Nc(e,u)},onEnter:te(!1),onAppear:te(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>E(e,t);Nc(e,f),e._enterCancelled?(Nc(e,p),Vc(e)):(Vc(e),Nc(e,p)),Fc(()=>{e._isLeaving&&(Pc(e,f),Nc(e,m),kc(x)||Lc(e,r,_,n))}),Oc(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),Oc(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),Oc(T,[e])},onLeaveCancelled(e){E(e),Oc(S,[e])}})}function jc(e){if(e==null)return null;if(x(e))return[Mc(e.enter),Mc(e.leave)];{let t=Mc(e);return[t,t]}}function Mc(e){return fe(e)}function Nc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[wc]||(e[wc]=new Set)).add(t)}function Pc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[wc];n&&(n.delete(t),n.size||(e[wc]=void 0))}function Fc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Ic=0;function Lc(e,t,n,r){let i=e._endId=++Ic,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Rc(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function Rc(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${Sc}Delay`),a=r(`${Sc}Duration`),o=zc(i,a),s=r(`${Cc}Delay`),c=r(`${Cc}Duration`),l=zc(s,c),u=null,d=0,f=0;t===Sc?o>0&&(u=Sc,d=o,f=a.length):t===Cc?l>0&&(u=Cc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Sc:Cc:null,f=u?u===Sc?a.length:c.length:0);let p=u===Sc&&/\b(?:transform|all)(?:,|$)/.test(r(`${Sc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function zc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>Bc(t)+Bc(e[n])))}function Bc(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Vc(e){return(e?e.ownerDocument:document).body.offsetHeight}function Hc(e,t,n){let r=e[wc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Uc=Symbol(`_vod`),Wc=Symbol(`_vsh`),Gc={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Uc]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Kc(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Kc(e,!0),r.enter(e)):r.leave(e,()=>{Kc(e,!1)}):Kc(e,t))},beforeUnmount(e,{value:t}){Kc(e,t)}};function Kc(e,t){e.style.display=t?e[Uc]:`none`,e[Wc]=!t}function qc(){Gc.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var Jc=Symbol(``);function Yc(e){let t=Rs();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Zc(e,n))},r=()=>{let r=e(t.proxy);t.ce?Zc(t.ce,r):Xc(t.subTree,r),n(r)};na(()=>{or(r)}),ta(()=>{Ar(r,a,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),aa(()=>e.disconnect())})}function Xc(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Xc(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Zc(e.el,t);else if(e.type===I)e.children.forEach(e=>Xc(e,t));else if(e.type===ps){let{el:n,anchor:r}=e;for(;n&&(Zc(n,t),n!==r);)n=n.nextSibling}}function Zc(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=Pe(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Jc]=r}}var Qc=/(?:^|;)\s*display\s*:/;function $c(e,t,n){let r=e.style,i=y(n),a=!1;if(n&&!i){if(t){if(y(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??tl(r,t,``)}else for(let e in t)n[e]??tl(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?tl(r,i,``):al(e,i,!y(t)&&t?t[i]:void 0,o)||tl(r,i,o)}}else if(i){if(t!==n){let e=r[Jc];e&&(n+=`;`+e),r.cssText=n,a=Qc.test(n)}}else t&&e.removeAttribute(`style`);Uc in e&&(e[Uc]=a?r.display:``,e[Wc]&&(r.display=`none`))}var el=/\s*!important$/;function tl(e,t,n){if(p(n))n.forEach(n=>tl(e,t,n));else if(n??=``,t.startsWith(`--`))el.test(n)?e.setProperty(t,n.replace(el,``),`important`):e.setProperty(t,n);else{let r=il(e,t);el.test(n)?e.setProperty(oe(r),n.replace(el,``),`important`):e[r]=n}}var nl=[`Webkit`,`Moz`,`ms`],rl={};function il(e,t){let n=rl[t];if(n)return n;let r=ie(t);if(r!==`filter`&&r in e)return rl[t]=r;r=se(r);for(let n=0;n<nl.length;n++){let i=nl[n]+r;if(i in e)return rl[t]=i}return t}function al(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&y(r)&&n===r}var ol=`http://www.w3.org/1999/xlink`;function sl(e,t,n,r,i,a=Ce(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(ol,t.slice(6,t.length)):e.setAttributeNS(ol,t,n):n==null||a&&!we(n)?e.removeAttribute(t):e.setAttribute(t,a?``:b(n)?String(n):n)}function cl(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?gc(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=we(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function ll(e,t,n,r){e.addEventListener(t,n,r)}function ul(e,t,n,r){e.removeEventListener(t,n,r)}var dl=Symbol(`_vei`);function fl(e,t,n,r,i=null){let a=e[dl]||(e[dl]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=hl(t);r?ll(e,n,a[t]=yl(r,i),s):o&&(ul(e,n,o,s),a[t]=void 0)}}var pl=/(Once|Passive|Capture)$/,ml=/^on:?(?:Once|Passive|Capture)$/;function hl(e){let t,n;for(;(n=e.match(pl))&&!ml.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):oe(e.slice(2)),t]}var gl=0,_l=Promise.resolve(),vl=()=>gl||=(_l.then(()=>gl=0),Date.now());function yl(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(p(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&Kn(e,t,5,a)}}else Kn(r,t,5,[e])};return n.value=e,n.attached=vl(),n}var bl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Hc(e,r,o):t===`style`?$c(e,n,r):s(t)?c(t)||fl(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):Sl(e,t,r,o))?(cl(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&sl(e,t,r,o,a,t!==`value`)):e._isVueCE&&(Cl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!y(r)))?cl(e,ie(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),sl(e,t,r,o))};function Sl(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&bl(t)&&v(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return bl(t)&&y(n)?!1:t in e}function Cl(e,t){let n=e._def.props;if(!n)return!1;let r=ie(t);return Array.isArray(n)?n.some(e=>ie(e)===r):Object.keys(n).some(e=>ie(e)===r)}var wl={};function Tl(e,t,n){let r=P(e,t);ee(r)&&(r=l({},r,t));class i extends Ol{constructor(e){super(r,e,n)}}return i.def=r,i}var El=((e,t)=>Tl(e,t,bu)),Dl=typeof HTMLElement<`u`?HTMLElement:class{},Ol=class e extends Dl{constructor(e,t={},n=yu){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==yu?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(l({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.assignedSlot||t.parentNode||t.host;)if(t instanceof e){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(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,nr(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let e=0;e<this.attributes.length;e++)this._setAttr(this.attributes[e].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});let e=(e,t=!1)=>{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!p(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=fe(this._props[e])),(i||=Object.create(null))[ie(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}),this._pendingResolve;e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)f(this,e)||Object.defineProperty(this,e,{get:()=>M(t[e])})}_resolveProps(e){let{props:t}=e,n=p(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(ie))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):wl,r=ie(e);t&&this._numberProps&&this._numberProps[r]&&(n=fe(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===wl?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(oe(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(oe(e),t+``):t||this.removeAttribute(oe(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),_u(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=V(this._def,l(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,ee(t[0])?l({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),oe(e)!==e&&t(oe(e),n)},this._setParent()}),t}_applyStyles(e,t,n){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let r=this._nonce,i=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i),o=null;for(let s=e.length-1;s>=0;s--){let c=document.createElement(`style`);r&&c.setAttribute(`nonce`,r),c.textContent=e[s],i.insertBefore(c,o||a),o=c,s===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(e){if(!e)return null;let t=this._styleAnchors.get(e);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes[t];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){let e=this._slots={},t;for(;t=this.firstChild;){let n=t.nodeType===1&&t.getAttribute(`slot`)||`default`;(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){let e=this._getSlots(),t=this._instance.type.__scopeId;for(let n=0;n<e.length;n++){let r=e[n],i=r.getAttribute(`name`)||`default`,a=this._slots[i],o=r.parentNode;if(a)for(let e of a){if(t&&e.nodeType===1){let n=t+`-s`,r=document.createTreeWalker(e,1);e.setAttribute(n,``);let i;for(;i=r.nextNode();)i.setAttribute(n,``)}o.insertBefore(e,r)}else for(;r.firstChild;)o.insertBefore(r.firstChild,r);o.removeChild(r)}}_getSlots(){let e=[this];this._teleportTargets&&e.push(...this._teleportTargets);let t=new Set;for(let n of e){let e=n.querySelectorAll(`slot`);for(let n=0;n<e.length;n++)t.add(e[n])}return Array.from(t)}_injectChildStyle(e,t){this._applyStyles(e.styles,e,t)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(e){}};function kl(e){let t=Rs();return t&&t.ce||null}function Al(){let e=kl();return e&&e.shadowRoot}function jl(e=`$style`){{let t=Rs();if(!t)return r;let n=t.type.__cssModules;return n&&n[e]||r}}var Ml=new WeakMap,Nl=new WeakMap,Pl=Symbol(`_moveCb`),Fl=Symbol(`_enterCb`),Il=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:l({},Ec,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Rs(),r=Xr(),i,a;return ra(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Vl(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Ll),i.forEach(Rl);let r=i.filter(zl);Vc(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Nc(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Pl]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Pl]=null,Pc(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=un(e),s=Ac(o),c=o.tag||I;if(i=[],a)for(let e=0;e<a.length;e++){let t=a[e];t.el&&t.el instanceof Element&&!t.el[Wc]&&(i.push(t),si(t,ii(t,s,r,n)),Ml.set(t,Bl(t.el)))}a=t.default?ci(t.default()):[];for(let e=0;e<a.length;e++){let t=a[e];t.key!=null&&si(t,ii(t,s,r,n))}return V(c,null,a)}}});function Ll(e){let t=e.el;t[Pl]&&t[Pl](),t[Fl]&&t[Fl]()}function Rl(e){Nl.set(e,Bl(e.el))}function zl(e){let t=Ml.get(e),n=Nl.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){let t=e.el,n=t.style,a=t.getBoundingClientRect(),o=1,s=1;return t.offsetWidth&&(o=a.width/t.offsetWidth),t.offsetHeight&&(s=a.height/t.offsetHeight),(!Number.isFinite(o)||o===0)&&(o=1),(!Number.isFinite(s)||s===0)&&(s=1),Math.abs(o-1)<.01&&(o=1),Math.abs(s-1)<.01&&(s=1),n.transform=n.webkitTransform=`translate(${r/o}px,${i/s}px)`,n.transitionDuration=`0s`,e}}function Bl(e){let t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function Vl(e,t,n){let r=e.cloneNode(),i=e[wc];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Rc(r);return a.removeChild(r),o}var Hl=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return p(t)?e=>le(t,e):t};function Ul(e){e.target.composing=!0}function Wl(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Gl=Symbol(`_assign`),Kl=Symbol(`_initialValue`);function ql(e,t,n){return t&&(e=e.trim()),n&&(e=de(e)),e}var Jl={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[Kl]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[Kl]=e.defaultValue.replace(/\r\n?/g,`
|
|
4
|
+
`))),e[Gl]=Hl(i);let a=r||i.props&&i.props.type===`number`;ll(e,t?`change`:`input`,t=>{t.target.composing||e[Gl](ql(e.value,n,a))}),(n||a)&&ll(e,`change`,()=>{e.value=ql(e.value,n,a)}),t||(ll(e,`compositionstart`,Ul),ll(e,`compositionend`,Wl),ll(e,`change`,Wl))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Kl];delete e[Kl],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[Gl](ql(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Gl]=Hl(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?de(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Yl={deep:!0,created(e,t,n){e[Gl]=Hl(n),ll(e,`change`,()=>{let t=e._modelValue,n=tu(e),r=e.checked,i=e[Gl];if(p(t)){let e=Ae(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(h(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(nu(e,r))})},mounted:Xl,beforeUpdate(e,t,n){e[Gl]=Hl(n),Xl(e,t,n)}};function Xl(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(p(t))i=Ae(t,r.props.value)>-1;else if(h(t))i=t.has(r.props.value);else{if(t===n)return;i=ke(t,nu(e,!0))}e.checked!==i&&(e.checked=i)}var Zl={created(e,{value:t},n){e.checked=ke(t,n.props.value),e[Gl]=Hl(n),ll(e,`change`,()=>{e[Gl](tu(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Gl]=Hl(r),t!==n&&(e.checked=ke(t,r.props.value))}},Ql={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,ll(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?de(tu(e)):tu(e)),r=e.multiple,i=r?h(e._modelValue)?new Set(t):t:t[0],a=e._pendingValue=[r,r?p(i)?t.slice():t:i];try{e[Gl](i)}finally{nr(()=>{e._pendingValue===a&&(e._pendingValue=void 0)})}}),e[Gl]=Hl(r)},mounted(e,{value:t}){eu(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Gl]=Hl(n)},updated(e,{value:t}){let n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!$l(t,n[1],n[0]))&&eu(e,t)}};function $l(e,t,n){if(!n||p(e))return ke(e,t);if(h(e)){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}return!1}function eu(e,t){let n=e.multiple,r=p(t);if(!n||r||h(t)){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=tu(a);if(n){if(r){let e=typeof o;a.selected=e===`string`||e===`number`?t.some(e=>String(e)===String(o)):Ae(t,o)>-1}else a.selected=t.has(o)}else if(ke(tu(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function tu(e){return`_value`in e?e._value:e.value}function nu(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var ru={created(e,t,n){au(e,t,n,null,`created`)},mounted(e,t,n){au(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){au(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){au(e,t,n,r,`updated`)}};function iu(e,t){switch(e){case`SELECT`:return Ql;case`TEXTAREA`:return Jl;default:switch(t){case`checkbox`:return Yl;case`radio`:return Zl;default:return Jl}}}function au(e,t,n,r,i){let a=iu(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function ou(){Jl.getSSRProps=({value:e})=>({value:e}),Zl.getSSRProps=({value:e},t)=>{if(t.props&&ke(t.props.value,e))return{checked:!0}},Yl.getSSRProps=({value:e},t)=>{if(p(e)){if(t.props&&Ae(e,t.props.value)>-1)return{checked:!0}}else if(h(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},ru.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=iu(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var su=[`ctrl`,`shift`,`alt`,`meta`],cu={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>su.some(n=>e[`${n}Key`]&&!t.includes(n))},lu=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=cu[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},uu={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},du=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=oe(n.key);if(t.some(e=>e===r||uu[e]===r))return e(n)}))},fu=l({patchProp:xl},xc),pu,mu=!1;function hu(){return pu||=Vo(fu)}function gu(){return pu=mu?pu:Ho(fu),mu=!0,pu}var _u=((...e)=>{hu().render(...e)}),vu=((...e)=>{gu().hydrate(...e)}),yu=((...e)=>{let t=hu().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Su(e);if(!r)return;let i=t._component;!v(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,xu(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),bu=((...e)=>{let t=gu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=Su(e);if(t)return n(t,!0,xu(t))},t});function xu(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Su(e){return y(e)?document.querySelector(e):e}var Cu=!1,wu=()=>{Cu||(Cu=!0,ou(),qc())},Tu=t({BaseTransition:()=>ni,BaseTransitionPropsValidators:()=>Qr,Comment:()=>fs,DeprecationTypes:()=>null,EffectScope:()=>Ie,ErrorCodes:()=>Un,ErrorTypeStrings:()=>uc,Fragment:()=>I,KeepAlive:()=>Wi,ReactiveEffect:()=>He,Static:()=>ps,Suspense:()=>es,Teleport:()=>Gr,Text:()=>ds,TrackOpTypes:()=>An,Transition:()=>Dc,TransitionGroup:()=>Il,TriggerOpTypes:()=>jn,VueElement:()=>Ol,assertNumber:()=>Hn,callWithAsyncErrorHandling:()=>Kn,callWithErrorHandling:()=>Gn,camelize:()=>ie,capitalize:()=>se,cloneVNode:()=>Ds,compatUtils:()=>null,compile:()=>Eu,computed:()=>W,createApp:()=>yu,createBlock:()=>z,createCommentVNode:()=>U,createElementBlock:()=>R,createElementVNode:()=>B,createHydrationRenderer:()=>Ho,createPropsRestProxy:()=>Ba,createRenderer:()=>Vo,createSSRApp:()=>bu,createSlots:()=>ya,createStaticVNode:()=>Os,createTextVNode:()=>H,createVNode:()=>V,customRef:()=>Sn,defineAsyncComponent:()=>Vi,defineComponent:()=>P,defineCustomElement:()=>Tl,defineEmits:()=>Oa,defineExpose:()=>ka,defineModel:()=>Ma,defineOptions:()=>Aa,defineProps:()=>Da,defineSSRCustomElement:()=>El,defineSlots:()=>ja,devtools:()=>dc,effect:()=>tt,effectScope:()=>Le,getCurrentInstance:()=>Rs,getCurrentScope:()=>Re,getCurrentWatcher:()=>Fn,getTransitionRawChildren:()=>ci,guardReactiveProps:()=>Es,h:()=>ic,handleError:()=>qn,hasInjectionContext:()=>wr,hydrate:()=>vu,hydrateOnIdle:()=>Pi,hydrateOnInteraction:()=>Ri,hydrateOnMediaQuery:()=>Li,hydrateOnVisible:()=>Ii,initCustomFormatter:()=>ac,initDirectivesForSSR:()=>wu,inject:()=>Cr,isMemoSame:()=>sc,isProxy:()=>ln,isReactive:()=>on,isReadonly:()=>sn,isRef:()=>A,isRuntimeOnly:()=>Zs,isShallow:()=>cn,isVNode:()=>bs,markRaw:()=>dn,mergeDefaults:()=>Ra,mergeModels:()=>za,mergeProps:()=>Ms,nextTick:()=>nr,nodeOps:()=>xc,normalizeClass:()=>O,normalizeProps:()=>xe,normalizeStyle:()=>ge,onActivated:()=>Ki,onBeforeMount:()=>ea,onBeforeUnmount:()=>ia,onBeforeUpdate:()=>na,onDeactivated:()=>qi,onErrorCaptured:()=>la,onMounted:()=>ta,onRenderTracked:()=>ca,onRenderTriggered:()=>sa,onScopeDispose:()=>ze,onServerPrefetch:()=>oa,onUnmounted:()=>aa,onUpdated:()=>ra,onWatcherCleanup:()=>In,openBlock:()=>L,patchProp:()=>xl,popScopeId:()=>vr,provide:()=>Sr,proxyRefs:()=>bn,pushScopeId:()=>_r,queuePostFlushCb:()=>or,reactive:()=>en,readonly:()=>nn,ref:()=>j,registerRuntimeCompiler:()=>Xs,render:()=>_u,renderList:()=>va,renderSlot:()=>F,resolveComponent:()=>fa,resolveDirective:()=>ha,resolveDynamicComponent:()=>ma,resolveFilter:()=>null,resolveTransitionHooks:()=>ii,setBlockTracking:()=>vs,setDevtoolsHook:()=>fc,setTransitionHooks:()=>si,shallowReactive:()=>tn,shallowReadonly:()=>rn,shallowRef:()=>mn,ssrContextKey:()=>Tr,ssrUtils:()=>pc,stop:()=>nt,toDisplayString:()=>k,toHandlerKey:()=>ce,toHandlers:()=>xa,toRaw:()=>un,toRef:()=>En,toRefs:()=>Cn,toValue:()=>vn,transformVNodeArgs:()=>Ss,triggerRef:()=>_n,unref:()=>M,useAttrs:()=>Fa,useCssModule:()=>jl,useCssVars:()=>Yc,useHost:()=>kl,useId:()=>li,useModel:()=>so,useSSRContext:()=>Er,useShadowRoot:()=>Al,useSlots:()=>Pa,useTemplateRef:()=>di,useTransitionState:()=>Xr,vModelCheckbox:()=>Yl,vModelDynamic:()=>ru,vModelRadio:()=>Zl,vModelSelect:()=>Ql,vModelText:()=>Jl,vShow:()=>Gc,version:()=>cc,warn:()=>lc,watch:()=>Ar,watchEffect:()=>Dr,watchPostEffect:()=>Or,watchSyncEffect:()=>kr,withAsyncContext:()=>Va,withCtx:()=>N,withDefaults:()=>Na,withDirectives:()=>br,withKeys:()=>du,withMemo:()=>oc,withModifiers:()=>lu,withScopeId:()=>yr}),Eu=()=>{};function Du(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=Cr(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(Sr(r,e),e)]}function Ou(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function ku(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Au(e){return e==null}function ju(e,t){return Re()?(ze(e,t),!0):!1}function Mu(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return ju(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function Nu(e){let t=!1,n,r=Le(!0);return((...i)=>(t||=(n=r.run(()=>e(...i)),!0),n))}var Pu=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Fu=e=>e!==void 0,Iu=Object.prototype.toString,Lu=e=>Iu.call(e)===`[object Object]`,Ru=zu();function zu(){var e,t;return Pu&&!!((e=window)!=null&&(e=e.navigator)!=null&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Bu(e){return Array.isArray(e)?e:[e]}function Vu(e){return e||Rs()}function Hu(e){if(!Pu)return e;let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return((...a)=>(t+=1,r||(r=Le(!0),n=r.run(()=>e(...a))),ju(i),n))}function Uu(e){return en(A(e)?new Proxy({},{get(t,n,r){return M(Reflect.get(e.value,n,r))},set(t,n,r){return A(e.value[n])&&!A(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function Wu(e){return Uu(W(e))}function Gu(e,...t){let n=t.flat(),r=n[0];return Wu(()=>Object.fromEntries(typeof r==`function`?Object.entries(Cn(e)).filter(([e,t])=>!r(vn(t),e)):Object.entries(Cn(e)).filter(e=>!n.includes(e[0]))))}function Ku(e,t=1e4){return Sn((n,r)=>{let i=vn(e),a,o=()=>setTimeout(()=>{i=vn(e),r()},vn(t));return ju(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function qu(e,t){Vu(t)&&ia(e,t)}function Ju(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=mn(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},vn(t))}return r&&(a.value=!0,Pu&&l()),ju(c),{isPending:rn(a),start:l,stop:c}}function Yu(e,t,n){return Ar(e,t,{...n,immediate:!0})}var Xu=Pu?window:void 0;Pu&&window.document,Pu&&window.navigator,Pu&&window.location;function Zu(e){let t=vn(e);return t?.$el??t}function Qu(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=W(()=>{let t=Bu(vn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Yu(()=>[n.value?.map(e=>Zu(e))??[Xu].filter(e=>e!=null),Bu(vn(n.value?e[1]:e[0])),Bu(M(n.value?e[2]:e[1])),vn(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=Lu(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function $u(){let e=mn(!1),t=Rs();return t&&ta(()=>{e.value=!0},t),e}function ed(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function td(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=Xu,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=ed(t);return Qu(i,a,e=>{e.repeat&&vn(s)||c(e)&&n(e)},o)}function nd(e){return JSON.parse(JSON.stringify(e))}function rd(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=Rs(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):nd(e):e,g=()=>Fu(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=j(g()),r=!1;return Ar(()=>e[t],e=>{r||(r=!0,n.value=h(e),nr(()=>r=!1))}),Ar(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}return W({get(){return g()},set(e){_(e)}})}function id(e){return e?e.flatMap(e=>e.type===I?id(e.children):[e]):[]}var ad=[`INPUT`,`TEXTAREA`];function od(e,t,n,r={}){if(!t||r.enableIgnoredElement&&ad.includes(t.nodeName))return null;let{arrowKeyOptions:i=`both`,attributeName:a=`[data-reka-collection-item]`,itemsArray:o=[],loop:s=!0,dir:c=`ltr`,preventScroll:l=!0,focus:u=!1}=r,[d,f,p,m,h,g]=[e.key===`ArrowRight`,e.key===`ArrowLeft`,e.key===`ArrowUp`,e.key===`ArrowDown`,e.key===`Home`,e.key===`End`],_=p||m,v=d||f;if(!h&&!g&&(!_&&!v||i===`vertical`&&v||i===`horizontal`&&_))return null;let y=n?Array.from(n.querySelectorAll(a)):o;if(!y.length)return null;l&&e.preventDefault();let b=null;return v||_?b=sd(y,t,{goForward:_?m:c===`ltr`?d:f,loop:s}):h?b=y.at(0)||null:g&&(b=y.at(-1)||null),u&&b?.focus(),b}function sd(e,t,n,r=e.includes(t)?e.length:e.length+1){if(--r===0)return null;let i=e.indexOf(t),a;if(a=i===-1?n.goForward?0:e.length-1:n.goForward?i+1:i-1,!n.loop&&(a<0||a>=e.length))return null;let o=e[(a+e.length)%e.length];return o?o.hasAttribute(`disabled`)&&o.getAttribute(`disabled`)!==`false`?sd(e,o,n,r):o:null}var[cd,ld]=Du(`ConfigProvider`),ud=en({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});function dd(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function fd(e,t,n=`.`,r){if(!dd(t))return fd(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:dd(a)&&dd(i[t])?fd(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function pd(e){return(...t)=>t.reduce((t,n)=>fd(t,n,``,e),{})}var md=pd(),hd=Hu(()=>{let e=j(new Map),t=j(),n=W(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=cd({scrollBody:j(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,ud.layersWithOutsidePointerEventsDisabled.size===0&&(document.body.style.pointerEvents=``),document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,Ru&&i?.(),t.value=void 0};return Ar(n,(e,o)=>{if(!Pu)return;if(!e){o&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=r.scrollBody?.value?typeof r.scrollBody.value==`object`?md({padding:r.scrollBody.value.padding===!0?s:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?s:r.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),Ru&&(i=Qu(document,`touchmove`,e=>vd(e),{passive:!1})),nr(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function gd(e){let t=Math.random().toString(36).substring(2,7),n=hd();n.value.set(t,e??!1);let r=W({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return qu(()=>{n.value.delete(t)}),r}function _d(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:_d(t)}}function vd(e){let t=e||window.event,n=t.target;return n instanceof Element&&_d(n)?!1:t.touches.length>1||(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function yd(e){let t=cd({dir:j(`ltr`)});return W(()=>e?.value||t.dir?.value||`ltr`)}function bd(e){let t=Rs(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[ce(ie(t))]=(...n)=>e(t,...n)}),r}var xd=0;function Sd(){Dr(e=>{if(!Pu)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Cd()),document.body.insertAdjacentElement(`beforeend`,t[1]??Cd()),xd++,e(()=>{xd===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),xd--})})}function Cd(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function wd(e){return W(()=>!vn(e)||!!Zu(e)?.closest(`form`))}function Td(){let e=Rs(),t=j(),n=W(()=>r());ra(()=>{n.value!==r()&&_n(t)});function r(){return t.value&&`$el`in t.value&&[`#text`,`#comment`].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:Zu(t)}let i=Object.assign({},e.exposed),a={};for(let t in e.props)Object.defineProperty(a,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(i).length>0)for(let e in i)Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>i[e]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=a;function o(n){if(t.value=n,n&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),!(n instanceof Element)&&!Object.hasOwn(n,`$el`))){let t=n.$.exposed,r=Object.assign({},a);for(let e in t)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>t[e]});e.exposed=r}}return{forwardRef:o,currentRef:t,currentElement:n}}function Ed(e){let t=Rs(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=En(e);return W(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[ie(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function Dd(e,t){let n=Ed(e),r=t?bd(t):{};return W(()=>({...n.value,...r}))}function Od(){let e=Rs()?.vnode?.scopeId;return e?{[e]:``}:{}}function kd(e,t){let n=Ku(!1,300);ju(()=>{n.value=!1});let r=j(null),i=Mu();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=jd(a,Ad(a,i.getBoundingClientRect()),1),s=Md(t.getBoundingClientRect()),c=Pd([...o,...s]);r.value=c,n.value=!0}return Dr(n=>{if(e.value&&t.value){let r=e.value,i=t.value,a=e=>o(e,i),s=e=>o(e,r);r.addEventListener(`pointerleave`,a),i.addEventListener(`pointerleave`,s),n(()=>{r.removeEventListener(`pointerleave`,a),i.removeEventListener(`pointerleave`,s)})}}),Dr(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!Nd(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())},s=e.value?.ownerDocument;s?.addEventListener(`pointermove`,o),n(()=>s?.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Ad(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function jd(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function Md(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Nd(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Pd(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Fd(t)}function Fd(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Id=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ld=new WeakMap,Rd=new WeakMap,zd={},Bd=0,Vd=function(e){return e&&(e.host||Vd(e.parentNode))},Hd=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Vd(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ud=function(e,t,n,r){var i=Hd(t,Array.isArray(e)?e:[e]);zd[n]||(zd[n]=new WeakMap);var a=zd[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ld.get(e)||0)+1,l=(a.get(e)||0)+1;Ld.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Rd.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Bd++,function(){o.forEach(function(e){var t=Ld.get(e)-1,i=a.get(e)-1;Ld.set(e,t),a.set(e,i),t||(Rd.has(e)||e.removeAttribute(r),Rd.delete(e)),i||e.removeAttribute(n)}),Bd--,Bd||(Ld=new WeakMap,Ld=new WeakMap,Rd=new WeakMap,zd={})}},Wd=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Id(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ud(r,i,n,`aria-hidden`)):function(){return null}};function Gd(e){let t;Ar(()=>Zu(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=Wd(e):t&&t()}),aa(()=>{t&&t()})}var Kd=0;function qd(e,t=`reka`){if(e)return e;let n,r=cd({useId:void 0});return n=r.useId?r.useId():`useId`in Tu?li?.():`${++Kd}`,t?`${t}-${n}`:n}function Jd(e){let t=j(),n=W(()=>t.value?.width??0),r=W(()=>t.value?.height??0),i;return ta(()=>{let n=Zu(e);n?(t.value={width:n.offsetWidth,height:n.offsetHeight},i=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}}),i.observe(n,{box:`border-box`})):t.value=void 0}),aa(()=>{i?.disconnect(),i=void 0}),{width:n,height:r}}function Yd(e,t){let n=j(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function Xd(e){let t=Ku(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=Ou(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=Qd(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function Zd(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Qd(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Zd(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function $d(e,t){let n=j({}),r=j(`none`),i=j(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??Xu,{state:c,dispatch:l}=Yd(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(Pu){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};Ar(e,async(e,i)=>{let a=i!==e;if(await nr(),a){let a=r.value,o=ef(t.value);e?(l(`MOUNT`),u(`enter`),o===`none`&&u(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(l(`UNMOUNT`),u(`leave`),u(`after-leave`)):i&&a!==o?(l(`ANIMATION_OUT`),u(`leave`)):(l(`UNMOUNT`),u(`after-leave`))}},{immediate:!0});let d=e=>{if(e.target!==t.value)return;let n=ef(t.value),r=n.includes(CSS.escape(e.animationName)),a=c.value===`mounted`?`enter`:`leave`;if(r&&(u(`after-${a}`),l(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}n===`none`&&l(`ANIMATION_END`)},f=e=>{e.target===t.value&&(r.value=ef(t.value))},p=Ar(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,f),e.addEventListener(`animationcancel`,d),e.addEventListener(`animationend`,d)):(l(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,f),t?.removeEventListener(`animationcancel`,d),t?.removeEventListener(`animationend`,d))},{immediate:!0}),m=Ar(c,()=>{let e=ef(t.value);r.value=c.value===`mounted`?e:`none`});return aa(()=>{p(),m(),t.value&&(t.value.removeEventListener(`animationstart`,f),t.value.removeEventListener(`animationcancel`,d),t.value.removeEventListener(`animationend`,d)),o!==void 0&&s?.clearTimeout(o)}),{isPresent:W(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function ef(e){return e&&getComputedStyle(e).animationName||`none`}var tf=P({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=Cn(e),a=j(),{isPresent:o}=$d(r,a);n({present:o});let s=t.default({present:o.value});s=id(s||[]);let c=Rs();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
|
|
5
|
+
`)].join(`
|
|
6
|
+
`))}return()=>i.value||r.value||o.value?ic(t.default({present:o.value})[0],{ref:e=>{let t=Zu(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),nf=P({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=id(n.default()),r=e.findIndex(e=>e.type!==fs);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?Ms(t,i.props):t,o=Ds({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),rf=[`area`,`img`,`input`],af=P({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&rf.includes(r)?()=>ic(r,t):r===`template`?()=>ic(nf,t,{default:n.default}):()=>ic(e.as,t,{default:n.default})}});function of(){let e=j();return{primitiveElement:e,currentElement:W(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:Zu(e))}}var[sf,cf]=Du(`DialogRoot`),lf=P({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=rd(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o,unmountOnHide:s}=Cn(n);return cf({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>F(e.$slots,`default`,{open:M(r),close:()=>r.value=!1})}}),uf=P({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Td();let n=sf();return(e,r)=>(L(),z(M(af),Ms(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>M(n).onOpenChange(!1)}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`type`]))}}),df=`dismissableLayer.pointerDownOutside`,ff=`dismissableLayer.focusOutside`;function pf(e,t){if(!(t instanceof Element))return!1;if(e.contains(t))return!0;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function mf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1),a=j(()=>{});return Dr(o=>{if(!Pu||!vn(n))return;let s=async n=>{let o=n.target;if(t?.value&&o){if(pf(t.value,o)){r.removeEventListener(`click`,a.value),i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){ku(df,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{vn(n)&&(i.value=!0)}}}function hf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1);return Dr(a=>{if(!Pu||!vn(n))return;let o=async n=>{if(!t?.value)return;await nr(),await nr();let r=n.target;t.value&&r&&!pf(t.value,r)&&n.target&&!i.value&&ku(ff,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{vn(n)&&(i.value=!0)},onBlurCapture:()=>{vn(n)&&(i.value=!1)}}}var gf=P({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Td(),o=W(()=>a.value?.ownerDocument??globalThis.document),s=W(()=>ud.layersRoot),c=W(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=W(()=>ud.layersWithOutsidePointerEventsDisabled.size>0),u=W(()=>{let e=Array.from(s.value),[t]=[...ud.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=mf(async e=>{let t=[...ud.branches].some(t=>t?.contains(e.target));n.present&&u.value&&!t&&(r(`pointerDownOutside`,e),r(`interactOutside`,e),await nr(),e.defaultPrevented||r(`dismiss`))},a,()=>n.present),f=hf(e=>{let t=[...ud.branches].some(t=>t?.contains(e.target));n.present&&!t&&(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return td(`Escape`,e=>{n.present&&c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),Ar([a,()=>n.disableOutsidePointerEvents,()=>n.present],([e,t,n],r,i)=>{e&&n&&t&&(ud.layersWithOutsidePointerEventsDisabled.size===0&&(ud.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),ud.layersWithOutsidePointerEventsDisabled.add(e),i(()=>{ud.layersWithOutsidePointerEventsDisabled.delete(e),ud.layersWithOutsidePointerEventsDisabled.size===0&&!Au(ud.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=ud.originalBodyPointerEvents)}))},{immediate:!0}),Ar([a,()=>n.present],([e,t],n,r)=>{e&&t&&(s.value.add(e),r(()=>{s.value.delete(e)}))},{immediate:!0}),Dr(e=>{e(()=>{a.value&&(s.value.delete(a.value),ud.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(L(),z(M(af),{ref:M(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:ge({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:M(f).onFocusCapture,onBlurCapture:M(f).onBlurCapture,onPointerdownCapture:M(d).onPointerDownCapture},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),_f=Nu(()=>j([]));function vf(){let e=_f();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=yf(e.value,t),e.value.unshift(t)},remove(t){e.value=yf(e.value,t),e.value[0]?.resume()}}}function yf(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var bf=`focusScope.autoFocusOnMount`,xf=`focusScope.autoFocusOnUnmount`,Sf={bubbles:!1,cancelable:!0};function Cf(e,{select:t=!1}={}){let n=Ou();for(let r of e)if(kf(r,{select:t}),Ou()!==n)return!0}function wf(e){let t=Tf(e);return[Ef(t,e),Ef(t.reverse(),e)]}function Tf(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ef(e,t){for(let n of e)if(!Df(n,{upTo:t}))return n}function Df(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Of(e){return e instanceof HTMLInputElement&&`select`in e}function kf(e,{select:t=!1}={}){if(e&&e.focus){let n=Ou();e.focus({preventScroll:!0}),e!==n&&Of(e)&&t&&e.select()}}var Af=P({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=Td(),o=j(null),s=vf(),c=en({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Dr(e=>{if(!Pu)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:kf(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||kf(o.value,{select:!0}))}function s(e){let n=o.value;if(n===null||!e.some(e=>e.removedNodes.length>0))return;let r=Ou();r&&t.contains(r)||t.contains(n)||kf(t)}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})});function l(e,t){let n=new CustomEvent(bf,Sf),i=e=>r(`mountAutoFocus`,e);e.addEventListener(bf,i),e.dispatchEvent(n),e.removeEventListener(bf,i),n.defaultPrevented||(Cf(Tf(e),{select:!0}),Ou()===t&&kf(e))}Dr(async e=>{let t=a.value;if(await nr(),!t)return;n.present!==!1&&s.add(c);let i=Ou();!t.contains(i)&&n.present!==!1&&l(t,i),e(()=>{let e=new CustomEvent(xf,Sf),n=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(xf,n),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||kf(i??document.body,{select:!0}),t.removeEventListener(xf,n),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})}),Ar(()=>n.present,async(e,t)=>{if(!Pu)return;if(e===!1&&t===!0){s.remove(c);return}if(e!==!0||t!==!1)return;s.add(c),await nr();let n=a.value;if(!n)return;let r=Ou();n.contains(r)||l(n,r)});function u(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Ou();if(t&&r){let t=e.currentTarget,[i,a]=wf(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&kf(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&kf(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(L(),z(M(af),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),jf=`menu.itemSelect`,Mf=[`Enter`,` `],Nf=[`ArrowDown`,`PageUp`,`Home`],Pf=[`ArrowUp`,`PageDown`,`End`],Ff=[...Nf,...Pf];[...Mf],[...Mf];function If(e){return e?`open`:`closed`}function Lf(e){let t=Ou();for(let n of e)if(n===t||(n.focus(),Ou()!==t))return}function Rf(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function zf(e,t){return t?Rf({x:e.clientX,y:e.clientY},t):!1}function Bf(e){return e.pointerType===`mouse`}var Vf=P({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=sf(),{forwardRef:a,currentElement:o}=Td();return i.titleId||=qd(void 0,`reka-dialog-title`),i.descriptionId||=qd(void 0,`reka-dialog-description`),ta(()=>{i.contentElement=o,Ou()!==document.body&&(i.triggerElement.value=Ou())}),(e,t)=>(L(),z(M(Af),{"as-child":``,loop:``,trapped:n.trapFocus,present:n.present,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[V(M(gf),Ms({id:M(i).contentId,ref:M(a),as:e.as,"as-child":e.asChild,present:n.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":M(i).descriptionId,"aria-labelledby":M(i).titleId,"data-state":M(If)(M(i).open.value)},e.$attrs,{onDismiss:t[0]||=e=>M(i).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>r(`focusOutside`,e),onInteractOutside:t[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>r(`pointerDownOutside`,e)}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),Hf=P({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=sf(),a=bd(r),{forwardRef:o,currentElement:s}=Td();Gd(W(()=>n.present?s.value:void 0));let c=W(()=>{let{present:e,...t}=n;return t});return Ar(()=>n.present,(e,t)=>{!e&&t&&i.triggerElement.value?.focus()}),(e,t)=>(L(),z(Vf,Ms({...c.value,...M(a)},{ref:M(o),present:e.present,"trap-focus":M(i).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),M(i).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),Uf=P({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=bd(t);Td();let i=sf(),a=j(!1),o=j(!1),s=W(()=>{let{present:e,...t}=n;return t});return Ar(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(L(),z(Vf,Ms({...s.value,...M(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`present`]))}}),Wf=P({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=sf(),a=bd(r),{forwardRef:o}=Td(),s=W(()=>n.forceMount||!i.unmountOnHide.value);return(e,t)=>(L(),z(M(tf),{present:M(i).open.value,"force-mount":s.value},{default:N(({present:t})=>[M(i).modal.value?br((L(),z(Hf,Ms({key:0,ref:M(o),present:!s.value||t},{...n,...M(a),...e.$attrs}),{default:N(()=>[F(e.$slots,`default`)]),_:2},1040,[`present`])),[[Gc,e.forceMount||M(i).unmountOnHide.value||t]]):br((L(),z(Uf,Ms({key:1,ref:M(o),present:!s.value||t},{...n,...M(a),...e.$attrs}),{default:N(()=>[F(e.$slots,`default`)]),_:2},1040,[`present`])),[[Gc,e.forceMount||M(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),Gf=P({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Td();let n=sf();return(e,r)=>(L(),z(M(af),Ms(t,{id:M(n).descriptionId}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`id`]))}}),Kf=P({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,n=sf(),r=gd(t.present);return Ar(()=>t.present,e=>r.value=e),Td(),(e,t)=>(L(),z(M(af),{as:e.as,"as-child":e.asChild,"data-state":M(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=lu(()=>{},[`left`,`self`,`prevent`])},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),qf=P({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=sf(),{forwardRef:r}=Td(),i=W(()=>t.forceMount||!n.unmountOnHide.value);return(e,t)=>M(n)?.modal.value?(L(),z(M(tf),{key:0,present:M(n).open.value,"force-mount":i.value},{default:N(({present:t})=>[br(V(Kf,Ms(e.$attrs,{ref:M(r),as:e.as,"as-child":e.asChild,present:!i.value||t}),{default:N(()=>[F(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[Gc,e.forceMount||M(n).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`])):U(`v-if`,!0)}}),Jf=P({__name:`Teleport`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e,n=cd({}),r=W(()=>t.to??n.teleportTo?.value??`body`),i=$u();return(e,t)=>M(i)||e.forceMount?(L(),z(Gr,{key:0,to:r.value,disabled:e.disabled,defer:e.defer},[F(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):U(`v-if`,!0)}}),Yf=P({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(Jf),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),Xf=P({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=sf();return Td(),(e,r)=>(L(),z(M(af),Ms(t,{id:M(n).titleId}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`id`]))}}),Zf=`data-reka-collection-item`;function Qf(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:j(),itemMap:j(new Map)},Sr(r,i)):i=Cr(r);let a=(e,t=!1)=>{if(!i.collectionRef.value)return;let n=i.itemMap.value.get(e);return n&&(t||n.ref.dataset.disabled!==``)?n:void 0},o=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Zf}]`)),r=new Map(n.map((e,t)=>[e,t])),a=Array.from(i.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?a:a.filter(e=>e.ref.dataset.disabled!==``)},s=P({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=of();return Ar(a,()=>{i.collectionRef.value=a.value}),()=>ic(nf,{ref:r,...n},t)}}),c=P({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=of();return Dr(t=>{if(a.value){let n=dn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>ic(nf,{...n,[Zf]:``,ref:r},t)}});return{getItems:o,getItem:a,reactiveItems:W(()=>Array.from(i.itemMap.value.values())),itemMapSize:W(()=>i.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var $f=P({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(L(),z(M(af),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),ep=P({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=of();return Ar(W(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(L(),z($f,Ms({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),tp=P({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=W(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=W(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(L(),R(I,null,[U(` We render single input if it's required `),n.value?(L(),z(ep,Ms({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(L(!0),R(I,{key:1},va(r.value,n=>(L(),z(ep,Ms({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}}),np=`rovingFocusGroup.onEntryFocus`,rp={bubbles:!1,cancelable:!0};function ip(e,t=!1){let n=Ou();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Ou()!==n))return}var[ap,op]=Du(`PopperRoot`),sp=P({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=j();return op({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>F(e.$slots,`default`)}}),cp=P({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Td(),i=ap();return Or(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(L(),z(M(af),{ref:M(n),as:e.as,"as-child":e.asChild},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function lp(e){return e!==null}function up(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=dp(n),u={start:e.dir===`rtl`?`100%`:`0%`,center:`50%`,end:e.dir===`rtl`?`0%`:`100%`}[l],d={start:`0%`,center:`50%`,end:`100%`}[l],f=(i.arrow?.x??0)+o/2,p=(i.arrow?.y??0)+s/2,m=``,h=``;return c===`bottom`?(m=a?u:`${f}px`,h=`${-s}px`):c===`top`?(m=a?u:`${f}px`,h=`${r.floating.height+s}px`):c===`right`?(m=`${-s}px`,h=a?d:`${p}px`):c===`left`&&(m=`${r.floating.width+s}px`,h=a?d:`${p}px`),{data:{x:m,y:h}}}}}function dp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var fp=[`top`,`right`,`bottom`,`left`],pp=Math.min,mp=Math.max,hp=Math.round,gp=Math.floor,_p=e=>({x:e,y:e}),vp={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function yp(e,t,n){return mp(e,pp(t,n))}function bp(e,t){return typeof e==`function`?e(t):e}function xp(e){return e.split(`-`)[0]}function Sp(e){return e.split(`-`)[1]}function Cp(e){return e===`x`?`y`:`x`}function wp(e){return e===`y`?`height`:`width`}function Tp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ep(e){return Cp(Tp(e))}function Dp(e,t,n){n===void 0&&(n=!1);let r=Sp(e),i=Ep(e),a=wp(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ip(o)),[o,Ip(o)]}function Op(e){let t=Ip(e);return[kp(e),t,kp(t)]}function kp(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ap=[`left`,`right`],jp=[`right`,`left`],Mp=[`top`,`bottom`],Np=[`bottom`,`top`];function Pp(e,t,n){switch(e){case`top`:case`bottom`:return n?t?jp:Ap:t?Ap:jp;case`left`:case`right`:return t?Mp:Np;default:return[]}}function Fp(e,t,n,r){let i=Sp(e),a=Pp(xp(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(kp)))),a}function Ip(e){let t=xp(e);return vp[t]+e.slice(t.length)}function Lp(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Rp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Lp(e)}function zp(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Bp(e,t,n){let{reference:r,floating:i}=e,a=Tp(t),o=Ep(t),s=wp(o),c=xp(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Sp(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Vp(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=bp(t,e),p=Rp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=zp(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=zp(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Hp=50,Up=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Vp},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Bp(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Hp&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Bp(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Wp=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=bp(e,t)||{};if(l==null)return{};let d=Rp(u),f={x:n,y:r},p=Ep(i),m=wp(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,ee=pp(d[_],T),E=pp(d[v],T),te=C-h[m]-E,ne=C/2-h[m]/2+w,re=yp(ee,ne,te),ie=!c.arrow&&Sp(i)!=null&&ne!==re&&a.reference[m]/2-(ne<ee?ee:E)-h[m]/2<0,ae=ie?ne<ee?ne-ee:ne-te:0;return{[p]:f[p]+ae,data:{[p]:re,centerOffset:ne-re-ae,...ie&&{alignmentOffset:ae}},reset:ie}}}),Gp=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=bp(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=xp(r),_=Tp(o),v=xp(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ip(o)]:Op(o)),x=p!==`none`;!d&&x&&b.push(...Fp(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Dp(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Tp(t)||T.every(e=>Tp(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Tp(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function Kp(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function qp(e){return fp.some(t=>e[t]>=0)}var Jp=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=bp(e,t);switch(i){case`referenceHidden`:{let e=Kp(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:qp(e)}}}case`escaped`:{let e=Kp(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:qp(e)}}}default:return{}}}}},Yp=new Set([`left`,`top`]);async function Xp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=xp(n),s=Sp(n),c=Tp(n)===`y`,l=Yp.has(o)?-1:1,u=a&&c?-1:1,d=bp(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Zp=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Xp(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Qp=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=bp(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Tp(i),p=Cp(f),m=u[p],h=u[f],g=(e,t)=>yp(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},$p=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=bp(e,t),u={x:n,y:r},d=Tp(i),f=Cp(d),p=u[f],m=u[d],h=bp(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Yp.has(xp(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},em=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=bp(e,t),c=await i.detectOverflow(t,s),l=xp(n),u=Sp(n),d=Tp(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=pp(p-c[m],g),y=pp(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*mp(c.left,c.right):S=p-2*mp(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function tm(){return typeof window<`u`}function nm(e){return am(e)?(e.nodeName||``).toLowerCase():`#document`}function rm(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function im(e){return((am(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function am(e){return tm()?e instanceof Node||e instanceof rm(e).Node:!1}function om(e){return tm()?e instanceof Element||e instanceof rm(e).Element:!1}function sm(e){return tm()?e instanceof HTMLElement||e instanceof rm(e).HTMLElement:!1}function cm(e){return!tm()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof rm(e).ShadowRoot}function lm(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=bm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function um(e){return/^(table|td|th)$/.test(nm(e))}function dm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var fm=/transform|translate|scale|rotate|perspective|filter/,pm=/paint|layout|strict|content/,mm=e=>!!e&&e!==`none`,hm;function gm(e){let t=om(e)?bm(e):e;return mm(t.transform)||mm(t.translate)||mm(t.scale)||mm(t.rotate)||mm(t.perspective)||!vm()&&(mm(t.backdropFilter)||mm(t.filter))||fm.test(t.willChange||``)||pm.test(t.contain||``)}function _m(e){let t=Sm(e);for(;sm(t)&&!ym(t);){if(gm(t))return t;if(dm(t))return null;t=Sm(t)}return null}function vm(){return hm??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),hm}function ym(e){return/^(html|body|#document)$/.test(nm(e))}function bm(e){return rm(e).getComputedStyle(e)}function xm(e){return om(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Sm(e){if(nm(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||cm(e)&&e.host||im(e);return cm(t)?t.host:t}function Cm(e){let t=Sm(e);return ym(t)?(e.ownerDocument||e).body:sm(t)&&lm(t)?t:Cm(t)}function wm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Cm(e),i=r===e.ownerDocument?.body,a=rm(r);if(i){let e=Tm(a);return t.concat(a,a.visualViewport||[],lm(r)?r:[],e&&n?wm(e):[])}return t.concat(r,wm(r,[],n))}function Tm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Em(e){let t=bm(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=sm(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=hp(n)!==a||hp(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Dm(e){return om(e)?e:e.contextElement}function Om(e){let t=Dm(e);if(!sm(t))return _p(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Em(t),o=(a?hp(n.width):n.width)/r,s=(a?hp(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var km=_p(0);function Am(e){let t=rm(e);return!vm()||!t.visualViewport?km:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function jm(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===rm(e)}function Mm(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Dm(e),o=_p(1);t&&(r?om(r)&&(o=Om(r)):o=Om(e));let s=jm(a,n,r)?Am(a):_p(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=rm(a),t=om(r)?rm(r):r,n=e,i=Tm(n);for(;i&&t!==n;){let e=Om(i),t=i.getBoundingClientRect(),r=bm(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=rm(i),i=Tm(n)}}return zp({width:u,height:d,x:c,y:l})}function Nm(e,t){let n=xm(e).scrollLeft;return t?t.left+n:Mm(im(e)).left+n}function Pm(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Nm(e,n),y:n.top+t.scrollTop}}function Fm(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=im(r),s=t?dm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=_p(1),u=_p(0),d=sm(r);if((d||!a)&&((nm(r)!==`body`||lm(o))&&(c=xm(r)),d)){let e=Mm(r);l=Om(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Pm(o,c):_p(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Im(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Lm(e){let t=xm(e),n=e.ownerDocument.body,r=mp(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=mp(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Nm(e),o=-t.scrollTop;return bm(n).direction===`rtl`&&(a+=mp(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Rm=25;function zm(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=rm(e),a=im(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!vm()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Nm(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Rm&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Bm(e,t){let n=Mm(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Om(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Vm(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=zm(e,n,t);else if(t===`document`)r=Lm(im(e));else if(om(t))r=Bm(t,n);else{let n=Am(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return zp(r)}function Hm(e,t){let n=t.get(e);if(n)return n;let r=wm(e,[],!1).filter(e=>om(e)&&nm(e)!==`body`),i=null,a=bm(e).position===`fixed`,o=a?Sm(e):e;for(;om(o)&&!ym(o);){let e=bm(o),t=gm(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Sm(o)}return t.set(e,r),r}function Um(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?dm(t)?[]:Hm(t,this._c):[].concat(n),r],o=Vm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Vm(t,a[e],i);s=mp(n.top,s),c=pp(n.right,c),l=pp(n.bottom,l),u=mp(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Wm(e){let{width:t,height:n}=Em(e);return{width:t,height:n}}function Gm(e,t,n){let r=sm(t),i=im(t),a=n===`fixed`,o=Mm(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=_p(0);if((r||!a)&&((nm(t)!==`body`||lm(i))&&(s=xm(t)),r)){let e=Mm(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Nm(i));let l=i&&!r&&!a?Pm(i,s):_p(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Km(e){return bm(e).position===`static`}function qm(e,t){if(!sm(e)||bm(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return im(e)===n&&(n=n.ownerDocument.body),n}function Jm(e,t){let n=rm(e);if(dm(e))return n;if(!sm(e)){let t=Sm(e);for(;t&&!ym(t);){if(om(t)&&!Km(t))return t;t=Sm(t)}return n}let r=qm(e,t);for(;r&&um(r)&&Km(r);)r=qm(r,t);return r&&ym(r)&&Km(r)&&!gm(r)?n:r||_m(e)||n}var Ym=async function(e){let t=this.getOffsetParent||Jm,n=this.getDimensions,r=await n(e.floating);return{reference:Gm(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Xm(e){return bm(e).direction===`rtl`}var Zm={convertOffsetParentRelativeRectToViewportRelativeRect:Fm,getDocumentElement:im,getClippingRect:Um,getOffsetParent:Jm,getElementRects:Ym,getClientRects:Im,getDimensions:Wm,getScale:Om,isElement:om,isRTL:Xm};function Qm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function $m(e,t,n){let r=null,i,a=im(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=gp(d),h=gp(a.clientWidth-(u+f)),g=gp(a.clientHeight-(d+p)),_=gp(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:mp(0,pp(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!Qm(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=rm(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function eh(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Dm(e),u=i||a?[...l?wm(l):[],...t?wm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?$m(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Mm(e):null;c&&g();function g(){let t=Mm(e);h&&!Qm(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var th=Zp,nh=Qp,rh=Gp,ih=em,ah=Jp,oh=Wp,sh=$p,ch=(e,t,n)=>{let r=new Map,i=n??{},a={...Zm,...i.platform,_c:r};return Up(e,t,{...i,platform:a})};function lh(e){return typeof e==`object`&&!!e&&`$el`in e}function uh(e){if(lh(e)){let t=e.$el;return am(t)&&nm(t)===`#comment`?null:t}return e}function dh(e){return typeof e==`function`?e():M(e)}function fh(e){return{name:`arrow`,options:e,fn(t){let n=uh(dh(e.element));return n==null?{}:oh({element:n,padding:e.padding}).fn(t)}}}function ph(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function mh(e,t){let n=ph(e);return Math.round(t*n)/n}function hh(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=W(()=>dh(n.open)??!0),a=W(()=>dh(n.middleware)),o=W(()=>dh(n.placement)??`bottom`),s=W(()=>dh(n.strategy)??`absolute`),c=W(()=>dh(n.transform)??!0),l=W(()=>uh(e.value)),u=W(()=>uh(t.value)),d=j(0),f=j(0),p=j(s.value),m=j(o.value),h=mn({}),g=j(!1),_=W(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=mh(u.value,d.value),n=mh(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...ph(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;ch(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return Ar([a,o,s,i],y,{flush:`sync`}),Ar([l,u],x,{flush:`sync`}),Ar(i,S,{flush:`sync`}),Re()&&ze(b),{x:rn(d),y:rn(f),strategy:rn(p),placement:rn(m),middlewareData:rn(h),isPositioned:rn(g),floatingStyles:_,update:y}}var gh=[`dir`],_h={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[vh,yh]=Du(`PopperContent`),bh=P({inheritAttrs:!1,__name:`PopperContent`,props:Ra({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{..._h}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=ap(),{forwardRef:a,currentElement:o}=Td(),s=yd(W(()=>n.dir)),c=j(),l=j(),{width:u,height:d}=Jd(l),f=W(()=>n.side+(n.align===`center`?``:`-${n.align}`)),p=W(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),m=W(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),h=W(()=>({padding:p.value,boundary:m.value.filter(lp),altBoundary:m.value.length>0})),g=W(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),_=W(()=>[th({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&rh({...h.value,...g.value}),n.avoidCollisions&&nh({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?sh():void 0,...h.value}),!n.prioritizePosition&&n.avoidCollisions&&rh({...h.value,...g.value}),ih({...h.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),l.value&&fh({element:l.value,padding:n.arrowPadding}),up({arrowWidth:u.value,arrowHeight:d.value,dir:s.value}),n.hideWhenDetached&&ah({strategy:`referenceHidden`,...h.value})]),{floatingStyles:v,placement:y,isPositioned:b,middlewareData:x,update:S}=hh(W(()=>n.reference??i.anchor.value),c,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...e)=>eh(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:_}),C=W(()=>dp(y.value)[0]),w=W(()=>dp(y.value)[1]);Or(()=>{b.value&&r(`placed`)});let T=W(()=>{let e=x.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),ee=j(``);return Dr(()=>{o.value&&(ee.value=window.getComputedStyle(o.value).zIndex)}),yh({placedSide:C,onArrowChange:e=>l.value=e,arrowX:W(()=>x.value.arrow?.x??0),arrowY:W(()=>x.value.arrow?.y??0),shouldHideArrow:T}),(e,t)=>(L(),R(`div`,{ref_key:`floatingRef`,ref:c,"data-reka-popper-content-wrapper":``,dir:M(s),style:ge({...M(v),transform:M(b)?M(v).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ee.value,"--reka-popper-transform-origin":[M(x).transformOrigin?.x,M(x).transformOrigin?.y].join(` `),...M(x).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[n.memoDependencies?oc([n.asChild,n.as,C.value,w.value,M(b),...Object.values(e.$attrs),...n.memoDependencies],()=>(L(),z(M(af),Ms({key:0,ref:M(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,style:{animation:M(b)?void 0:`none`}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),t,0):(L(),z(M(af),Ms({key:1,ref:M(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,dir:M(s),style:{animation:M(b)?void 0:`none`}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,gh))}}),[xh,Sh]=Du(`RovingFocusGroup`),Ch=P({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let r=e,i=n,{loop:a,orientation:o,dir:s}=Cn(r),c=yd(s),l=rd(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=j(!1),d=j(!1),f=j(0),{getItems:p,CollectionSlot:m}=Qf({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(np,rp);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);ip([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===l.value),...e].filter(Boolean),r.preventScrollOnEntryFocus)}}d.value=!1}function g(){setTimeout(()=>{d.value=!1},1)}return t({getItems:p}),Sh({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(e,t)=>(L(),z(M(m),null,{default:N(()=>[V(M(af),{tabindex:u.value||f.value===0?-1:0,"data-orientation":M(o),as:e.as,"as-child":e.asChild,dir:M(c),style:{outline:`none`},onMousedown:t[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:t[1]||=e=>u.value=!1},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),wh=P({__name:`MenuAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(cp),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}});function Th(){let e=j(!1);return ta(()=>{Qu(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),Qu([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var Eh=Hu(Th),[Dh,Oh]=Du([`MenuRoot`,`MenuSub`],`MenuContext`),[kh,Ah]=Du(`MenuRoot`),jh=P({__name:`MenuRoot`,props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i,dir:a}=Cn(n),o=yd(a),s=rd(n,`open`,r),c=j(),l=Eh();return Oh({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),Ah({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(L(),z(M(sp),null,{default:N(()=>[F(e.$slots,`default`)]),_:3}))}}),[Mh,Nh]=Du(`MenuContent`),Ph=P({__name:`MenuContentImpl`,props:Ra({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{..._h}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=Dh(),a=kh(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=Cn(n);Sd(),gd(s.value);let l=j(``),u=j(0),d=j(0),f=j(null),p=j(`right`),m=j(0),h=j(null),g=j(),{forwardRef:_,currentElement:v}=Td(),{handleTypeaheadSearch:y}=Xd(),b=j();function x(e){let t=od(e,b.value||Ou(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!1,attributeName:`[data-reka-collection-item]:not([data-disabled])`});t&&(b.value=t,t.scrollIntoView({block:`nearest`}))}function S(){b.value&&b.value.click()}let C=j(),w=j();Ar(b,e=>{if(w.value&&(e===void 0||e!==w.value.trigger.value)){if(e===void 0)return;w.value.onOpenChange(!1),w.value=void 0}}),Ar(v,e=>{i.onContentChange(e)}),aa(()=>{window.clearTimeout(u.value)});function T(e){return p.value===f.value?.side&&zf(e,f.value?.area)}async function ee(e){r(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),v.value?.focus({preventScroll:!0}))}function E(e){if(e.defaultPrevented)return;let t=e.target,n=t.closest(`[data-reka-menu-content]`)===e.currentTarget,r=[`input`,`textarea`].includes(t.tagName.toLowerCase()),i=e.ctrlKey||e.altKey||e.metaKey,o=e.key.length===1,s=od(e,Ou(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!0,attributeName:`[data-reka-collection-item]:not([data-disabled])`});if(s)return s?.focus();if(e.code===`Space`)return;let l=g.value?.getItems()??[];if(n&&(e.key===`Tab`&&a.modal.value&&e.preventDefault(),!i&&o&&!r&&y(e.key,l)),e.target!==v.value||!Ff.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];Pf.includes(e.key)&&u.reverse(),Lf(u)}function te(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function ne(e){if(!Bf(e))return;let t=e.target,n=m.value!==e.clientX;if((e?.currentTarget)?.contains(t)&&n){let t=e.clientX>m.value?`right`:`left`;p.value=t,m.value=e.clientX}}function re(e){Bf(e)&&C.value&&C.value.focus()}return Nh({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Ou()?.tagName||``)||v.value?.focus(),h.value=null,!1),onTriggerLeave:e=>!!T(e),searchRef:l,highlightedElement:b,onKeydownNavigation:x,onKeydownEnter:S,filterElement:C,onFilterElementChange:e=>{C.value=e},activeSubmenuContext:w,pointerGraceTimerRef:d,onPointerGraceIntentChange:e=>{f.value=e}}),(e,t)=>(L(),z(M(Af),{"as-child":``,trapped:M(o),onMountAutoFocus:ee,onUnmountAutoFocus:t[7]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[V(M(gf),{"as-child":``,"disable-outside-pointer-events":M(s),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[3]||=e=>r(`pointerDownOutside`,e),onFocusOutside:t[4]||=e=>r(`focusOutside`,e),onInteractOutside:t[5]||=e=>r(`interactOutside`,e),onDismiss:t[6]||=e=>r(`dismiss`)},{default:N(()=>[V(M(Ch),{ref_key:`rovingFocusGroupRef`,ref:g,"current-tab-stop-id":h.value,"onUpdate:currentTabStopId":t[0]||=e=>h.value=e,"as-child":``,orientation:`vertical`,dir:M(a).dir.value,loop:M(c),onEntryFocus:t[1]||=e=>{r(`entryFocus`,e),M(a).isUsingKeyboardRef.value||e.preventDefault()}},{default:N(()=>[V(M(bh),{ref:M(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":M(If)(M(i).open.value),dir:M(a).dir.value,side:e.side,"side-offset":e.sideOffset,align:e.align,"align-offset":e.alignOffset,"avoid-collisions":e.avoidCollisions,"collision-boundary":e.collisionBoundary,"collision-padding":e.collisionPadding,"arrow-padding":e.arrowPadding,"prioritize-position":e.prioritizePosition,"position-strategy":e.positionStrategy,"update-position-strategy":e.updatePositionStrategy,sticky:e.sticky,"hide-when-detached":e.hideWhenDetached,reference:e.reference,onKeydown:E,onBlur:te,onPointermove:ne,onPointerenter:re},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`,`dir`,`side`,`side-offset`,`align`,`align-offset`,`avoid-collisions`,`collision-boundary`,`collision-padding`,`arrow-padding`,`prioritize-position`,`position-strategy`,`update-position-strategy`,`sticky`,`hide-when-detached`,`reference`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Fh=P({inheritAttrs:!1,__name:`MenuItemImpl`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=Mh(),{forwardRef:r,currentElement:i}=Td(),{CollectionItem:a}=Qf(),o=j(!1),s=W(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!e.defaultPrevented&&Bf(e)){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Ou()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await nr(),!e.defaultPrevented&&Bf(e)&&n.highlightedElement.value===i.value&&!n.onItemLeave(e)&&n.highlightedElement.value===i.value&&(n.highlightedElement.value=void 0)}return(e,t)=>(L(),z(M(a),{value:{textValue:e.textValue}},{default:N(()=>[V(M(af),Ms({ref:M(r),role:`menuitem`,tabindex:`-1`},e.$attrs,{as:e.as,"as-child":e.asChild,"aria-disabled":e.disabled||void 0,"data-disabled":e.disabled?``:void 0,"data-highlighted":s.value?``:void 0,onPointermove:c,onPointerleave:l,onFocus:t[0]||=async t=>{let r=t.currentTarget;await nr(),!(t.defaultPrevented||e.disabled)&&(o.value=!0,M(n).highlightedElement.value=r)},onBlur:t[1]||=async e=>{await nr(),!e.defaultPrevented&&(o.value=!1)}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`data-disabled`,`data-highlighted`])]),_:3},8,[`value`]))}}),Ih=P({__name:`MenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Td(),o=kh(),s=Mh(),c=j(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(jf,{bubbles:!0,cancelable:!0});r(`select`,e),await nr(),e.defaultPrevented?c.value=!1:o.onClose()}}return(e,t)=>(L(),z(Fh,Ms(n,{ref:M(i),onClick:l,onPointerdown:t[0]||=()=>{c.value=!0},onPointerup:t[1]||=async e=>{await nr(),!e.defaultPrevented&&(c.value||e.currentTarget?.click())},onKeydown:t[2]||=async t=>{let n=M(s).searchRef.value!==``;e.disabled||n&&t.key===` `||M(Mf).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),Lh=P({__name:`MenuRootContentModal`,props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Dd(n,r),a=Dh(),{forwardRef:o,currentElement:s}=Td();return Gd(s),(e,t)=>(L(),z(Ph,Ms(M(i),{ref:M(o),"trap-focus":M(a).open.value,"disable-outside-pointer-events":M(a).open.value,"disable-outside-scroll":!0,onDismiss:t[0]||=e=>M(a).onOpenChange(!1),onFocusOutside:t[1]||=lu(e=>r(`focusOutside`,e),[`prevent`])}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`trap-focus`,`disable-outside-pointer-events`]))}}),Rh=P({__name:`MenuRootContentNonModal`,props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=Dd(e,t),r=Dh();return(e,t)=>(L(),z(Ph,Ms(M(n),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:t[0]||=e=>M(r).onOpenChange(!1)}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),zh=P({__name:`MenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=Dd(e,t),r=Dh(),i=kh();return(e,t)=>(L(),z(M(tf),{present:e.forceMount||M(r).open.value},{default:N(()=>[M(i).modal.value?(L(),z(Lh,xe(Ms({key:0},{...e.$attrs,...M(n)})),{default:N(()=>[F(e.$slots,`default`)]),_:3},16)):(L(),z(Rh,xe(Ms({key:1},{...e.$attrs,...M(n)})),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Bh=P({__name:`MenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(Jf),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),Vh=P({__name:`MenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(af),Ms(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),[Hh,Uh]=Du(`PopoverRoot`),Wh=P({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i}=Cn(n),a=rd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Uh({contentId:``,triggerId:``,modal:i,open:a,onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},triggerElement:j(),hasCustomAnchor:j(!1)}),(e,t)=>(L(),z(M(sp),null,{default:N(()=>[F(e.$slots,`default`,{open:M(a),close:()=>a.value=!1})]),_:3}))}}),Gh=P({__name:`PopoverClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Td();let n=Hh();return(e,r)=>(L(),z(M(af),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,onClick:r[0]||=e=>M(n).onOpenChange(!1)},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`]))}}),Kh=P({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ed(Gu(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Td(),o=Hh();return Sd(),(e,t)=>(L(),z(M(Af),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[V(M(gf),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>M(o).onOpenChange(!1)},{default:N(()=>[V(M(bh),Ms(M(i),{id:M(o).contentId,ref:M(a),"data-state":M(o).open.value?`open`:`closed`,"aria-labelledby":M(o).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),qh=P({__name:`PopoverContentModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Hh(),a=j(!1);gd(!0);let o=Dd(n,r),{forwardRef:s,currentElement:c}=Td();return Gd(c),(e,t)=>(L(),z(Kh,Ms(M(o),{ref:M(s),"trap-focus":M(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=lu(e=>{r(`closeAutoFocus`,e),a.value||M(i).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{r(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,i=t.button===2||n;a.value=i},onFocusOutside:t[2]||=lu(()=>{},[`prevent`])}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Jh=P({__name:`PopoverContentNonModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Hh(),a=j(!1),o=j(!1),s=Dd(n,r);return(e,t)=>(L(),z(Kh,Ms(M(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{r(`closeAutoFocus`,e),e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=async e=>{r(`interactOutside`,e),e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),Yh=P({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Hh(),a=Dd(n,r),{forwardRef:o}=Td();return i.contentId||=qd(void 0,`reka-popover-content`),(e,t)=>(L(),z(M(tf),{present:e.forceMount||M(i).open.value},{default:N(()=>[M(i).modal.value?(L(),z(qh,Ms({key:0},M(a),{ref:M(o)}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16)):(L(),z(Jh,Ms({key:1},M(a),{ref:M(o)}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Xh=P({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(Jf),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),Zh=P({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Hh(),{forwardRef:r,currentElement:i}=Td();return n.triggerId||=qd(void 0,`reka-popover-trigger`),n.contentId||=qd(void 0,`reka-popover-content`),ta(()=>{n.triggerElement.value=i.value}),(e,i)=>(L(),z(ma(M(n).hasCustomAnchor.value?M(af):M(cp)),{"as-child":``},{default:N(()=>[V(M(af),{id:M(n).triggerId,ref:M(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":M(n).open.value,"aria-controls":M(n).open.value?M(n).contentId:void 0,"data-state":M(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:M(n).onOpenToggle},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),[Qh,$h]=Du(`DropdownMenuRoot`),eg=P({__name:`DropdownMenuRoot`,props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Td();let i=rd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=j(),{modal:o,dir:s}=Cn(n),c=yd(s);return $h({open:i,onOpenChange:e=>{i.value=e},onOpenToggle:()=>{i.value=!i.value},triggerId:``,triggerElement:a,contentId:``,modal:o,dir:c}),(e,t)=>(L(),z(M(jh),{open:M(i),"onUpdate:open":t[0]||=e=>A(i)?i.value=e:null,dir:M(c),modal:M(o)},{default:N(()=>[F(e.$slots,`default`,{open:M(i)})]),_:3},8,[`open`,`dir`,`modal`]))}}),tg=P({__name:`DropdownMenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(e,{emit:t}){let n=Dd(e,t);Td();let r=Qh(),i=j(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=qd(void 0,`reka-dropdown-menu-content`),(e,t)=>(L(),z(M(zh),Ms(M(n),{id:M(r).contentId,"aria-labelledby":M(r)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-dropdown-menu-content-available-width":`var(--reka-popper-available-width)`,"--reka-dropdown-menu-content-available-height":`var(--reka-popper-available-height)`,"--reka-dropdown-menu-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-dropdown-menu-trigger-height":`var(--reka-popper-anchor-height)`},onCloseAutoFocus:a,onInteractOutside:t[0]||=e=>{if(e.defaultPrevented)return;let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,a=t.button===2||n;(!M(r).modal.value||a)&&(i.value=!0),M(r).triggerElement.value?.contains(e.target)&&e.preventDefault()}}),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`id`,`aria-labelledby`]))}}),ng=P({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=bd(t);return Td(),(e,t)=>(L(),z(M(Ih),xe(Es({...n,...M(r)})),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),rg=P({__name:`DropdownMenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(Bh),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),ig=P({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Td(),(e,n)=>(L(),z(M(Vh),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),ag=P({__name:`DropdownMenuTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Qh(),{forwardRef:r,currentElement:i}=Td();return ta(()=>{n.triggerElement=i}),n.triggerId||=qd(void 0,`reka-dropdown-menu-trigger`),(e,i)=>(L(),z(M(wh),{"as-child":``},{default:N(()=>[V(M(af),{id:M(n).triggerId,ref:M(r),type:e.as===`button`?`button`:void 0,"as-child":t.asChild,as:e.as,"aria-haspopup":`menu`,"aria-expanded":M(n).open.value,"aria-controls":M(n).open.value?M(n).contentId:void 0,"data-disabled":e.disabled?``:void 0,disabled:e.disabled,"data-state":M(n).open.value?`open`:`closed`,onClick:i[0]||=async t=>{!e.disabled&&t.button===0&&t.ctrlKey===!1&&(M(n)?.onOpenToggle(),await nr(),M(n).open.value&&t.preventDefault())},onKeydown:i[1]||=du(t=>{e.disabled||([`Enter`,` `].includes(t.key)&&M(n).onOpenToggle(),t.key===`ArrowDown`&&M(n).onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(t.key)&&t.preventDefault())},[`enter`,`space`,`arrow-down`])},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as-child`,`as`,`aria-expanded`,`aria-controls`,`data-disabled`,`disabled`,`data-state`])]),_:3}))}}),[og,sg]=Du(`SwitchRoot`),cg=P({inheritAttrs:!1,__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=Cn(n),a=rd(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),o=W(()=>a.value===n.trueValue);function s(){i.value||(a.value=o.value?n.falseValue:n.trueValue)}let{forwardRef:c,currentElement:l}=Td(),u=wd(l),d=Od(),f=W(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return sg({checked:o,toggleCheck:s,disabled:i}),(e,t)=>(L(),R(I,null,[V(M(af),Ms({id:e.id,ref:M(c),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||f.value,"aria-checked":o.value,"aria-required":e.required,"data-state":o.value?`checked`:`unchecked`,"data-disabled":M(i)?``:void 0,"as-child":e.asChild,as:e.as,disabled:M(i)},{...M(d),...e.$attrs},{onClick:s,onKeydown:du(lu(s,[`prevent`]),[`enter`])}),{default:N(()=>[F(e.$slots,`default`,{modelValue:M(a),checked:o.value})]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]),M(u)&&e.name?(L(),z(M(tp),Ms({key:0,type:`checkbox`,name:e.name,disabled:M(i),required:e.required,value:e.value,checked:o.value},M(d)),null,16,[`name`,`disabled`,`required`,`value`,`checked`])):U(`v-if`,!0)],64))}}),lg=P({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=og();return Td(),(e,n)=>(L(),z(M(af),{"data-state":M(t).checked.value?`checked`:`unchecked`,"data-disabled":M(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:N(()=>[F(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),[ug,dg]=Du(`TooltipProvider`),fg=P({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=Cn(e);Td();let c=j(!0),l=j(!1),{start:u,stop:d}=Ju(()=>{c.value=!0},n,{immediate:!1});return dg({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>F(e.$slots,`default`)}}),pg=`tooltip.open`,[mg,hg]=Du(`TooltipRoot`),gg=P({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Td();let i=ug(),a=W(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=W(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=W(()=>n.disabled??i.disabled.value),c=W(()=>n.delayDuration??i.delayDuration.value),l=W(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=rd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Ar(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(pg))):i.onClose())});let d=j(!1),f=j(),p=W(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=Ju(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return hg({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(L(),z(M(sp),null,{default:N(()=>[F(e.$slots,`default`,{open:M(u)})]),_:3}))}}),_g=P({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=mg(),a=ug(),{forwardRef:o,currentElement:s}=Td(),c=W(()=>n.ariaLabel||s.value?.textContent),l=W(()=>{let{ariaLabel:e,...t}=n;return md(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return ta(()=>{Qu(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),Qu(document,pg,i.onClose)}),(e,t)=>(L(),z(M(gf),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{M(i).disableClosingTrigger.value&&M(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=lu(()=>{},[`prevent`]),onDismiss:t[3]||=e=>M(i).onClose()},{default:N(()=>[V(M(bh),Ms({ref:M(o),"data-state":M(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:N(()=>[F(e.$slots,`default`),V(M($f),{id:M(i).contentId,role:`tooltip`},{default:N(()=>[H(k(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),vg=P({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Ed(e),{forwardRef:n,currentElement:r}=Td(),{trigger:i,onClose:a}=mg(),o=ug(),{isPointerInTransit:s,onPointerExit:c}=kd(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),Qu(r,`pointermove`,e=>{let t=r.value;t&&e.pointerType!==`touch`&&t.ownerDocument.elementsFromPoint?.(e.clientX,e.clientY).some(e=>{if(t.contains(e))return!1;let n=e.closest(`[data-grace-area-trigger]`);return!!n&&n!==i.value})&&a()}),(e,r)=>(L(),z(_g,Ms({ref:M(n)},M(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),yg=P({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=mg(),a=Dd(n,r),{forwardRef:o}=Td();return(e,t)=>(L(),z(M(tf),{present:e.forceMount||M(i).open.value},{default:N(()=>[(L(),z(ma(M(i).disableHoverableContent.value?_g:vg),Ms({ref:M(o)},M(a)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),bg=P({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(M(Jf),xe(Es(t)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16))}}),xg=P({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=mg(),r=ug();n.contentId||=qd(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Td(),o=j(!1),s=j(!1),c=W(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});Ar(a,e=>{n.onTriggerChange(e)},{immediate:!0});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||(!n.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(L(),z(M(cp),{"as-child":``,reference:e.reference??M(a)},{default:N(()=>[V(M(af),Ms({ref:M(i),"aria-describedby":M(n).open.value?M(n).contentId:void 0,"data-state":M(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},xa(c.value)),{default:N(()=>[F(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),Sg=e=>e.startsWith(`/`);function Cg(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function wg(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Cg(e.default)}var Tg=Object.assign;function Eg(e,t){let n={};for(let r in t){let i=t[r];n[r]=Og(i)?i.map(e):e(i)}return n}var Dg=()=>{},Og=Array.isArray;function kg(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Ag=Symbol(``);function jg(e,t){return Tg(Error(),{type:e,[Ag]:!0},t)}function Mg(e,t){return e instanceof Error&&Ag in e&&(t==null||!!(e.type&t))}var Ng=Symbol(``),Pg=Symbol(``),Fg=Symbol(``),Ig=Symbol(``),Lg=Symbol(``);function Rg(){return Cr(Fg)}function zg(e){return Cr(Ig)}var Bg=typeof document<`u`,Vg=/#/g,Hg=/&/g,Ug=/\//g,Wg=/=/g,Gg=/\?/g,Kg=/\+/g,qg=/%5B/g,Jg=/%5D/g,Yg=/%5E/g,Xg=/%60/g,Zg=/%7B/g,Qg=/%7C/g,$g=/%7D/g,e_=/%20/g;function t_(e){return e==null?``:encodeURI(``+e).replace(Qg,`|`).replace(qg,`[`).replace(Jg,`]`)}function n_(e){return t_(e).replace(Zg,`{`).replace($g,`}`).replace(Yg,`^`)}function r_(e){return t_(e).replace(Kg,`%2B`).replace(e_,`+`).replace(Vg,`%23`).replace(Hg,`%26`).replace(Xg,"`").replace(Zg,`{`).replace($g,`}`).replace(Yg,`^`)}function i_(e){return r_(e).replace(Wg,`%3D`)}function a_(e){return t_(e).replace(Vg,`%23`).replace(Gg,`%3F`)}function o_(e){return a_(e).replace(Ug,`%2F`)}function s_(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var c_=/\/$/,l_=e=>e.replace(c_,``);function u_(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=v_(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:s_(o)}}function d_(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function f_(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function p_(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&m_(t.matched[r],n.matched[i])&&h_(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function m_(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function h_(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!g_(e[n],t[n]))return!1;return!0}function g_(e,t){return Og(e)?__(e,t):Og(t)?__(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function __(e,t){return Og(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function v_(e,t){if(Sg(e))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`){if(s===`..`)a>1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var y_={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function b_(e){if(!e){if(Bg){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),l_(e)}var x_=/^[^#]+#/;function S_(e,t){return e.replace(x_,`#`)+t}function C_(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var w_=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function T_(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=C_(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function E_(e,t){return(history.state?history.state.position-t:-1)+e}var D_=new Map;function O_(e){D_.set(e,w_())}function k_(e){let t=D_.get(e);return D_.delete(e),t}function A_(e){return typeof e==`string`||e&&typeof e==`object`}function j_(e){return typeof e==`string`||typeof e==`symbol`}function M_(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Kg,` `),i=r.indexOf(`=`),a=s_(i<0?r:r.slice(0,i)),o=i<0?null:s_(r.slice(i+1));if(a in t){let e=t[a];Og(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function N_(e){let t=``;for(let n in e){let r=e[n];if(n=i_(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(Og(r)?r.map(e=>e&&r_(e)):[r&&r_(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function P_(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=Og(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function F_(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function I_(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(jg(4,{from:n,to:t})):e instanceof Error?c(e):A_(e)?c(jg(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function L_(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(t===`beforeRouteEnter`||o.instances[e]){if(Cg(s)){let c=(s.__vccOpts||s)[t];c&&a.push(I_(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=wg(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&I_(c,n,r,o,e,i)()}))}}}return a}function R_(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>m_(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>m_(e,s))||i.push(s))}return[n,r,i]}var z_=()=>location.protocol+`//`+location.host;function B_(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),f_(n,``)}return f_(n,e)+r+i}function V_(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=B_(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){let{history:e}=window;e.state&&e.replaceState(Tg({},e.state,{scroll:w_()}),``)}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),{pauseListeners:c,listen:l,destroy:d}}function H_(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function U_(e){let{history:t,location:n}=window,r={value:B_(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:z_()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Tg({},t.state,H_(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Tg({},i.value,t.state,{forward:e,scroll:w_()});a(o.current,o,!0),a(e,Tg({},H_(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function W_(e){e=b_(e);let t=U_(e),n=V_(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Tg({location:``,base:e,go:r,createHref:S_.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var G_={type:0,value:``},K_=/[a-zA-Z0-9_]/;function q_(e){if(!e)return[[]];if(e===`/`)return[[G_]];if(!Sg(e))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:K_.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var J_=`[^/]+?`,Y_={sensitive:!1,strict:!1,start:!0,end:!0},X_=/[.+*?^${}()[\]/\\]/g;function Z_(e,t){let n=Tg({},Y_,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(X_,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||J_;if(u!==J_){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(Og(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=Og(c)?c.join(`/`):c;if(!l){if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`)}n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Q_(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function $_(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Q_(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(ev(r))return 1;if(ev(i))return-1}return i.length-r.length}function ev(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var tv={strict:!1,end:!0,sensitive:!1};function nv(e,t,n){let r=Tg(Z_(q_(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function rv(e,t){let n=[],r=new Map;t=kg(tv,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=av(e);s.aliasOf=r&&r.record;let l=kg(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(av(Tg({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&!Sg(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=nv(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!sv(d)&&o(e.name)),dv(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:Dg}function o(e){if(j_(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=lv(e,n);n.splice(t,0,e),e.record.name&&!sv(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw jg(1,{location:e});s=i.record.name,a=Tg(iv(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&iv(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw jg(1,{location:e,currentLocation:t});s=i.record.name,a=Tg({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:cv(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function iv(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function av(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ov(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ov(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function sv(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function cv(e){return e.reduce((e,t)=>Tg(e,t.meta),{})}function lv(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;$_(e,t[i])<0?r=i:n=i+1}let i=uv(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function uv(e){let t=e;for(;t=t.parent;)if(dv(t)&&$_(e,t)===0)return t}function dv({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fv(e){let t=Cr(Fg),n=Cr(Ig),r=W(()=>{let n=M(e.to);return t.resolve(n)}),i=W(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(m_.bind(null,i));if(o>-1)return o;let s=_v(e[t-2]);return t>1&&_v(i)===s&&a[a.length-1].path!==s?a.findIndex(m_.bind(null,e[t-2])):o}),a=W(()=>i.value>-1&&gv(n.params,r.value.params)),o=W(()=>i.value>-1&&i.value===n.matched.length-1&&h_(n.params,r.value.params));function s(n={}){if(hv(n)){let n=t[M(e.replace)?`replace`:`push`](M(e.to)).catch(Dg);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:W(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function pv(e){return e.length===1?e[0]:e}var mv=P({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:fv,setup(e,{slots:t}){let n=en(fv(e)),{options:r}=Cr(Fg),i=W(()=>({[vv(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[vv(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&pv(t.default(n));return e.custom?r:ic(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function hv(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gv(e,t){for(let n in t){let r=t[n],i=e[n];if(Og(r)){if(!Og(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}else if(r!==i)return!1}return!0}function _v(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var vv=(e,t,n)=>e??t??n,yv=P({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=Cr(Lg),i=W(()=>e.route||r.value),a=Cr(Pg,0),o=W(()=>{let e=M(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=W(()=>i.value.matched[o.value]);Sr(Pg,W(()=>o.value+1)),Sr(Ng,s),Sr(Lg,i);let c=j();return Ar(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!m_(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return bv(n.default,{Component:l,route:r});let u=o.props[a],d=ic(l,Tg({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return bv(n.default,{Component:d,route:r})||d}}});function bv(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var xv=yv;function Sv(e){let t=rv(e.routes,e),n=e.parseQuery||M_,r=e.stringifyQuery||N_,i=e.history,a=F_(),o=F_(),s=F_(),c=mn(y_),l=mn(0),u=y_;Bg&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=Eg.bind(null,e=>``+e),f=Eg.bind(null,o_),p=Eg.bind(null,s_);function m(e,n){let r,i;j_(e)?(r=t.getRecordMatcher(e),i=n):i=e;let a=t.addRoute(i,r);return l.value++,()=>{a(),l.value++}}function h(e){let n=t.getRecordMatcher(e);n&&(t.removeRoute(n),l.value++)}function g(){t.clearRoutes(),l.value++}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(l.value,typeof e==`string`){a||=e.startsWith(`/`)?y_:c.value;let r=u_(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Tg(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=Tg({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?y_:c.value));let o;if(e.path!=null)o=Tg({},e,{path:u_(n,e.path,a.path).path});else{let t=Tg({},e.params);for(let e in t)t[e]??delete t[e];o=Tg({},e,{params:f(t)}),a.params=f(a.params)}let s=t.resolve(o,a),u=e.hash||``;s.params=d(p(s.params));let m=d_(r,Tg({},e,{hash:n_(u),path:s.path})),h=i.createHref(m);return Tg({fullPath:m,hash:u,query:r===N_?P_(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function b(e){return typeof e==`string`?u_(n,e,c.value.path):Tg({},e)}function x(e,t){if(u!==e)return jg(8,{from:t,to:e})}function S(e){return T(e)}function C(e){return S(Tg(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),Tg({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=u=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,l=w(n,i);if(l)return T(Tg(b(l),{state:typeof l==`object`?Tg({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&p_(r,i,n)&&(f=jg(16,{to:d,from:i}),de(i,i,!0,!1)),(f?Promise.resolve(f):te(d,i)).catch(e=>Mg(e)?Mg(e,2)?e:ue(e):D(e,d,i)).then(e=>{if(e){if(Mg(e,2))return T(Tg({replace:s},b(e.to),{state:typeof e.to==`object`?Tg({},a,e.to.state):a,force:o}),t||d)}else e=re(d,i,!0,s,a);return ne(d,i,e),e})}function ee(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function E(e){let t=me.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function te(e,t){let n,[r,i,s]=R_(e,t);n=L_(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(I_(r,e,t))});let c=ee.bind(null,e,t);return n.push(c),ge(n).then(()=>{n=[];for(let r of a.list())n.push(I_(r,e,t));return n.push(c),ge(n)}).then(()=>{n=L_(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(I_(r,e,t))});return n.push(c),ge(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(Og(r.beforeEnter))for(let i of r.beforeEnter)n.push(I_(i,e,t));else n.push(I_(r.beforeEnter,e,t))}return n.push(c),ge(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=L_(s,`beforeRouteEnter`,e,t,E),n.push(c),ge(n))).then(()=>{n=[];for(let r of o.list())n.push(I_(r,e,t));return n.push(c),ge(n)}).catch(e=>Mg(e,8)?e:Promise.reject(e))}function ne(e,t,n){s.list().forEach(r=>E(()=>r(e,t,n)))}function re(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===y_,l=Bg?history.state:{};n&&(r||s?i.replace(e.fullPath,Tg({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,de(e,t,n,s),ue()}let ie;function ae(){ie||=i.listen((e,t,n)=>{if(!he.listening)return;let r=y(e),a=w(r,he.currentRoute.value);if(a){T(Tg(a,{replace:!0,force:!0}),r).catch(Dg);return}u=r;let o=c.value;Bg&&n.delta&&O_(E_(o.fullPath,n.delta)),te(r,o).catch(e=>Mg(e,12)?e:Mg(e,2)?(T(Tg(b(e.to),{force:!0}),r).then(e=>{Mg(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(Dg),Promise.reject()):(n.delta&&i.go(-n.delta,!1),D(e,r,o))).then(e=>{e||=re(r,o,!1),e&&(n.delta&&!Mg(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Mg(e,20)&&i.go(-1,!1)),ne(r,o,e)}).catch(Dg)})}let oe=F_(),se=F_(),ce;function D(e,t,n){ue(e);let r=se.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function le(){return ce&&c.value!==y_?Promise.resolve():new Promise((e,t)=>{oe.add([e,t])})}function ue(e){return ce||(ce=!e,ae(),oe.list().forEach(([t,n])=>e?n(e):t()),oe.reset()),e}function de(t,n,r,i){let{scrollBehavior:a}=e;if(!Bg||!a)return Promise.resolve();let o=!r&&k_(E_(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return nr().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&T_(e)).catch(e=>t===c.value&&D(e,t,n))}let fe=e=>i.go(e),pe,me=new Set,he={currentRoute:c,listening:!0,addRoute:m,removeRoute:h,clearRoutes:g,hasRoute:v,getRoutes:_,resolve:y,options:e,push:S,replace:C,go:fe,back:()=>fe(-1),forward:()=>fe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:se.add,isReady:le,install(e){e.component(`RouterLink`,mv),e.component(`RouterView`,xv),e.config.globalProperties.$router=he,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),Bg&&!pe&&c.value===y_&&(pe=!0,S(i.location).catch(e=>{}));let t={};for(let e in y_)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Fg,he),e.provide(Ig,tn(t)),e.provide(Lg,c);let n=e.unmount;me.add(e),e.unmount=function(){me.delete(e),me.size<1&&(u=y_,ie&&ie(),ie=null,c.value=y_,pe=!1,ce=!1),n()}}};function ge(e){return e.reduce((e,t)=>e.then(()=>E(t)),Promise.resolve())}return he}var Cv=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},wv=e=>e===``,Tv=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Ev=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Dv=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Ov=e=>{let t=Dv(e);return t.charAt(0).toUpperCase()+t.slice(1)},kv={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},Av=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:i,"stroke-width":a,size:o=kv.width,color:s=kv.stroke,...c},{slots:l})=>ic(`svg`,{...kv,...c,width:o,height:o,stroke:s,"stroke-width":wv(n)||wv(r)||n===!0||r===!0?Number(i||a||kv[`stroke-width`])*24/Number(o):i||a||kv[`stroke-width`],class:Tv(`lucide`,c.class,...e?[`lucide-${Ev(Ov(e))}-icon`,`lucide-${Ev(e)}`]:[`lucide-icon`]),...!l.default&&!Cv(c)&&{"aria-hidden":`true`}},[...t.map(e=>ic(...e)),...l.default?[l.default()]:[]]),G=(e,t)=>(n,{slots:r,attrs:i})=>ic(Av,{...i,...n,iconNode:t,name:e},r),jv=G(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Mv=G(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Nv=G(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),Pv=G(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Fv=G(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Iv=G(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Lv=G(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Rv=G(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),zv=G(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Bv=G(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Vv=G(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Hv=G(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Uv=G(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),Wv=G(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),Gv=G(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Kv=G(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),qv=G(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),Jv=G(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Yv=G(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Xv=G(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Zv=G(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Qv=G(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),$v=G(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]),ey=G(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),ty=G(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),ny=G(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),ry=G(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),iy=G(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),ay=G(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),oy=G(`memory-stick`,[[`path`,{d:`M12 12v-2`,key:`fwoke6`}],[`path`,{d:`M12 18v-2`,key:`qj6yno`}],[`path`,{d:`M16 12v-2`,key:`heuere`}],[`path`,{d:`M16 18v-2`,key:`s1ct0w`}],[`path`,{d:`M2 11h1.5`,key:`15p63e`}],[`path`,{d:`M20 18v-2`,key:`12ehxp`}],[`path`,{d:`M20.5 11H22`,key:`khsy7a`}],[`path`,{d:`M4 18v-2`,key:`1c3oqr`}],[`path`,{d:`M8 12v-2`,key:`1mwtfd`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`,key:`1qcswk`}]]),sy=G(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),cy=G(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ly=G(`octagon-alert`,[[`path`,{d:`M12 16h.01`,key:`1drbdi`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`,key:`1fd625`}]]),uy=G(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),dy=G(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),fy=G(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),py=G(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),my=G(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),hy=G(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),gy=G(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),_y=G(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),vy=G(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),yy=G(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),by=G(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),xy=G(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Sy=G(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Cy=G(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),wy=G(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Ty=G(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Ey=G(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Dy=G(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Oy=G(`thermometer`,[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`,key:`17jzev`}]]),ky=G(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),Ay=G(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),jy=G(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),My=G(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Ny=e=>Array.isArray(e)?e:[e],Py=(e,t)=>{let n=[[],[]];for(let r of e)t(r)?n[0].push(r):n[1].push(r);return n},Fy=Array,Iy=(e,t)=>e.includes(t),Ly=(e,t=0)=>[...Array(e)].map((e,n)=>n+t),Ry=(e,t,n)=>e===void 0?t===void 0?[]:Array.isArray(t)?t:[t]:(n?.prepend?Array.isArray(t)?e.unshift(...t):e.unshift(t):Array.isArray(t)?e.push(...t):e.push(t),e),zy=(e,t)=>t==null?e??[]:e==null?Ny(t):e.concat(t),By=(...e)=>e.reduce(zy,[]),Vy=(e,t,n)=>{if(e===void 0)return Array.isArray(t)?t:[t];let r=n?.isEqual??((e,t)=>e===t);for(let n of Ny(t))e.some(e=>r(e,n))||e.push(n);return e},Hy=(e,t)=>e.reduce((e,n)=>{let r=n[t];return e[r]=Ry(e[r],n),e},{}),Uy=(e,t,n)=>e.length===t.length&&e.every(n?.isEqual?(e,r)=>n.isEqual(e,t[r]):(e,n)=>e===t[n]),Wy=(e,t)=>Gy(e)===t,Gy=e=>{let t=typeof e;return t===`object`?e===null?`null`:`object`:t===`function`?`object`:t},Ky={boolean:`boolean`,null:`null`,undefined:`undefined`,bigint:`a bigint`,number:`a number`,object:`an object`,string:`a string`,symbol:`a symbol`},qy={...Ky,function:`a function`},Jy=class extends Error{},Yy=e=>Xy(e,Jy),Xy=(e,t=Error)=>{throw new t(e)},Zy=class extends Error{name=`ParseError`},K=e=>Xy(e,Zy),Qy=e=>` ${e}`,$y=(e,t)=>{let n={},r=Array.isArray(e),i=!1;for(let[a,o]of Object.entries(e).entries()){let e=r?t(a,o[1]):t(...o,a);i||=typeof e[0]==`number`;let s=Array.isArray(e[0])||e.length===0?e:[e];for(let[e,t]of s)typeof e==`object`?n[e.group]=Ry(n[e.group],t):n[e]=t}return i?Object.values(n):n},eb=Object.entries,tb=(e,t)=>e in t,nb=(e,t)=>t in e,rb=class{constructor(e){Object.assign(this,e)}},ib=class{},ab=class extends ib{},ob=(e,t)=>{let n={},r={},i;for(i in e)i in t?n[i]=e[i]:r[i]=e[i];return[n,r]},sb=(e,t)=>ob(e,t)[1],cb=e=>Object.keys(e).length===0,lb=e=>[...Object.entries(e),...Object.getOwnPropertySymbols(e).map(t=>[t,e[t]])],ub=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),db=e=>{let t=Object.keys(e).sort(),n={};for(let r=0;r<t.length;r++)n[t[r]]=e[t[r]];return n},fb=Qy(`unset`),pb=e=>Object.values(e).filter(t=>typeof t==`number`||typeof e[t]!=`number`),mb={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},hb=globalThis.File??Blob,gb={ArrayBuffer,Blob,File:hb,FormData,Headers,Request,Response,URL},_b={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},vb={...mb,...gb,..._b,String,Number,Boolean},yb=e=>{let t=Object.getPrototypeOf(e);for(;t?.constructor&&(!tb(t.constructor.name,vb)||!(e instanceof vb[t.constructor.name]));)t=Object.getPrototypeOf(t);let n=t?.constructor?.name;if(n!==void 0&&n!==`Object`)return n},bb=e=>typeof e==`object`&&e?yb(e)??`object`:Gy(e),xb=Array.isArray,Sb={Array:`an array`,Function:`a function`,Date:`a Date`,RegExp:`a RegExp`,Error:`an Error`,Map:`a Map`,Set:`a Set`,String:`a String object`,Number:`a Number object`,Boolean:`a Boolean object`,Promise:`a Promise`,WeakMap:`a WeakMap`,WeakSet:`a WeakSet`},Cb={ArrayBuffer:`an ArrayBuffer instance`,Blob:`a Blob instance`,File:`a File instance`,FormData:`a FormData instance`,Headers:`a Headers instance`,Request:`a Request instance`,Response:`a Response instance`,URL:`a URL instance`},wb={Int8Array:`an Int8Array`,Uint8Array:`a Uint8Array`,Uint8ClampedArray:`a Uint8ClampedArray`,Int16Array:`an Int16Array`,Uint16Array:`a Uint16Array`,Int32Array:`an Int32Array`,Uint32Array:`a Uint32Array`,Float32Array:`a Float32Array`,Float64Array:`a Float64Array`,BigInt64Array:`a BigInt64Array`,BigUint64Array:`a BigUint64Array`},Tb={...Sb,...Cb,...wb},Eb=e=>{let t=Object(e).name??null;return t&&tb(t,vb)&&vb[t]===e?t:null},Db=(e,t)=>{let n=e.prototype;for(;n!==null;){if(n===t.prototype)return!0;n=Object.getPrototypeOf(n)}return!1},Ob=e=>kb(e,new Map),kb=(e,t)=>{if(typeof e!=`object`||!e)return e;if(t?.has(e))return t.get(e);let n=Eb(e.constructor);if(n===`Date`)return new Date(e.getTime());if(n&&n!==`Array`)return e;let r=Array.isArray(e)?e.slice():Object.create(Object.getPrototypeOf(e)),i=Object.getOwnPropertyDescriptors(e);if(t){t.set(e,r);for(let e in i){let n=i[e];`get`in n||`set`in n||(n.value=kb(n.value,t))}}return Object.defineProperties(r,i),r},Ab=e=>{let t=fb;return()=>t===fb?t=e():t},jb=e=>typeof e==`function`&&e.length===0,Mb=class extends Function{constructor(...e){let t=e.slice(0,-1),n=e[e.length-1];try{super(...t,n)}catch(t){return Yy(`Encountered an unexpected error while compiling your definition:
|
|
7
|
+
Message: ${t}
|
|
8
|
+
Source: (${e.slice(0,-1)}) => {
|
|
9
|
+
${e[e.length-1]}
|
|
10
|
+
}`)}}},Nb=class{constructor(e,...[t]){return Object.assign(Object.setPrototypeOf(e.bind(t?.bind??this),this.constructor.prototype),t?.attach)}},Pb=Ab(()=>{try{return Function(`return false`)()}catch{return!0}});Qy(`brand`),Qy(`arkInferred`),Qy(`args`);var Fb=class{constructor(){}},Ib={fileName:()=>{try{return((Error().stack?.split(`
|
|
11
|
+
`)[2]?.trim()||``).match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||`unknown`).replace(/^file:\/\//,``)}catch{return`unknown`}},env:{}},Lb=e=>e[0].toUpperCase()+e.slice(1),Rb=e=>e[0].toLowerCase()+e.slice(1),zb=e=>new RegExp(Bb(e),typeof e==`string`?``:e.flags),Bb=e=>`^(?:${typeof e==`string`?e:e.source})$`,Vb={negativeLookahead:e=>`(?!${e})`,nonCapturingGroup:e=>`(?:${e})`},Hb={" ":1,"\n":1," ":1},Ub=`^-0\\.?0*$`,Wb=`[1-9]\\d*`,Gb=`\\.\\d+`,Kb=`\\.\\d*[1-9]`,qb=e=>zb(Vb.negativeLookahead(Ub)+Vb.nonCapturingGroup(`-?`+Vb.nonCapturingGroup(Vb.nonCapturingGroup(`0|`+Wb)+Vb.nonCapturingGroup(e.decimalPattern)+`?`)+(e.allowDecimalOnly?`|`+e.decimalPattern:``)+`?`)),Jb=qb({decimalPattern:Kb,allowDecimalOnly:!1}),Yb=Jb.test.bind(Jb),Xb=qb({decimalPattern:Gb,allowDecimalOnly:!0});Xb.test.bind(Xb);var Zb=/^-?\d*\.?\d*$/,Qb=e=>e.length!==0&&Zb.test(e),$b=zb(Vb.negativeLookahead(`^-0$`)+`-?`+Vb.nonCapturingGroup(Vb.nonCapturingGroup(`0|`+Wb))),ex=$b.test.bind($b),tx=/^-?\d+$/,nx=tx.test.bind(tx),rx={number:`a number`,bigint:`a bigint`,integer:`an integer`},ix=(e,t)=>`'${e}' was parsed as ${rx[t]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,ax=(e,t)=>t===`number`?Yb(e):ex(e),ox=(e,t)=>t===`number`?Number(e):Number.parseInt(e),sx=(e,t)=>t===`number`?Qb(e):nx(e),cx=(e,t)=>dx(e,`number`,t),lx=(e,t)=>dx(e,`number`,{...t,strict:!0}),ux=(e,t)=>dx(e,`integer`,t),dx=(e,t,n)=>{let r=ox(e,t);return!Number.isNaN(r)&&sx(e,t)?n?.strict?ax(e,t)?r:K(ix(e,t)):r:n?.errorOnFail?K(n?.errorOnFail===!0?`Failed to parse ${rx[t]} from '${e}'`:n?.errorOnFail):void 0},fx=e=>{if(e[e.length-1]!==`n`)return;let t=e.slice(0,-1),n;try{n=BigInt(t)}catch{return}if($b.test(t))return n;if(tx.test(t))return K(ix(e,`bigint`))},px={version:`0.56.2`,filename:Ib.fileName(),FileConstructor:hb},mx=new Map,hx=Object.create(null),gx=e=>{let t=mx.get(e);if(t)return t;let n=vx(e);return hx[n]?n=`${n}${hx[n]++}`:hx[n]=1,px[n]=e,mx.set(e,n),n},_x=e=>/^[$A-Z_a-z][\w$]*$/.test(e),vx=e=>{switch(typeof e){case`object`:{if(e===null)break;let t=yb(e)??`object`;return t[0].toLowerCase()+t.slice(1)}case`function`:return _x(e.name)?e.name:`fn`;case`symbol`:return e.description&&_x(e.description)?e.description:`symbol`}return Yy(`Unexpected attempt to register serializable value of type ${Gy(e)}`)},yx=e=>typeof e==`string`?JSON.stringify(e):typeof e==`bigint`?`${e}n`:`${e}`,bx=(e,t={})=>wx(e,{onUndefined:`$ark.undefined`,onBigInt:e=>`$ark.bigint-${e}`,...t},[]),xx=(e,t)=>{switch(Gy(e)){case`object`:let n=e,r=n.constructor?.name??`Object`;return r===`Object`||r===`Array`?t?.quoteKeys===!1?Sx(n,t?.indent??0,``):JSON.stringify(wx(n,Cx,[]),null,t?.indent):Sx(n,t?.indent??0,``);case`symbol`:return Cx.onSymbol(e);default:return yx(e)}},Sx=(e,t,n)=>{if(typeof e==`function`)return Cx.onFunction(e);if(typeof e!=`object`||!e)return yx(e);let r=n+` `.repeat(t);if(Array.isArray(e)){if(e.length===0)return`[]`;let i=e.map(e=>Sx(e,t,r)).join(`,
|
|
12
|
+
`+r);return t?`[\n${r}${i}\n${n}]`:`[${i}]`}let i=e.constructor?.name??`Object`;if(i===`Object`){let i=lb(e).map(([e,n])=>{let i=typeof e==`symbol`?Cx.onSymbol(e):_x(e)?e:JSON.stringify(e),a=Sx(n,t,r);return`${r}${i}: ${a}`});return i.length===0?`{}`:t?`{\n${i.join(`,
|
|
13
|
+
`)}\n${n}}`:`{${i.join(`, `)}}`}return e instanceof Date?Tx(e):`expression`in e&&typeof e.expression==`string`?e.expression:i},Cx={onCycle:()=>`(cycle)`,onSymbol:e=>`Symbol(${gx(e)})`,onFunction:e=>`Function(${gx(e)})`},wx=(e,t,n)=>{switch(Gy(e)){case`object`:{let r=e;if(`toJSON`in r&&typeof r.toJSON==`function`)return r.toJSON();if(typeof r==`function`)return Cx.onFunction(r);if(n.includes(r))return`(cycle)`;let i=[...n,r];if(Array.isArray(r))return r.map(e=>wx(e,t,i));if(r instanceof Date)return r.toDateString();let a={};for(let e in r)a[e]=wx(r[e],t,i);for(let e of Object.getOwnPropertySymbols(r))a[t.onSymbol?.(e)??e.toString()]=wx(r[e],t,i);return a}case`symbol`:return Cx.onSymbol(e);case`bigint`:return t.onBigInt?.(e)??`${e}n`;case`undefined`:return t.onUndefined??`undefined`;case`string`:return e.replace(/\\/g,`\\\\`);default:return e}},Tx=e=>{let t=e.getFullYear(),n=e.getMonth(),r=e.getDate(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),s=e.getMilliseconds();if(n===0&&r===1&&i===0&&a===0&&o===0&&s===0)return`${t}`;let c=`${Ex[n]} ${r}, ${t}`;if(i===0&&a===0&&o===0&&s===0)return c;let l=e.toLocaleTimeString(),u=l.endsWith(` AM`)||l.endsWith(` PM`)?l.slice(-3):``;return u&&(l=l.slice(0,-u.length)),s?l+=`.${Ox(s,3)}`:Dx.test(l)&&(l=l.slice(0,-3)),`${l+u}, ${c}`},Ex=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Dx=/:\d\d:00$/,Ox=(e,t)=>String(e).padStart(t,`0`),kx=(e,t,...[n])=>{let r=n?.stringifySymbol??xx,i=e;switch(typeof t){case`string`:i=_x(t)?e===``?t:`${e}.${t}`:`${e}[${JSON.stringify(t)}]`;break;case`number`:i=`${e}[${t}]`;break;case`symbol`:i=`${e}[${r(t)}]`;break;default:n?.stringifyNonKey?i=`${e}[${n.stringifyNonKey(t)}]`:K(`${xx(t)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return i},Ax=(e,...t)=>e.reduce((e,n)=>kx(e,n,...t),``),jx=class extends Fy{cache={};constructor(...e){super(),this.push(...e)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let e=0;e<this.length;e++)this.cache.json.push(typeof this[e]==`symbol`?xx(this[e]):this[e]);return this.cache.json}stringify(){return this.cache.stringify?this.cache.stringify:this.cache.stringify=Ax(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let e=``,t=[e];for(let n of this)e=kx(e,n),t.push(e);return this.cache.stringifyAncestors=t}},Mx=class{chars;i;def;constructor(e){this.def=e,this.chars=[...e],this.i=0}shift(){return this.chars[this.i++]??``}get lookahead(){return this.chars[this.i]??``}get nextLookahead(){return this.chars[this.i+1]??``}get length(){return this.chars.length}shiftUntil(e){let t=``;for(;this.lookahead&&!e(this,t);)t+=this.shift();return t}shiftUntilEscapable(e){let t=``;for(;this.lookahead;)if(this.lookahead===`\\`)this.shift(),e(this,t)||this.lookahead===`\\`?t+=this.shift():t+=`\\${this.shift()}`;else if(e(this,t))break;else t+=this.shift();return t}shiftUntilLookahead(e){return typeof e==`string`?this.shiftUntil(t=>t.lookahead===e):this.shiftUntil(t=>t.lookahead in e)}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in Hb))}jumpToIndex(e){this.i=e<0?this.length+e:e}jumpForward(e){this.i+=e}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join(``)}get scanned(){return this.chars.slice(0,this.i).join(``)}sliceChars(e,t){return this.chars.slice(e,t).join(``)}lookaheadIs(e){return this.lookahead===e}lookaheadIsIn(e){return this.lookahead in e}},Nx=(e,t)=>`Unmatched ${e}${t===``?``:` before ${t}`}`,Px=e=>`Missing ${e}`;Qy(`implementedTraits`);for(var Fx=`$ark`,Ix=2;Fx in globalThis;)Fx=`$ark${Ix++}`;var Lx=Fx;globalThis[Lx]=px;var q=px,Rx=e=>`${Lx}.${e}`,zx=e=>Rx(gx(e)),Bx=class extends ab{argNames;body=``;constructor(...e){super(),this.argNames=e;for(let t of e){if(t in this)throw Error(`Arg name '${t}' would overwrite an existing property on FunctionBody`);this[t]=t}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(e,t=!1){return Hx(e,t)}index(e,t=!1){return Wx(`${e}`,t)}line(e){return this.body+=`${` `.repeat(this.indentation)}${e}\n`,this}const(e,t){return this.line(`const ${e} = ${t}`),this}let(e,t){return this.line(`let ${e} = ${t}`)}set(e,t){return this.line(`${e} = ${t}`)}if(e,t){return this.block(`if (${e})`,t)}elseIf(e,t){return this.block(`else if (${e})`,t)}else(e){return this.block(`else`,e)}for(e,t,n=0){return this.block(`for (let i = ${n}; ${e}; i++)`,t)}forIn(e,t){return this.block(`for (const k in ${e})`,t)}block(e,t,n=``){return this.line(`${e} {`),this.indent(),t(this),this.dedent(),this.line(`}${n}`)}return(e=``){return this.line(`return ${e}`)}write(e=`anonymous`,t=0){return`${e}(${this.argNames.join(`, `)}) { ${t?this.body.split(`
|
|
14
|
+
`).map(e=>` `.repeat(t)+`${e}`).join(`
|
|
15
|
+
`):this.body} }`}compile(){return new Mb(...this.argNames,this.body)}},Vx=e=>Wy(e,`object`)||typeof e==`symbol`?zx(e):yx(e),Hx=(e,t=!1)=>typeof e==`string`&&_x(e)?`${t?`?`:``}.${e}`:Wx(Ux(e),t),Ux=e=>typeof e==`symbol`?zx(e):JSON.stringify(e),Wx=(e,t=!1)=>`${t?`?.`:``}[${e}]`,Gx=class extends Bx{traversalKind;optimistic;constructor(e){super(`data`,`ctx`),this.traversalKind=e.kind,this.optimistic=e.optimistic===!0}invoke(e,t){let n=t?.arg??this.data,r=typeof e==`string`||this.requiresContextFor(e),i=typeof e==`string`?e:e.id;return r?`${this.referenceToId(i,t)}(${n}, ${this.ctx})`:`${this.referenceToId(i,t)}(${n})`}referenceToId(e,t){let n=`this.${e}${t?.kind??this.traversalKind}`;return t?.bind?`${n}.bind(${t?.bind})`:n}requiresContextFor(e){return this.traversalKind===`Apply`||e.allowsRequiresContext}initializeErrorCount(){return this.const(`errorCount`,`ctx.currentErrorCount`)}returnIfFail(){return this.if(`ctx.currentErrorCount > errorCount`,()=>this.return())}returnIfFailFast(){return this.if(`ctx.failFast && ctx.currentErrorCount > errorCount`,()=>this.return())}traverseKey(e,t,n){let r=this.requiresContextFor(n);return r&&this.line(`${this.ctx}.path.push(${e})`),this.check(n,{arg:t}),r&&this.line(`${this.ctx}.path.pop()`),this}check(e,t){return this.traversalKind===`Allows`?this.if(`!${this.invoke(e,t)}`,()=>this.return(!1)):this.line(this.invoke(e,t))}},Kx=e=>$y(e,(e,t)=>[e,xb(t)?[...t]:t]),qx=Qy(`arkKind`),Jx=(e,t)=>e?.[qx]===t,Yx=e=>Jx(e,`root`)||Jx(e,`constraint`),Xx=[`unit`,`proto`,`domain`],Zx=[`required`,`optional`,`index`,`sequence`],Qx=[`pattern`,`divisor`,`exactLength`,`max`,`min`,`maxLength`,`minLength`,`before`,`after`],$x=[...Qx,`structure`,`predicate`],eS=[...$x,...Zx],tS=[`alias`,`union`,`morph`,`unit`,`intersection`,`proto`,`domain`],nS=[...tS,...eS],rS=$y(eS,(e,t)=>[t,1]),iS=$y([...Zx,`undeclared`],(e,t)=>[t,1]),aS=$y(nS,(e,t)=>[t,e]),oS=e=>typeof e==`string`&&e in aS,sS=e=>aS[e],cS=e=>tS.slice(sS(e)+1);[...cS(`union`)],[...cS(`morph`)];var lS=e=>typeof e==`string`||typeof e==`boolean`||e===null?e:typeof e==`number`?Number.isNaN(e)?`NaN`:e===1/0?`Infinity`:e===-1/0?`-Infinity`:e:Vx(e),uS=e=>{let t=`{ `;for(let[n,r]of Object.entries(e))t+=`${n}: ${Vx(r)}, `;return t+` }`},dS=e=>{let t=e;return t.hasAssociatedError&&(t.defaults.expected??=e=>`description`in e?e.description:t.defaults.description(e),t.defaults.actual??=e=>xx(e),t.defaults.problem??=e=>`must be ${e.expected}${e.actual?` (was ${e.actual})`:``}`,t.defaults.message??=e=>{if(e.path.length===0)return e.problem;let t=`${e.propString} ${e.problem}`;return t[0]===`[`?`value at ${t}`:t}),t},fS={Error:class extends Error{name=`ToJsonSchemaError`;code;context;constructor(e,t){super(xx(t,{quoteKeys:!1,indent:4})),this.code=e,this.context=t}hasCode(e){return this.code===e}},throw:(...e)=>{throw new fS.Error(...e)},throwInternalOperandError:(e,t)=>Yy(`Unexpected JSON Schema input for ${e}: ${xx(t)}`),defaultConfig:{target:`draft-2020-12`,dialect:`https://json-schema.org/draft/2020-12/schema`,useRefs:!1,fallback:{arrayObject:e=>fS.throw(`arrayObject`,e),arrayPostfix:e=>fS.throw(`arrayPostfix`,e),defaultValue:e=>fS.throw(`defaultValue`,e),domain:e=>fS.throw(`domain`,e),morph:e=>fS.throw(`morph`,e),patternIntersection:e=>fS.throw(`patternIntersection`,e),predicate:e=>fS.throw(`predicate`,e),proto:e=>fS.throw(`proto`,e),symbolKey:e=>fS.throw(`symbolKey`,e),unit:e=>fS.throw(`unit`,e),date:e=>fS.throw(`date`,e)}}};q.config??={};var pS=(e,t)=>{if(!t)return e;let n={...e},r;for(r in t){let i={...e.keywords};if(r===`keywords`){for(let e in t[r]){let n=t.keywords[e];n!==void 0&&(i[e]=typeof n==`string`?{description:n}:n)}n.keywords=i}else r===`toJsonSchema`?n[r]=hS(e.toJsonSchema,t.toJsonSchema):oS(r)?n[r]={...e[r],...t[r]}:n[r]=t[r]}return n},mS={"draft-2020-12":`https://json-schema.org/draft/2020-12/schema`,"draft-07":`http://json-schema.org/draft-07/schema#`},hS=((e,t)=>{if(!e)return gS(t??{},void 0);if(!t)return e;let n={...e},r;for(r in t)r===`fallback`?n.fallback=_S(e.fallback,t.fallback):n[r]=t[r];return gS(n,t)}),gS=(e,t)=>t?.dialect===void 0?t?.target===void 0?e:{...e,dialect:mS[t.target]}:e,_S=(e,t)=>{e=vS(e),t=vS(t);let n={},r;for(r in fS.defaultConfig.fallback)n[r]=t[r]??t.default??e[r]??e.default??fS.defaultConfig.fallback[r];return n},vS=e=>typeof e==`function`?{default:e}:e??{},yS=class e extends ab{[qx]=`error`;path;data;nodeConfig;input;ctx;constructor({prefixPath:e,relativePath:t,...n},r){super(),this.input=n,this.ctx=r,ub(this,n);let i=r.data;n.code===`union`&&(n.errors=n.errors.flatMap(n=>{let r=n.hasCode(`union`)?n.errors:[n];return!e&&!t?r:r.map(n=>n.transform(n=>({...n,path:By(e,n.path,t)})))})),this.nodeConfig=r.config[this.code];let a=[...n.path??r.path];t&&a.push(...t),e&&a.unshift(...e),this.path=new jx(...a),this.data=`data`in n?n.data:i}transform(t){return new e(t({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(e){return this.code===e}get propString(){return Ax(this.path)}get expected(){if(this.input.expected)return this.input.expected;let e=this.meta?.expected??this.nodeConfig.expected;return typeof e==`function`?e(this.input):e}get actual(){if(this.input.actual)return this.input.actual;let e=this.meta?.actual??this.nodeConfig.actual;return typeof e==`function`?e(this.data):e}get problem(){if(this.input.problem)return this.input.problem;let e=this.meta?.problem??this.nodeConfig.problem;return typeof e==`function`?e(this):e}get message(){if(this.input.message)return this.input.message;let e=this.meta?.message??this.nodeConfig.message;return typeof e==`function`?e(this):e}get flat(){return this.hasCode(`intersection`)?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}},bS=class e extends Fy{[qx]=`errors`;static get[Symbol.species](){return Array}ctx;constructor(e){super(),this.ctx=e}byPath=Object.create(null);get flatByPath(){return $y(this.byPath,(e,t)=>[e,t.flat])}get flatProblemsByPath(){return $y(this.byPath,(e,t)=>[e,t.flat.map(e=>e.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new xS(this)}add(e){let t=this.byPath[e.propString];if(t){if(e===t||t.hasCode(`union`)&&t.errors.length===0)return;let n=e.hasCode(`union`)&&e.errors.length===0?e:new yS({code:`intersection`,errors:t.hasCode(`intersection`)?[...t.errors,e]:[t,e]},this.ctx),r=this.indexOf(t);this.mutable[r===-1?this.length:r]=n,this.byPath[e.propString]=n,this.addAncestorPaths(e)}else this.byPath[e.propString]=e,this.addAncestorPaths(e),this.mutable.push(e);this.count++}transform(t){let n=new e(this.ctx);for(let e of this)n.add(t(e));return n}merge(e){for(let t of e)this.add(new yS({...t,path:[...this.ctx.path,...t.path]},this.ctx))}affectsPath(e){return this.length===0?!1:e.stringifyAncestors().some(e=>e in this.byPath)||e.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map(e=>e.toJSON())]}toString(){return this.join(`
|
|
16
|
+
`)}addAncestorPaths(e){for(let t of e.path.stringifyAncestors())this.byAncestorPath[t]=Ry(this.byAncestorPath[t],e)}},xS=class extends Error{name=`TraversalError`;constructor(e){e.length===1?super(e.summary):super(`
|
|
17
|
+
`+e.map(e=>` • ${SS(e)}`).join(`
|
|
18
|
+
`)),Object.defineProperty(this,"arkErrors",{value:e,enumerable:!1})}},SS=e=>e.toString().split(`
|
|
19
|
+
`).join(`
|
|
20
|
+
`),CS=class{path=[];errors=new bS(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(e,t){this.root=e,this.config=t}get data(){let e=this.root;for(let t of this.path)e=e?.[t];return e}get propString(){return Ax(this.path)}reject(e){return this.error(e),!1}mustBe(e){return this.error(e),!1}error(e){let t=typeof e==`object`?e.code?e:{...e,code:`predicate`}:{code:`predicate`,expected:e};return this.errorFromContext(t)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(e){let t={path:new jx(...this.path),morphs:e};this.currentBranch?this.currentBranch.queuedMorphs.push(t):this.queuedMorphs.push(t)}finalize(e){return this.queuedMorphs.length&&(typeof this.root==`object`&&this.root!==null&&this.config.clone&&(this.root=this.config.clone(this.root)),this.applyQueuedMorphs()),this.hasError()?e?e(this.errors):this.errors:this.root}get currentErrorCount(){return this.currentBranch?+!!this.currentBranch.error:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(e){return this.errorFromContext(e)}errorFromContext(e){let t=new yS(e,this);return this.currentBranch?this.currentBranch.error=t:this.errors.add(t),t}applyQueuedMorphs(){for(;this.queuedMorphs.length;){let e=this.queuedMorphs;this.queuedMorphs=[];for(let{path:t,morphs:n}of e)this.errors.affectsPath(t)||this.applyMorphsAtPath(t,n)}}applyMorphsAtPath(e,t){let n=e[e.length-1],r;if(n!==void 0){r=this.root;for(let t=0;t<e.length-1;t++)r=r[e[t]]}for(let i of t){this.path=[...e];let t=Yx(i),a=i(r===void 0?this.root:r[n],this);if(a instanceof yS){this.errors.add(a);break}if(a instanceof bS){t||this.errors.merge(a),this.queuedMorphs=[];break}r===void 0?this.root=a:r[n]=a,this.applyQueuedMorphs()}}},wS=(e,t,n)=>{if(!n)return t();n.path.push(e);let r=t();return n.path.pop(),r},TS=class extends Nb{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(e,t){super((e,t,n=this.onFail)=>t?(this.traverseApply(e,t),t.hasError()?t.errors:t.data):this.rootApply(e,n),{attach:e}),this.attachments=e,this.$=t,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind(`morph`)||this.hasKind(`structure`)&&this.structuralMorph!==void 0||this.hasKind(`sequence`)&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind(`predicate`)&&this.inner.predicate.length!==1,this.isCyclic=this.kind===`alias`,this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind(`structure`)?[this,...this.children]:this.children.reduce((e,t)=>PS(e,t.shallowReferences),[this]);let n=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let e=0;e<this.children.length;e++){if(this.includesTransform||=this.children[e].includesTransform,this.includesContextualPredicate||=this.children[e].includesContextualPredicate,this.isCyclic||=this.children[e].isCyclic,!n){let t=this.children[e].flatRefs;for(let e=0;e<t.length;e++){let n=t[e];if(!this.flatRefs.some(e=>MS(e,n))){this.flatRefs.push(n);for(let e of n.node.branches)(e.hasKind(`morph`)||e.hasKind(`intersection`)&&e.structure?.structuralMorph!==void 0)&&this.flatMorphs.push({path:n.path,propString:n.propString,node:e})}}}Object.assign(this.referencesById,this.children[e].referencesById)}this.flatRefs.sort((e,t)=>e.path.length>t.path.length?1:e.path.length<t.path.length?-1:e.propString>t.propString?1:e.propString<t.propString||e.node.expression<t.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?`allows`:this.shallowMorphs.every(e=>e.length===1||e.name===`$arkStructuralMorph`)?this.hasKind(`union`)?this.branches.some(e=>e.shallowMorphs.length>1)?`contextual`:`branchedOptimistic`:this.shallowMorphs.length>1?`contextual`:`optimistic`:`contextual`:`contextual`,this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?e=>this.traverseAllows(e,new CS(e,this.$.resolvedConfig)):e=>this.traverseAllows(e)}createRootApply(){switch(this.rootApplyStrategy){case`allows`:return(e,t)=>{if(this.allows(e))return e;let n=new CS(e,this.$.resolvedConfig);return this.traverseApply(e,n),n.finalize(t)};case`contextual`:return(e,t)=>{let n=new CS(e,this.$.resolvedConfig);return this.traverseApply(e,n),n.finalize(t)};case`optimistic`:this.contextFreeMorph=this.shallowMorphs[0];let e=this.$.resolvedConfig.clone;return(t,n)=>{if(this.allows(t))return this.contextFreeMorph(e&&(typeof t==`object`&&t||typeof t==`function`)?e(t):t);let r=new CS(t,this.$.resolvedConfig);return this.traverseApply(t,r),r.finalize(n)};case`branchedOptimistic`:return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,Yy(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=AS(this.metaJson);cacheGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}get description(){return this.cacheGetter(`description`,this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=sS(this.kind);precompilation;assert=(e,t)=>this(e,t,e=>e.throw());traverse(e,t){return this(e,t,null)}get in(){return this.cacheGetter(`in`,this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter(`rawIn`,this.getIo(`in`))}get out(){return this.cacheGetter(`out`,this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter(`rawOut`,this.getIo(`out`))}getIo(e){if(!this.includesTransform)return this;let t={};for(let[n,r]of this.innerEntries){let i=this.impl.keys[n];if(i.reduceIo)i.reduceIo(e,t,r);else if(i.child){let i=r;t[n]=xb(i)?i.map(t=>e===`in`?t.rawIn:t.rawOut):e===`in`?i.rawIn:i.rawOut}else t[n]=r}return this.$.node(this.kind,t)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(e){let t=Yx(e)?e:this.$.parseDefinition(e);return this.innerHash===t.innerHash}ifEquals(e){return this.equals(e)?this:void 0}hasKind(e){return this.kind===e}assertHasKind(e){return this.kind!==e&&Xy(`${this.kind} node was not of asserted kind ${e}`),this}hasKindIn(...e){return e.includes(this.kind)}assertHasKindIn(...e){return Iy(e,this.kind)||Xy(`${this.kind} node was not one of asserted kinds ${e}`),this}isBasis(){return Iy(Xx,this.kind)}isConstraint(){return Iy(eS,this.kind)}isStructural(){return Iy(Zx,this.kind)}isRefinement(){return Iy($x,this.kind)}isRoot(){return Iy(tS,this.kind)}isUnknown(){return this.hasKind(`intersection`)&&this.children.length===0}isNever(){return this.hasKind(`union`)&&this.children.length===0}hasUnit(e){return this.hasKind(`unit`)&&this.allows(e)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(e){let t=ES.normalize(e);return this._select(t)}_select(e){let t=ES.applyBoundary[e.boundary??`references`](this);return e.kind&&(t=t.filter(t=>t.kind===e.kind)),e.where&&(t=t.filter(e.where)),ES.applyMethod[e.method??`filter`](t,this,e)}transform(e,t){return this._transform(e,this._createTransformContext(t))}_createTransformContext(e){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:e?.prereduced??!1},undeclaredKeyHandling:void 0,...e}}_transform(e,t){let n=t.bindScope??this.$;if(t.seen[this.id])return this.$.lazilyResolve(t.seen[this.id]);if(t.shouldTransform?.(this,t)===!1)return this;let r;t.seen[this.id]=()=>r,this.hasKind(`structure`)&&this.undeclared!==t.undeclaredKeyHandling&&(t={...t,undeclaredKeyHandling:this.undeclared});let i=$y(this.inner,(n,r)=>{if(!this.impl.keys[n].child)return[n,r];let i=r;if(!xb(i)){let r=i._transform(e,t);return r?[n,r]:[]}if(i.length===0)return[n,r];let a=i.flatMap(n=>n._transform(e,t)??[]);return a.length?[n,a]:[]});delete t.seen[this.id];let a=Object.assign(i,{meta:this.meta}),o=t.selected&&!t.selected.includes(this)?a:e(this.kind,a,t);if(o===null)return null;if(Yx(o))return r=o;let s=Object.keys(o);return(s.length===0||s.length===1&&s[0]===`meta`)&&!cb(this.inner)?null:(this.kind===`required`||this.kind===`optional`||this.kind===`index`)&&!(`value`in o)?t.undeclaredKeyHandling?{...o,value:q.intrinsic.unknown}:null:(this.kind===`morph`&&(o.in??=q.intrinsic.unknown),r=n.node(this.kind,o,t.parseOptions))}configureReferences(e,t=`references`){let n=ES.normalize(t),r=typeof e==`string`?(t,n)=>({...n,meta:{...n.meta,description:e}}):typeof e==`function`?(t,n)=>({...n,meta:e(n.meta)}):(t,n)=>({...n,meta:{...n.meta,...e}});if(n.boundary===`self`)return this.$.node(this.kind,r(this.kind,{...this.inner,meta:this.meta}));let i=this._select(n),a=i&&Ny(i),o=n.boundary===`child`?(e,t)=>t.root.children.includes(e):n.boundary===`shallow`?e=>e.kind!==`structure`:()=>!0;return this.$.finalize(this.transform(r,{shouldTransform:o,selected:a}))}},ES={applyBoundary:{self:e=>[e],child:e=>[...e.children],shallow:e=>[...e.shallowReferences],references:e=>[...e.references]},applyMethod:{filter:e=>e,assertFilter:(e,t,n)=>(e.length===0&&Xy(DS(t,n)),e),find:e=>e[0],assertFind:(e,t,n)=>(e.length===0&&Xy(DS(t,n)),e[0])},normalize:e=>typeof e==`function`?{boundary:`references`,method:`filter`,where:e}:typeof e==`string`?tb(e,ES.applyBoundary)?{method:`filter`,boundary:e}:{boundary:`references`,method:`filter`,kind:e}:{boundary:`references`,method:`filter`,...e}},DS=(e,t)=>`${e} had no references matching ${xx(t)}.`,OS=e=>Ax(e,{stringifyNonKey:e=>e.expression}),kS=/"(\$ark\.[^"]+)"/g,AS=e=>JSON.stringify(e).replace(kS,`$1`),jS=(e,t)=>({path:e,node:t,propString:OS(e)}),MS=(e,t)=>e.propString===t.propString&&e.node.equals(t.node),NS=(e,t)=>Vy(e,t,{isEqual:MS}),PS=(e,t)=>Vy(e,t,{isEqual:(e,t)=>e.equals(t)}),J=class e extends Array{static init(t,n,r,i){return new e({kind:t,l:n,r,path:i?.path??[],optional:i?.optional??!1})}add(e,t,n,r){return this.push({kind:e,l:t,r:n,path:r?.path??[],optional:r?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:e,l:t,r:n}=this[0],r=Ax(e);return LS(`Intersection${r&&` at ${r}`} of ${FS(t,n)}`)}return`The following intersections result in unsatisfiable types:\n• ${this.map(({path:e,l:t,r:n})=>`${e}: ${FS(t,n)}`).join(`
|
|
21
|
+
• `)}`}throw(){return K(this.describeReasons())}invert(){let t=this.map(e=>({...e,l:e.r,r:e.l}));return t instanceof e?t:new e(...t)}withPrefixKey(e,t){return this.map(n=>({...n,path:[e,...n.path],optional:n.optional||t===`optional`}))}toNeverIfDisjoint(){return q.intrinsic.never}},FS=(e,t)=>`${IS(e)} and ${IS(t)}`,IS=e=>Yx(e)?e.expression:xb(e)?e.map(IS).join(` | `)||`never`:String(e),LS=e=>`${e} results in an unsatisfiable type`,RS={},zS=(e,t,n)=>VS(e,t,{$:n,invert:!1,pipe:!1}),BS=(e,t,n)=>VS(e,t,{$:n,invert:!1,pipe:!0}),VS=((e,t,n)=>{let r=n.pipe?`|>`:`&`,i=`${e.hash}${r}${t.hash}`;if(RS[i]!==void 0)return RS[i];if(!n.pipe){let n=`${t.hash}${r}${e.hash}`;if(RS[n]!==void 0){let e=RS[n],t=e instanceof J?e.invert():e;return RS[i]=t,t}}let a=!n.pipe||!e.includesTransform&&!t.includesTransform;if(a&&e.equals(t))return e;let o=a?HS(e,t,n):e.hasKindIn(...tS)?US(e,t,n):HS(e,t,n);return Yx(o)&&(e.equals(o)?o=e:t.equals(o)&&(o=t)),RS[i]=o,o}),HS=(e,t,n)=>{let r=e.precedence<t.precedence?e.kind:t.kind,i=e.impl.intersections[t.kind]??t.impl.intersections[e.kind];if(i===void 0)return null;if(r===e.kind)return i(e,t,n);{let r=i(t,e,{...n,invert:!n.invert});return r instanceof J&&(r=r.invert()),r}},US=(e,t,n)=>e.includesTransform||t.includesTransform?n.invert?WS(t,e,n):WS(e,t,n):HS(e,t,n),WS=(e,t,n)=>e.distribute(e=>GS(e,t,n),r=>{let i=r.filter(Yx);if(i.length===0)return J.init(`union`,e.branches,t.branches);if(i.length<e.branches.length||!e.branches.every((e,t)=>e.rawIn.equals(i[t].rawIn)))return n.$.parseSchema(i);if(i.length===1)return i[0];let a={branches:i};return n.$.parseSchema(a)}),GS=(e,t,n)=>{if(e.hasKind(`morph`)){let r=[...e.morphs];if(e.lastMorphIfNode){let i=VS(e.lastMorphIfNode,t,n);if(i instanceof J)return i;r[r.length-1]=i}else r.push(t);return n.$.node(`morph`,{morphs:r,in:e.inner.in})}if(t.hasKind(`morph`)){let r=VS(e,t.rawIn,n);return r instanceof J?r:n.$.node(`morph`,{morphs:[t],in:r})}return n.$.node(`morph`,{morphs:[t],in:e})},KS=class extends TS{constructor(e,t){super(e,t),Object.defineProperty(this,qx,{value:`constraint`,enumerable:!1})}impliedSiblings;intersect(e){return zS(this,e,this.$)}},qS=class extends KS{traverseApply=(e,t)=>{this.traverseAllows(e,t)||t.errorFromNodeContext(this.errorContext)};compile(e){e.traversalKind===`Allows`?e.return(this.compiledCondition):e.if(this.compiledNegation,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return uS(this.errorContext)}},JS=e=>(t,n)=>{if(xb(t)){if(t.length===0)return;let r=t.map(t=>n.$.node(e,t));return e===`predicate`?r:r.sort((e,t)=>e.hash<t.hash?-1:1)}let r=n.$.node(e,t);if(!r.isRoot())return r.hasOpenIntersection()?[r]:r},YS=e=>{let t=e.r.shift();if(!t){let t=e.l.length===0&&e.kind===`structure`?q.intrinsic.unknown.internal:e.ctx.$.node(e.kind,Object.assign(e.baseInner,ZS(e.l)),{prereduced:!0});for(let n of e.roots){if(t instanceof J)return t;t=VS(n,t,e.ctx)}return t}let n=!1;for(let r=0;r<e.l.length;r++){let i=VS(e.l[r],t,e.ctx);if(i!==null){if(i instanceof J)return i;if(i.isRoot())return e.roots.push(i),e.l.splice(r),YS(e);if(!n)e.l[r]=i,n=!0;else if(!e.l.includes(i))return Yy(`Unexpectedly encountered multiple distinct intersection results for refinement ${t}`)}}if(n||e.l.push(t),e.kind===`intersection`&&t.impliedSiblings)for(let n of t.impliedSiblings)Vy(e.r,n);return YS(e)},XS=e=>Object.entries(e).flatMap(([e,t])=>e in rS?t:[]).sort((e,t)=>e.precedence<t.precedence?-1:e.precedence>t.precedence?1:e.kind===`predicate`&&t.kind===`predicate`?0:e.hash<t.hash?-1:1),ZS=e=>{let t={};for(let n of e)if(n.hasOpenIntersection())t[n.kind]=Ry(t[n.kind],n);else{if(t[n.kind])return Yy(`Unexpected intersection of closed refinements of kind ${n.kind}`);t[n.kind]=n}return t},QS=(...e)=>K($S(...e)),$S=(e,t,n)=>{let r=n.hasKind(`morph`)?`a morph`:n.isUnknown()?`unknown`:n.exclude(t).defaultShortDescription;return`${Lb(e)} operand must be ${t.description} (was ${r})`},eC=(e,t,n)=>new nC(e,t,n,n,null),tC=class extends Nb{},nC=class extends Nb{[qx]=`generic`;paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(e,t,n,r,i){super((...e)=>{let n=$y(this.names,(t,n)=>{let r=this.arg$.parse(e[t]);return r.extends(this.constraints[t])||K(rC(n,this.constraints[t].expression,r.expression)),[n,r]});if(this.defIsLazy()){let e=this.bodyDef(n);return this.$.parse(e)}return this.$.parse(t,{args:n})}),this.paramDefs=e,this.bodyDef=t,this.$=n,this.arg$=r,this.hkt=i,this.description=i?new i().description??`a generic type for ${i.constructor.name}`:`a generic type`,this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof tC}cacheGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}get json(){return this.cacheGetter(`json`,{params:this.params.map(e=>e[1].isUnknown()?e[0]:[e[0],e[1].json]),body:bx(this.bodyDef)})}get params(){return this.cacheGetter(`params`,this.paramDefs.map(e=>typeof e==`string`?[e,q.intrinsic.unknown]:[e[0],this.$.parse(e[1])]))}get names(){return this.cacheGetter(`names`,this.params.map(e=>e[0]))}get constraints(){return this.cacheGetter(`constraints`,this.params.map(e=>e[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}},rC=(e,t,n)=>`${e} must be assignable to ${t} (was ${n})`,iC={implementation:dS({kind:`predicate`,hasAssociatedError:!0,collapsibleKey:`predicate`,keys:{predicate:{}},normalize:e=>typeof e==`function`?{predicate:e}:e,defaults:{description:e=>`valid according to ${e.predicate.name||`an anonymous predicate`}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}}),Node:class extends KS{serializedPredicate=zx(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:`predicate`,description:this.description,meta:this.meta};compiledErrorContext=uS(this.errorContext);traverseApply=(e,t)=>{let n=t.currentErrorCount;!this.predicate(e,t.external)&&t.currentErrorCount===n&&t.errorFromNodeContext(this.errorContext)};compile(e){if(e.traversalKind===`Allows`){e.return(this.compiledCondition);return}e.initializeErrorCount(),e.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(e,t){return t.fallback.predicate({code:`predicate`,base:e,predicate:this.predicate})}}},aC={implementation:dS({kind:`divisor`,collapsibleKey:`rule`,keys:{rule:{parse:e=>Number.isInteger(e)?e:K(oC(e))}},normalize:e=>typeof e==`number`?{rule:e}:e,hasAssociatedError:!0,defaults:{description:e=>e.rule===1?`an integer`:e.rule===2?`even`:`a multiple of ${e.rule}`},intersections:{divisor:(e,t,n)=>n.$.node(`divisor`,{rule:Math.abs(e.rule*t.rule/sC(e.rule,t.rule))})},obviatesBasisDescription:!0}),Node:class extends qS{traverseAllows=e=>e%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=q.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(e){return e.type=`integer`,this.rule===1||(e.multipleOf=this.rule),e}}},oC=e=>`divisor must be an integer (was ${e})`,sC=(e,t)=>{let n,r=e,i=t;for(;i!==0;)n=i,i=r%i,r=n;return r},cC=class extends qS{boundOperandKind=_C[this.kind];compiledActual=this.boundOperandKind===`value`?`data`:this.boundOperandKind===`length`?`data.length`:`data.valueOf()`;comparator=vC(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${lC[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind===`date`?yC(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator[0]===`<`?`upper`:`lower`;isStricterThan(e){return(this.limitKind===`upper`?this.numericLimit<e.numericLimit:this.numericLimit>e.numericLimit)||this.numericLimit===e.numericLimit&&this.exclusive===!0&&!e.exclusive}overlapsRange(e){return!(this.isStricterThan(e)||this.numericLimit===e.numericLimit&&(this.exclusive||e.exclusive))}overlapIsUnit(e){return this.numericLimit===e.numericLimit&&!this.exclusive&&!e.exclusive}},lC={"<":`>=`,"<=":`>`,">":`<=`,">=":`<`},uC={min:`max`,minLength:`maxLength`,after:`before`},dC={parse:e=>e||void 0},fC=e=>t=>{if(typeof t==`number`)return{rule:t};let{exclusive:n,...r}=t;return n?{...r,rule:e===`minLength`?r.rule+1:r.rule-1}:r},pC=e=>t=>{if(typeof t==`number`||typeof t==`string`||t instanceof Date)return{rule:t};let{exclusive:n,...r}=t;if(!n)return r;let i=typeof r.rule==`number`?r.rule:typeof r.rule==`string`?new Date(r.rule).valueOf():r.rule.valueOf();return n?{...r,rule:e===`after`?i+1:i-1}:r},mC=e=>typeof e==`string`||typeof e==`number`?new Date(e):e,hC=(e,t)=>`${e} bound must be a positive integer (was ${t})`,gC=e=>t=>((!Number.isInteger(t)||t<0)&&K(hC(e,t)),t),_C={min:`value`,max:`value`,minLength:`length`,maxLength:`length`,after:`date`,before:`date`},vC=(e,t)=>`${tb(e,uC)?`>`:`<`}${t?``:`=`}`,yC=e=>typeof e==`string`?e:new Date(e).toLocaleString(),bC=e=>`Bounded expression ${e} must be exactly one of number, string, Array, or Date`,xC={implementation:dS({kind:`after`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:mC,serialize:e=>e.toISOString()}},normalize:pC(`after`),defaults:{description:e=>`${e.collapsibleLimitString} or later`,actual:Tx},intersections:{after:(e,t)=>e.isStricterThan(t)?e:t}}),Node:class extends cC{impliedBasis=q.intrinsic.Date.internal;collapsibleLimitString=Tx(this.rule);traverseAllows=e=>e>=this.rule;reduceJsonSchema(e,t){return t.fallback.date({code:`date`,base:e,after:this.rule})}}},SC={implementation:dS({kind:`before`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:mC,serialize:e=>e.toISOString()}},normalize:pC(`before`),defaults:{description:e=>`${e.collapsibleLimitString} or earlier`,actual:Tx},intersections:{before:(e,t)=>e.isStricterThan(t)?e:t,after:(e,t,n)=>e.overlapsRange(t)?e.overlapIsUnit(t)?n.$.node(`unit`,{unit:e.rule}):null:J.init(`range`,e,t)}}),Node:class extends cC{collapsibleLimitString=Tx(this.rule);traverseAllows=e=>e<=this.rule;impliedBasis=q.intrinsic.Date.internal;reduceJsonSchema(e,t){return t.fallback.date({code:`date`,base:e,before:this.rule})}}},CC={implementation:dS({kind:`exactLength`,collapsibleKey:`rule`,keys:{rule:{parse:gC(`exactLength`)}},normalize:e=>typeof e==`number`?{rule:e}:e,hasAssociatedError:!0,defaults:{description:e=>`exactly length ${e.rule}`,actual:e=>`${e.length}`},intersections:{exactLength:(e,t,n)=>J.init(`unit`,n.$.node(`unit`,{unit:e.rule}),n.$.node(`unit`,{unit:t.rule}),{path:[`length`]}),minLength:(e,t)=>e.rule>=t.rule?e:J.init(`range`,e,t),maxLength:(e,t)=>e.rule<=t.rule?e:J.init(`range`,e,t)}}),Node:class extends qS{traverseAllows=e=>e.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=q.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(e){switch(e.type){case`string`:return e.minLength=this.rule,e.maxLength=this.rule,e;case`array`:return e.minItems=this.rule,e.maxItems=this.rule,e;default:return fS.throwInternalOperandError(`exactLength`,e)}}}},wC={implementation:dS({kind:`max`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{},exclusive:dC},normalize:e=>typeof e==`number`?{rule:e}:e,defaults:{description:e=>e.rule===0?e.exclusive?`negative`:`non-positive`:`${e.exclusive?`less than`:`at most`} ${e.rule}`},intersections:{max:(e,t)=>e.isStricterThan(t)?e:t,min:(e,t,n)=>e.overlapsRange(t)?e.overlapIsUnit(t)?n.$.node(`unit`,{unit:e.rule}):null:J.init(`range`,e,t)},obviatesBasisDescription:!0}),Node:class extends cC{impliedBasis=q.intrinsic.number.internal;traverseAllows=this.exclusive?e=>e<this.rule:e=>e<=this.rule;reduceJsonSchema(e){return this.exclusive?e.exclusiveMaximum=this.rule:e.maximum=this.rule,e}}},TC={implementation:dS({kind:`maxLength`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:gC(`maxLength`)}},reduce:(e,t)=>e.rule===0?t.node(`exactLength`,e):void 0,normalize:fC(`maxLength`),defaults:{description:e=>`at most length ${e.rule}`,actual:e=>`${e.length}`},intersections:{maxLength:(e,t)=>e.isStricterThan(t)?e:t,minLength:(e,t,n)=>e.overlapsRange(t)?e.overlapIsUnit(t)?n.$.node(`exactLength`,{rule:e.rule}):null:J.init(`range`,e,t)}}),Node:class extends cC{impliedBasis=q.intrinsic.lengthBoundable.internal;traverseAllows=e=>e.length<=this.rule;reduceJsonSchema(e){switch(e.type){case`string`:return e.maxLength=this.rule,e;case`array`:return e.maxItems=this.rule,e;default:return fS.throwInternalOperandError(`maxLength`,e)}}}},EC={implementation:dS({kind:`min`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{},exclusive:dC},normalize:e=>typeof e==`number`?{rule:e}:e,defaults:{description:e=>e.rule===0?e.exclusive?`positive`:`non-negative`:`${e.exclusive?`more than`:`at least`} ${e.rule}`},intersections:{min:(e,t)=>e.isStricterThan(t)?e:t},obviatesBasisDescription:!0}),Node:class extends cC{impliedBasis=q.intrinsic.number.internal;traverseAllows=this.exclusive?e=>e>this.rule:e=>e>=this.rule;reduceJsonSchema(e){return this.exclusive?e.exclusiveMinimum=this.rule:e.minimum=this.rule,e}}},DC={implementation:dS({kind:`minLength`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:gC(`minLength`)}},reduce:e=>e.rule===0?q.intrinsic.unknown:void 0,normalize:fC(`minLength`),defaults:{description:e=>e.rule===1?`non-empty`:`at least length ${e.rule}`,actual:e=>e.length===0?``:`${e.length}`},intersections:{minLength:(e,t)=>e.isStricterThan(t)?e:t}}),Node:class extends cC{impliedBasis=q.intrinsic.lengthBoundable.internal;traverseAllows=e=>e.length>=this.rule;reduceJsonSchema(e){switch(e.type){case`string`:return e.minLength=this.rule,e;case`array`:return e.minItems=this.rule,e;default:return fS.throwInternalOperandError(`minLength`,e)}}}},OC={min:EC.implementation,max:wC.implementation,minLength:DC.implementation,maxLength:TC.implementation,exactLength:CC.implementation,after:xC.implementation,before:SC.implementation},kC={min:EC.Node,max:wC.Node,minLength:DC.Node,maxLength:TC.Node,exactLength:CC.Node,after:xC.Node,before:SC.Node},AC={implementation:dS({kind:`pattern`,collapsibleKey:`rule`,keys:{rule:{},flags:{}},normalize:e=>typeof e==`string`?{rule:e}:e instanceof RegExp?e.flags?{rule:e.source,flags:e.flags}:{rule:e.source}:e,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:e=>`matched by ${e.rule}`},intersections:{pattern:()=>null}}),Node:class extends qS{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=q.intrinsic.string.internal;reduceJsonSchema(e,t){return e.pattern?t.fallback.patternIntersection({code:`patternIntersection`,base:e,pattern:this.rule}):(e.pattern=this.rule,e)}}},jC=(e,t)=>{let n=MC(e);return t&&!t.includes(n)?K(`Root of kind ${n} should be one of ${t}`):n},MC=e=>{if(Jx(e,`root`))return e.kind;if(typeof e==`string`)return e[0]===`$`?`alias`:e in Ky?`domain`:`proto`;if(typeof e==`function`)return`proto`;if(typeof e!=`object`||!e)return K(NC(e));if(`morphs`in e)return`morph`;if(`branches`in e||xb(e))return`union`;if(`unit`in e)return`unit`;if(`reference`in e)return`alias`;let t=Object.keys(e);return t.length===0||t.some(e=>e in rS)?`intersection`:`proto`in e?`proto`:`domain`in e?`domain`:K(NC(e))},NC=e=>`${xx(e)} is not a valid type schema`,PC={},FC=e=>xb(e)?e.map(e=>e.collapsibleJson):e.collapsibleJson,IC={};q.nodesByRegisteredId=IC;var LC=e=>(PC[e]??=0,`${e}${++PC[e]}`),RC=e=>{let t=CT[e.kind],n=t.applyConfig?.(e.def,e.$.resolvedConfig)??e.def,r={},{meta:i,...a}=n,o=i===void 0?{}:typeof i==`string`?{description:i}:i,s=eb(a).sort(([e],[t])=>oS(e)?oS(t)?sS(e)-sS(t):1:oS(t)||e<t?-1:1).filter(([e,t])=>{if(e.startsWith(`meta.`)){let n=e.slice(5);return o[n]=t,!1}return!0});for(let n of s){let i=n[0],a=t.keys[i];if(!a)return K(`Key ${i} is not valid on ${e.kind} schema`);let o=a.parse?a.parse(n[1],e):n[1];o!==fb&&(o!==void 0||a.preserveUndefined)&&(r[i]=o)}if(t.reduce&&!e.prereduced){let n=t.reduce(r,e.$);if(n)return n instanceof J?n.throw():VC(n,o)}return zC({id:e.id,kind:e.kind,inner:r,meta:o,$:e.$})},zC=({id:e,kind:t,inner:n,meta:r,$:i,ignoreCache:a})=>{let o=CT[t],s=eb(n),c=[],l={};for(let[e,t]of s){let n=o.keys[e],r=n.serialize??(n.child?FC:lS);if(l[e]=r(t),n.child===!0){let e=t;xb(e)?c.push(...e):c.push(e)}else typeof n.child==`function`&&c.push(...n.child(t))}o.finalizeInnerJson&&(l=o.finalizeInnerJson(l));let u={...l},d={};cb(r)||(d=$y(r,(e,t)=>[e,e===`examples`?t:lS(t)]),u.meta=HC(d,`description`,!0)),l=HC(l,o.collapsibleKey,!1);let f=JSON.stringify({kind:t,...l});u=HC(u,o.collapsibleKey,!1);let p=HC(u,o.collapsibleKey,!0),m=JSON.stringify({kind:t,...u});if(i.nodesByHash[m]&&!a)return i.nodesByHash[m];let h={id:e,kind:t,impl:o,inner:n,innerEntries:s,innerJson:l,innerHash:f,meta:r,metaJson:d,json:u,hash:m,collapsibleJson:p,children:c};if(t!==`intersection`)for(let e in n)e!==`in`&&e!==`out`&&(h[e]=n[e]);let g=new wT[t](h,i);return i.nodesByHash[m]=g},BC=(e,t)=>e.id===t?e:(Yx(IC[t])&&Yy(`Unexpected attempt to overwrite node id ${t}`),zC({id:t,kind:e.kind,inner:e.inner,meta:e.meta,$:e.$,ignoreCache:!0})),VC=(e,t,n)=>(n&&Yx(IC[n])&&Yy(`Unexpected attempt to overwrite node id ${n}`),zC({id:n??LC(t.alias??e.kind),kind:e.kind,inner:e.inner,meta:t,$:e.$})),HC=(e,t,n)=>{let r=Object.keys(e);if(r.length===1&&r[0]===t){let r=e[t];if(n||Wy(r,`object`)&&(Object.keys(r).length===1||Array.isArray(r)))return r}return e},UC=(e,t,n)=>{if(e.key!==t.key)return null;let r=e.key,i=VS(e.value,t.value,n),a=e.required||t.required?`required`:`optional`;if(i instanceof J){if(a===`optional`)i=q.intrinsic.never.internal;else return i.withPrefixKey(e.key,e.required&&t.required?`required`:`optional`)}if(a===`required`)return n.$.node(`required`,{key:r,value:i});let o=e.hasDefault()?t.hasDefault()?e.default===t.default?e.default:K(GC(e.default,t.default)):e.default:t.hasDefault()?t.default:fb;return n.$.node(`optional`,{key:r,value:i,default:o})},WC=class extends KS{required=this.kind===`required`;optional=this.kind===`optional`;impliedBasis=q.intrinsic.object.internal;serializedKey=Vx(this.key);compiledKey=typeof this.key==`string`?this.key:this.serializedKey;flatRefs=Ry(this.value.flatRefs.map(e=>jS([this.key,...e.path],e.node)),jS([this.key],this.value));_transform(e,t){t.path.push(this.key);let n=super._transform(e,t);return t.path.pop(),n}hasDefault(){return`default`in this.inner}traverseAllows=(e,t)=>this.key in e?wS(this.key,()=>this.value.traverseAllows(e[this.key],t),t):this.optional;traverseApply=(e,t)=>{this.key in e?wS(this.key,()=>this.value.traverseApply(e[this.key],t),t):this.hasKind(`required`)&&t.errorFromNodeContext(this.errorContext)};compile(e){e.if(`${this.serializedKey} in data`,()=>e.traverseKey(this.serializedKey,`data${e.prop(this.key)}`,this.value)),this.hasKind(`required`)&&e.else(()=>e.traversalKind===`Apply`?e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):e.return(!1)),e.traversalKind===`Allows`&&e.return(!0)}},GC=(e,t)=>`Invalid intersection of default values ${xx(e)} & ${xx(t)}`,KC={implementation:dS({kind:`optional`,hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(e,t)=>t.$.parseSchema(e)},default:{preserveUndefined:!0}},normalize:e=>e,reduce:(e,t)=>{if(t.resolvedConfig.exactOptionalPropertyTypes===!1&&!e.value.allows(void 0))return t.node(`optional`,{...e,value:e.value.or(eE.undefined)},{prereduced:!0})},defaults:{description:e=>`${e.compiledKey}?: ${e.value.description}`},intersections:{optional:UC}}),Node:class extends WC{constructor(...e){super(...e),`default`in this.inner&&XC(this.value,this.inner.default,this.key)}get rawIn(){let e=super.rawIn;return this.hasDefault()?this.$.node(`optional`,sb(e.inner,{default:!0}),{prereduced:!0}):e}get outProp(){if(!this.hasDefault())return this;let{default:e,...t}=this.inner;return this.cacheGetter(`outProp`,this.$.node(`required`,t,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${xx(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=JC(this);defaultValueMorphRef=this.defaultValueMorph&&zx(this.defaultValueMorph)}},qC={},JC=e=>{if(!e.hasDefault())return;let t=`{${e.compiledKey}: ${e.value.id} = ${lS(e.default)}}`;return qC[t]??=YC(e.key,e.value,e.default)},YC=(e,t,n)=>{if(typeof n==`function`)return t.includesTransform?(r,i)=>(wS(e,()=>t(r[e]=n(),i),i),r):t=>(t[e]=n(),t);let r=t.includesTransform?t.assert(n):n;return Wy(r,`object`)?(r,i)=>(wS(e,()=>t(r[e]=n,i),i),r):t=>(t[e]=r,t)},XC=(e,t,n)=>{let r=jb(t);Wy(t,`object`)&&!r&&K(ZC(n));let i=e.in(r?t():t);return i instanceof bS&&(n===null&&K(`Default ${i.summary}`),K(`Default for ${i.transform(e=>e.transform(e=>({...e,prefixPath:[n]}))).summary}`)),t},ZC=e=>`Non-primitive default ${e===null?``:typeof e==`number`?`for value at [${e}] `:`for ${Vx(e)} `}must be specified as a function like () => ({my: 'object'})`,QC=class extends TS{constructor(e,t){super(e,t),Object.defineProperty(this,qx,{value:`root`,enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get"~standard"(){return{vendor:`arktype`,version:1,validate:e=>{let t=this(e);return t instanceof bS?t:{value:t}},jsonSchema:{input:e=>this.rawIn.toJsonSchema({target:nw(e.target),...e.libraryOptions}),output:e=>this.rawOut.toJsonSchema({target:nw(e.target),...e.libraryOptions})}}}as(){return this}brand(e){return e===``?K($C):this}readonly(){return this}branches=this.hasKind(`union`)?this.inner.branches:[this];distribute(e,t){let n=this.branches.map(e);return t?.(n)??n}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(e={}){let t=hS(this.$.resolvedConfig.toJsonSchema,e);t.useRefs||=this.isCyclic;let n=typeof t.dialect==`string`?{$schema:t.dialect}:{};if(Object.assign(n,this.toJsonSchemaRecurse(t)),t.useRefs){let e=$y(this.references,(e,n)=>n.isRoot()&&!n.alwaysExpandJsonSchema?[n.id,n.toResolvedJsonSchema(t)]:[]);t.target===`draft-07`?Object.assign(n,{definitions:e}):n.$defs=e}return n}toJsonSchemaRecurse(e){return e.useRefs&&!this.alwaysExpandJsonSchema?{$ref:`#/${e.target===`draft-07`?`definitions`:`$defs`}/${this.id}`}:this.toResolvedJsonSchema(e)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind===`alias`||this.hasKind(`union`)&&this.isBoolean}toResolvedJsonSchema(e){let t=this.innerToJsonSchema(e);return Object.assign(t,this.metaJson)}intersect(e){let t=this.$.parseDefinition(e),n=this.rawIntersect(t);return n instanceof J?n:this.$.finalize(n)}rawIntersect(e){return zS(this,e,this.$)}toNeverIfDisjoint(){return this}and(e){let t=this.intersect(e);return t instanceof J?t.throw():t}rawAnd(e){let t=this.rawIntersect(e);return t instanceof J?t.throw():t}or(e){let t=this.$.parseDefinition(e);return this.$.finalize(this.rawOr(t))}rawOr(e){let t=[...this.branches,...e.branches];return this.$.node(`union`,t)}map(e){return this.$.schema(this.applyStructuralOperation(`map`,[e]))}pick(...e){return this.$.schema(this.applyStructuralOperation(`pick`,e))}omit(...e){return this.$.schema(this.applyStructuralOperation(`omit`,e))}required(){return this.$.schema(this.applyStructuralOperation(`required`,[]))}partial(){return this.$.schema(this.applyStructuralOperation(`partial`,[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let e=this.applyStructuralOperation(`keyof`,[]).reduce((e,t)=>e.intersect(t).toNeverIfDisjoint(),q.intrinsic.unknown.internal);return e.branches.length===0&&K(LS(`keyof ${this.expression}`)),this._keyof=this.$.finalize(e)}get props(){return this.branches.length===1?[...this.applyStructuralOperation(`props`,[])[0]]:K(ow(this.expression))}merge(e){let t=this.$.parseDefinition(e);return this.$.schema(t.distribute(e=>this.applyStructuralOperation(`merge`,[aw(e)??K(sw(`merge`,e.expression))])))}applyStructuralOperation(e,t){return this.distribute(n=>{if(n.equals(q.intrinsic.object)&&e!==`merge`)return n;let r=aw(n);if(r||K(sw(e,n.expression)),e===`keyof`)return r.keyof();if(e===`get`)return r.get(...t);if(e===`props`)return r.props;let i=e===`required`?`require`:e===`partial`?`optionalize`:e;return this.$.node(`intersection`,{domain:`object`,structure:r[i](...t)})})}get(...e){return e[0]===void 0?this:this.$.schema(this.applyStructuralOperation(`get`,e))}extract(e){let t=this.$.parseDefinition(e);return this.$.schema(this.branches.filter(e=>e.extends(t)))}exclude(e){let t=this.$.parseDefinition(e);return this.$.schema(this.branches.filter(e=>!e.extends(t)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(e){return!(this.intersect(e)instanceof J)}extends(e){if(this.isNever())return!0;let t=this.intersect(e);return!(t instanceof J)&&this.equals(t)}ifExtends(e){return this.extends(e)?this:void 0}subsumes(e){return this.$.parseDefinition(e).extends(this)}configure(e,t=`shallow`){return this.configureReferences(e,t)}describe(e,t=`shallow`){return this.configure({description:e},t)}optional(){return[this,`?`]}default(e){return XC(this,e,null),[this,`=`,e]}from(e){return this.assert(e)}_pipe(...e){let t=e.reduce((e,t)=>e.rawPipeOnce(t),this);return this.$.finalize(t)}tryPipe(...e){let t=e.reduce((e,t)=>e.rawPipeOnce(Jx(t,`root`)?t:((e,n)=>{try{return t(e,n)}catch(e){return n.error({code:`predicate`,predicate:t,actual:`aborted due to error:\n ${e}\n`})}})),this);return this.$.finalize(t)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(e){return this.$.finalize(this.toNode(this.$.parseDefinition(e)))}toNode(e){let t=BS(this,e,this.$);return t instanceof J?t.throw():t}rawPipeOnce(e){return Jx(e,`root`)?this.toNode(e):this.distribute(t=>t.hasKind(`morph`)?this.$.node(`morph`,{in:t.inner.in,morphs:[...t.morphs,e]}):this.$.node(`morph`,{in:t,morphs:[e]}),this.$.parseSchema)}narrow(e){return this.constrainOut(`predicate`,e)}constrain(e,t){return this._constrain(`root`,e,t)}constrainIn(e,t){return this._constrain(`in`,e,t)}constrainOut(e,t){return this._constrain(`out`,e,t)}_constrain(e,t,n){let r=this.$.node(t,n);if(r.isRoot())return r.isUnknown()?this:Yy(`Unexpected constraint node ${r}`);let i=e===`root`?this:e===`in`?this.rawIn:this.rawOut;if(i.hasKind(`morph`)||r.impliedBasis&&!i.extends(r.impliedBasis))return QS(t,r.impliedBasis,this);let a=this.$.node(`intersection`,{[r.kind]:r}),o=e===`out`?BS(this,a,this.$):zS(this,a,this.$);return o instanceof J&&o.throw(),this.$.finalize(o)}onUndeclaredKey(e){let t=typeof e==`string`?e:e.rule,n=typeof e!=`string`&&e.deep;return this.$.finalize(this.transform((e,n)=>e===`structure`?t===`ignore`?sb(n,{undeclared:1}):{...n,undeclared:t}:n,n?void 0:{shouldTransform:e=>!Iy(Zx,e.kind)}))}hasEqualMorphs(e){return!this.includesTransform&&!e.includesTransform||!(!Uy(this.shallowMorphs,e.shallowMorphs)||!Uy(this.flatMorphs,e.flatMorphs,{isEqual:(e,t)=>e.propString===t.propString&&(e.node.hasKind(`morph`)&&t.node.hasKind(`morph`)?e.node.hasEqualMorphs(t.node):e.node.hasKind(`intersection`)&&t.node.hasKind(`intersection`)?e.node.structure?.structuralMorphRef===t.node.structure?.structuralMorphRef:!1)}))}onDeepUndeclaredKey(e){return this.onUndeclaredKey({rule:e,deep:!0})}filter(e){return this.constrainIn(`predicate`,e)}divisibleBy(e){return this.constrain(`divisor`,e)}matching(e){return this.constrain(`pattern`,e)}atLeast(e){return this.constrain(`min`,e)}atMost(e){return this.constrain(`max`,e)}moreThan(e){return this.constrain(`min`,rw(e))}lessThan(e){return this.constrain(`max`,rw(e))}atLeastLength(e){return this.constrain(`minLength`,e)}atMostLength(e){return this.constrain(`maxLength`,e)}moreThanLength(e){return this.constrain(`minLength`,rw(e))}lessThanLength(e){return this.constrain(`maxLength`,rw(e))}exactlyLength(e){return this.constrain(`exactLength`,e)}atOrAfter(e){return this.constrain(`after`,e)}atOrBefore(e){return this.constrain(`before`,e)}laterThan(e){return this.constrain(`after`,rw(e))}earlierThan(e){return this.constrain(`before`,rw(e))}},$C=`Expected a non-empty brand name after #`,ew=[`draft-2020-12`,`draft-07`],tw=e=>`JSONSchema target '${e}' is not supported (must be ${ew.map(e=>`"${e}"`).join(` or `)})`,nw=e=>(Iy(ew,e)||K(tw(e)),e),rw=e=>typeof e==`object`&&!(e instanceof Date)?{...e,exclusive:!0}:{rule:e,exclusive:!0},iw=(e,t)=>Jx(t,`root`)?Jx(e,`root`)?e.extends(t):t.allows(e):Jx(e,`root`)?e.hasUnit(t):t===e,aw=e=>e.hasKind(`morph`)?null:e.hasKind(`intersection`)?e.inner.structure??(e.basis?.domain===`object`?e.$.bindReference(q.intrinsic.emptyStructure):null):e.isBasis()&&e.domain===`object`?e.$.bindReference(q.intrinsic.emptyStructure):null,ow=e=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
22
|
+
${e}`,sw=(e,t)=>`${e} operand must be an object (was ${t})`,cw=(e,t)=>$y(cS(e),(e,n)=>[n,t]),lw=e=>typeof e==`string`?{reference:e}:e,uw=e=>e instanceof J?q.intrinsic.never.internal:e,dw=dS({kind:`alias`,hasAssociatedError:!1,collapsibleKey:`reference`,keys:{reference:{serialize:e=>e.startsWith(`$`)?e:`$ark.${e}`},resolve:{}},normalize:lw,defaults:{description:e=>e.reference},intersections:{alias:(e,t,n)=>n.$.lazilyResolve(()=>uw(VS(e.resolution,t.resolution,n)),`${e.reference}${n.pipe?`=>`:`&`}${t.reference}`),...cw(`alias`,(e,t,n)=>t.isUnknown()?e:t.isNever()?t:t.isBasis()&&!t.overlaps(q.intrinsic.object)?J.init(`assignability`,q.intrinsic.object,t):n.$.lazilyResolve(()=>uw(VS(e.resolution,t,n)),`${e.reference}${n.pipe?`=>`:`&`}${t.id}`))}}),fw=class extends QC{expression=this.reference;structure=void 0;get resolution(){let e=this._resolve();return IC[this.id]=e}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]===`$`)return this.$.resolveRoot(this.reference.slice(1));let e=IC[this.reference],t=[];for(;Jx(e,`context`);){if(t.includes(e.id))return K(pw(e.id,t));t.push(e.id),e=IC[e.id]}return Jx(e,`root`)?e:Yy(`Unexpected resolution for reference ${this.reference}
|
|
23
|
+
Seen: [${t.join(`->`)}]
|
|
24
|
+
Resolution: ${xx(e)}`)}get resolutionId(){if(this.reference.includes(`&`)||this.reference.includes(`=>`))return this.resolution.id;if(this.reference[0]!==`$`)return this.reference;let e=this.reference.slice(1),t=this.$.resolutions[e];return typeof t==`string`?t:Jx(t,`root`)?t.id:Yy(`Unexpected resolution for reference ${this.reference}: ${xx(t)}`)}get defaultShortDescription(){return Ky.object}innerToJsonSchema(e){return this.resolution.toJsonSchemaRecurse(e)}traverseAllows=(e,t)=>{let n=t.seen[this.reference];return n?.includes(e)?!0:(t.seen[this.reference]=Ry(n,e),this.resolution.traverseAllows(e,t))};traverseApply=(e,t)=>{let n=t.seen[this.reference];n?.includes(e)||(t.seen[this.reference]=Ry(n,e),this.resolution.traverseApply(e,t))};compile(e){let t=this.resolutionId;e.if(`ctx.seen.${t} && ctx.seen.${t}.includes(data)`,()=>e.return(!0)),e.if(`!ctx.seen.${t}`,()=>e.line(`ctx.seen.${t} = []`)),e.line(`ctx.seen.${t}.push(data)`),e.return(e.invoke(t))}},pw=(e,t)=>`Alias '${e}' has a shallow resolution cycle: ${[...t,e].join(`->`)}`,mw={implementation:dw,Node:fw},hw=class extends QC{traverseApply=(e,t)=>{this.traverseAllows(e,t)||t.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return uS(this.errorContext)}compile(e){e.traversalKind===`Allows`?e.return(this.compiledCondition):e.if(this.compiledNegation,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}},gw={implementation:dS({kind:`domain`,hasAssociatedError:!0,collapsibleKey:`domain`,keys:{domain:{},numberAllowsNaN:{}},normalize:e=>typeof e==`string`?{domain:e}:nb(e,`numberAllowsNaN`)&&e.domain!==`number`?K(gw.writeBadAllowNanMessage(e.domain)):e,applyConfig:(e,t)=>e.numberAllowsNaN===void 0&&e.domain===`number`&&t.numberAllowsNaN?{...e,numberAllowsNaN:!0}:e,defaults:{description:e=>Ky[e.domain],actual:e=>Number.isNaN(e)?`NaN`:Ky[Gy(e)]},intersections:{domain:(e,t)=>e.domain===`number`&&t.domain===`number`?e.numberAllowsNaN?t:e:J.init(`domain`,e,t)}}),Node:class extends hw{requiresNaNCheck=this.domain===`number`&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?e=>typeof e==`number`&&!Number.isNaN(e):e=>Gy(e)===this.domain;compiledCondition=this.domain===`object`?`((typeof data === "object" && data !== null) || typeof data === "function")`:`typeof data === "${this.domain}"${this.requiresNaNCheck?` && !Number.isNaN(data)`:``}`;compiledNegation=this.domain===`object`?`((typeof data !== "object" || data === null) && typeof data !== "function")`:`typeof data !== "${this.domain}"${this.requiresNaNCheck?` || Number.isNaN(data)`:``}`;expression=this.numberAllowsNaN?`number | NaN`:this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return Ky[this.domain]}innerToJsonSchema(e){return this.domain===`bigint`||this.domain===`symbol`?e.fallback.domain({code:`domain`,base:{},domain:this.domain}):{type:this.domain}}},writeBadAllowNanMessage:e=>`numberAllowsNaN may only be specified with domain "number" (was ${e})`},_w={implementation:dS({kind:`intersection`,hasAssociatedError:!0,normalize:e=>{if(Yx(e))return e;let{structure:t,...n}=e,r=!!t,i=t??{},a=$y(n,(e,t)=>tb(e,iS)?(r&&K(`Flattened structure key ${e} cannot be specified alongside a root 'structure' key.`),i[e]=t,[]):[e,t]);return(Jx(i,`constraint`)||!cb(i))&&(a.structure=i),a},finalizeInnerJson:({structure:e,...t})=>Wy(e,`object`)?{...e,...t}:t,keys:{domain:{child:!0,parse:(e,t)=>t.$.node(`domain`,e)},proto:{child:!0,parse:(e,t)=>t.$.node(`proto`,e)},structure:{child:!0,parse:(e,t)=>t.$.node(`structure`,e),serialize:e=>{if(!e.sequence?.minLength)return e.collapsibleJson;let{sequence:t,...n}=e.collapsibleJson,{minVariadicLength:r,...i}=t,a=i.variadic&&Object.keys(i).length===1?i.variadic:i;return{...n,sequence:a}}},divisor:{child:!0,parse:JS(`divisor`)},max:{child:!0,parse:JS(`max`)},min:{child:!0,parse:JS(`min`)},maxLength:{child:!0,parse:JS(`maxLength`)},minLength:{child:!0,parse:JS(`minLength`)},exactLength:{child:!0,parse:JS(`exactLength`)},before:{child:!0,parse:JS(`before`)},after:{child:!0,parse:JS(`after`)},pattern:{child:!0,parse:JS(`pattern`)},predicate:{child:!0,parse:JS(`predicate`)}},reduce:(e,t)=>yw({},e,{$:t,invert:!1,pipe:!1}),defaults:{description:e=>{if(e.children.length===0)return`unknown`;if(e.structure)return e.structure.description;let t=[];if(e.basis&&!e.prestructurals.some(e=>e.impl.obviatesBasisDescription)&&t.push(e.basis.description),e.prestructurals.length){let n=e.prestructurals.slice().sort((e,t)=>e.kind===`min`&&t.kind===`max`?-1:0).map(e=>e.description);t.push(...n)}return e.inner.predicate&&t.push(...e.inner.predicate.map(e=>e.description)),t.join(` and `)},expected:e=>` ◦ ${e.errors.map(e=>e.expected).join(`
|
|
25
|
+
◦ `)}`,problem:e=>`(${e.actual}) must be...\n${e.expected}`},intersections:{intersection:(e,t,n)=>yw(e.inner,t.inner,n),...cw(`intersection`,(e,t,n)=>{if(e.children.length===0)return t;let{domain:r,proto:i,...a}=e.inner,o=i??r,s=o?VS(o,t,n):t;return s instanceof J?s:e?.basis?.equals(s)?e:e.$.node(`intersection`,{...a,[s.kind]:s},{prereduced:!0})})}}),Node:class extends QC{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter(e=>e.isRefinement()?(Iy(Qx,e.kind)&&this.prestructurals.push(e),!0):!1);structure=this.inner.structure;expression=vw(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??`present`}innerToJsonSchema(e){return this.children.reduce((t,n)=>n.isBasis()?n.toJsonSchemaRecurse(e):n.reduceJsonSchema(t,e),{})}traverseAllows=(e,t)=>this.children.every(n=>n.traverseAllows(e,t));traverseApply=(e,t)=>{let n=t.currentErrorCount;if(!(this.basis&&(this.basis.traverseApply(e,t),t.currentErrorCount>n))){if(this.prestructurals.length){for(let r=0;r<this.prestructurals.length-1;r++)if(this.prestructurals[r].traverseApply(e,t),t.failFast&&t.currentErrorCount>n)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(e,t),t.currentErrorCount>n)return}if(!(this.structure&&(this.structure.traverseApply(e,t),t.currentErrorCount>n))&&this.inner.predicate){for(let r=0;r<this.inner.predicate.length-1;r++)if(this.inner.predicate[r].traverseApply(e,t),t.failFast&&t.currentErrorCount>n)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(e,t)}}};compile(e){if(e.traversalKind===`Allows`){for(let t of this.children)e.check(t);e.return(!0);return}if(e.initializeErrorCount(),this.basis&&(e.check(this.basis),this.children.length>1&&e.returnIfFail()),this.prestructurals.length){for(let t=0;t<this.prestructurals.length-1;t++)e.check(this.prestructurals[t]),e.returnIfFailFast();e.check(this.prestructurals[this.prestructurals.length-1]),(this.structure||this.inner.predicate)&&e.returnIfFail()}if(this.structure&&(e.check(this.structure),this.inner.predicate&&e.returnIfFail()),this.inner.predicate){for(let t=0;t<this.inner.predicate.length-1;t++)e.check(this.inner.predicate[t]),e.returnIfFail();e.check(this.inner.predicate[this.inner.predicate.length-1])}}}},vw=e=>{if(e.structure?.expression)return e.structure.expression;let t=e.basis&&!e.prestructurals.some(e=>e.impl.obviatesBasisExpression)?e.basis.nestableExpression:``,n=e.prestructurals.map(e=>e.expression).join(` & `),r=`${t}${t&&n?` `:``}${n}`;return r===`Array == 0`?`[]`:r||`unknown`},yw=(e,t,n)=>{let r={},i=e.proto??e.domain,a=t.proto??t.domain,o=i?a?VS(i,a,n):i:a;return o instanceof J?o:(o&&(r[o.kind]=o),YS({kind:`intersection`,baseInner:r,l:XS(e),r:XS(t),roots:[],ctx:n}))},bw={implementation:dS({kind:`morph`,hasAssociatedError:!1,keys:{in:{child:!0,parse:(e,t)=>t.$.parseSchema(e)},morphs:{parse:Ny,serialize:e=>e.map(e=>Jx(e,`root`)?e.json:zx(e))},declaredIn:{child:!1,serialize:e=>e.json},declaredOut:{child:!1,serialize:e=>e.json}},normalize:e=>e,defaults:{description:e=>`a morph from ${e.rawIn.description} to ${e.rawOut?.description??`unknown`}`},intersections:{morph:(e,t,n)=>{if(!e.hasEqualMorphs(t))return K(xw(e.expression,t.expression));let r=VS(e.rawIn,t.rawIn,n);if(r instanceof J)return r;let i={morphs:e.morphs};if(e.declaredIn||t.declaredIn){let r=VS(e.rawIn,t.rawIn,n);if(r instanceof J)return r.throw();i.declaredIn=r}if(e.declaredOut||t.declaredOut){let r=VS(e.rawOut,t.rawOut,n);if(r instanceof J)return r.throw();i.declaredOut=r}return r.distribute(e=>n.$.node(`morph`,{...i,in:e}),n.$.parseSchema)},...cw(`morph`,(e,t,n)=>{let r=e.inner.in?VS(e.inner.in,t,n):t;return r instanceof J?r:r.equals(e.inner.in)?e:n.$.node(`morph`,{...e.inner,in:r})})}}),Node:class extends QC{serializedMorphs=this.morphs.map(zx);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=Jx(this.lastMorph,`root`)?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??q.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??q.intrinsic.unknown.internal}declareIn(e){return this.$.node(`morph`,{...this.inner,declaredIn:e})}declareOut(e){return this.$.node(`morph`,{...this.inner,declaredOut:e})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?`To`:`Out`}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(e){return e.fallback.morph({code:`morph`,base:this.rawIn.toJsonSchemaRecurse(e),out:this.introspectableOut?.toJsonSchemaRecurse(e)??null})}compile(e){if(e.traversalKind===`Allows`){if(!this.introspectableIn)return;e.return(e.invoke(this.introspectableIn));return}this.introspectableIn&&e.line(e.invoke(this.introspectableIn)),e.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(e,t)=>!this.introspectableIn||this.introspectableIn.traverseAllows(e,t);traverseApply=(e,t)=>{this.introspectableIn&&this.introspectableIn.traverseApply(e,t),t.queueMorphs(this.morphs)};hasEqualMorphs(e){return Uy(this.morphs,e.morphs,{isEqual:(e,t)=>e===t||Jx(e,`root`)&&Jx(t,`root`)&&e.equals(t)})}}},xw=(e,t)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
26
|
+
Left: ${e}
|
|
27
|
+
Right: ${t}`,Sw={implementation:dS({kind:`proto`,hasAssociatedError:!0,collapsibleKey:`proto`,keys:{proto:{serialize:e=>Eb(e)??lS(e)},dateAllowsInvalid:{}},normalize:e=>{let t=typeof e==`string`?{proto:vb[e]}:typeof e==`function`?Yx(e)?e:{proto:e}:typeof e.proto==`string`?{...e,proto:vb[e.proto]}:e;return typeof t.proto!=`function`&&K(Sw.writeInvalidSchemaMessage(t.proto)),nb(t,`dateAllowsInvalid`)&&t.proto!==Date&&K(Sw.writeBadInvalidDateMessage(t.proto)),t},applyConfig:(e,t)=>e.dateAllowsInvalid===void 0&&e.proto===Date&&t.dateAllowsInvalid?{...e,dateAllowsInvalid:!0}:e,defaults:{description:e=>e.builtinName?Tb[e.builtinName]:`an instance of ${e.proto.name}`,actual:e=>e instanceof Date&&e.toString()===`Invalid Date`?`an invalid Date`:bb(e)},intersections:{proto:(e,t)=>e.proto===Date&&t.proto===Date?e.dateAllowsInvalid?t:e:Db(e.proto,t.proto)?e:Db(t.proto,e.proto)?t:J.init(`proto`,e,t),domain:(e,t)=>t.domain===`object`?e:J.init(`domain`,q.intrinsic.object.internal,t)}}),Node:class extends hw{builtinName=Eb(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?e=>e instanceof Date&&e.toString()!==`Invalid Date`:e=>e instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?` && data.toString() !== "Invalid Date"`:``}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(e){switch(this.builtinName){case`Array`:return{type:`array`};case`Date`:return e.fallback.date?.({code:`date`,base:{}})??e.fallback.proto({code:`proto`,base:{},proto:this.proto});default:return e.fallback.proto({code:`proto`,base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?`Date | InvalidDate`:this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain=`object`;get defaultShortDescription(){return this.description}},writeBadInvalidDateMessage:e=>`dateAllowsInvalid may only be specified with constructor Date (was ${e.name})`,writeInvalidSchemaMessage:e=>`instanceOf operand must be a function (was ${Gy(e)})`},Cw=dS({kind:`union`,hasAssociatedError:!0,collapsibleKey:`branches`,keys:{ordered:{},branches:{child:!0,parse:(e,t)=>{let n=[];for(let r of e){let e=Jx(r,`root`)?r.branches:t.$.parseSchema(r).branches;for(let r of e)if(r.hasKind(`morph`)){let e=n.findIndex(e=>e.hasKind(`morph`)&&e.hasEqualMorphs(r));if(e===-1)n.push(r);else{let i=n[e];n[e]=t.$.node(`morph`,{...i.inner,in:i.rawIn.rawOr(r.rawIn)})}}else n.push(r)}return t.def.ordered||n.sort((e,t)=>e.hash<t.hash?-1:1),n}}},normalize:e=>xb(e)?{branches:e}:e,reduce:(e,t)=>{let n=Rw(e);if(n.length===1)return n[0];if(n.length!==e.branches.length)return t.node(`union`,{...e,branches:n},{prereduced:!0})},defaults:{description:e=>e.distribute(e=>e.description,Iw),expected:e=>{let t=Hy(e.errors,`propString`);return Iw(Object.entries(t).map(([e,t])=>{let n=[];for(let e of t)Vy(n,e.expected);let r=Iw(n),i=t.every(e=>e.actual===t[0].actual)?t[0].actual:xx(t[0].data);return`${e&&`${e} `}must be ${r}${i&&` (was ${i})`}`}))},problem:e=>e.expected,message:e=>e.problem[0]===`[`?`value at ${e.problem}`:e.problem},intersections:{union:(e,t,n)=>{if(e.isNever!==t.isNever)return J.init(`presence`,e,t);let r;return e.ordered?(t.ordered&&K(Hw(e.expression,t.expression)),r=Lw(t.branches,e.branches,n),r instanceof J&&r.invert()):r=Lw(e.branches,t.branches,n),r instanceof J?r:n.$.parseSchema(e.ordered||t.ordered?{branches:r,ordered:!0}:{branches:r})},...cw(`union`,(e,t,n)=>{let r=Lw(e.branches,[t],n);return r instanceof J?r:r.length===1?r[0]:n.$.parseSchema(e.ordered?{branches:r,ordered:!0}:{branches:r})})}}),ww=class extends QC{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let e=[],t=-1;for(let n of this.branches){if(n.hasKind(`unit`)&&n.domain===`boolean`){t===-1?(t=e.length,e.push(n)):e[t]=q.intrinsic.boolean;continue}e.push(n)}return e}unitBranches=this.branches.filter(e=>e.rawIn.hasKind(`unit`));discriminant=this.discriminate();discriminantJson=this.discriminant?Nw(this.discriminant):null;expression=this.distribute(e=>e.nestableExpression,Fw);createBranchedOptimisticRootApply(){return(e,t)=>{let n=this.traverseOptimistic(e);if(n!==fb)return n;let r=new CS(e,this.$.resolvedConfig);return this.traverseApply(e,r),r.finalize(t)}}get shallowMorphs(){return this.branches.reduce((e,t)=>Vy(e,t.shallowMorphs),[])}get defaultShortDescription(){return this.distribute(e=>e.defaultShortDescription,Iw)}innerToJsonSchema(e){if(this.branchGroups.length===1&&this.branchGroups[0].equals(q.intrinsic.boolean))return{type:`boolean`};let t=this.branchGroups.map(t=>t.toJsonSchemaRecurse(e));return t.every(e=>Object.keys(e).length===1&&nb(e,`const`))?{enum:t.map(e=>e.const)}:{anyOf:t}}traverseAllows=(e,t)=>this.branches.some(n=>n.traverseAllows(e,t));traverseApply=(e,t)=>{let n=[];for(let r=0;r<this.branches.length;r++){if(t.pushBranch(),this.branches[r].traverseApply(e,t),!t.hasError())return this.branches[r].includesTransform?t.queuedMorphs.push(...t.popBranch().queuedMorphs):t.popBranch();n.push(t.popBranch().error)}t.errorFromNodeContext({code:`union`,errors:n,meta:this.meta})};traverseOptimistic=e=>{for(let t=0;t<this.branches.length;t++){let n=this.branches[t];if(n.traverseAllows(e))return n.contextFreeMorph?n.contextFreeMorph(e):e}return fb};compile(e){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(e);let t=this.discriminant.optionallyChainedPropString;this.discriminant.kind===`domain`&&(t=`typeof ${t} === "object" ? ${t} === null ? "null" : "object" : typeof ${t} === "function" ? "object" : typeof ${t}`);let n=this.discriminant.cases,r=Object.keys(n),{optimistic:i}=e;if(e.optimistic=!1,e.block(`switch(${t})`,()=>{for(let t in n){let r=n[t],a=t==="default"?t:`case ${t}`,o;o=r===!0?i?`data`:`true`:i?r.rootApplyStrategy===`branchedOptimistic`?e.invoke(r,{kind:`Optimistic`}):r.contextFreeMorph?`${e.invoke(r)} ? ${zx(r.contextFreeMorph)}(data) : "${fb}"`:`${e.invoke(r)} ? data : "${fb}"`:e.invoke(r),e.line(`${a}: return ${o}`)}return e}),e.traversalKind===`Allows`){e.return(i?`"${fb}"`:!1);return}let a=Iw(this.discriminant.kind===`domain`?r.map(e=>{let t=e.slice(1,-1);return t===`function`?Ky.object:Ky[t]}):r),o=this.discriminant.path.map(e=>typeof e==`symbol`?zx(e):JSON.stringify(e)),s=JSON.stringify(a),c=this.discriminant.kind===`domain`?`${Aw}[${t}]`:`${jw}(${t})`;e.line(`ctx.errorFromNodeContext({
|
|
28
|
+
code: "predicate",
|
|
29
|
+
expected: ${s},
|
|
30
|
+
actual: ${c},
|
|
31
|
+
relativePath: [${o}],
|
|
32
|
+
meta: ${this.compiledMeta}
|
|
33
|
+
})`)}compileIndiscriminable(e){if(e.traversalKind===`Apply`){e.const(`errors`,`[]`);for(let t of this.branches)e.line(`ctx.pushBranch()`).line(e.invoke(t)).if(`!ctx.hasError()`,()=>e.return(t.includesTransform?`ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)`:`ctx.popBranch()`)).line(`errors.push(ctx.popBranch().error)`);e.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:t}=e;e.optimistic=!1;for(let n of this.branches)e.if(`${e.invoke(n)}`,()=>e.return(t?n.contextFreeMorph?`${zx(n.contextFreeMorph)}(data)`:`data`:!0));e.return(t?`"${fb}"`:!1)}}get nestableExpression(){return this.isBoolean?`boolean`:`(${this.expression})`}discriminate(){if(this.branches.length<2)return null;if(this.unitBranches.length===this.branches.length)return{kind:`unit`,path:[],optionallyChainedPropString:`data`,cases:$y(this.unitBranches,(e,t)=>[`${t.rawIn.serializedValue}`,!t.hasKind(`morph`)||t])};let e=[];for(let t=0;t<this.branches.length-1;t++){let n=this.branches[t];for(let r=t+1;r<this.branches.length;r++){let i=this.branches[r],a=zS(n.rawIn,i.rawIn,n.$);if(a instanceof J)for(let n of a){if(!n.kind||n.optional)continue;let i,a;if(n.kind===`domain`){let e=n.l,t=n.r;i=`"${typeof e==`string`?e:e.domain}"`,a=`"${typeof t==`string`?t:t.domain}"`}else if(n.kind===`unit`)i=n.l.serializedValue,a=n.r.serializedValue;else continue;let o=e.find(e=>Uy(e.path,n.path)&&e.kind===n.kind);o?(o.cases[i]?o.cases[i].branchIndices=Vy(o.cases[i].branchIndices,t):o.cases[i]??={branchIndices:[t],condition:n.l},o.cases[a]?o.cases[a].branchIndices=Vy(o.cases[a].branchIndices,r):o.cases[a]??={branchIndices:[r],condition:n.r}):e.push({kind:n.kind,cases:{[i]:{branchIndices:[t],condition:n.l},[a]:{branchIndices:[r],condition:n.r}},path:n.path})}}}let t=this.ordered?Dw(e,this.branches):e;if(!t.length)return null;let n=Tw(t,this),r={};for(let e in n.best.cases){let t=Ew(n,e);if(t===null){r[e]=!0;continue}if(t.length===this.branches.length)return null;this.ordered&&t.sort((e,t)=>e.originalIndex-t.originalIndex);let i=t.map(e=>e.branch),a=i.length===1?i[0]:this.$.node(`union`,this.ordered?{branches:i,ordered:!0}:i);Object.assign(this.referencesById,a.referencesById),r[e]=a}if(n.defaultEntries.length){let e=n.defaultEntries.map(e=>e.branch);r.default=this.$.node(`union`,this.ordered?{branches:e,ordered:!0}:e,{prereduced:!0}),Object.assign(this.referencesById,r.default.referencesById)}return Object.assign(n.location,{cases:r})}},Tw=(e,t)=>{let n=e.sort((e,t)=>e.path.length===t.path.length?Object.keys(t.cases).length-Object.keys(e.cases).length:e.path.length-t.path.length)[0];return{best:n,location:{kind:n.kind,path:n.path,optionallyChainedPropString:kw(n.path)},defaultEntries:t.branches.map((e,t)=>({originalIndex:t,branch:e})),node:t}},Ew=(e,t)=>{let n=e.best.cases[t],r=Ow(n.condition,e.location.path,e.node.$),i=[],a=[];for(let t=0;t<e.defaultEntries.length;t++){let o=e.defaultEntries[t];if(n.branchIndices.includes(o.originalIndex)){let t=Bw(e.node.branches[o.originalIndex],e.location);t===null?i=null:i?.push({originalIndex:o.originalIndex,branch:t})}else if(o.branch.hasKind(`alias`)&&r.hasKind(`domain`)&&r.domain===`object`)i?.push(o);else{if(o.branch.rawIn.overlaps(r)){let t=Bw(o.branch,e.location);i?.push({originalIndex:o.originalIndex,branch:t})}a.push(o)}}return e.defaultEntries=a,i},Dw=(e,t)=>e.filter(e=>{let n=Object.values(e.cases).map(e=>e.branchIndices);for(let e=0;e<n.length-1;e++){let r=n[e];for(let i=e+1;i<n.length;i++){let e=n[i];for(let n of r)for(let r of e)if(n>r&&t[n].overlaps(t[r]))return!1}}return!0}),Ow=(e,t,n)=>{let r=e===`undefined`?n.node(`unit`,{unit:void 0}):e===`null`?n.node(`unit`,{unit:null}):e===`boolean`?n.units([!0,!1]):e;for(let e=t.length-1;e>=0;e--){let i=t[e];r=n.node(`intersection`,typeof i==`number`?{proto:`Array`,sequence:[...Ly(i).map(e=>({})),r]}:{domain:`object`,required:[{key:i,value:r}]})}return r},kw=e=>e.reduce((e,t)=>e+Hx(t,!0),`data`),Aw=zx(qy),jw=zx(xx),Mw={implementation:Cw,Node:ww},Nw=e=>({kind:e.kind,path:e.path.map(e=>typeof e==`string`?e:Vx(e)),cases:$y(e.cases,(e,t)=>[e,t===!0?t:t.hasKind(`union`)&&t.discriminantJson?t.discriminantJson:t.json])}),Pw={delimiter:` | `,finalDelimiter:` | `},Fw=e=>Iw(e,Pw),Iw=(e,t)=>{let n=t?.delimiter??`, `,r=t?.finalDelimiter??` or `;if(e.length===0)return`never`;if(e.length===1)return e[0];if(e.length===2&&e[0]===`false`&&e[1]===`true`||e[0]===`true`&&e[1]===`false`)return`boolean`;let i={},a=e.filter(e=>i[e]?!1:i[e]=!0),o=a.pop();return`${a.join(n)}${a.length?r:``}${o}`},Lw=(e,t,n)=>{let r=t.map(()=>[]);for(let i=0;i<e.length;i++){let a={};for(let o=0;o<t.length;o++){if(r[o]===null)continue;if(e[i].equals(t[o])){r[o]=null,a={};break}let s=VS(e[i],t[o],n);if(!(s instanceof J)){if(s.equals(e[i])){r[o].push(e[i]),a={};break}s.equals(t[o])?r[o]=null:a[o]=s}}for(let e in a)r[e][i]=a[e]}let i=r.flatMap((e,n)=>e?.flatMap(e=>e.branches)??t[n]);return i.length===0?J.init(`union`,e,t):i},Rw=({branches:e,ordered:t})=>{if(e.length<2)return e;let n=e.map(()=>!0);for(let r=0;r<e.length;r++)for(let i=r+1;i<e.length&&n[r]&&n[i];i++){if(e[r].equals(e[i])){n[i]=!1;continue}let a=zS(e[r].rawIn,e[i].rawIn,e[0].$);a instanceof J||(t||zw(e[r],e[i]),a.equals(e[r].rawIn)?n[r]=!!t:a.equals(e[i].rawIn)&&(n[i]=!1))}return e.filter((e,t)=>n[t])},zw=(e,t)=>{(e.includesTransform||t.includesTransform)&&(Uy(e.shallowMorphs,t.shallowMorphs)||K(Vw(e.expression,t.expression)),Uy(e.flatMorphs,t.flatMorphs,{isEqual:(e,t)=>e.propString===t.propString&&(e.node.hasKind(`morph`)&&t.node.hasKind(`morph`)?e.node.hasEqualMorphs(t.node):e.node.hasKind(`intersection`)&&t.node.hasKind(`intersection`)?e.node.structure?.structuralMorphRef===t.node.structure?.structuralMorphRef:!1)})||K(Vw(e.expression,t.expression)))},Bw=(e,t)=>e.transform((e,t)=>e===`domain`||e===`unit`?null:t,{shouldTransform:(e,n)=>{let r=kw(n.path);return t.optionallyChainedPropString.startsWith(r)?e.hasKind(`domain`)&&e.domain===`object`||(e.hasKind(`domain`)||t.kind===`unit`)&&r===t.optionallyChainedPropString?!0:e.children.length!==0&&e.kind!==`index`:!1}}),Vw=(e,t)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
34
|
+
Left: ${e}
|
|
35
|
+
Right: ${t}`,Hw=(e,t)=>`The intersection of two ordered unions is indeterminate:
|
|
36
|
+
Left: ${e}
|
|
37
|
+
Right: ${t}`,Uw={implementation:dS({kind:`unit`,hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:e=>e instanceof Date?e.toISOString():lS(e)}},normalize:e=>e,defaults:{description:e=>xx(e.unit),problem:({expected:e,actual:t})=>`${e===t?`must be reference equal to ${e} (serialized to the same value)`:`must be ${e} (was ${t})`}`},intersections:{unit:(e,t)=>J.init(`unit`,e,t),...cw(`unit`,(e,t)=>{if(t.allows(e.unit))return e;let n=t.hasKind(`intersection`)?t.basis:t;if(n){let t=n.hasKind(`domain`)?n:q.intrinsic.object;if(e.domain!==t.domain){let n=e.domain===`undefined`||e.domain===`null`||e.domain===`boolean`?e.domain:q.intrinsic[e.domain];return J.init(`domain`,n,t)}}return J.init(`assignability`,e,t.hasKind(`intersection`)?t.children.find(t=>!t.allows(e.unit)):t)})}}),Node:class extends hw{compiledValue=this.json.unit;serializedValue=typeof this.unit==`string`||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=Ww(this.unit,this.serializedValue);compiledNegation=Ww(this.unit,this.serializedValue,`negated`);expression=xx(this.unit);domain=Gy(this.unit);get defaultShortDescription(){return this.domain===`object`?Ky.object:this.description}innerToJsonSchema(e){return this.unit===null?{type:`null`}:q.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:e.fallback.unit({code:`unit`,base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?e=>e instanceof Date&&e.toISOString()===this.compiledValue:Number.isNaN(this.unit)?e=>Number.isNaN(e):e=>e===this.unit}},Ww=(e,t,n)=>{if(e instanceof Date){let e=`data instanceof Date && data.toISOString() === ${t}`;return n?`!(${e})`:e}return Number.isNaN(e)?`${n?`!`:``}Number.isNaN(data)`:`data ${n?`!`:`=`}== ${t}`},Gw={implementation:dS({kind:`index`,hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(e,t)=>{let n=t.$.parseSchema(e);if(!n.extends(q.intrinsic.key))return K(qw(n.expression));let r=n.branches.filter(e=>e.hasKind(`unit`));return r.length?K(Kw(r.map(e=>xx(e.unit)))):n}},value:{child:!0,parse:(e,t)=>t.$.parseSchema(e)}},normalize:e=>e,defaults:{description:e=>`[${e.signature.expression}]: ${e.value.description}`},intersections:{index:(e,t,n)=>{if(e.signature.equals(t.signature)){let r=VS(e.value,t.value,n),i=r instanceof J?q.intrinsic.never.internal:r;return n.$.node(`index`,{signature:e.signature,value:i})}return e.signature.extends(t.signature)&&e.value.subsumes(t.value)?t:t.signature.extends(e.signature)&&t.value.subsumes(e.value)?e:null}}}),Node:class extends KS{impliedBasis=q.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=Ry(this.value.flatRefs.map(e=>jS([this.signature,...e.path],e.node)),jS([this.signature],this.value));traverseAllows=(e,t)=>lb(e).every(e=>!this.signature.traverseAllows(e[0],t)||wS(e[0],()=>this.value.traverseAllows(e[1],t),t));traverseApply=(e,t)=>{for(let n of lb(e))this.signature.traverseAllows(n[0],t)&&wS(n[0],()=>this.value.traverseApply(n[1],t),t)};_transform(e,t){t.path.push(this.signature);let n=super._transform(e,t);return t.path.pop(),n}compile(){}}},Kw=e=>`Index keys ${e.join(`, `)} should be specified as named props.`,qw=e=>`Indexed key definition '${e}' must be a string or symbol`,Jw={implementation:dS({kind:`required`,hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(e,t)=>t.$.parseSchema(e)}},normalize:e=>e,defaults:{description:e=>`${e.compiledKey}: ${e.value.description}`,expected:e=>e.missingValueDescription,actual:()=>`missing`},intersections:{required:UC,optional:UC}}),Node:class extends WC{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:`required`,missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=uS(this.errorContext)}},Yw=dS({kind:`sequence`,hasAssociatedError:!1,collapsibleKey:`variadic`,keys:{prefix:{child:!0,parse:(e,t)=>{if(e.length!==0)return e.map(e=>t.$.parseSchema(e))}},optionals:{child:!0,parse:(e,t)=>{if(e.length!==0)return e.map(e=>t.$.parseSchema(e))}},defaultables:{child:e=>e.map(e=>e[0]),parse:(e,t)=>{if(e.length!==0)return e.map(e=>{let n=t.$.parseSchema(e[0]);return XC(n,e[1],null),[n,e[1]]})},serialize:e=>e.map(e=>[e[0].collapsibleJson,lS(e[1])]),reduceIo:(e,t,n)=>{if(e===`in`){t.optionals=n.map(e=>e[0].rawIn);return}t.prefix=n.map(e=>e[0].rawOut)}},variadic:{child:!0,parse:(e,t)=>t.$.parseSchema(e,t)},minVariadicLength:{parse:e=>e===0?void 0:e},postfix:{child:!0,parse:(e,t)=>{if(e.length!==0)return e.map(e=>t.$.parseSchema(e))}}},normalize:e=>{if(typeof e==`string`)return{variadic:e};if(`variadic`in e||`prefix`in e||`defaultables`in e||`optionals`in e||`postfix`in e||`minVariadicLength`in e){if(e.postfix?.length){if(!e.variadic)return K(rT);if(e.optionals?.length||e.defaultables?.length)return K(nT)}return e.minVariadicLength&&!e.variadic?K(`minVariadicLength may not be specified without a variadic element`):e}return{variadic:e}},reduce:(e,t)=>{let n=e.minVariadicLength??0,r=e.prefix?.slice()??[],i=e.defaultables?.slice()??[],a=e.optionals?.slice()??[],o=e.postfix?.slice()??[];if(e.variadic){for(;a[a.length-1]?.equals(e.variadic);)a.pop();if(a.length===0&&i.length===0)for(;r[r.length-1]?.equals(e.variadic);)r.pop(),n++;for(;o[0]?.equals(e.variadic);)o.shift(),n++}else a.length===0&&i.length===0&&r.push(...o.splice(0));if(n!==e.minVariadicLength||e.prefix&&e.prefix.length!==r.length)return t.node(`sequence`,{...e,prefix:r,defaultables:i,optionals:a,postfix:o,minVariadicLength:n},{prereduced:!0})},defaults:{description:e=>e.isVariadicOnly?`${e.variadic.nestableExpression}[]`:`[${e.tuple.map(e=>e.kind===`defaultables`?`${e.node.nestableExpression} = ${xx(e.default)}`:e.kind===`optionals`?`${e.node.nestableExpression}?`:e.kind===`variadic`?`...${e.node.nestableExpression}[]`:e.node.expression).join(`, `)}]`},intersections:{sequence:(e,t,n)=>{let r=iT({l:e.tuple,r:t.tuple,disjoint:new J,result:[],fixedVariants:[],ctx:n}),i=r.disjoint.length===0?[r,...r.fixedVariants]:r.fixedVariants;return i.length===0?r.disjoint:i.length===1?n.$.node(`sequence`,tT(i[0].result)):n.$.node(`union`,i.map(e=>({proto:Array,sequence:tT(e.result)})))}}}),Xw=class extends KS{impliedBasis=q.intrinsic.Array.internal;tuple=eT(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter(e=>e.kind===`defaultables`||e.kind===`optionals`?(this.defaultablesAndOptionals.push(e.node),!0):e.kind===`prefix`);variadicOrPostfix=zy(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return NS(this.flatRefs,this.prevariadic.flatMap((e,t)=>Ry(e.node.flatRefs.map(e=>jS([`${t}`,...e.path],e.node)),jS([`${t}`],e.node)))),NS(this.flatRefs,this.variadicOrPostfix.flatMap(e=>Ry(e.flatRefs.map(e=>jS([q.intrinsic.nonNegativeIntegerString.internal,...e.path],e.node)),jS([q.intrinsic.nonNegativeIntegerString.internal],e)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node(`minLength`,this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node(`maxLength`,this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=Qw(this);defaultValueMorphsReference=this.defaultValueMorphs.length?zx(this.defaultValueMorphs):void 0;elementAtIndex(e,t){if(t<this.prevariadic.length)return this.tuple[t];let n=e.length-this.postfixLength;return t>=n?{kind:`postfix`,node:this.postfix[t-n]}:{kind:`variadic`,node:this.variadic??Yy(`Unexpected attempt to access index ${t} on ${this}`)}}traverseAllows=(e,t)=>{for(let n=0;n<e.length;n++)if(!this.elementAtIndex(e,n).node.traverseAllows(e[n],t))return!1;return!0};traverseApply=(e,t)=>{let n=0;for(;n<e.length;n++)wS(n,()=>this.elementAtIndex(e,n).node.traverseApply(e[n],t),t)};get element(){return this.cacheGetter(`element`,this.$.node(`union`,this.children))}compile(e){if(this.prefix)for(let[t,n]of this.prefix.entries())e.traverseKey(`${t}`,`data[${t}]`,n);for(let[t,n]of this.defaultablesAndOptionals.entries()){let r=`${t+this.prefixLength}`;e.if(`${r} >= data.length`,()=>e.traversalKind===`Allows`?e.return(!0):e.return()),e.traverseKey(r,`data[${r}]`,n)}if(this.variadic&&(this.postfix&&e.const(`firstPostfixIndex`,`data.length${this.postfix?`- ${this.postfix.length}`:``}`),e.for(`i < ${this.postfix?`firstPostfixIndex`:`data.length`}`,()=>e.traverseKey(`i`,`data[i]`,this.variadic),this.prevariadic.length),this.postfix))for(let[t,n]of this.postfix.entries()){let r=`firstPostfixIndex + ${t}`;e.traverseKey(r,`data[${r}]`,n)}e.traversalKind===`Allows`&&e.return(!0)}_transform(e,t){t.path.push(q.intrinsic.nonNegativeIntegerString.internal);let n=super._transform(e,t);return t.path.pop(),n}expression=this.description;reduceJsonSchema(e,t){let n=t.target===`draft-07`;if(this.prevariadic.length){let r=this.prevariadic.map(e=>{let n=e.node.toJsonSchemaRecurse(t);if(e.kind===`defaultables`){let r=typeof e.default==`function`?e.default():e.default;n.default=q.intrinsic.jsonData.allows(r)?r:t.fallback.defaultValue({code:`defaultValue`,base:n,value:r})}return n});n?e.items=r:e.prefixItems=r}if(this.minLength&&(e.minItems=this.minLength),this.variadic){let r=this.variadic.toJsonSchemaRecurse(t);if(n&&this.prevariadic.length?e.additionalItems=r:e.items=r,this.maxLength&&(e.maxItems=this.maxLength),this.postfix){let n=this.postfix.map(e=>e.toJsonSchemaRecurse(t));e=t.fallback.arrayPostfix({code:`arrayPostfix`,base:e,elements:n})}}else n?e.additionalItems=!1:e.items=!1,delete e.maxItems;return e}},Zw={},Qw=e=>{if(!e.defaultables)return[];let t=[],n=`[`,r=e.prefixLength+e.defaultablesLength-1;for(let i=e.prefixLength;i<=r;i++){let[r,a]=e.defaultables[i-e.prefixLength];t.push(YC(i,r,a)),n+=`${i}: ${r.id} = ${lS(a)}, `}return n+=`]`,Zw[n]??=t},$w={implementation:Yw,Node:Xw},eT=e=>{let t=[];if(e.prefix)for(let n of e.prefix)t.push({kind:`prefix`,node:n});if(e.defaultables)for(let[n,r]of e.defaultables)t.push({kind:`defaultables`,node:n,default:r});if(e.optionals)for(let n of e.optionals)t.push({kind:`optionals`,node:n});if(e.variadic&&t.push({kind:`variadic`,node:e.variadic}),e.postfix)for(let n of e.postfix)t.push({kind:`postfix`,node:n});return t},tT=e=>e.reduce((e,t)=>(t.kind===`variadic`?e.variadic=t.node:t.kind===`defaultables`?e.defaultables=Ry(e.defaultables,[[t.node,t.default]]):e[t.kind]=Ry(e[t.kind],t.node),e),{}),nT=`A postfix required element cannot follow an optional or defaultable element`,rT=`A postfix element requires a variadic element`,iT=e=>{let[t,...n]=e.l,[r,...i]=e.r;if(!t||!r)return e;let a=n[n.length-1]?.kind===`postfix`,o=i[i.length-1]?.kind===`postfix`,s=t.kind===`prefix`||r.kind===`prefix`?`prefix`:t.kind===`postfix`||r.kind===`postfix`?`postfix`:t.kind===`variadic`&&r.kind===`variadic`?`variadic`:a||o?`prefix`:t.kind===`defaultables`||r.kind===`defaultables`?`defaultables`:`optionals`;if(t.kind===`prefix`&&r.kind===`variadic`&&o){let t=iT({...e,fixedVariants:[],r:i.map(e=>({...e,kind:`prefix`}))});t.disjoint.length===0&&e.fixedVariants.push(t)}else if(r.kind===`prefix`&&t.kind===`variadic`&&a){let t=iT({...e,fixedVariants:[],l:n.map(e=>({...e,kind:`prefix`}))});t.disjoint.length===0&&e.fixedVariants.push(t)}let c=VS(t.node,r.node,e.ctx);if(c instanceof J){if(s===`prefix`||s===`postfix`)e.disjoint.push(...c.withPrefixKey(s===`prefix`?e.result.length:`-${n.length+1}`,aT(t)&&aT(r)?`required`:`optional`)),e.result=[...e.result,{kind:s,node:q.intrinsic.never.internal}];else if(s===`optionals`||s===`defaultables`)return e;else return iT({...e,fixedVariants:[],l:n.map(e=>({...e,kind:`prefix`})),r:n.map(e=>({...e,kind:`prefix`}))})}else s===`defaultables`?(t.kind===`defaultables`&&r.kind===`defaultables`&&t.default!==r.default&&K(GC(t.default,r.default)),e.result=[...e.result,{kind:s,node:c,default:t.kind===`defaultables`?t.default:r.kind===`defaultables`?r.default:Yy(`Unexpected defaultable intersection from ${t.kind} and ${r.kind} elements.`)}]):e.result=[...e.result,{kind:s,node:c}];let l=e.l.length,u=e.r.length;return(t.kind!==`variadic`||l>=u&&(r.kind===`variadic`||u===1))&&(e.l=n),(r.kind!==`variadic`||u>=l&&(t.kind===`variadic`||l===1))&&(e.r=i),iT(e)},aT=e=>e.kind===`prefix`||e.kind===`postfix`,oT=e=>t=>{if(t.props.length||t.index){let n=t.index?.map(t=>t[e])??[];for(let r of t.props)n.push(r[e]);t.undeclared&&n.push(`+ (undeclared): ${t.undeclared}`);let r=`{ ${n.join(`, `)} }`;return t.sequence?`${r} & ${t.sequence.description}`:r}return t.sequence?.description??`{}`},sT=oT(`description`),cT=oT(`expression`),lT=(e,t,n)=>{let r=e.required?`required`:`optional`;if(!t.signature.allows(e.key))return null;let i=zS(e.value,t.value,n);return i instanceof J?r===`optional`?n.node(`optional`,{key:e.key,value:q.intrinsic.never.internal}):i.withPrefixKey(e.key,e.kind):null},uT=dS({kind:`structure`,hasAssociatedError:!1,normalize:e=>e,applyConfig:(e,t)=>!e.undeclared&&t.onUndeclaredKey!==`ignore`?{...e,undeclared:t.onUndeclaredKey}:e,keys:{required:{child:!0,parse:JS(`required`),reduceIo:(e,t,n)=>{t.required=Ry(t.required,n.map(t=>e===`in`?t.rawIn:t.rawOut))}},optional:{child:!0,parse:JS(`optional`),reduceIo:(e,t,n)=>{if(e===`in`){t.optional=n.map(e=>e.rawIn);return}for(let e of n)t[e.outProp.kind]=Ry(t[e.outProp.kind],e.outProp.rawOut)}},index:{child:!0,parse:JS(`index`)},sequence:{child:!0,parse:JS(`sequence`)},undeclared:{parse:e=>e===`ignore`?void 0:e,reduceIo:(e,t,n)=>{if(n===`reject`){t.undeclared=`reject`;return}e===`in`?delete t.undeclared:t.undeclared=`reject`}}},defaults:{description:sT},intersections:{structure:(e,t,n)=>{let r={...e.inner},i={...t.inner},a=new J;if(e.undeclared){let r=e.keyof();for(let e of t.requiredKeys)r.allows(e)||a.add(`presence`,q.intrinsic.never.internal,t.propsByKey[e].value,{path:[e]});i.optional&&=i.optional.filter(e=>r.allows(e.key)),i.index&&=i.index.flatMap(e=>{if(e.signature.extends(r))return e;let t=zS(r,e.signature,n.$);if(t instanceof J)return[];let a=yT(t,e.value,n.$);return a.required&&(i.required=zy(i.required,a.required)),a.optional&&(i.optional=zy(i.optional,a.optional)),a.index??[]})}if(t.undeclared){let i=t.keyof();for(let t of e.requiredKeys)i.allows(t)||a.add(`presence`,e.propsByKey[t].value,q.intrinsic.never.internal,{path:[t]});r.optional&&=r.optional.filter(e=>i.allows(e.key)),r.index&&=r.index.flatMap(e=>{if(e.signature.extends(i))return e;let t=zS(i,e.signature,n.$);if(t instanceof J)return[];let a=yT(t,e.value,n.$);return a.required&&(r.required=zy(r.required,a.required)),a.optional&&(r.optional=zy(r.optional,a.optional)),a.index??[]})}let o={};(e.undeclared||t.undeclared)&&(o.undeclared=e.undeclared===`reject`||t.undeclared===`reject`?`reject`:`delete`);let s=YS({kind:`structure`,baseInner:o,l:XS(r),r:XS(i),roots:[],ctx:n});return s instanceof J&&a.push(...s),a.length?a:s}},reduce:(e,t)=>{if(!e.required&&!e.optional)return;let n=Object.create(null),r=!1,i=e.optional?[...e.optional]:[];if(e.required)for(let r=0;r<e.required.length;r++){let i=e.required[r];if(i.key in n&&K(ST(i.key)),n[i.key]=!0,e.index)for(let n of e.index){let e=lT(i,n,t);if(e instanceof J)return e}}if(e.optional)for(let a=0;a<e.optional.length;a++){let o=e.optional[a];if(o.key in n&&K(ST(o.key)),n[o.key]=!0,e.index)for(let n of e.index){let e=lT(o,n,t);if(e instanceof J)return e;e!==null&&(i[a]=e,r=!0)}}if(r)return t.node(`structure`,{...e,optional:i},{prereduced:!0})}}),dT=class extends KS{impliedBasis=q.intrinsic.object.internal;impliedSiblings=this.children.flatMap(e=>e.impliedSiblings??[]);props=zy(this.required,this.optional);propsByKey=$y(this.props,(e,t)=>[t.key,t]);propsByKeyReference=zx(this.propsByKey);expression=cT(this);requiredKeys=this.required?.map(e=>e.key)??[];optionalKeys=this.optional?.map(e=>e.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let e=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:t}of this.index)e=e.concat(t.branches);return this._keyof=this.$.node(`union`,e)}map(e){return this.$.node(`structure`,this.props.flatMap(e).reduce((e,t)=>{let n=this.propsByKey[t.key];if(Yx(t))return t.kind!==`required`&&t.kind!==`optional`?K(`Map result must have kind "required" or "optional" (was ${t.kind})`):(e[t.kind]=Ry(e[t.kind],t),e);let r=t.kind??n?.kind??`required`,i=$y(t,(e,t)=>e in KC.implementation.keys?[e,t]:[]);return e[r]=Ry(e[r],this.$.node(r,i)),e},{}))}assertHasKeys(e){let t=e.filter(e=>!iw(e,this.keyof()));if(t.length)return K(xT(this.expression,t))}get(e,...t){let n,r=!1,i=_T(e);if((typeof i==`string`||typeof i==`symbol`)&&this.propsByKey[i]&&(n=this.propsByKey[i].value,r=this.propsByKey[i].required),this.index)for(let e of this.index)iw(i,e.signature)&&(n=n?.and(e.value)??e.value);if(this.sequence&&iw(i,q.intrinsic.nonNegativeIntegerString)){if(Jx(i,`root`))this.sequence.variadic&&(n=n?.and(this.sequence.element)??this.sequence.element);else{let e=Number.parseInt(i);if(e<this.sequence.prevariadic.length){let t=this.sequence.prevariadic[e].node;n=n?.and(t)??t,r||=e<this.sequence.prefixLength}else if(this.sequence.variadic){let e=this.$.node(`union`,this.sequence.variadicOrPostfix);n=n?.and(e)??e}}}if(!n)return this.sequence?.variadic&&Jx(i,`root`)&&i.extends(q.intrinsic.number)?K(vT(i.expression,this.sequence.expression)):K(xT(this.expression,[i]));let a=n.get(...t);return r?a:a.or(q.intrinsic.undefined)}pick(...e){return this.assertHasKeys(e),this.$.node(`structure`,this.filterKeys(`pick`,e))}omit(...e){return this.assertHasKeys(e),this.$.node(`structure`,this.filterKeys(`omit`,e))}optionalize(){let{required:e,...t}=this.inner;return this.$.node(`structure`,{...t,optional:this.props.map(e=>e.hasKind(`required`)?this.$.node(`optional`,e.inner):e)})}require(){let{optional:e,...t}=this.inner;return this.$.node(`structure`,{...t,required:this.props.map(e=>e.hasKind(`optional`)?{key:e.key,value:e.value}:e)})}merge(e){let t=this.filterKeys(`omit`,[e.keyof()]);return e.required&&(t.required=Ry(t.required,e.required)),e.optional&&(t.optional=Ry(t.optional,e.optional)),e.index&&(t.index=Ry(t.index,e.index)),e.sequence&&(t.sequence=e.sequence),e.undeclared?t.undeclared=e.undeclared:delete t.undeclared,this.$.node(`structure`,t)}filterKeys(e,t){let n=Kx(this.inner),r=n=>{let r=t.some(e=>iw(n,e));return e===`pick`?r:!r};return n.required&&=n.required.filter(e=>r(e.key)),n.optional&&=n.optional.filter(e=>r(e.key)),n.index&&=n.index.filter(e=>r(e.signature)),n}traverseAllows=(e,t)=>this._traverse(`Allows`,e,t);traverseApply=(e,t)=>this._traverse(`Apply`,e,t);_traverse=(e,t,n)=>{let r=n?.currentErrorCount??0;for(let i=0;i<this.props.length;i++)if(e===`Allows`){if(!this.props[i].traverseAllows(t,n))return!1}else if(this.props[i].traverseApply(t,n),n.failFast&&n.currentErrorCount>r)return!1;if(this.sequence){if(e===`Allows`){if(!this.sequence.traverseAllows(t,n))return!1}else if(this.sequence.traverseApply(t,n),n.failFast&&n.currentErrorCount>r)return!1}if(this.index||this.undeclared===`reject`){let i=Object.keys(t);i.push(...Object.getOwnPropertySymbols(t));for(let a=0;a<i.length;a++){let o=i[a];if(this.index){for(let i of this.index)if(i.signature.traverseAllows(o,n)){if(e===`Allows`){if(!wS(o,()=>i.value.traverseAllows(t[o],n),n))return!1}else if(wS(o,()=>i.value.traverseApply(t[o],n),n),n.failFast&&n.currentErrorCount>r)return!1}}if(this.undeclared===`reject`&&!this.declaresKey(o)&&(e===`Allows`||(n.errorFromNodeContext({code:`predicate`,expected:`removed`,actual:``,relativePath:[o],meta:this.meta}),n.failFast)))return!1}}return this.structuralMorph&&n&&!n.hasError()&&n.queueMorphs([this.structuralMorph]),!0};get defaultable(){return this.cacheGetter(`defaultable`,this.optional?.filter(e=>e.hasDefault())??[])}declaresKey=e=>e in this.propsByKey||this.index?.some(t=>t.signature.allows(e))||this.sequence!==void 0&&q.intrinsic.nonNegativeIntegerString.allows(e);_compileDeclaresKey(e){let t=[];if(this.props.length&&t.push(`k in ${this.propsByKeyReference}`),this.index)for(let n of this.index)t.push(e.invoke(n.signature,{kind:`Allows`,arg:`k`}));return this.sequence&&t.push(`$ark.intrinsic.nonNegativeIntegerString.allows(k)`),t.join(` || `)||`false`}get structuralMorph(){return this.cacheGetter(`structuralMorph`,mT(this))}structuralMorphRef=this.structuralMorph&&zx(this.structuralMorph);compile(e){e.traversalKind===`Apply`&&e.initializeErrorCount();for(let t of this.props)e.check(t),e.traversalKind===`Apply`&&e.returnIfFailFast();if(this.sequence&&(e.check(this.sequence),e.traversalKind===`Apply`&&e.returnIfFailFast()),(this.index||this.undeclared===`reject`)&&(e.const(`keys`,`Object.keys(data)`),e.line(`keys.push(...Object.getOwnPropertySymbols(data))`),e.for(`i < keys.length`,()=>this.compileExhaustiveEntry(e))),e.traversalKind===`Allows`)return e.return(!0);this.structuralMorphRef&&e.if(`ctx && !ctx.hasError()`,()=>(e.line(`ctx.queueMorphs([`),hT(e,this),e.line(`])`)))}compileExhaustiveEntry(e){if(e.const(`k`,`keys[i]`),this.index)for(let t of this.index)e.if(`${e.invoke(t.signature,{arg:`k`,kind:`Allows`})}`,()=>e.traverseKey(`k`,`data[k]`,t.value));return this.undeclared===`reject`&&e.if(`!(${this._compileDeclaresKey(e)})`,()=>e.traversalKind===`Allows`?e.return(!1):e.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if(`ctx.failFast`,()=>e.return())),e}reduceJsonSchema(e,t){switch(e.type){case`object`:return this.reduceObjectJsonSchema(e,t);case`array`:let n=this.sequence?.reduceJsonSchema(e,t)??e;return this.props.length||this.index?t.fallback.arrayObject({code:`arrayObject`,base:n,object:this.reduceObjectJsonSchema({type:`object`},t)}):n;default:return fS.throwInternalOperandError(`structure`,e)}}reduceObjectJsonSchema(e,t){if(this.props.length){e.properties={};for(let n of this.props){let r=n.value.toJsonSchemaRecurse(t);if(typeof n.key==`symbol`){t.fallback.symbolKey({code:`symbolKey`,base:e,key:n.key,value:r,optional:n.optional});continue}if(n.hasDefault()){let e=typeof n.default==`function`?n.default():n.default;r.default=q.intrinsic.jsonData.allows(e)?e:t.fallback.defaultValue({code:`defaultValue`,base:r,value:e})}e.properties[n.key]=r}this.requiredKeys.length&&e.properties&&(e.required=this.requiredKeys.filter(t=>typeof t==`string`&&t in e.properties))}if(this.index)for(let n of this.index){let r=n.value.toJsonSchemaRecurse(t);if(n.signature.equals(q.intrinsic.string)){e.additionalProperties=r;continue}for(let i of n.signature.branches){if(!i.extends(q.intrinsic.string)){e=t.fallback.symbolKey({code:`symbolKey`,base:e,key:null,value:r,optional:!1});continue}let n={type:`string`};if(i.hasKind(`morph`)&&(n=t.fallback.morph({code:`morph`,base:i.rawIn.toJsonSchemaRecurse(t),out:i.rawOut.toJsonSchemaRecurse(t)})),!i.hasKind(`intersection`))return Yy(`Unexpected index branch kind ${i.kind}.`);let{pattern:a}=i.inner;if(a){let i=Object.assign(n,{pattern:a[0].rule});for(let e=1;e<a.length;e++)n=t.fallback.patternIntersection({code:`patternIntersection`,base:i,pattern:a[e].rule});e.patternProperties??={},e.patternProperties[i.pattern]=r}}}return this.undeclared&&!e.additionalProperties&&(e.additionalProperties=!1),e}},fT={},pT=e=>{let t=``;for(let n=0;n<e.defaultable.length;n++)t+=e.defaultable[n].defaultValueMorphRef;if(e.sequence?.defaultValueMorphsReference&&(t+=e.sequence?.defaultValueMorphsReference),e.undeclared===`delete`){if(t+=`delete !(`,e.required)for(let n of e.required)t+=n.compiledKey+` | `;if(e.optional)for(let n of e.optional)t+=n.compiledKey+` | `;if(e.index)for(let n of e.index)t+=n.signature.id+` | `;if(e.sequence){if(e.sequence.maxLength===null)t+=eE.nonNegativeIntegerString.id;else for(let n=0;n<e.sequence.tuple.length;n++)t+=n+` | `}t+=`)`}return t},mT=e=>{let t=pT(e);return t?fT[t]?fT[t]:fT[t]=(t,n)=>{for(let r=0;r<e.defaultable.length;r++)e.defaultable[r].key in t||e.defaultable[r].defaultValueMorph(t,n);if(e.sequence?.defaultables)for(let r=t.length-e.sequence.prefixLength;r<e.sequence.defaultables.length;r++)e.sequence.defaultValueMorphs[r](t,n);if(e.undeclared===`delete`)for(let n in t)e.declaresKey(n)||delete t[n];return t}:void 0},hT=(e,t)=>{let n=`(data${t.defaultable.some(e=>e.defaultValueMorph.length===2)||t.sequence?.defaultValueMorphs.some(e=>e.length===2)?`, ctx`:``})`;return e.block(`${n} => `,e=>{for(let r=0;r<t.defaultable.length;r++){let{serializedKey:i,defaultValueMorphRef:a}=t.defaultable[r];e.if(`!(${i} in data)`,e=>e.line(`${a}${n}`))}return t.sequence?.defaultables&&e.for(`i < ${t.sequence.defaultables.length}`,e=>e.line(`${t.sequence.defaultValueMorphsReference}[i]${n}`),`data.length - ${t.sequence.prefixLength}`),t.undeclared===`delete`&&e.forIn(`data`,e=>e.if(`!(${t._compileDeclaresKey(e)})`,e=>e.line(`delete data[k]`))),e.return(`data`)})},gT={implementation:uT,Node:dT},_T=e=>(Jx(e,`root`)&&e.hasKind(`unit`)&&(e=e.unit),typeof e==`number`&&(e=`${e}`),e),vT=(e,t)=>`${e} is not allowed as an array index on ${t}. Use the 'nonNegativeIntegerString' keyword instead.`,yT=(e,t,n)=>{let[r,i]=Py(e.branches,e=>e.hasKind(`unit`));if(!r.length)return{index:n.node(`index`,{signature:e,value:t})};let a={};for(let e of r){let r=n.node(`required`,{key:e.unit,value:t});a[r.kind]=Ry(a[r.kind],r)}return i.length&&(a.index=n.node(`index`,{signature:i,value:t})),a},bT=e=>Jx(e,`root`)?e.expression:xx(e),xT=(e,t)=>`Key${t.length===1?``:`s`} ${t.map(bT).join(`, `)} ${t.length===1?`does`:`do`} not exist on ${e}`,ST=e=>`Duplicate key ${Vx(e)}`,CT={...OC,alias:mw.implementation,domain:gw.implementation,unit:Uw.implementation,proto:Sw.implementation,union:Mw.implementation,morph:bw.implementation,intersection:_w.implementation,divisor:aC.implementation,pattern:AC.implementation,predicate:iC.implementation,required:Jw.implementation,optional:KC.implementation,index:Gw.implementation,sequence:$w.implementation,structure:gT.implementation};q.defaultConfig=db(Object.assign($y(CT,(e,t)=>[e,t.defaults]),{jitless:Pb(),clone:Ob,onUndeclaredKey:`ignore`,exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:fS.defaultConfig})),q.resolvedConfig=pS(q.defaultConfig,q.config);var wT={...kC,alias:mw.Node,domain:gw.Node,unit:Uw.Node,proto:Sw.Node,union:Mw.Node,morph:bw.Node,intersection:_w.Node,divisor:aC.Node,pattern:AC.Node,predicate:iC.Node,required:Jw.Node,optional:KC.Node,index:Gw.Node,sequence:$w.Node,structure:gT.Node},TT=class extends rb{get[qx](){return`module`}},ET=(e,t)=>new TT($y(e,(e,n)=>[e,Jx(n,`module`)?ET(n,t):t.bindReference(n)])),DT=e=>xb(e)?e:`branches`in e&&xb(e.branches)?e.branches:void 0,OT=(e,t)=>K(`Node of kind ${t} is not valid as a ${e} definition`),kT=e=>`#${e} duplicates public alias ${e}`,AT={};q.ambient??={};var jT,MT=`function $`,NT=e=>PT(e,FT(e)),PT=(e,t,n)=>{let r=t.write(MT,4),i=t.compile()();for(let t of e)(!t.precompilation||n&&t.$===n)&&(t.traverseAllows=i[`${t.id}Allows`].bind(i),t.isRoot()&&!t.allowsRequiresContext&&(t.allows=t.traverseAllows),t.traverseApply=i[`${t.id}Apply`].bind(i),i[`${t.id}Optimistic`]&&(t.traverseOptimistic=i[`${t.id}Optimistic`].bind(i)),t.precompilation=r)},FT=e=>new Bx().return(e.reduce((e,t)=>{let n=new Gx({kind:`Allows`}).indent();t.compile(n);let r=n.write(`${t.id}Allows`),i=new Gx({kind:`Apply`}).indent();t.compile(i);let a=`${e}${r},\n${i.write(`${t.id}Apply`)},\n`;if(!t.hasKind(`union`))return a;let o=new Gx({kind:`Allows`,optimistic:!0}).indent();return t.compile(o),`${a}${o.write(`${t.id}Optimistic`)},\n`},`{
|
|
38
|
+
`)+`}`),IT=class{config;resolvedConfig;name;get[qx](){return`scope`}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(e,t){this.config=pS(q.config,t),this.resolvedConfig=pS(q.resolvedConfig,t),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(AT).length}`,this.name in AT&&K(`A Scope already named ${this.name} already exists`),AT[this.name]=this;let n=Object.entries(e).map(e=>this.preparseOwnAliasEntry(...e));for(let[e,t]of n){let n=e;if(e[0]===`#`?(n=e.slice(1),n in this.aliases&&K(kT(n)),this.aliases[n]=t):(n in this.aliases&&K(kT(e)),this.aliases[n]=t,this.exportedNames.push(n)),!Jx(t,`module`)&&!Jx(t,`generic`)&&!jb(t)){let e=this.preparseOwnDefinitionFormat(t,{alias:n});this.resolutions[n]=Jx(e,`root`)?this.bindReference(e):this.createParseContext(e).id}}jT??=this.node(`union`,{branches:[`string`,`number`,`object`,`bigint`,`symbol`,{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[jT.hash]=this.node(`intersection`,{},{prereduced:!0}),this.intrinsic=q.intrinsic?$y(q.intrinsic,(e,t)=>e.startsWith(`json`)?[]:[e,this.bindReference(t)]):{}}cacheGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}get internal(){return this}_json;get json(){return this._json||this.export(),this._json}defineSchema(e){return e}generic=(...e)=>{let t=this;return(n,r)=>new nC(e,r?new tC(n):n,t,t,r??null)};units=(e,t)=>{let n=[];for(let t of e)n.includes(t)||n.push(t);let r=n.map(e=>this.node(`unit`,{unit:e},t));return this.node(`union`,r,{...t,prereduced:!0})};lazyResolutions=[];lazilyResolve(e,t){let n=this.node(`alias`,{reference:t??`synthetic`,resolve:e},{prereduced:!0});return this.resolved||this.lazyResolutions.push(n),n}schema=(e,t)=>this.finalize(this.parseSchema(e,t));parseSchema=(e,t)=>this.node(jC(e),e,t);preparseNode(e,t,n){let r=typeof e==`string`?e:jC(t,e);if(Yx(t)&&t.kind===r)return t;if(r===`alias`&&!n?.prereduced){let{reference:e}=mw.implementation.normalize(t,this);if(e.startsWith(`$`)){let n=this.resolveRoot(e.slice(1));t=n,r=n.kind}}else if(r===`union`&&Wy(t,`object`)){let e=DT(t);e?.length===1&&(t=e[0],r=jC(t))}if(Yx(t)&&t.kind===r)return t;let i=CT[r].normalize?.(t,this)??t;return Yx(i)?i.kind===r?i:OT(r,i.kind):{...n,$:this,kind:r,def:i,prefix:n.alias??r}}bindReference(e){let t;return t=Yx(e)?e.$===this?e:new e.constructor(e.attachments,this):e.$===this?e:new nC(e.params,e.bodyDef,e.$,this,e.hkt),this.resolved||Object.assign(this.referencesById,t.referencesById),t}resolveRoot(e){return this.maybeResolveRoot(e)??K(WT(e))}maybeResolveRoot(e){let t=this.maybeResolve(e);if(!Jx(t,`generic`))return t}maybeResolveSubalias(e){return BT(this.aliases,e)??BT(this.ambient,e)}get ambient(){return q.ambient}maybeResolve(e){let t=this.resolutions[e];if(t){if(typeof t!=`string`)return this.bindReference(t);let n=IC[t];if(Jx(n,`root`))return this.resolutions[e]=n;if(Jx(n,`context`)){if(n.phase===`resolving`)return this.node(`alias`,{reference:`$${e}`},{prereduced:!0});if(n.phase===`resolved`)return Yy(`Unexpected resolved context for was uncached by its scope: ${xx(n)}`);n.phase=`resolving`;let t=this.bindReference(this.parseOwnDefinitionFormat(n.def,n));return n.phase=`resolved`,IC[t.id]=t,IC[n.id]=t,this.resolutions[e]=t}return Yy(`Unexpected nodesById entry for ${t}: ${xx(n)}`)}let n=this.aliases[e]??this.ambient?.[e];return n?(n=this.normalizeRootScopeValue(n),Jx(n,`generic`)?this.resolutions[e]=this.bindReference(n):Jx(n,`module`)?(n.root||K(KT(e)),this.resolutions[e]=this.bindReference(n.root)):this.resolutions[e]=this.parse(n,{alias:e})):this.maybeResolveSubalias(e)}createParseContext(e){let t=e.id??LC(e.prefix);return IC[t]=Object.assign(e,{[qx]:`context`,$:this,id:t,phase:`unresolved`})}traversal(e){return new CS(e,this.resolvedConfig)}import(...e){return new TT($y(this.export(...e),(e,t)=>[`#${e}`,t]))}precompilation;_exportedResolutions;_exports;export(...e){if(!this._exports){this._exports={};for(let e of this.exportedNames){let t=this.aliases[e];this._exports[e]=Jx(t,`module`)?ET(t,this):RT(this.maybeResolve(e))}for(let e of this.lazyResolutions)e.resolution;if(this._exportedResolutions=UT(this,this._exports),this._json=zT(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let e=FT(this.references);this.precompilation=e.write(MT,4),PT(this.references,e,this)}this.resolved=!0}return new TT($y(e.length?e:this.exportedNames,(e,t)=>[t,this._exports[t]]))}resolve(e){return this.export()[e]}node=(e,t,n={})=>{let r=this.preparseNode(e,t,n);if(Yx(r))return this.bindReference(r);let i=this.createParseContext(r),a=RC(i),o=this.bindReference(a);return IC[i.id]=o};parse=(e,t={})=>this.finalize(this.parseDefinition(e,t));parseDefinition(e,t={}){if(Jx(e,`root`))return this.bindReference(e);let n=this.preparseOwnDefinitionFormat(e,t);if(Jx(n,`root`))return this.bindReference(n);let r=this.createParseContext(n);IC[r.id]=r;let i=this.bindReference(this.parseOwnDefinitionFormat(e,r));return i.isCyclic&&(i=BC(i,r.id)),IC[r.id]=i,i}finalize(e){return RT(e),!e.precompilation&&!this.resolvedConfig.jitless&&NT(e.references),e}},LT=class extends IT{parseOwnDefinitionFormat(e,t){return RC(t)}preparseOwnDefinitionFormat(e,t){return this.preparseNode(jC(e),e,t)}preparseOwnAliasEntry(e,t){return[e,t]}normalizeRootScopeValue(e){return e}},RT=e=>{let t=e.references.filter(e=>e.hasKind(`alias`));for(let n of t){Object.assign(n.referencesById,n.resolution.referencesById);for(let t of e.references)n.id in t.referencesById&&Object.assign(t.referencesById,n.referencesById)}return e},zT=e=>$y(e,(e,t)=>[e,Jx(t,`root`)||Jx(t,`generic`)?t.json:Jx(t,`module`)?zT(t):Yy(`Unexpected resolution ${xx(t)}`)]),BT=(e,t)=>{let n=t.indexOf(`.`);if(n===-1)return;let r=t.slice(0,n),i=e[r];if(i===void 0)return;if(!Jx(i,`module`))return K(GT(r));let a=t.slice(n+1),o=i[a];if(o===void 0)return BT(i,a);if(Jx(o,`root`)||Jx(o,`generic`))return o;if(Jx(o,`module`))return o.root??K(KT(t));Yy(`Unexpected resolution for alias '${t}': ${xx(o)}`)},VT=(e,t)=>new LT(e,t),HT=new LT({}),UT=(e,t)=>{let n={};for(let r in t){let i=t[r];if(Jx(i,`module`)){let t=$y(UT(e,i),(e,t)=>[`${r}.${e}`,t]);Object.assign(n,t)}else Jx(i,`root`)||Jx(i,`generic`)?n[r]=i:Yy(`Unexpected scope resolution ${xx(i)}`)}return n},WT=e=>`'${e}' is unresolvable`,GT=e=>`'${e}' must reference a module to be accessed using dot syntax`,KT=e=>`Reference to submodule '${e}' must specify an alias`;HT.export();var qT=HT.schema,JT=HT.node;HT.defineSchema;var YT=HT.generic,XT=`^(?:0|[1-9]\\d*)$`;zx(new RegExp(XT));var ZT=VT({bigint:`bigint`,boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:`number`,object:`object`,string:`string`,symbol:`symbol`,true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();q.intrinsic={...ZT};var QT=VT({integer:{domain:`number`,divisor:1},lengthBoundable:[`string`,Array],key:[`string`,`symbol`],nonNegativeIntegerString:{domain:`string`,pattern:XT}},{prereducedAliases:!0}).export();Object.assign(q.intrinsic,QT);var $T=VT({jsonPrimitive:[`string`,`number`,{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:`object`,index:{signature:`string`,value:`$jsonData`}},jsonData:[`$jsonPrimitive`,`$jsonObject`]},{prereducedAliases:!0}).export(),eE={...ZT,...QT,...$T,emptyStructure:JT(`structure`,{},{prereduced:!0})};q.intrinsic={...eE};var tE=((e,t)=>new RegExp(e,t));Object.assign(tE,{as:tE});var nE=e=>typeof e==`string`&&e[0]===`d`&&(e[1]===`'`||e[1]===`"`)&&e[e.length-1]===e[1],rE=e=>e.toString()!==`Invalid Date`,iE=e=>e.slice(2,-1),aE=e=>`'${e}' could not be parsed by the Date constructor`,oE=(e,t)=>sE(e,t),sE=(e,t)=>{let n=new Date(e);if(rE(n))return n;let r=cx(e);if(r!==void 0){let e=new Date(r);if(rE(e))return e}return t?K(t===!0?aE(e):t):void 0},cE=qT({proto:`Array`,sequence:`string`,required:{key:`groups`,value:[`object`,{unit:void 0}]}}),lE=(e,t)=>{let n=e.scanner.shiftUntilEscapable(hE[mE[t]]);if(e.scanner.lookahead===``)return e.error(_E(n,t));if(e.scanner.shift(),t in pE){let r;try{r=new RegExp(n)}catch(e){K(String(e))}e.root=e.ctx.$.node(`intersection`,{domain:`string`,pattern:n},{prereduced:!0}),t===`x/`&&(e.root=e.ctx.$.node(`morph`,{in:e.root,morphs:e=>r.exec(e),declaredOut:cE}))}else if(tb(t,uE))e.root=e.ctx.$.node(`unit`,{unit:n});else{let t=oE(n,aE(n));e.root=e.ctx.$.node(`unit`,{meta:n,unit:t})}},uE={"'":1,'"':1},dE={"/":1,"'":1,'"':1},fE={"d'":`'`,'d"':`"`,"'":`'`,'"':`"`},pE={"/":`/`,"x/":`/`},mE={...fE,...pE},hE={"'":e=>e.lookahead===`'`,'"':e=>e.lookahead===`"`,"/":e=>e.lookahead===`/`},gE={'"':`double-quote`,"'":`single-quote`,"/":`forward slash`},_E=(e,t)=>`${t}${e} requires a closing ${gE[mE[t]]}`,vE=e=>`Private type references should not include '#'. Use '${e}' instead.`,yE=`Optional definitions like 'string?' are only valid as properties in an object or tuple`,bE=`Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple`,xE={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...Hb},SE=(e,t)=>e===`>`?t[0]===`=`?t[1]===`=`:t.trimStart()===``||tb(t.trimStart()[0],xE):e===`=`?t[0]!==`=`:e===`,`||e===`?`,CE=(e,t,n)=>wE(e,t,n,[]),wE=(e,t,n,r)=>{let i=n.parseUntilFinalizer();return r.push(i.root),i.finalizer===`>`?r.length===t.params.length?r:n.error(TE(e,t.names,r.map(e=>e.expression))):i.finalizer===`,`?wE(e,t,n,r):i.error(Px(`>`))},TE=(e,t,n)=>`${e}<${t.join(`, `)}> requires exactly ${t.length} args (got ${n.length}${n.length===0?``:`: ${n.join(`, `)}`})`,EE=e=>{let t=e.scanner.shiftUntilLookahead(xE);t===`keyof`?e.addPrefix(`keyof`):e.root=OE(e,t)},DE=(e,t,n)=>(n.scanner.shiftUntilNonWhitespace(),n.scanner.shift()===`<`?t(...CE(e,t,n)):n.error(TE(e,t.names,[]))),OE=(e,t)=>kE(e,t)??AE(e,t)??e.error(t===``?e.scanner.lookahead===`#`?vE(e.shiftedBy(1).scanner.shiftUntilLookahead(xE)):jE(e):WT(t)),kE=(e,t)=>{if(e.ctx.args?.[t]){let n=e.ctx.args[t];return typeof n==`string`?e.ctx.$.node(`alias`,{reference:n},{prereduced:!0}):n}let n=e.ctx.$.maybeResolve(t);if(Jx(n,`root`))return n;if(n!==void 0)return Jx(n,`generic`)?DE(t,n,e):K(`Unexpected resolution ${xx(n)}`)},AE=(e,t)=>{let n=lx(t);if(n!==void 0)return e.ctx.$.node(`unit`,{unit:n});let r=fx(t);if(r!==void 0)return e.ctx.$.node(`unit`,{unit:r})},jE=e=>{let t=e.previousOperator();return t?ME(t,e.scanner.unscanned):NE(e.scanner.unscanned)},ME=(e,t=``)=>`Token '${e}' requires a right operand${t?` before '${t}'`:``}`,NE=e=>`Expected an expression${e?` before '${e}'`:``}`,PE=e=>e.scanner.lookahead===``?e.error(jE(e)):e.scanner.lookahead===`(`?e.shiftedBy(1).reduceGroupOpen():e.scanner.lookaheadIsIn(dE)?lE(e,e.scanner.shift()):e.scanner.lookaheadIsIn(Hb)?PE(e.shiftedBy(1)):e.scanner.lookahead===`d`?e.scanner.nextLookahead in uE?lE(e,`${e.scanner.shift()}${e.scanner.shift()}`):EE(e):e.scanner.lookahead===`x`&&e.scanner.nextLookahead===`/`?e.shiftedBy(2)&&lE(e,`x/`):EE(e),FE={">":!0,">=":!0},IE={"<":!0,"<=":!0},LE={"<":`>`,">":`<`,"<=":`>=`,">=":`<=`,"==":`==`},RE=(e,t)=>`Left bounds are only valid when paired with right bounds (try ...${t}${e})`,zE=e=>`Left-bounded expressions must specify their limits using < or <= (was ${e})`,BE=(e,t,n,r)=>`An expression may have at most one left bound (parsed ${e}${LE[t]}, ${n}${LE[r]})`,VE=(e,t)=>{let n=UE(e,t);if(e.root.hasKind(`unit`)){if(typeof e.root.unit==`number`){e.reduceLeftBound(e.root.unit,n),e.unsetRoot();return}if(e.root.unit instanceof Date){let t=`d'${e.root.description??e.root.unit.toISOString()}'`;e.unsetRoot(),e.reduceLeftBound(t,n);return}}return KE(e,n)},HE={"<":1,">":1,"=":1},UE=(e,t)=>e.scanner.lookaheadIs(`=`)?`${t}${e.scanner.shift()}`:t,WE=(e,t,n,r)=>n.extends(q.intrinsic.number)?typeof t==`number`?e===`==`?[`min`,`max`]:e[0]===`>`?[`min`]:[`max`]:K(qE(e,t,r)):n.extends(q.intrinsic.lengthBoundable)?typeof t==`number`?e===`==`?[`exactLength`]:e[0]===`>`?[`minLength`]:[`maxLength`]:K(qE(e,t,r)):n.extends(q.intrinsic.Date)?e===`==`?[`after`,`before`]:e[0]===`>`?[`after`]:[`before`]:K(bC(n.expression)),GE=e=>({rule:nE(e.limit)?iE(e.limit):e.limit,exclusive:e.comparator.length===1}),KE=(e,t)=>{let n=e.unsetRoot(),r=e.scanner.location;e.parseOperand();let i=e.unsetRoot(),a=e.scanner.sliceChars(r,e.scanner.location);if(e.root=n,!i.hasKind(`unit`)||typeof i.unit!=`number`&&!(i.unit instanceof Date))return e.error(qE(t,a,`right`));let o=i.unit,s=t.length===1,c=WE(t,typeof o==`number`?o:a,n,`right`);for(let n of c)e.constrainRoot(n,t===`==`?{rule:o}:{rule:o,exclusive:s});if(!e.branches.leftBound)return;if(!tb(t,IE))return e.error(zE(t));let l=WE(e.branches.leftBound.comparator,e.branches.leftBound.limit,n,`left`);e.constrainRoot(l[0],GE(e.branches.leftBound)),e.branches.leftBound=null},qE=(e,t,n)=>`Comparator ${n===`left`?LE[e]:e} must be ${n===`left`?`preceded`:`followed`} by a corresponding literal (was ${t})`,JE=e=>{e.scanner.shiftUntilNonWhitespace();let t=e.scanner.shiftUntilLookahead(xE);e.root=e.root.brand(t)},YE=e=>{e.scanner.shiftUntilNonWhitespace();let t=e.scanner.shiftUntilLookahead(xE),n=ux(t,{errorOnFail:XE(t)});n===0&&e.error(XE(0)),e.root=e.root.constrain(`divisor`,n)},XE=e=>`% operator must be followed by a non-zero integer literal (was ${e})`,ZE=e=>{let t=e.scanner.shift();return t===``?e.finalize(``):t===`[`?e.scanner.shift()===`]`?e.setRoot(e.root.array()):e.error($E):t===`|`?e.scanner.lookahead===`>`?e.shiftedBy(1).pushRootToBranch(`|>`):e.pushRootToBranch(t):t===`&`?e.pushRootToBranch(t):t===`)`?e.finalizeGroup():SE(t,e.scanner.unscanned)?e.finalize(t):tb(t,HE)?VE(e,t):t===`%`?YE(e):t===`#`?JE(e):t in Hb?ZE(e):e.error(QE(t))},QE=(e,t=``)=>`'${e}' is not allowed here${t&&` (should be ${t})`}`,$E=`Missing expected ']'`,eD=e=>{let t=e.unsetRoot();e.parseOperand();let n=e.unsetRoot();return n.hasKind(`unit`)?[t,`=`,n.unit instanceof Date?()=>new Date(n.unit):n.unit]:e.error(tD(n.expression))},tD=e=>`Default value '${e}' must be a literal value`,nD=(e,t)=>{let n=t.$.maybeResolveRoot(e);if(n)return n;if(e.endsWith(`[]`)){let n=t.$.maybeResolveRoot(e.slice(0,-2));if(n)return n.array()}let r=new oD(new Mx(e),t),i=rD(r);return r.finalizer===`>`&&K(QE(`>`)),i},rD=e=>{e.parseOperand();let t=iD(e).root;return t?(e.finalizer===`=`?t=eD(e):e.finalizer===`?`&&(t=[t,`?`]),e.scanner.shiftUntilNonWhitespace(),e.scanner.lookahead&&K(QE(e.scanner.lookahead)),t):Yy(`Root was unexpectedly unset after parsing string '${e.scanner.scanned}'`)},iD=e=>{for(;e.finalizer===void 0;)aD(e);return e},aD=e=>e.hasRoot()?e.parseOperator():e.parseOperand(),oD=class e{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(e,t){this.scanner=e,this.ctx=t}error(e){return K(e)}hasRoot(){return this.root!==void 0}setRoot(e){this.root=e}unsetRoot(){let e=this.root;return this.root=void 0,e}constrainRoot(...e){this.root=this.root.constrain(e[0],e[1])}finalize(e){if(this.groups.length)return this.error(Px(`)`));this.finalizeBranches(),this.finalizer=e}reduceLeftBound(e,t){let n=LE[t];if(!tb(n,FE))return this.error(zE(t));if(this.branches.leftBound)return this.error(BE(this.branches.leftBound.limit,this.branches.leftBound.comparator,e,n));this.branches.leftBound={comparator:n,limit:e}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch(`|>`),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch(`|`),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch(`&`),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let e=this.groups.pop();if(!e)return this.error(Nx(`)`,this.scanner.unscanned));this.branches=e}addPrefix(e){this.branches.prefixes.push(e)}applyPrefixes(){for(;this.branches.prefixes.length;){let e=this.branches.prefixes.pop();this.root=e===`keyof`?this.root.keyof():Yy(`Unexpected prefix '${e}'`)}}pushRootToBranch(e){this.assertRangeUnset(),this.applyPrefixes();let t=this.root;this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(t)??t,e!==`&`&&(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,e!==`|`&&(this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null))}parseUntilFinalizer(){return iD(new e(this.scanner,this.ctx))}parseOperator(){return ZE(this)}parseOperand(){return PE(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(RE(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?`&`:this.branches.union?`|`:this.branches.pipe?`|>`:void 0)}shiftedBy(e){return this.scanner.jumpForward(e),this}},sD=`An empty string is not a valid generic parameter name`,cD=(e,t,n)=>{e.shiftUntilNonWhitespace();let r=e.shiftUntilLookahead(xE);return r===``?e.lookahead===``&&t.length?t:K(sD):(e.shiftUntilNonWhitespace(),uD(e,r,t,n))},lD=`extends `,uD=(e,t,n,r)=>{if(e.shiftUntilNonWhitespace(),e.unscanned.startsWith(lD))e.jumpForward(8);else return e.lookahead===`,`&&e.shift(),n.push(t),cD(e,n,r);let i=iD(new oD(e,r));return n.push([t,i.root]),cD(e,n,r)},dD=class extends Nb{constructor(e){let t=(...t)=>{let n=t.indexOf(`:`),r=n===-1?t.length-1:n-1,i=t.slice(0,r+1),a=e.parse(i).assertHasKind(`intersection`),o=e.intrinsic.unknown;if(n!==-1){if(n!==t.length-2)return K(pD);o=e.parse(t[n+1])}return e=>new fD(e,a,o)};super(t,{attach:{$:e,raw:t}})}},fD=class extends Nb{raw;params;returns;expression;constructor(e,t,n){let r=`typed ${e.name}`,i={[r]:(...r)=>{let i=e(...t.assert(r));return n.assert(i)}}[r];super(i),this.raw=e,this.params=t,this.returns=n;let a=t.expression;a[0]===`[`&&a[a.length-1]===`]`?a=a.slice(1,-1):a.endsWith(`[]`)&&(a=`...${a}`),this.expression=`(${a}) => ${n?.expression??`unknown`}`}},pD=`":" must be followed by exactly one return type e.g:
|
|
39
|
+
fn("string", ":", "number")(s => s.length)`,mD=class extends Nb{$;constructor(e){super((...t)=>new hD(e)(...t),{bind:e}),this.$=e}in(e){return new hD(this.$,e===void 0?void 0:this.$.parse(e))}at(e,t){return new hD(this.$).at(e,t)}case(e,t){return new hD(this.$).case(e,t)}},hD=class extends Nb{$;in;key;branches=[];constructor(e,t){super(e=>this.caseEntries(Object.entries(e).map(([e,t])=>e==="default"?[e,t]:[this.$.parse(e),t]))),this.$=e,this.in=t}at(e,t){return this.key&&K(vD),this.branches.length&&K(_D),this.key=e,t?this.match(t):this}case(e,t){return this.caseEntry(this.$.parse(e),t)}caseEntry(e,t){let n=(this.key?this.$.parse({[this.key]:e}):e).pipe(t);return this.branches.push(n),this}match(e){return this(e)}strings(e){return this.caseEntries(Object.entries(e).map(([e,t])=>e==="default"?[e,t]:[this.$.node(`unit`,{unit:e}),t]))}caseEntries(e){for(let t=0;t<e.length;t++){let[n,r]=e[t];if(n==="default")return t!==e.length-1&&K(`default may only be specified as the last key of a switch definition`),this.default(r);if(typeof r!=`function`)return K(`Value for case "${n}" must be a function (was ${Gy(r)})`);this.caseEntry(n,r)}return this}default(e){typeof e==`function`&&this.case(eE.unknown,e);let t={branches:this.branches,ordered:!0};(e===`never`||e===`assert`)&&(t.meta={onFail:gD});let n=this.$.node(`union`,t);if(!this.in)return this.$.finalize(n);let r=this.in.pipe(n);return(e===`never`||e===`assert`)&&(r=r.configureReferences({onFail:gD},`self`)),this.$.finalize(r)}},gD=e=>e.throw(),_D=`A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')`,vD=`At most one key matcher may be specified per expression`,yD=(e,t)=>{if(xb(e)){if(e[1]===`=`)return[t.$.parseOwnDefinitionFormat(e[0],t),`=`,e[2]];if(e[1]===`?`)return[t.$.parseOwnDefinitionFormat(e[0],t),`?`]}return nO(e,t)},bD=`Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`,xD=`Only required keys may specify default values, e.g. { value: 'number = 0' }`,SD=(e,t)=>{let n,r={},i=lb(e);for(let[e,a]of i){let i=ED(e);if(i.kind===`spread`){if(!cb(r))return K(TD);let e=t.$.parseOwnDefinitionFormat(a,t);if(e.equals(eE.object))continue;if(!e.hasKind(`intersection`)||!e.basis?.equals(eE.object))return K(DD(e.expression));n=e.structure;continue}if(i.kind===`undeclared`){a!==`reject`&&a!==`delete`&&a!==`ignore`&&K(wD(a)),r.undeclared=a;continue}let o=yD(a,t),s=i;if(i.kind===`required`){xb(o)?CD(r,`optional`,o[1]===`=`?{key:i.normalized,value:o[0],default:o[2]}:{key:i.normalized,value:o[0]},t):CD(r,`required`,{key:i.normalized,value:o},t);continue}if(xb(o)&&(o[1]===`?`&&K(bD),o[1]===`=`&&K(xD)),i.kind===`optional`){CD(r,`optional`,{key:i.normalized,value:o},t);continue}let c=yT(t.$.parseOwnDefinitionFormat(s.normalized,t),o,t.$);c.index&&(r.index=Ry(r.index,c.index)),c.required&&(r.required=Ry(r.required,c.required))}let a=t.$.node(`structure`,r);return t.$.parseSchema({domain:`object`,structure:n?.merge(a)??a})},CD=(e,t,n,r)=>{e[t]=Ry(e[t],r.$.node(t,n))},wD=e=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${xx(e)})`,TD=`Spread operator may only be used as the first key in an object`,ED=e=>typeof e==`symbol`?{kind:`required`,normalized:e}:e[e.length-1]===`?`?e[e.length-2]===`\\`?{kind:`required`,normalized:`${e.slice(0,-2)}?`}:{kind:`optional`,normalized:e.slice(0,-1)}:e[0]===`[`&&e[e.length-1]===`]`?{kind:`index`,normalized:e.slice(1,-1)}:e[0]===`\\`&&e[1]===`[`&&e[e.length-1]===`]`?{kind:`required`,normalized:e.slice(1)}:e===`...`?{kind:`spread`}:e===`+`?{kind:`undeclared`}:{kind:`required`,normalized:e===`\\...`?`...`:e===`\\+`?`+`:e},DD=e=>`Spread operand must resolve to an object literal type (was ${e})`,OD=(e,t)=>HD(e)?VD[e[0]](e,t):BD(e)?zD[e[1]](e,t):null,kD=(e,t)=>t.$.parseOwnDefinitionFormat(e[1],t).keyof(),AD=(e,t)=>{if(e[2]===void 0)return K(ME(e[1],``));let n=t.$.parseOwnDefinitionFormat(e[0],t),r=t.$.parseOwnDefinitionFormat(e[2],t);if(e[1]===`|`)return t.$.node(`union`,{branches:[n,r]});let i=e[1]===`&`?zS(n,r,t.$):BS(n,r,t.$);return i instanceof J?i.throw():i},jD=(e,t)=>t.$.parseOwnDefinitionFormat(e[0],t).array(),MD=(e,t)=>typeof e[2]==`function`?t.$.parseOwnDefinitionFormat(e[0],t).pipe(e[2]):K(ND(`=>`,e[2])),ND=(e,t)=>`${e===`:`?`Narrow`:`Morph`} expression requires a function following '${e}' (was ${typeof t})`,PD=(e,t)=>typeof e[2]==`function`?t.$.parseOwnDefinitionFormat(e[0],t).constrain(`predicate`,e[2]):K(ND(`:`,e[2])),FD=(e,t)=>t.$.parseOwnDefinitionFormat(e[0],t).configure(e[2],e[3]),ID=e=>e,LD=ID({"[]":jD,"?":()=>K(yE)}),RD=ID({"|":AD,"&":AD,":":PD,"=>":MD,"|>":AD,"@":FD,"=":()=>K(bE)}),zD={...LD,...RD},BD=e=>zD[e[1]]!==void 0,VD=(e=>e)({keyof:kD,instanceof:(e,t)=>{if(typeof e[1]!=`function`)return K(UD(bb(e[1])));let n=e.slice(1).map(e=>typeof e==`function`?t.$.node(`proto`,{proto:e}):K(UD(bb(e))));return n.length===1?n[0]:t.$.node(`union`,{branches:n})},"===":(e,t)=>t.$.units(e.slice(1))}),HD=e=>VD[e[0]]!==void 0,UD=e=>`Expected a constructor following 'instanceof' operator (was ${e})`,WD=(e,t)=>{let n=[{}],r=0;for(;r<e.length;){let i=!1;e[r]===`...`&&r<e.length-1&&(i=!0,r++);let a=yD(e[r],t),[o,s,c]=xb(a)?a:[a];if(r++,i){if(!o.extends(q.intrinsic.Array))return K(XD(o.expression));n=n.flatMap(e=>o.distribute(t=>YD(Kx(e),t)))}else n=n.map(e=>s===`?`?KD(e,o):s===`=`?qD(e,o,c):GD(e,o))}return t.$.parseSchema(n.map(e=>cb(e)?{proto:Array,exactLength:0}:{proto:Array,sequence:e}))},GD=(e,t)=>e.defaultables||e.optionals?K(e.variadic?nT:QD):(e.variadic?e.postfix=Ry(e.postfix,t):e.prefix=Ry(e.prefix,t),e),KD=(e,t)=>e.variadic?K($D):(e.optionals=Ry(e.optionals,t),e),qD=(e,t,n)=>e.variadic?K($D):e.optionals?K(eO):(e.defaultables=Ry(e.defaultables,[[t,n]]),e),JD=(e,t)=>(e.postfix&&K(ZD),e.variadic?e.variadic.equals(t)||K(ZD):e.variadic=t.internal,e),YD=(e,t)=>{let n=t.select({method:`find`,kind:`sequence`});if(!n)return JD(e,q.intrinsic.unknown);if(n.prefix)for(let t of n.prefix)GD(e,t);if(n.optionals)for(let t of n.optionals)KD(e,t);if(n.variadic&&JD(e,n.variadic),n.postfix)for(let t of n.postfix)GD(e,t);return e},XD=e=>`Spread element must be an array (was ${e})`,ZD=`A tuple may have at most one variadic element`,QD=`A required element may not follow an optional element`,$D=`An optional element may not follow a variadic element`,eO=`A defaultable element may not follow an optional element without a default`,tO={},nO=(e,t)=>{if(typeof e==`string`){if(t.args&&Object.keys(t.args).some(t=>e.includes(t)))return nD(e,t);let n=tO[t.$.name]??={};return n[e]??=nD(e,t)}return Wy(e,`object`)?rO(e,t):K(oO(Gy(e)))},rO=(e,t)=>{let n=yb(e);switch(n){case void 0:return Jx(e,`root`)?e:`~standard`in e?iO(e,t):SD(e,t);case`Array`:return aO(e,t);case`RegExp`:return t.$.node(`intersection`,{domain:`string`,pattern:e},{prereduced:!0});case`Function`:{let t=jb(e)?e():e;return Jx(t,`root`)?t:K(oO(`Function`))}default:return K(oO(n??xx(e)))}},iO=(e,t)=>t.$.intrinsic.unknown.pipe((t,n)=>{let r=e[`~standard`].validate(t);if(!r.issues)return r.value;for(let{message:e,path:t}of r.issues)t&&t.length?n.error({problem:Rb(e),relativePath:t.map(e=>typeof e==`object`?e.key:e)}):n.error({message:e})}),aO=(e,t)=>OD(e,t)??WD(e,t),oO=e=>`Type definitions must be strings or objects (was ${e})`,sO=class extends Nb{constructor(e){let t=Object.assign({errors:bS,hkt:Fb,$:e,raw:e.parse,module:e.constructor.module,scope:e.constructor.scope,declare:e.declare,define:e.define,match:e.match,generic:e.generic,schema:e.schema,keywords:e.ambient,unit:e.unit,enumerated:e.enumerated,instanceOf:e.instanceOf,valueOf:e.valueOf,or:e.or,and:e.and,merge:e.merge,pipe:e.pipe,fn:e.fn},e.ambientAttachments);super((...t)=>{if(t.length===1)return e.parse(t[0]);if(t.length===2&&typeof t[0]==`string`&&t[0][0]===`<`&&t[0][t[0].length-1]===`>`){let n=t[0].slice(1,-1);return new nC(e.parseGenericParams(n,{}),t[1],e,e,null)}return e.parse(t)},{attach:t})}},cO=q,lO=class e extends IT{get ambientAttachments(){if(cO.typeAttachments)return this.cacheGetter(`ambientAttachments`,$y(cO.typeAttachments,(e,t)=>[e,this.bindReference(t)]))}preparseOwnAliasEntry(e,t){let n=e.indexOf(`<`);if(n===-1){if(Jx(t,`module`)||Jx(t,`generic`))return[e,t];let n=this.name===`ark`?e:e===`root`?this.name:`${this.name}.${e}`,r=this.resolvedConfig.keywords?.[n];return r&&(t=[t,`@`,r]),[e,t]}e[e.length-1]!==`>`&&K(`'>' must be the last character of a generic declaration in a scope`);let r=e.slice(0,n),i=e.slice(n+1,-1);return[r,()=>eC(this.parseGenericParams(i,{alias:r}),t,this)]}parseGenericParams(e,t){return cD(new Mx(e),[],this.createParseContext({...t,def:e,prefix:`generic`}))}normalizeRootScopeValue(e){return jb(e)&&!Jx(e,`generic`)?e():e}preparseOwnDefinitionFormat(e,t){return{...t,def:e,prefix:t.alias??`type`}}parseOwnDefinitionFormat(e,t){!(t.alias&&t.alias in this.aliases)&&!t.args&&(t.args={this:t.id});let n=nO(e,t);if(xb(n)){if(n[1]===`=`)return K(bE);if(n[1]===`?`)return K(yE)}return n}unit=e=>this.units([e]);valueOf=e=>this.units(pb(e));enumerated=(...e)=>this.units(e);instanceOf=e=>this.node(`proto`,{proto:e},{prereduced:!0});or=(...e)=>this.schema(e.map(e=>this.parse(e)));and=(...e)=>e.reduce((e,t)=>e.and(this.parse(t)),this.intrinsic.unknown);merge=(...e)=>e.reduce((e,t)=>e.merge(this.parse(t)),this.intrinsic.object);pipe=(...e)=>this.intrinsic.unknown.pipe(...e);fn=new dD(this);match=new mD(this);declare=()=>({type:this.type});define(e){return e}type=new sO(this);static scope=((t,n={})=>new e(t,n));static module=((e,t={})=>this.scope(e,t).export())},uO=Object.assign(lO.scope,{define:e=>e}),dO=lO,fO=class extends Fb{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'},pO=YT([`base`,eE.object],[`props`,eE.object])(e=>e.base.merge(e.props),fO),mO=dO.module({Key:eE.key,Merge:pO}),hO=class extends Fb{},gO=YT(`element`)(e=>{let t=e.element.exclude(eE.Array),n=t.array();return t.rawOr(n).pipe(Ny).distribute(e=>e.assertHasKind(`morph`).declareOut(n),qT)},hO),_O=dO.module({root:eE.Array,readonly:`root`,index:eE.nonNegativeIntegerString,liftFrom:gO},{name:`Array`}),vO=qT([`string`,px.FileConstructor]),yO=qT({meta:`an object representing parsed form data`,domain:`object`,index:{signature:`string`,value:vO.rawOr(vO.array())}}),bO=dO.module({root:[`instanceof`,FormData],value:vO,parsed:yO,parse:qT({in:FormData,morphs:e=>{let t={};for(let[n,r]of e)if(n in t){let e=t[n];typeof e==`string`||e instanceof px.FileConstructor?t[n]=[e,r]:e.push(r)}else t[n]=r;return t},declaredOut:yO})},{name:`FormData`}),xO=dO.module({Int8:[`instanceof`,Int8Array],Uint8:[`instanceof`,Uint8Array],Uint8Clamped:[`instanceof`,Uint8ClampedArray],Int16:[`instanceof`,Int16Array],Uint16:[`instanceof`,Uint16Array],Int32:[`instanceof`,Int32Array],Uint32:[`instanceof`,Uint32Array],Float32:[`instanceof`,Float32Array],Float64:[`instanceof`,Float64Array],BigInt64:[`instanceof`,BigInt64Array],BigUint64:[`instanceof`,BigUint64Array]},{name:`TypedArray`}),SO={Boolean:1,Number:1,String:1},CO=dO.module({...$y({...mb,...gb},(e,t)=>e in SO?[]:[e,[`instanceof`,t]]),Array:_O,TypedArray:xO,FormData:bO}),wO=qT({domain:{domain:`number`,meta:`a number representing a Unix timestamp`},divisor:{rule:1,meta:`an integer representing a Unix timestamp`},min:{rule:-864e13,meta:`a Unix timestamp after -8640000000000000`},max:{rule:864e13,meta:`a Unix timestamp before 8640000000000000`},meta:`an integer representing a safe Unix timestamp`}),TO=qT({domain:`number`,divisor:1}),EO=dO.module({root:eE.number,integer:TO,epoch:wO,safe:qT({domain:{domain:`number`,numberAllowsNaN:!1},min:-(2**53-1),max:2**53-1}),NaN:[`===`,NaN],Infinity:[`===`,1/0],NegativeInfinity:[`===`,-1/0]},{name:`number`}),DO=(e,t,n)=>{let r={domain:`string`,pattern:{rule:e.source,flags:e.flags,meta:t}};return n&&(r.meta={format:n}),JT(`intersection`,r)},OO=DO($b,`a well-formed integer string`),kO=dO.module({root:OO,parse:qT({in:OO,morphs:(e,t)=>{let n=Number.parseInt(e);return Number.isSafeInteger(n)?n:t.error(`an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER`)},declaredOut:eE.integer})},{name:`string.integer`}),AO=DO(/^[\dA-Fa-f]+$/,`hex characters only`),jO=dO.module({root:DO(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,`base64-encoded`),url:DO(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,`base64url-encoded`)},{name:`string.base64`}),MO=DO(/^[A-Z].*$/,`capitalized`),NO=dO.module({root:qT({in:`string`,morphs:e=>e.charAt(0).toUpperCase()+e.slice(1),declaredOut:MO}),preformatted:MO},{name:`string.capitalize`}),PO=qT({domain:`string`,pattern:{meta:`a credit card number`,rule:`^(?:4\\d{12}(?:\\d{3,6})?|5[1-5]\\d{14}|(222[1-9]|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}|6(?:011|5\\d\\d)\\d{12,15}|3[47]\\d{13}|3(?:0[0-5]|[68]\\d)\\d{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27]\\d{14}|^(81\\d{14,17}))$`},predicate:{meta:`a credit card number`,predicate:e=>{let t=e.replace(/[ -]+/g,``),n=0,r,i,a=!1;for(let e=t.length-1;e>=0;e--)r=t.substring(e,e+1),i=Number.parseInt(r,10),a?(i*=2,n+=i>=10?i%10+1:i):n+=i,a=!a;return!!(n%10==0&&t)}}}),FO=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,IO=qT({domain:`string`,predicate:{meta:`a parsable date`,predicate:e=>!Number.isNaN(new Date(e).valueOf())}}).assertHasKind(`intersection`),LO=kO.root.internal.narrow((e,t)=>{let n=Number.parseInt(e),r=EO.epoch(n);return r instanceof bS?(t.errors.merge(r),!1):!0}).configure({description:`an integer string representing a safe Unix timestamp`},`self`).assertHasKind(`intersection`),RO=dO.module({root:LO,parse:qT({in:LO,morphs:e=>new Date(e),declaredOut:eE.Date})},{name:`string.date.epoch`}),zO=DO(FO,`an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date`).internal.assertHasKind(`intersection`),BO=dO.module({root:zO,parse:qT({in:zO,morphs:e=>new Date(e),declaredOut:eE.Date})},{name:`string.date.iso`}),VO=dO.module({root:IO,parse:qT({declaredIn:IO,in:`string`,morphs:(e,t)=>{let n=new Date(e);return Number.isNaN(n.valueOf())?t.error(`a parsable date`):n},declaredOut:eE.Date}),iso:BO,epoch:RO},{name:`string.date`}),HO=DO(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,`an email address`,`email`),UO=`(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])`,WO=`(${UO}[.]){3}${UO}`,GO=RegExp(`^${WO}$`),KO=`(?:[0-9a-fA-F]{1,4})`,qO=RegExp(`^((?:${KO}:){7}(?:${KO}|:)|(?:${KO}:){6}(?:${WO}|:${KO}|:)|(?:${KO}:){5}(?::${WO}|(:${KO}){1,2}|:)|(?:${KO}:){4}(?:(:${KO}){0,1}:${WO}|(:${KO}){1,3}|:)|(?:${KO}:){3}(?:(:${KO}){0,2}:${WO}|(:${KO}){1,4}|:)|(?:${KO}:){2}(?:(:${KO}){0,3}:${WO}|(:${KO}){1,5}|:)|(?:${KO}:){1}(?:(:${KO}){0,4}:${WO}|(:${KO}){1,6}|:)|(?::((?::${KO}){0,5}:${WO}|(?::${KO}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?\$`),JO=dO.module({root:[`v4 | v6`,`@`,`an IP address`],v4:DO(GO,`an IPv4 address`,`ipv4`),v6:DO(qO,`an IPv6 address`,`ipv6`)},{name:`string.ip`}),YO=`a JSON string`,XO=e=>{if(!(e instanceof SyntaxError))throw e;return`must be ${YO} (${e})`},ZO=qT({meta:YO,domain:`string`,predicate:{meta:YO,predicate:(e,t)=>{try{return JSON.parse(e),!0}catch(e){return t.reject({code:`predicate`,expected:YO,problem:XO(e)})}}}}),QO=dO.module({root:ZO,parse:qT({meta:`safe JSON string parser`,in:`string`,morphs:(e,t)=>{if(e.length===0)return t.error({code:`predicate`,expected:YO,actual:`empty`});try{return JSON.parse(e)}catch(e){return t.error({code:`predicate`,expected:YO,problem:XO(e)})}},declaredOut:eE.jsonObject})},{name:`string.json`}),$O=DO(/^[a-z]*$/,`only lowercase letters`),ek=dO.module({root:qT({in:`string`,morphs:e=>e.toLowerCase(),declaredOut:$O}),preformatted:$O},{name:`string.lower`}),tk=[`NFC`,`NFD`,`NFKC`,`NFKD`],nk=$y(tk,(e,t)=>[t,qT({domain:`string`,predicate:e=>e.normalize(t)===e,meta:`${t}-normalized unicode`})]),rk=$y(tk,(e,t)=>[t,qT({in:`string`,morphs:e=>e.normalize(t),declaredOut:nk[t]})]),ik=dO.module({root:rk.NFC,preformatted:nk.NFC},{name:`string.normalize.NFC`}),ak=dO.module({root:rk.NFD,preformatted:nk.NFD},{name:`string.normalize.NFD`}),ok=dO.module({root:rk.NFKC,preformatted:nk.NFKC},{name:`string.normalize.NFKC`}),sk=dO.module({root:rk.NFKD,preformatted:nk.NFKD},{name:`string.normalize.NFKD`}),ck=dO.module({root:`NFC`,NFC:ik,NFD:ak,NFKC:ok,NFKD:sk},{name:`string.normalize`}),lk=DO(Xb,`a well-formed numeric string`),uk=dO.module({root:lk,parse:qT({in:lk,morphs:e=>Number.parseFloat(e),declaredOut:eE.number})},{name:`string.numeric`}),dk=`a regex pattern`,fk=qT({domain:`string`,predicate:{meta:dk,predicate:(e,t)=>{try{return new RegExp(e),!0}catch(e){return t.reject({code:`predicate`,expected:dk,problem:String(e)})}}},meta:{format:`regex`}}),pk=DO(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,`a semantic version (see https://semver.org/)`),mk=DO(/^\S.*\S$|^\S?$/,`trimmed`),hk=dO.module({root:qT({in:`string`,morphs:e=>e.trim(),declaredOut:mk}),preformatted:mk},{name:`string.trim`}),gk=DO(/^[A-Z]*$/,`only uppercase letters`),_k=dO.module({root:qT({in:`string`,morphs:e=>e.toUpperCase(),declaredOut:gk}),preformatted:gk},{name:`string.upper`}),vk=qT({domain:`string`,predicate:{meta:`a URL string`,predicate:e=>URL.canParse(e)},meta:{format:`uri`}}),yk=dO.module({root:vk,parse:qT({declaredIn:vk,in:`string`,morphs:(e,t)=>{try{return new URL(e)}catch{return t.error(`a URL string`)}},declaredOut:qT(URL)})},{name:`string.url`}),bk=dO.module({root:[`versioned | nil | max`,`@`,{description:`a UUID`,format:`uuid`}],"#nil":`'00000000-0000-0000-0000-000000000000'`,"#max":`'ffffffff-ffff-ffff-ffff-ffffffffffff'`,"#versioned":/^[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,v1:DO(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv1`),v2:DO(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv2`),v3:DO(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv3`),v4:DO(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv4`),v5:DO(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv5`),v6:DO(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv6`),v7:DO(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv7`),v8:DO(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv8`)},{name:`string.uuid`}),xk=dO.module({root:eE.string,alpha:DO(/^[A-Za-z]*$/,`only letters`),alphanumeric:DO(/^[\dA-Za-z]*$/,`only letters and digits 0-9`),hex:AO,base64:jO,capitalize:NO,creditCard:PO,date:VO,digits:DO(/^\d*$/,`only digits 0-9`),email:HO,integer:kO,ip:JO,json:QO,lower:ek,normalize:ck,numeric:uk,regex:fk,semver:pk,trim:hk,upper:_k,url:yk,uuid:bk},{name:`string`}),Sk=dO.module({bigint:eE.bigint,boolean:eE.boolean,false:eE.false,never:eE.never,null:eE.null,number:eE.number,object:eE.object,string:eE.string,symbol:eE.symbol,true:eE.true,unknown:eE.unknown,undefined:eE.undefined}),Ck=dO.module({root:eE.unknown,any:eE.unknown},{name:`unknown`}),wk=dO.module({root:eE.jsonObject,stringify:JT(`morph`,{in:eE.jsonObject,morphs:e=>JSON.stringify(e),declaredOut:eE.string})},{name:`object.json`}),Tk=dO.module({root:eE.object,json:wk},{name:`object`}),Ek=class extends Fb{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'},Dk=YT([`K`,eE.key],`V`)(e=>({domain:`object`,index:{signature:e.K,value:e.V}}),Ek),Ok=class extends Fb{description='pick a set of properties from an object like `Pick(User, "name | age")`'},kk=YT([`T`,eE.object],[`K`,eE.key])(e=>e.T.pick(e.K),Ok),Ak=class extends Fb{description='omit a set of properties from an object like `Omit(User, "age")`'},jk=YT([`T`,eE.object],[`K`,eE.key])(e=>e.T.omit(e.K),Ak),Mk=class extends Fb{description="make all named properties of an object optional like `Partial(User)`"},Nk=YT([`T`,eE.object])(e=>e.T.partial(),Mk),Pk=class extends Fb{description="make all named properties of an object required like `Required(User)`"},Fk=YT([`T`,eE.object])(e=>e.T.required(),Pk),Ik=class extends Fb{description='exclude branches of a union like `Exclude("boolean", "true")`'},Lk=YT(`T`,`U`)(e=>e.T.exclude(e.U),Ik),Rk=class extends Fb{description='extract branches of a union like `Extract("0 | false | 1", "number")`'},zk=YT(`T`,`U`)(e=>e.T.extract(e.U),Rk),Bk=dO.module({Exclude:Lk,Extract:zk,Omit:jk,Partial:Nk,Pick:kk,Record:Dk,Required:Fk}),Vk=uO({...Sk,...Bk,...CO,...mO,string:xk,number:EO,object:Tk,unknown:Ck},{prereducedAliases:!0,name:`ark`}),Hk=Vk.export();Object.assign(cO.ambient,Hk),cO.typeAttachments={string:Hk.string.root,number:Hk.number.root,bigint:Hk.bigint,boolean:Hk.boolean,symbol:Hk.symbol,undefined:Hk.undefined,null:Hk.null,object:Hk.object.root,unknown:Hk.unknown.root,false:Hk.false,true:Hk.true,never:Hk.never,arrayIndex:Hk.Array.index,Key:Hk.Key,Record:Hk.Record,Array:Hk.Array.root,Date:Hk.Date};var Y=Object.assign(Vk.type,cO.typeAttachments);Vk.match,Vk.fn,Vk.generic,Vk.schema,Vk.define,Vk.declare;var Uk=Y(`"local" | "lan" | /^\\d{1,3}(?:\\.\\d{1,3}){3}$/`);function Wk(e){let t=Uk(e);return t instanceof Y.errors?null:t}var Gk=Y(`1 <= number.integer <= 65535 | null`),Kk=Y({enabled:`boolean = true`,maxRetries:`number.integer >= 0 = 3`,baseDelayMs:`number >= 0 = 1000`,factor:`number >= 1 = 2`,maxDelayMs:`number >= 0 = 30000`,resetAfterMs:`number >= 0 = 60000`}).onUndeclaredKey(`reject`),qk=Y({path:`string = "/"`,method:`"GET" | "HEAD" = "GET"`,expectStatus:`number.integer | null?`,expectStatusBelow:`number.integer = 400`,expectBody:`string = ""`}).onUndeclaredKey(`reject`),Jk=Y({maxRssBytes:`number.integer >= 0 = 0`}).onUndeclaredKey(`reject`),Yk=Y({enabled:`boolean = true`,mode:`"port" | "http" = "port"`,http:qk.default(()=>({})),intervalMs:`number >= 500 = 5000`,timeoutMs:`number >= 100 = 1500`,unhealthyThreshold:`number.integer >= 1 = 3`,forceRestartAfterMs:`number >= 0 = 0`,startTimeoutMs:`number >= 0 = 20000`}).onUndeclaredKey(`reject`),Xk=Y({signal:`"SIGTERM" | "SIGINT" | "SIGKILL" = "SIGTERM"`,killGroup:`boolean = true`,graceMs:`number >= 0 = 5000`,killPortHolders:`boolean = false`}).onUndeclaredKey(`reject`),Zk=Y({command:`string`,args:Y(`string[]`).default(()=>[]),env:Y(`Record<string, string>`).default(()=>({})),timeoutMs:`number >= 1000 = 120000`,runOnce:`boolean = true`}).onUndeclaredKey(`reject`).or(Y(`null`)),Qk=Y(`50 <= number.integer <= 100000`),$k=Y({id:`/^[a-z0-9][a-z0-9_-]*$/`,label:`string?`,enabled:`boolean = true`,autostart:`boolean = false`,command:`string >= 1`,args:Y(`string[]`).default(()=>[]),cwd:`string = "."`,env:Y(`Record<string, string>`).default(()=>({})),dataEnvs:Y(`Record<string, string>`).default(()=>({})),bootstrap:Zk.optional(),port:Gk.optional(),bind:Uk.default(()=>`local`),onPortConflict:`"block" | "warn" | "follow" | "reclaim" = "block"`,restart:Kk.default(()=>({})),health:Yk.default(()=>({})),stop:Xk.default(()=>({})),logBufferLines:Qk.default(()=>500),dependsOn:Y(`string[]`).default(()=>[]),envFile:`string = ""`,resources:Jk.default(()=>({})),backupPaths:Y(`string[]`).default(()=>[])}).onUndeclaredKey(`reject`),eA=Y({enabled:`boolean = true`,sessionTtlMs:`number >= 60000 = 604800000`,cookieSecure:`"auto" | "always" | "never" = "auto"`,trustProxy:`boolean = false`,maxLoginAttempts:`number.integer >= 1 = 5`,lockoutMs:`number >= 1000 = 60000`}).onUndeclaredKey(`reject`);Y({telegram:Y({enabled:`boolean = false`,chatId:`string = ""`,onCrash:`boolean = true`,onUnhealthy:`boolean = true`,onForcedRestart:`boolean = true`,onRecovered:`boolean = false`,onHost:`boolean = true`,cooldownMs:`number >= 0 = 120000`}).onUndeclaredKey(`reject`).default(()=>({}))}).onUndeclaredKey(`reject`);var tA=Y({persist:`boolean = true`,maxBytes:`10000 <= number <= 100000000 = 2000000`,keep:`1 <= number.integer <= 10 = 3`}).onUndeclaredKey(`reject`),nA=Y({enabled:`boolean = false`}).onUndeclaredKey(`reject`);Y({enabled:`boolean = true`,intervalMs:`number >= 5000 = 15000`,diskPaths:Y(`string[]`).default(()=>[`.`]),diskUsedPercent:`number >= 0 = 90`,memoryUsedPercent:`number >= 0 = 90`,swapUsedPercent:`number >= 0 = 50`,loadPerCpu:`number >= 0 = 2`,tempCelsius:`number >= 0 = 85`}).onUndeclaredKey(`reject`),Y({enabled:`boolean = true`,dir:`string = ".backups"`,keep:`number.integer >= 1 = 5`,includePaths:Y(`string[]`).default(()=>[])}).onUndeclaredKey(`reject`),Y({label:`1 <= string <= 60 = "home-hosted"`,port:`1 <= number.integer <= 65535 = 3999`,host:Uk.default(()=>`local`),openBrowser:`boolean = false`,auth:eA.default(()=>({})),tls:nA.default(()=>({}))}).onUndeclaredKey(`reject`);var rA=Y({enabled:`boolean = true`,autostart:`boolean = false`,bind:Uk.default(()=>`local`),onPortConflict:`"block" | "warn" | "follow" | "reclaim" = "block"`,restart:Kk.default(()=>({})),health:Yk.default(()=>({})),stop:Xk.default(()=>({})),logBufferLines:Qk.default(()=>500)}).onUndeclaredKey(`reject`),iA=Y({enabled:`boolean?`,maxRetries:`number.integer >= 0?`,baseDelayMs:`number >= 0?`,factor:`number >= 1?`,maxDelayMs:`number >= 0?`,resetAfterMs:`number >= 0?`}).onUndeclaredKey(`reject`),aA=Y({path:`string?`,method:`"GET" | "HEAD"?`,expectStatus:`number.integer | null?`,expectStatusBelow:`number.integer?`,expectBody:`string?`}).onUndeclaredKey(`reject`),oA=Y({maxRssBytes:`number.integer >= 0?`}).onUndeclaredKey(`reject`),sA=Y({enabled:`boolean?`,mode:`"port" | "http"?`,http:aA.optional(),intervalMs:`number >= 500?`,timeoutMs:`number >= 100?`,unhealthyThreshold:`number.integer >= 1?`,forceRestartAfterMs:`number >= 0?`,startTimeoutMs:`number >= 0?`}).onUndeclaredKey(`reject`),cA=Y({signal:`"SIGTERM" | "SIGINT" | "SIGKILL"?`,killGroup:`boolean?`,graceMs:`number >= 0?`,killPortHolders:`boolean?`}).onUndeclaredKey(`reject`),lA=Y({enabled:`boolean?`,sessionTtlMs:`number >= 60000?`,cookieSecure:`"auto" | "always" | "never"?`,trustProxy:`boolean?`,maxLoginAttempts:`number.integer >= 1?`,lockoutMs:`number >= 1000?`}).onUndeclaredKey(`reject`),uA=Y({telegram:Y({enabled:`boolean?`,chatId:`string?`,onCrash:`boolean?`,onUnhealthy:`boolean?`,onForcedRestart:`boolean?`,onRecovered:`boolean?`,onHost:`boolean?`,cooldownMs:`number >= 0?`}).onUndeclaredKey(`reject`).optional()}).onUndeclaredKey(`reject`),dA=Y({enabled:`boolean?`,intervalMs:`number >= 5000?`,diskPaths:Y(`string[]`).optional(),diskUsedPercent:`number >= 0?`,memoryUsedPercent:`number >= 0?`,swapUsedPercent:`number >= 0?`,loadPerCpu:`number >= 0?`,tempCelsius:`number >= 0?`}).onUndeclaredKey(`reject`),fA=Y({enabled:`boolean?`,dir:`string?`,keep:`number.integer >= 1?`,includePaths:Y(`string[]`).optional()}).onUndeclaredKey(`reject`),pA=Y({persist:`boolean?`,maxBytes:`10000 <= number <= 100000000?`,keep:`1 <= number.integer <= 10?`}).onUndeclaredKey(`reject`),mA=Y({enabled:`boolean?`}).onUndeclaredKey(`reject`),hA=Y({label:`1 <= string <= 60?`,port:`1 <= number.integer <= 65535?`,host:Uk.optional(),openBrowser:`boolean?`,auth:lA.optional(),tls:mA.optional()}).onUndeclaredKey(`reject`),gA=Y({enabled:`boolean?`,autostart:`boolean?`,bind:Uk.optional(),onPortConflict:`"block" | "warn" | "follow" | "reclaim"?`,restart:iA.optional(),health:sA.optional(),stop:cA.optional(),logBufferLines:Qk.optional()}).onUndeclaredKey(`reject`),_A={label:`string?`,enabled:`boolean?`,autostart:`boolean?`,command:`string?`,args:`string[]?`,cwd:`string?`,env:`Record<string, string>?`,dataEnvs:`Record<string, string>?`,bootstrap:Zk.optional(),port:Gk.optional(),bind:Uk.optional(),onPortConflict:`"block" | "warn" | "follow" | "reclaim"?`,restart:iA.optional(),health:sA.optional(),stop:cA.optional(),logBufferLines:Qk.optional(),dependsOn:Y(`string[]`).optional(),envFile:`string?`,resources:oA.optional(),backupPaths:Y(`string[]`).optional()},vA=Y(_A).onUndeclaredKey(`reject`);Y({id:`/^[a-z0-9][a-z0-9_-]*$/`,..._A,command:`string`}).onUndeclaredKey(`reject`);var yA=Y({control:hA.optional(),defaults:gA.optional(),logs:pA.optional(),notifications:uA.optional(),host:dA.optional(),backups:fA.optional()}).onUndeclaredKey(`reject`),bA=Y({enabled:`boolean`,passwordSet:`boolean`,passwordUpdatedAt:`number | null`,apiTokenSet:`boolean?`,usingDefaultPassword:`boolean`,exposed:`boolean`,blockedReason:`string | null`,sessionTtlMs:`number`,cookieSecure:`string`,trustProxy:`boolean`,maxLoginAttempts:`number`,lockoutMs:`number`}),xA=Y({enabled:`boolean`,certPresent:`boolean`,subject:`string | null`,issuer:`string | null`,validFrom:`string | null`,validTo:`string | null`,daysRemaining:`number | null`,fingerprint:`string | null`,keyMatches:`boolean | null`,error:`string | null`}),SA=Y({telegram:Y({enabled:`boolean`,tokenSet:`boolean`,chatId:`string`,onCrash:`boolean`,onUnhealthy:`boolean`,onForcedRestart:`boolean`,onRecovered:`boolean`,onHost:`boolean`,cooldownMs:`number`,lastResult:`string | null`,lastResultAt:`number | null`})});Y({authenticated:`boolean`,authRequired:`boolean`,passwordSet:`boolean`,apiTokenSet:`boolean?`,usingDefaultPassword:`boolean`,defaultPassword:`string | null`,sessionTtlMs:`number`});var CA=Y({password:`string`}).onUndeclaredKey(`reject`),wA=Y(`1 <= string <= 512`),TA=Y({currentPassword:`string?`,newPassword:wA}).onUndeclaredKey(`reject`),EA=Y(`"stopped" | "starting" | "running" | "stopping" | "backoff" | "crashed" | "conflict"`),DA=Y(`"disabled" | "unknown" | "healthy" | "unhealthy"`),OA=Y(`"unknown" | "free" | "in-use"`),kA=Y({ts:`number`,stream:Y(`"stdout" | "stderr" | "system"`),text:`string`}),AA=Y({windowMs:`number`,uptimeRatio:`number | null`,restarts:`number`,crashes:`number`,forcedRestarts:`number`,lastCrashAt:`number | null`,lastExitAt:`number | null`,lastRuntimeMs:`number | null`,events:Y({serverId:`string`,ts:`number`,type:`"start" | "exit" | "crash" | "forced-restart" | "unhealthy" | "recovered"`,detail:`string`,runtimeMs:`number?`}).array()}),jA=Y({cpuPercent:`number | null`,rssBytes:`number | null`,processes:`number`,sampledAt:`number`}),MA=Y({path:`string`,totalBytes:`number`,freeBytes:`number`,usedPercent:`number`}),NA=Y({enabled:`boolean`,cpus:`number`,loadAvg:Y(`number[]`),uptimeMs:`number`,memoryUsedPercent:`number`,swapUsedPercent:`number`,tempCelsius:`number | null`,disks:MA.array(),alerts:Y(`string[]`),sampledAt:`number | null`}),PA=Y({name:`string`,sizeBytes:`number`,createdAt:`number`,encrypted:`boolean`}),FA=Y({path:`string`,origin:`string`,included:`boolean`,note:`string | null`}),IA=Y({enabled:`boolean`,dir:`string`,keep:`number`,includePaths:Y(`string[]`),paths:FA.array(),files:PA.array()});Y({dryRun:`boolean`,encrypted:`boolean`,needsPassword:`boolean`,items:Y({id:`string`,label:`string`,kind:`"config" | "secrets" | "tls" | "data"`,restorable:`boolean`,selected:`boolean`,note:`string | null`}).array(),applied:Y(`string[]`),skipped:Y(`string[]`),restartRequired:`boolean`,reloaded:`boolean`,error:`string?`}),Y({password:wA.optional()}).onUndeclaredKey(`reject`),Y({name:`string?`,password:wA.optional(),include:Y(`string[]`).optional()}).onUndeclaredKey(`reject`);var LA=Y({id:`string`,config:$k,bindHost:`string`,url:`string | null`,status:EA,health:DA,portState:OA,pid:`number | null`,adopted:`boolean?`,startedAt:`number | null`,exitCode:`number | null`,exitSignal:`string | null`,restarts:`number`,maxRetries:`number`,lastError:`string | null`,nextRetryAt:`number | null`,unhealthySince:`number | null`,bufferedLines:`number`,history:AA,responseMs:`number | null`,resources:jA.or(Y(`null`))}),RA=Y({control:Y({label:`string`,port:`number`,host:`string`,bindHost:`string`,url:`string`,openBrowser:`boolean`,restartRequired:`boolean`,protocol:`string`,auth:bA,tls:xA}),defaults:rA,logs:tA,notifications:SA,host:NA,backups:IA,configPath:`string`,configError:`string | null`,projectDir:`string`,dataRoot:`string`,logsDir:`string`,servers:LA.array()}),zA=Y({type:`"hello" | "state" | "log" | "server"`,ts:`number`,serverId:`string?`,state:RA.optional(),server:LA.optional(),lines:kA.array().optional()});Y({limit:`string?`}),Y({ok:`boolean`,port:`number | null`,terminated:`number[]`,forced:`number[]`,skipped:`number[]`,free:`boolean`}),Y({tail:`string?`,search:`string?`,stream:`"stdout" | "stderr" | "system"?`});var BA=Y({servers:Y({serverId:`string`,label:`string`,status:EA,enabled:`boolean`,sizeBytes:`number`,files:Y({name:`string`,sizeBytes:`number`}).array()}).array()}),VA=Y({serverId:`string`,enabled:`boolean`,sizeBytes:`number`,files:Y(`string[]`),searched:`number | null`,lines:kA.array()});Y({botToken:`string?`,chatId:`string?`}).onUndeclaredKey(`reject`),Y({botToken:`string >= 1`}).onUndeclaredKey(`reject`),Y({message:`string`,code:`string`,detail:`unknown`}).onUndeclaredKey(`reject`),Y({custom:`boolean`,dir:`string`,meta:Y({name:`string`,version:`string | null`,uploadedAt:`number`,files:`number.integer >= 1`}).or(Y(`null`))}),Y({certificate:`string >= 1`,privateKey:`string >= 1`}).onUndeclaredKey(`reject`);var HA=/^[\w!#$%&'*.^`|~+-]+$/,UA=(e,t,n={})=>{if(!HA.test(e))throw Error(`Invalid cookie name`);let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},WA=(e,t,n)=>(t=encodeURIComponent(t),UA(e,t,n)),GA=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),KA=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??(?=/|$)`);e=e.replace(t,()=>r?`/${r}`:``)}return e},qA=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0){if(Array.isArray(r))for(let e of r)e!==void 0&&t.append(n,e);else t.set(n,r)}return t},JA=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},YA=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function XA(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ZA(e,t){if(!XA(e)&&!XA(t))return t;let n={...e};for(let e in t){let r=t[e];n[e]=XA(n[e])&&XA(r)?ZA(n[e],r):r}return n}var QA=(e,t)=>new Proxy(()=>{},{get(n,r){if(typeof r==`string`&&r!==`then`)return QA(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),$A=(e,t)=>{let n=t.toString();return n?`${e}?${n}`:e},ej=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0){if(Array.isArray(r))for(let e of r)e!==void 0&&t.append(n,e);else t.append(n,r)}this.rBody=t}e.json!==void 0&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))r!==void 0&&t.push(WA(n,r));t.length>0&&(r.Cookie=t.join(`; `))}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers;for(let[e,t]of Object.entries(r))t!==void 0&&i.set(e,t);let a=this.url;a=YA(a),a=KA(a,this.pathParams),this.queryParams&&(a=$A(a,this.queryParams)),n=this.method.toUpperCase();let o=n!==`GET`&&n!==`HEAD`;return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},tj=((e,t)=>QA(function n(r){let i=t?.buildSearchParams??qA,a=[...r.path],o=a.slice(-3).reverse();if(o[0]===`toString`)return o[1]===`name`?o[2]||``:n.toString();if(o[0]===`valueOf`)return o[1]===`name`?o[2]||``:n;let s=``;if(/^\$/.test(o[0])){let e=a.pop();e&&(s=e.replace(/^\$/,``))}let c=GA(e,a.join(`/`));if(s===`url`||s===`path`){let t=YA(c);return r.args[0]&&(r.args[0].param&&(t=KA(t,r.args[0].param)),r.args[0].query&&(t=$A(t,i(r.args[0].query)))),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=YA(c),n=JA(r.args[0]?.param?KA(e,r.args[0].param):e,`ws`),a=new URL(n),o=r.args[0]?.query;return o&&i(o).forEach((e,t)=>{a.searchParams.append(t,e)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(a.toString())}let l=new ej(c,s,{buildSearchParams:i});if(s){t??={};let e={...r.args[1]},n=t.headers,i=e.headers;n&&i&&(e.headers=async()=>({...typeof n==`function`?await n():n,...typeof i==`function`?await i():i}));let a=ZA(t,e);return l.fetch(r.args[0],a)}return l},[]))(typeof window>`u`?`http://127.0.0.1`:window.location.origin),nj=class extends Error{name=`AuthRequiredError`;constructor(){super(`authentication required`)}};function rj(e){return typeof e==`object`&&!!e}async function ij(e,t){let n=await fetch(e,{...t,headers:{"Content-Type":`application/json`,...t?.headers}}),r=await n.text(),i=r.length>0?JSON.parse(r):null;if(!n.ok){if(n.status===401&&rj(i)&&i.code===`AUTH_REQUIRED`)throw new nj;let e=rj(i)&&typeof i.message==`string`?i.message:rj(i)&&`error`in i?String(i.error):`request failed with ${n.status}`;throw Error(e)}return i}async function aj(){let e=RA(await ij(`/api/state`));if(e instanceof Y.errors)throw Error(`state contract mismatch: ${e.summary}`);return e}function oj(){return ij(`/api/auth/session`)}function sj(e){let t=CA({password:e});if(t instanceof Y.errors)throw Error(t.summary);return ij(`/api/auth/login`,{method:`POST`,body:JSON.stringify(t)})}function cj(){return ij(`/api/auth/logout`,{method:`POST`})}function lj(e,t){let n=TA(e===void 0?{newPassword:t}:{currentPassword:e,newPassword:t});if(n instanceof Y.errors)throw Error(n.summary);return ij(`/api/auth/password`,{method:`POST`,body:JSON.stringify(n)})}function uj(){return ij(`/api/auth/password`,{method:`DELETE`})}function dj(){return ij(`/api/settings`)}function fj(e){let t=yA(e);if(t instanceof Y.errors)throw Error(t.summary);return ij(`/api/settings`,{method:`PATCH`,body:JSON.stringify(t)})}async function pj(){let e=BA(await ij(`/api/logs`));if(e instanceof Y.errors)throw Error(`logs contract mismatch: ${e.summary}`);return e.servers}async function mj(e,t){let n=new URLSearchParams;t.tail!==void 0&&n.set(`tail`,String(t.tail)),t.search!==void 0&&t.search.length>0&&n.set(`search`,t.search),t.stream!==void 0&&t.stream.length>0&&n.set(`stream`,t.stream);let r=VA(await ij(`/api/logs/${encodeURIComponent(e)}?${n.toString()}`));if(r instanceof Y.errors)throw Error(`log history contract mismatch: ${r.summary}`);return r}function hj(e){return ij(`/api/logs/${encodeURIComponent(e)}`,{method:`DELETE`})}function gj(e,t){return`/api/logs/${encodeURIComponent(e)}/download?file=${encodeURIComponent(t)}`}function _j(e){return ij(`/api/backups`,{method:`POST`,body:JSON.stringify(e===void 0||e.length===0?{}:{password:e})})}function vj(e){return ij(`/api/backups/${encodeURIComponent(e)}`,{method:`DELETE`})}function yj(e){return`/api/backups/${encodeURIComponent(e)}/download`}function bj(e){let t={};return e.password!==void 0&&e.password.length>0&&(t.password=e.password),e.include!==void 0&&(t.include=e.include),t}function xj(e,t,n={}){return ij(`/api/backups/restore?confirm=${t}`,{method:`POST`,body:JSON.stringify({name:e,...bj(n)})})}async function Sj(e,t,n={}){let r=new FormData;r.append(`file`,e),n.password!==void 0&&n.password.length>0&&r.append(`password`,n.password),n.include!==void 0&&r.append(`include`,JSON.stringify(n.include));let i=await fetch(`/api/backups/restore?confirm=${t}`,{method:`POST`,body:r}),a=await i.json().catch(()=>null);if(!i.ok)throw Error(a?.error??`restore failed with ${i.status}`);return a}function Cj(e){return ij(`/api/notifications/token`,{method:`PUT`,body:JSON.stringify({botToken:e})})}function wj(){return ij(`/api/notifications/token`,{method:`DELETE`})}function Tj(e){return ij(`/api/notifications/test`,{method:`POST`,body:JSON.stringify(e)})}function Ej(e){return ij(`/api/notifications/detect-chats`,{method:`POST`,body:JSON.stringify(e)})}async function Dj(e){let t=new FormData;t.append(`file`,e);let n=await fetch(`/api/settings/ui`,{method:`POST`,body:t}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.message??r?.error??`the upload failed with ${n.status}`);return r}function Oj(){return ij(`/api/settings/ui`,{method:`DELETE`})}function kj(e,t){return ij(`/api/settings/tls`,{method:`POST`,body:JSON.stringify({certificate:e,privateKey:t})})}function Aj(){return ij(`/api/settings/tls`,{method:`DELETE`})}async function jj(e,t){let n=await tj.api.servers[`:id`][t].$post({param:{id:e}}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.message??`request failed with ${n.status}`);return r??{ok:!0}}function Mj(){return ij(`/api/servers/start-all`,{method:`POST`})}async function Nj(e){let t=await tj.api.servers[`:id`][`free-port`].$post({param:{id:e}}),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.message??`request failed with ${t.status}`);return n??{ok:!0,port:null,terminated:[],forced:[],skipped:[],free:!1}}function Pj(){return ij(`/api/servers/stop-all`,{method:`POST`})}function Fj(e){return ij(`/api/servers/${encodeURIComponent(e)}/clear-logs`,{method:`POST`})}function Ij(e,t){return ij(`/api/servers/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)})}function Lj(e){return ij(`/api/servers/${encodeURIComponent(e)}`,{method:`DELETE`})}function Rj(e){return ij(`/api/servers`,{method:`POST`,body:JSON.stringify(e)})}var zj=j(null),Bj=j(null);function Vj(){async function e(){try{zj.value=await oj()}catch{zj.value=null}}async function t(e){Bj.value=null;try{return zj.value=await sj(e),!0}catch(e){return Bj.value=e instanceof Error?e.message:String(e),!1}}async function n(){try{await cj()}finally{await e()}}function r(){zj.value={authenticated:!1,authRequired:!0,passwordSet:zj.value?.passwordSet??!0,apiTokenSet:zj.value?.apiTokenSet??!1,usingDefaultPassword:zj.value?.usingDefaultPassword??!1,defaultPassword:zj.value?.defaultPassword??null,sessionTtlMs:zj.value?.sessionTtlMs??0}}async function i(t,n){Bj.value=null;try{return await lj(t,n),await e(),null}catch(e){return e instanceof Error?e.message:String(e)}}async function a(){Bj.value=null;try{return await uj(),await e(),null}catch(e){return e instanceof Error?e.message:String(e)}}return{session:nn(zj),error:nn(Bj),refresh:e,login:t,logout:n,requireLogin:r,setPassword:i,clearPassword:a}}var Hj=j([]),Uj=1;function Wj(e){Hj.value=Hj.value.filter(t=>t.id!==e)}function Gj(e,t=4800){let n=Uj++;return Hj.value=[...Hj.value,{...e,id:n}],t>0&&setTimeout(Wj,t,n),n}function Kj(){return{toasts:nn(Hj),dismiss:Wj,push:Gj,success:(e,t)=>Gj({tone:`ok`,title:e,description:t}),failure:(e,t)=>Gj({tone:`danger`,title:e,description:t},9e3),info:(e,t)=>Gj({tone:`info`,title:e,description:t}),warn:(e,t)=>Gj({tone:`warn`,title:e,description:t},7e3)}}var qj=4e3;function Jj(){return en({ts:[],cpu:[],rss:[],probe:[],lastSampledAt:-1})}function Yj(e){let t=e.ts.length-120;t<=0||(e.ts.splice(0,t),e.cpu.splice(0,t),e.rss.splice(0,t),e.probe.splice(0,t))}function Xj(e,t,n){let r=t.resources?.sampledAt??0,i=e.ts[e.ts.length-1]??0;if(!(r!==e.lastSampledAt||n-i>=qj)){e.probe.length>0&&(e.probe[e.probe.length-1]=t.responseMs);return}e.lastSampledAt=r,e.ts.push(n);let a=t.status===`running`;e.cpu.push(a?t.resources?.cpuPercent??null:null),e.rss.push(a?t.resources?.rssBytes??null:null),e.probe.push(t.responseMs),Yj(e)}function Zj(e){let t=0;for(let n of e)n!==null&&n>t&&(t=n);return t}function Qj(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n!=null)return n}return null}var $j=8e3,eM=j(null),tM=j(`connecting`),nM=j(null),rM=j(Date.now()),iM=new Map,aM=Kj(),oM=new Map,sM=j(0),cM=null,lM=null;function uM(e){let t=oM.get(e);if(t)return t;let n={lines:[],version:j(0),refs:0,source:null};return oM.set(e,n),n}function dM(e,t){let n=uM(e),r=n.lines.concat(t);n.lines=r.length>8e3?r.slice(r.length-$j):r,n.version.value+=1,sM.value+=1}function fM(e){return oM.get(e)?.lines??[]}function pM(e){let t=oM.get(e);t&&(t.lines=[],t.version.value+=1,sM.value+=1)}function mM(e){let t=iM.get(e);if(t)return t;let n=Jj();return iM.set(e,n),n}function hM(e){Xj(mM(e.id),e,Date.now())}function gM(e){let t=eM.value;if(!t)return;let n=t.servers.findIndex(t=>t.id===e.id);n===-1?t.servers.push(e):t.servers[n]=e}function _M(e){let t;try{t=JSON.parse(e)}catch{return}let n=zA(t);if(n instanceof Y.errors){console.warn(`[home-hosted] ignored malformed SSE frame`,n.summary);return}if(n.type===`hello`||n.type===`state`){if(n.state){eM.value=n.state;for(let e of eM.value.servers)hM(e)}return}if(n.type===`server`&&n.server){let e=n.server;gM(e),hM(e);return}n.type===`log`&&n.serverId&&n.lines&&dM(n.serverId,n.lines)}function vM(e,t){let n=new EventSource(`/api/servers/${encodeURIComponent(e)}/stream`),r=e=>_M(e.data);for(let e of[`log`,`server`])n.addEventListener(e,r);n.onerror=()=>{},t.source=n}function yM(e){let t=uM(e);t.refs+=1,t.source||vM(e,t)}function bM(e){let t=oM.get(e);t&&(t.refs=Math.max(0,t.refs-1),t.refs===0&&(t.source?.close(),t.source=null))}function xM(){if(cM)return;lM??=setInterval(()=>{rM.value=Date.now()},1e3);let e=new EventSource(`/api/events?logs=0`);cM=e,tM.value=`connecting`,e.onopen=()=>{tM.value=`open`},e.onerror=()=>{tM.value=`closed`};for(let t of[`hello`,`state`,`server`,`log`])e.addEventListener(t,e=>{_M(e.data)})}function SM(){cM?.close(),cM=null,lM&&clearInterval(lM),lM=null}function CM(e){let t=W(()=>vn(e)),n=null;return Ar(t,e=>{n!==null&&n!==e&&bM(n),n=e,e!==null&&e.length>0&&yM(e)},{immediate:!0}),ze(()=>{n!==null&&bM(n),n=null}),{version:W(()=>{let e=t.value;return sM.value,e===null?0:oM.get(e)?.version.value??0}),lines(){let e=t.value;return e===null?[]:fM(e)},count:W(()=>{let e=t.value;return sM.value,e===null?0:oM.get(e)?.lines.length??0}),clear(){let e=t.value;e!==null&&pM(e)}}}function wM(){let e=W(()=>eM.value?.servers??[]),t=W(()=>eM.value?.control??null),n=W(()=>eM.value?.defaults??null),r=W(()=>eM.value?.host??null),i=W(()=>eM.value?.backups??null),a=W(()=>eM.value?.notifications??null),o=W(()=>eM.value?.logs??null),s=W(()=>eM.value?.configError??null);function c(e){return eM.value?.servers.find(t=>t.id===e)}function l(e){return mM(e)}async function u(e,t){nM.value=null;try{let n=await e();eM.value=await aj();let r=typeof t.success==`function`?t.success(n):t.success;return r&&aM.success(r),n}catch(e){if(e instanceof nj){Vj().requireLogin();return}let n=e instanceof Error?e.message:String(e);nM.value=n,aM.failure(t.title,n);return}}return{appState:nn(eM),servers:e,control:t,defaults:n,host:r,backups:i,notifications:a,logsConfig:o,configError:s,connection:nn(tM),lastError:nn(nM),now:nn(rM),serverById:c,seriesOf:l,refresh:(e=`Refresh failed`)=>u(async()=>{},{title:e}),start:e=>u(()=>jj(e,`start`),{title:`Could not start ${e}`}),stop:e=>u(()=>jj(e,`stop`),{title:`Could not stop ${e}`}),restart:e=>u(()=>jj(e,`restart`),{title:`Could not restart ${e}`}),startAll:()=>u(()=>Mj(),{title:`Could not start every server`,success:`Starting every enabled server`}),stopAll:()=>u(()=>Pj(),{title:`Could not stop every server`,success:`Stopping every server`}),setAutostart:(e,t)=>u(()=>Ij(e,{autostart:t}),{title:`Could not change autostart for ${e}`}),setEnabled:(e,t)=>u(()=>Ij(e,{enabled:t}),{title:`Could not change ${e}`}),freePort:e=>u(()=>Nj(e),{title:`Could not free the port for ${e}`,success:t=>t.free?`Port ${t.port} is free — start ${e} now`:`Port ${t.port} is still held`}),setBind:(e,t)=>{let n=Wk(t);return n===null?(aM.failure(`Could not change the bind for ${e}`,`"${t}" is not a bind value`),Promise.resolve(void 0)):u(()=>Ij(e,{bind:n}),{title:`Could not change the bind for ${e}`})},saveConfig:(e,t)=>u(()=>Ij(e,t),{title:`Could not save ${e}`,success:`${e} updated`}),saveSettings:e=>u(()=>fj(e),{title:`Could not save the settings`}),clearLogs:e=>u(async()=>{await Fj(e),pM(e)},{title:`Could not clear the logs for ${e}`,success:`Buffer cleared`}),create:e=>u(()=>Rj(e),{title:`Could not add the server`,success:`Server added`}),remove:e=>u(async()=>{await Lj(e),bM(e),oM.delete(e),iM.delete(e)},{title:`Could not remove ${e}`,success:`${e} removed`})}}var TM=`hh.theme`;function EM(){try{let e=localStorage.getItem(TM);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var DM=j(EM()),OM=j(typeof matchMedia<`u`&&matchMedia(`(prefers-color-scheme: dark)`).matches),kM=!1;function AM(){kM||typeof matchMedia>`u`||(kM=!0,matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,e=>{OM.value=e.matches,MM()}))}var jM=W(()=>DM.value===`system`?OM.value:DM.value===`dark`);function MM(){typeof document<`u`&&document.documentElement.classList.toggle(`dark`,jM.value)}function NM(){AM(),MM();function e(e){DM.value=e;try{localStorage.setItem(TM,e)}catch{}MM()}return{preference:DM,isDark:jM,setPreference:e,cycle(){e(DM.value===`light`?`dark`:DM.value===`dark`?`system`:`light`)}}}function PM(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=PM(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function FM(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=PM(e))&&(r&&(r+=` `),r+=t);return r}var IM=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},LM=(e,t)=>({classGroupId:e,validator:t}),RM=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zM=`-`,BM=[],VM=`arbitrary..`,HM=e=>{let t=GM(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return WM(e);let n=e.split(zM);return UM(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?IM(i,t):t:i||BM}return n[e]||BM}}},UM=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=UM(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(zM):e.slice(t).join(zM),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},WM=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?VM+r:void 0})(),GM=e=>{let{theme:t,classGroups:n}=e;return KM(n,t)},KM=(e,t)=>{let n=RM();for(let r in e){let i=e[r];qM(i,n,r,t)}return n},qM=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];JM(i,t,n,r)}},JM=(e,t,n,r)=>{if(typeof e==`string`){YM(e,t,n);return}if(typeof e==`function`){XM(e,t,n,r);return}ZM(e,t,n,r)},YM=(e,t,n)=>{let r=e===``?t:QM(t,e);r.classGroupId=n},XM=(e,t,n,r)=>{if($M(e)){qM(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(LM(n,e))},ZM=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];qM(o,QM(t,a),n,r)}},QM=(e,t)=>{let n=e,r=t.split(zM),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=RM(),n.nextPart.set(t,i)),n=i}return n},$M=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,eN=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},tN=`!`,nN=`:`,rN=[],iN=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),aN=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===nN){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(tN)?(c=s.slice(0,-1),l=!0):s.startsWith(tN)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return iN(t,l,c,u)};if(t){let e=t+nN,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):iN(rN,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},oN=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sN=e=>({cache:eN(e.cacheSize),parseClassName:aN(e),sortModifiers:oN(e),postfixLookupClassGroupIds:cN(e),...HM(e)}),cN=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},lN=/\s+/,uN=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(lN),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+tN:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},dN=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=fN(n))&&(i&&(i+=` `),i+=r);return i},fN=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=fN(e[r]))&&(n&&(n+=` `),n+=t);return n},pN=(e,...t)=>{let n,r,i,a,o=o=>(n=sN(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=uN(e,n);return i(e,a),a};return a=o,(...e)=>a(dN(...e))},mN=[],hN=e=>{let t=t=>t[e]||mN;return t.isThemeGetter=!0,t.themeKey=e,t},gN=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_N=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vN=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,yN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bN=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xN=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,SN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,CN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wN=e=>vN.test(e),TN=e=>!!e&&!Number.isNaN(Number(e)),EN=e=>!!e&&Number.isInteger(Number(e)),DN=e=>e.endsWith(`%`)&&TN(e.slice(0,-1)),ON=e=>yN.test(e),kN=()=>!0,AN=e=>bN.test(e)&&!xN.test(e),jN=()=>!1,MN=e=>SN.test(e),NN=e=>CN.test(e),PN=e=>!X(e)&&!Z(e),FN=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),IN=e=>ZN(e,tP,jN),X=e=>gN.test(e),LN=e=>ZN(e,nP,AN),RN=e=>ZN(e,rP,TN),zN=e=>ZN(e,aP,kN),BN=e=>ZN(e,iP,jN),VN=e=>ZN(e,$N,jN),HN=e=>ZN(e,eP,NN),UN=e=>ZN(e,oP,MN),Z=e=>_N.test(e),WN=e=>QN(e,nP),GN=e=>QN(e,iP),KN=e=>QN(e,$N),qN=e=>QN(e,tP),JN=e=>QN(e,eP),YN=e=>QN(e,oP,!0),XN=e=>QN(e,aP,!0),ZN=(e,t,n)=>{let r=gN.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},QN=(e,t,n=!1)=>{let r=_N.exec(e);return r?r[1]?t(r[1]):n:!1},$N=e=>e===`position`||e===`percentage`,eP=e=>e===`image`||e===`url`,tP=e=>e===`length`||e===`size`||e===`bg-size`,nP=e=>e===`length`,rP=e=>e===`number`,iP=e=>e===`family-name`,aP=e=>e===`number`||e===`weight`,oP=e=>e===`shadow`,sP=pN(()=>{let e=hN(`color`),t=hN(`font`),n=hN(`text`),r=hN(`font-weight`),i=hN(`tracking`),a=hN(`leading`),o=hN(`breakpoint`),s=hN(`container`),c=hN(`spacing`),l=hN(`radius`),u=hN(`shadow`),d=hN(`inset-shadow`),f=hN(`text-shadow`),p=hN(`drop-shadow`),m=hN(`blur`),h=hN(`perspective`),g=hN(`aspect`),_=hN(`ease`),v=hN(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,X],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,X,c],T=()=>[wN,`full`,`auto`,...w()],ee=()=>[EN,`none`,`subgrid`,Z,X],E=()=>[`auto`,{span:[`full`,EN,Z,X]},EN,Z,X],te=()=>[EN,`auto`,Z,X],ne=()=>[`auto`,`min`,`max`,`fr`,Z,X],re=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ie=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ae=()=>[`auto`,...w()],oe=()=>[wN,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],se=()=>[s,wN,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ce=()=>[wN,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],D=()=>[e,Z,X],le=()=>[...b(),KN,VN,{position:[Z,X]}],ue=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],de=()=>[`auto`,`cover`,`contain`,qN,IN,{size:[Z,X]}],fe=()=>[DN,WN,LN],pe=()=>[``,`none`,`full`,l,Z,X],me=()=>[``,TN,WN,LN],he=()=>[`solid`,`dashed`,`dotted`,`double`],ge=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],_e=()=>[TN,DN,KN,VN],ve=()=>[``,`none`,m,Z,X],ye=()=>[`none`,TN,Z,X],be=()=>[`none`,TN,Z,X],O=()=>[TN,Z,X],xe=()=>[wN,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[ON],breakpoint:[ON],color:[kN],container:[ON],"drop-shadow":[ON],ease:[`in`,`out`,`in-out`],font:[PN],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[ON],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[ON],shadow:[ON],spacing:[`px`,TN],text:[ON],"text-shadow":[ON],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,wN,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[FN],columns:[{columns:[TN,`auto`,X,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[EN,`auto`,Z,X]}],basis:[{basis:[wN,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[TN,wN,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,TN,Z,X]}],shrink:[{shrink:[``,TN,Z,X]}],order:[{order:[EN,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":te()}],"col-end":[{"col-end":te()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":te()}],"row-end":[{"row-end":te()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...re(),`normal`]}],"justify-items":[{"justify-items":[...ie(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ie()]}],"align-content":[{content:[`normal`,...re()]}],"align-items":[{items:[...ie(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ie(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...ie(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ie()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:ae()}],mx:[{mx:ae()}],my:[{my:ae()}],ms:[{ms:ae()}],me:[{me:ae()}],mbs:[{mbs:ae()}],mbe:[{mbe:ae()}],mt:[{mt:ae()}],mr:[{mr:ae()}],mb:[{mb:ae()}],ml:[{ml:ae()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:oe()}],"inline-size":[{inline:[`auto`,...se()]}],"min-inline-size":[{"min-inline":[`auto`,...se()]}],"max-inline-size":[{"max-inline":[`none`,...se()]}],"block-size":[{block:[`auto`,...ce()]}],"min-block-size":[{"min-block":[`auto`,...ce()]}],"max-block-size":[{"max-block":[`none`,...ce()]}],w:[{w:[s,`screen`,...oe()]}],"min-w":[{"min-w":[s,`screen`,`none`,...oe()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...oe()]}],h:[{h:[`screen`,`lh`,...oe()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...oe()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...oe()]}],"font-size":[{text:[`base`,n,WN,LN]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,XN,zN]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,DN,X]}],"font-family":[{font:[GN,BN,t]}],"font-features":[{"font-features":[X]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,X]}],"line-clamp":[{"line-clamp":[TN,`none`,Z,RN]}],leading:[{leading:[`none`,a,...w()]}],"list-image":[{"list-image":[`none`,Z,X]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,X]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...he(),`wavy`]}],"text-decoration-thickness":[{decoration:[TN,`from-font`,`auto`,Z,LN]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[TN,`auto`,Z,X]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[EN,Z,X]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,X]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,X]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:le()}],"bg-repeat":[{bg:ue()}],"bg-size":[{bg:de()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},EN,Z,X],radial:[``,Z,X],conic:[``,EN,Z,X]},JN,HN]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:pe()}],"rounded-s":[{"rounded-s":pe()}],"rounded-e":[{"rounded-e":pe()}],"rounded-t":[{"rounded-t":pe()}],"rounded-r":[{"rounded-r":pe()}],"rounded-b":[{"rounded-b":pe()}],"rounded-l":[{"rounded-l":pe()}],"rounded-ss":[{"rounded-ss":pe()}],"rounded-se":[{"rounded-se":pe()}],"rounded-ee":[{"rounded-ee":pe()}],"rounded-es":[{"rounded-es":pe()}],"rounded-tl":[{"rounded-tl":pe()}],"rounded-tr":[{"rounded-tr":pe()}],"rounded-br":[{"rounded-br":pe()}],"rounded-bl":[{"rounded-bl":pe()}],"border-w":[{border:me()}],"border-w-x":[{"border-x":me()}],"border-w-y":[{"border-y":me()}],"border-w-s":[{"border-s":me()}],"border-w-e":[{"border-e":me()}],"border-w-bs":[{"border-bs":me()}],"border-w-be":[{"border-be":me()}],"border-w-t":[{"border-t":me()}],"border-w-r":[{"border-r":me()}],"border-w-b":[{"border-b":me()}],"border-w-l":[{"border-l":me()}],"divide-x":[{"divide-x":me()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":me()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...he(),`hidden`,`none`]}],"divide-style":[{divide:[...he(),`hidden`,`none`]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...he(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[TN,Z,X]}],"outline-w":[{outline:[``,TN,WN,LN]}],"outline-color":[{outline:D()}],shadow:[{shadow:[``,`inner`,`none`,u,YN,UN]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":[`none`,d,YN,UN]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:me()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[TN,LN]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":me()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":[`none`,f,YN,UN]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[TN,Z,X]}],"mix-blend":[{"mix-blend":[...ge(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[TN]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[TN]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:le()}],"mask-repeat":[{mask:ue()}],"mask-size":[{mask:de()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:ve()}],brightness:[{brightness:[TN,Z,X]}],contrast:[{contrast:[TN,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,YN,UN]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:[``,TN,Z,X]}],"hue-rotate":[{"hue-rotate":[TN,Z,X]}],invert:[{invert:[``,TN,Z,X]}],saturate:[{saturate:[TN,Z,X]}],sepia:[{sepia:[``,TN,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":ve()}],"backdrop-brightness":[{"backdrop-brightness":[TN,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[TN,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,TN,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[TN,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,TN,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[TN,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[TN,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,TN,Z,X]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,X]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[TN,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[TN,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ye()}],"rotate-x":[{"rotate-x":ye()}],"rotate-y":[{"rotate-y":ye()}],"rotate-z":[{"rotate-z":ye()}],scale:[{scale:be()}],"scale-x":[{"scale-x":be()}],"scale-y":[{"scale-y":be()}],"scale-z":[{"scale-z":be()}],"scale-3d":[`scale-3d`],skew:[{skew:O()}],"skew-x":[{"skew-x":O()}],"skew-y":[{"skew-y":O()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:xe()}],"translate-x":[{"translate-x":xe()}],"translate-y":[{"translate-y":xe()}],"translate-z":[{"translate-z":xe()}],"translate-none":[`translate-none`],zoom:[{zoom:[EN,Z,X]}],accent:[{accent:D()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,X]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":D()}],"scrollbar-track-color":[{"scrollbar-track":D()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,X]}],fill:[{fill:[`none`,...D()]}],"stroke-w":[{stroke:[TN,WN,LN,RN]}],stroke:[{stroke:[`none`,...D()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Q(...e){return sP(FM(e))}var cP={stopped:{label:`Stopped`,tone:`neutral`,transitional:!1},starting:{label:`Starting`,tone:`warn`,transitional:!0},running:{label:`Running`,tone:`ok`,transitional:!1},stopping:{label:`Stopping`,tone:`warn`,transitional:!0},backoff:{label:`Restarting`,tone:`warn`,transitional:!0},crashed:{label:`Crashed`,tone:`danger`,transitional:!1},conflict:{label:`Port conflict`,tone:`danger`,transitional:!1}},lP={disabled:{label:`Not checked`,tone:`neutral`},unknown:{label:`Not probed`,tone:`neutral`},healthy:{label:`Healthy`,tone:`ok`},unhealthy:{label:`Unhealthy`,tone:`danger`}},uP={ok:`text-ok`,warn:`text-warn`,danger:`text-danger`,info:`text-info`,neutral:`text-muted`,accent:`text-accent`},dP={ok:`bg-ok-soft text-ok border-ok/25`,warn:`bg-warn-soft text-warn border-warn/25`,danger:`bg-danger-soft text-danger border-danger/25`,info:`bg-info-soft text-info border-info/25`,neutral:`bg-hover text-muted border-line`,accent:`bg-accent-soft text-accent border-accent/25`},fP={ok:`bg-ok`,warn:`bg-warn`,danger:`bg-danger`,info:`bg-info`,neutral:`bg-faint`,accent:`bg-accent`};function pP(e,t){return e===`crashed`||e===`conflict`||t===`unhealthy`?`danger`:e===`starting`||e===`stopping`||e===`backoff`?`warn`:e===`running`?`ok`:`neutral`}var mP={start:`Started`,exit:`Exited`,crash:`Crashed`,"forced-restart":`Forced restart`,unhealthy:`Unhealthy`,recovered:`Recovered`},hP={start:`ok`,exit:`neutral`,crash:`danger`,"forced-restart":`warn`,unhealthy:`warn`,recovered:`info`},gP={class:`flex items-center gap-2.5 border-b border-line px-3.5`},_P={key:0,class:`px-3 py-8 text-center text-xs text-muted`},vP={class:`px-2.5 pb-1 pt-2.5 text-2xs font-medium text-faint`},yP=[`data-active`,`onMousemove`,`onClick`],bP={class:`min-w-0 flex-1 truncate text-sm`},xP={key:0,class:`shrink-0 font-mono text-2xs text-faint`},SP={class:`flex items-center gap-3 border-t border-line bg-panel-2 px-3.5 py-2 text-2xs text-faint`},CP={class:`ml-auto font-mono`},wP=P({__name:`CommandPalette`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:[`update:open`],setup(e){let t=so(e,`open`),n=Rg(),r=wM(),i=NM(),a=j(``),o=j(0),s=j(null),c=j(null);function l(e){n.push(e)}function u(e){e(),t.value=!1}let d=[`stopped`,`crashed`,`conflict`],f=[`running`,`starting`,`backoff`],p=W(()=>{let e=[],t=r.appState.value?.servers??[];for(let n of t){let t=n.config.label??n.id,i=cP[n.status].label;e.push({id:`open:${n.id}`,title:`Open ${t}`,group:`Servers`,icon:by,detail:`${n.id} · ${i}`,keywords:`server detail ${n.id} show`,run:()=>l(`/servers/${n.id}`)}),e.push({id:`logs:${n.id}`,title:`Logs for ${t}`,group:`Servers`,icon:Dy,detail:n.id,keywords:`log tail output ${n.id}`,run:()=>l(`/logs?server=${encodeURIComponent(n.id)}`)}),d.includes(n.status)&&n.config.enabled&&e.push({id:`start:${n.id}`,title:`Start ${t}`,group:`Actions`,icon:fy,detail:n.id,keywords:`run launch ${n.id}`,run:()=>u(()=>void r.start(n.id))}),f.includes(n.status)&&e.push({id:`stop:${n.id}`,title:`Stop ${t}`,group:`Actions`,icon:Ty,detail:n.id,keywords:`halt kill ${n.id}`,run:()=>u(()=>void r.stop(n.id))}),n.config.enabled&&e.push({id:`restart:${n.id}`,title:`Restart ${t}`,group:`Actions`,icon:_y,detail:n.id,keywords:`bounce reload ${n.id}`,run:()=>u(()=>void r.restart(n.id))})}e.push({id:`nav:overview`,title:`Go to Overview`,group:`Navigate`,icon:ty,keywords:`dashboard home`,run:()=>l(`/`)},{id:`nav:servers`,title:`Go to Servers`,group:`Navigate`,icon:by,keywords:`processes list`,run:()=>l(`/servers`)},{id:`nav:logs`,title:`Go to Logs`,group:`Navigate`,icon:vy,keywords:`output files tail`,run:()=>l(`/logs`)},{id:`nav:settings`,title:`Go to Settings`,group:`Navigate`,icon:wy,keywords:`config panel`,run:()=>l(`/settings`)},{id:`act:start-all`,title:`Start every enabled server`,group:`Actions`,icon:fy,keywords:`boot all`,run:()=>u(()=>void r.startAll())},{id:`act:stop-all`,title:`Stop every server`,group:`Actions`,icon:Ty,keywords:`halt all`,run:()=>u(()=>void r.stopAll())});for(let[t,n]of[[`listener`,`Listener`],[`authentication`,`Authentication`],[`password`,`Password`],[`defaults`,`Server defaults`],[`logs`,`Log storage`],[`notifications`,`Telegram notifications`],[`host`,`Host vitals`],[`backups`,`Backups`],[`tls`,`TLS`],[`paths`,`Paths`]])e.push({id:`set:${t}`,title:`Setting: ${n}`,group:`Settings`,icon:wy,keywords:`configure ${t}`,run:()=>l(`/settings?section=${t}`)});let n=[[`light`,`Light`,Ey],[`dark`,`Dark`,cy],[`system`,`System`,sy]];for(let[t,r,a]of n)e.push({id:`theme:${t}`,title:`${r} theme`,group:`Appearance`,icon:a,keywords:`colour color dark light mode appearance`,run:()=>u(()=>i.setPreference(t))});return e}),m=W(()=>{let e=a.value.trim().toLowerCase().split(/\s+/).filter(Boolean);return e.length===0?p.value.slice(0,40):p.value.map(t=>{let n=`${t.title} ${t.detail??``} ${t.keywords??``} ${t.group}`.toLowerCase(),r=0;for(let t of e){let e=n.indexOf(t);if(e===-1)return null;r+=e===0?0:e}return{command:t,score:r}}).filter(e=>e!==null).sort((e,t)=>e.score-t.score).slice(0,40).map(e=>e.command)}),h=W(()=>{let e=new Map;for(let t of m.value){let n=e.get(t.group)??[];n.push(t),e.set(t.group,n)}return[...e.entries()]}),g=W(()=>h.value.flatMap(([,e])=>e));Ar(m,()=>{o.value=0}),Ar(t,async e=>{e&&(a.value=``,o.value=0,await nr(),s.value?.focus())});function _(e){let t=g.value.length;t!==0&&(o.value=(o.value+e+t)%t,nr(()=>{c.value?.querySelector(`[data-active="true"]`)?.scrollIntoView({block:`nearest`})}))}function v(e){e.key===`ArrowDown`?(e.preventDefault(),_(1)):e.key===`ArrowUp`?(e.preventDefault(),_(-1)):e.key===`Enter`&&(e.preventDefault(),g.value[o.value]?.run())}function y(e){(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),t.value=!t.value)}return ta(()=>window.addEventListener(`keydown`,y)),ze(()=>window.removeEventListener(`keydown`,y)),(e,n)=>(L(),z(M(lf),{open:t.value,"onUpdate:open":n[2]||=e=>t.value=e},{default:N(()=>[V(M(Yf),null,{default:N(()=>[V(M(qf),{class:`fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px] data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`}),V(M(Wf),{class:`fixed left-1/2 top-[10vh] z-50 w-[min(94vw,38rem)] -translate-x-1/2 overflow-hidden rounded-panel border border-line bg-panel shadow-float data-[state=open]:animate-[hh-pop-in_150ms_var(--ease-out-quick)]`,onOpenAutoFocus:n[1]||=lu(()=>{},[`prevent`]),onKeydown:v},{default:N(()=>[V(M(Xf),{class:`sr-only`},{default:N(()=>[...n[3]||=[H(` Command palette `,-1)]]),_:1}),B(`div`,gP,[V(M(yy),{class:`size-4 shrink-0 text-faint`}),br(B(`input`,{ref_key:`input`,ref:s,"onUpdate:modelValue":n[0]||=e=>a.value=e,type:`text`,placeholder:`Jump to a server, run an action, open a setting…`,class:`h-12 w-full bg-transparent text-sm text-ink outline-none placeholder:text-faint`,autocomplete:`off`,spellcheck:`false`},null,512),[[Jl,a.value]]),n[4]||=B(`kbd`,{class:`shrink-0 rounded border border-line bg-page px-1.5 py-0.5 font-mono text-2xs text-faint`},`esc`,-1)]),B(`div`,{ref_key:`list`,ref:c,class:`max-h-[min(60vh,26rem)] overflow-y-auto p-1.5`},[g.value.length===0?(L(),R(`p`,_P,` Nothing matches “`+k(a.value)+`”. `,1)):U(``,!0),(L(!0),R(I,null,va(h.value,([e,t])=>(L(),R(I,{key:e},[B(`p`,vP,k(e),1),(L(!0),R(I,null,va(t,e=>(L(),R(`button`,{key:e.id,type:`button`,"data-active":g.value[o.value]?.id===e.id,class:O(M(Q)(`flex w-full items-center gap-2.5 rounded-control px-2.5 py-2 text-left transition-colors duration-100`,g.value[o.value]?.id===e.id?`bg-accent-soft text-ink`:`text-muted hover:bg-hover`)),onMousemove:t=>o.value=g.value.findIndex(t=>t.id===e.id),onClick:t=>e.run()},[(L(),z(ma(e.icon),{class:O([`size-4 shrink-0`,g.value[o.value]?.id===e.id?`text-accent`:`text-faint`])},null,8,[`class`])),B(`span`,bP,k(e.title),1),e.detail?(L(),R(`span`,xP,k(e.detail),1)):U(``,!0),V(M(Lv),{class:O([`size-3.5 shrink-0 text-faint opacity-0 transition-opacity duration-100`,{"opacity-100":g.value[o.value]?.id===e.id}])},null,8,[`class`])],42,yP))),128))],64))),128))],512),B(`div`,SP,[n[5]||=B(`span`,null,[B(`kbd`,{class:`font-mono`},`↑↓`),H(` navigate`)],-1),n[6]||=B(`span`,null,[B(`kbd`,{class:`font-mono`},`↵`),H(` run`)],-1),B(`span`,CP,k(g.value.length)+` results`,1)])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),TP={viewBox:`0 0 80 80`,class:`size-full -rotate-0`},EP=[`stroke-dasharray`],DP=[`stroke-dasharray`],OP={class:`absolute inset-0 grid place-items-center`},kP={class:`font-mono text-sm font-semibold tabular-nums text-ink`},AP={class:`text-2xs font-medium text-faint`},jP=34,MP=.75,NP=P({__name:`Gauge`,props:{value:{},label:{},display:{default:void 0},size:{default:74},tone:{default:void 0},warnAt:{default:75},dangerAt:{default:90}},setup(e){let t=e,n=2*Math.PI*jP,r=W(()=>t.value===null||!Number.isFinite(t.value)?0:Math.min(1,Math.max(0,t.value/100))*MP),i=W(()=>t.tone?t.tone:t.value===null||!Number.isFinite(t.value)?`neutral`:t.value>=t.dangerAt?`danger`:t.value>=t.warnAt?`warn`:`ok`),a={ok:`stroke-ok`,warn:`stroke-warn`,danger:`stroke-danger`,info:`stroke-info`,neutral:`stroke-faint`,accent:`stroke-accent`};return(e,o)=>(L(),R(`div`,{class:O(M(Q)(`flex flex-col items-center gap-1`))},[B(`div`,{class:`relative`,style:ge({width:`${t.size}px`,height:`${t.size}px`})},[(L(),R(`svg`,TP,[B(`circle`,{cx:`40`,cy:`40`,r:jP,fill:`none`,class:`stroke-line-soft`,"stroke-width":6,"stroke-dasharray":`${MP*n} ${n}`,transform:`rotate(135 40 40)`,"stroke-linecap":`round`},null,8,EP),B(`circle`,{cx:`40`,cy:`40`,r:jP,fill:`none`,class:O([a[i.value],`transition-[stroke-dasharray] duration-300 ease-out`]),"stroke-width":6,"stroke-dasharray":`${r.value*n} ${n}`,transform:`rotate(135 40 40)`,"stroke-linecap":`round`},null,10,DP)])),B(`div`,OP,[B(`span`,kP,k(t.display??(t.value===null?`—`:`${Math.round(t.value)}%`)),1)])],4),B(`span`,AP,k(t.label),1)],2))}}),PP={class:`rounded-panel border border-line bg-panel-2/70 p-3`},FP={class:`mb-2 flex items-center justify-between`},IP={key:0,class:`text-2xs text-faint`},LP={key:0,class:`grid grid-cols-2 gap-x-1 gap-y-2`},RP={key:1,class:`py-3 text-center text-2xs text-faint`},zP={key:2,class:`mt-2 flex items-start gap-1.5 rounded-control bg-danger-soft px-2 py-1.5`},BP={class:`text-2xs leading-4 text-danger`},VP=2,HP=85,UP=P({__name:`InstrumentCluster`,props:{host:{}},setup(e){let t=e,n=W(()=>{let e=t.host;return e?(e.loadAvg[0]??0)/Math.max(1,e.cpus):null}),r=W(()=>n.value===null?null:n.value/VP*100),i=W(()=>n.value===null?`—`:n.value.toFixed(2)),a=W(()=>{let e=t.host?.disks??[];return e.length===0?null:Math.max(...e.map(e=>e.usedPercent))}),o=W(()=>{let e=t.host?.tempCelsius??null;return e===null?null:e/HP*100}),s=W(()=>{let e=t.host?.tempCelsius??null;return e===null?`n/a`:`${Math.round(e)}°`});return(e,n)=>(L(),R(`div`,PP,[B(`div`,FP,[n[0]||=B(`span`,{class:`text-2xs font-medium text-faint`},`Host vitals`,-1),t.host?.enabled===!1?(L(),R(`span`,IP,`off`)):U(``,!0)]),t.host?.enabled?(L(),R(`div`,LP,[V(NP,{value:r.value,label:`Load / cpu`,display:i.value,size:58,"warn-at":70,"danger-at":100},null,8,[`value`,`display`]),V(NP,{value:t.host?.memoryUsedPercent??null,label:`Memory`,size:58},null,8,[`value`]),V(NP,{value:a.value,label:`Disk`,size:58},null,8,[`value`]),V(NP,{value:o.value,label:`CPU temp`,display:s.value,size:58},null,8,[`value`,`display`])])):(L(),R(`p`,RP,` Sampling is disabled in Settings. `)),t.host&&t.host.alerts.length>0?(L(),R(`div`,zP,[n[1]||=B(`span`,{class:`mt-1 size-1.5 shrink-0 rounded-full bg-danger`},null,-1),B(`span`,BP,k(t.host.alerts.join(` · `)),1)])):U(``,!0)]))}}),WP={class:`flex h-full min-h-0 flex-col gap-3 overflow-y-auto p-3`},GP={class:`flex items-center gap-2 px-1 pt-1`},KP={class:`min-w-0`},qP={class:`truncate text-2xs text-faint`},JP={class:`flex flex-col gap-0.5`},YP={class:`mt-auto flex flex-col gap-3`},XP={class:`flex items-center gap-2 rounded-control border border-line bg-panel-2/70 px-2.5 py-2`},ZP={class:`relative flex size-2 shrink-0`},QP={class:`text-2xs text-muted`},$P=[`title`],eF=P({__name:`SideNav`,props:{host:{},connection:{},panelLabel:{},planLabel:{},running:{},total:{}},emits:[`navigate`,`close`],setup(e,{emit:t}){let n=e,r=t,i=zg(),a=[{to:`/`,label:`Overview`,icon:ty,exact:!0},{to:`/servers`,label:`Servers`,icon:by,exact:!1},{to:`/logs`,label:`Logs`,icon:vy,exact:!1},{to:`/settings`,label:`Settings`,icon:wy,exact:!1}];function o(e){return e.exact?i.path===e.to:i.path===e.to||i.path.startsWith(`${e.to}/`)}let s=W(()=>({open:{label:`Live`,dot:`bg-ok`},connecting:{label:`Connecting`,dot:`bg-warn`},closed:{label:`Reconnecting`,dot:`bg-danger`}})[n.connection]);return(e,t)=>{let i=fa(`RouterLink`);return L(),R(`div`,WP,[B(`div`,GP,[t[3]||=Os(`<span class="grid size-8 shrink-0 place-items-center rounded-[9px] border border-accent/30 bg-accent-soft text-accent"><svg viewBox="0 0 24 24" class="size-4.5" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"><path d="M4 15.5a8 8 0 1 1 16 0"></path><path d="M12 15.5 15.6 10.2"></path><circle cx="12" cy="15.5" r="1.3" fill="currentColor" stroke="none"></circle></svg></span>`,1),B(`div`,KP,[t[2]||=B(`p`,{class:`truncate text-sm font-semibold tracking-tight text-ink`},` home-hosted `,-1),B(`p`,qP,k(n.panelLabel),1)]),B(`button`,{type:`button`,class:`ml-auto grid size-7 place-items-center rounded-control text-muted hover:bg-hover hover:text-ink lg:hidden`,"aria-label":`Close navigation`,onClick:t[0]||=e=>r(`close`)},[V(M(My),{class:`size-4`})])]),B(`nav`,JP,[(L(),R(I,null,va(a,e=>V(i,{key:e.to,to:e.to,class:O(M(Q)(`group flex items-center gap-2.5 rounded-control px-2.5 py-1.5 text-sm transition-colors duration-150`,o(e)?`bg-accent-soft font-medium text-accent`:`text-muted hover:bg-hover hover:text-ink`)),onClick:t[1]||=e=>r(`navigate`)},{default:N(()=>[(L(),z(ma(e.icon),{class:`size-4 shrink-0`,"stroke-width":o(e)?2.1:1.8},null,8,[`stroke-width`])),H(` `+k(e.label)+` `,1),e.to===`/servers`?(L(),R(`span`,{key:0,class:O([`ml-auto font-mono text-2xs tabular-nums`,o(e)?`text-accent`:`text-faint`])},k(n.running)+`/`+k(n.total),3)):U(``,!0)]),_:2},1032,[`to`,`class`])),64))]),B(`div`,YP,[V(UP,{host:n.host},null,8,[`host`]),B(`div`,XP,[B(`span`,ZP,[B(`span`,{class:O(M(Q)(`absolute inset-0 rounded-full`,s.value.dot,n.connection!==`open`&&`animate-ping opacity-60`))},null,2),B(`span`,{class:O(M(Q)(`relative size-2 rounded-full`,s.value.dot))},null,2)]),B(`span`,QP,k(s.value.label),1),B(`span`,{class:`ml-auto truncate font-mono text-2xs text-faint`,title:n.planLabel},k(n.planLabel),9,$P)])])])}}}),tF={key:0,class:`flex flex-col gap-px border-b border-line bg-panel/60`},nF={class:`text-2xs leading-4`},rF={class:`font-medium`},iF={key:0,class:`opacity-80`},aF=P({__name:`SystemNotices`,props:{control:{},configError:{},configPath:{}},setup(e){let t=e,n=W(()=>{let e=[],n=t.control?.auth;return t.configError&&e.push({id:`config`,tone:`danger`,text:`The config could not be read: ${t.configError}`,hint:`Fix ${t.configPath??`servers.config.json`} and restart the panel.`}),n&&(n.blockedReason&&e.push({id:`blocked`,tone:`danger`,text:n.blockedReason}),n.usingDefaultPassword?e.push({id:`default-password`,tone:`warn`,text:`This panel is still on its default password.`,hint:`Change it in Settings — binding beyond 127.0.0.1 stays refused until you do.`}):n.enabled&&!n.passwordSet&&e.push({id:`no-password`,tone:`warn`,text:`Authentication is on but no password is set, so nothing is being asked for.`,hint:`Set one in Settings to actually lock the panel.`}),n.exposed&&e.push({id:`exposed`,tone:`warn`,text:`This panel is reachable beyond 127.0.0.1.`,hint:`Keep the password strong, or put a TLS-terminating proxy in front of it.`}),!n.enabled&&!n.exposed&&e.push({id:`auth-off`,tone:`info`,text:`Authentication is disabled — the panel is only protected by its loopback bind.`})),e}),r={warn:{wrap:`border-warn/25 bg-warn-soft text-warn`,icon:jy},danger:{wrap:`border-danger/25 bg-danger-soft text-danger`,icon:zv},info:{wrap:`border-line bg-panel-2 text-muted`,icon:zv}};return(e,t)=>n.value.length>0?(L(),R(`div`,tF,[(L(!0),R(I,null,va(n.value,e=>(L(),R(`div`,{key:e.id,class:O([`flex items-start gap-2 px-3 py-1.5 sm:px-4`,r[e.tone].wrap])},[(L(),z(ma(r[e.tone].icon),{class:`mt-0.5 size-3.5 shrink-0`})),B(`p`,nF,[B(`span`,rF,k(e.text),1),e.hint?(L(),R(`span`,iF,k(e.hint),1)):U(``,!0)])],2))),128))])):U(``,!0)}}),oF={class:`pointer-events-none fixed bottom-4 right-4 z-[60] flex w-[min(92vw,22rem)] flex-col gap-2`,role:`status`,"aria-live":`polite`},sF={class:`min-w-0 flex-1`},cF={class:`text-xs font-medium text-ink`},lF={key:0,class:`mt-0.5 break-words text-2xs leading-4 text-muted`},uF=[`onClick`],dF=P({__name:`ToastStack`,setup(e){let{toasts:t,dismiss:n}=Kj(),r={ok:Bv,danger:Vv,warn:jy,info:ey,accent:ey,neutral:ey},i={ok:`text-ok`,danger:`text-danger`,warn:`text-warn`,info:`text-info`,neutral:`text-muted`,accent:`text-accent`},a=W(()=>t.value);return(e,t)=>(L(),R(`div`,oF,[V(Il,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`translate-x-2 opacity-0`,"leave-active-class":`transition duration-100 ease-in`,"leave-to-class":`translate-x-2 opacity-0`},{default:N(()=>[(L(!0),R(I,null,va(a.value,e=>(L(),R(`div`,{key:e.id,class:`pointer-events-auto flex items-start gap-2.5 rounded-panel border border-line bg-raise p-3 shadow-float`},[(L(),z(ma(r[e.tone]),{class:O(M(Q)(`mt-0.5 size-4 shrink-0`,i[e.tone]))},null,8,[`class`])),B(`div`,sF,[B(`p`,cF,k(e.title),1),e.description?(L(),R(`p`,lF,k(e.description),1)):U(``,!0)]),B(`button`,{type:`button`,class:`-mr-1 -mt-0.5 grid size-6 shrink-0 place-items-center rounded-control text-faint transition-colors duration-150 hover:bg-hover hover:text-ink`,"aria-label":`Dismiss`,onClick:t=>M(n)(e.id)},[V(M(My),{class:`size-3.5`})],8,uF)]))),128))]),_:1})]))}}),fF=`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60 focus-visible:ring-offset-2 focus-visible:ring-offset-page`,pF=`text-xs font-medium text-muted`,mF=`text-2xs leading-4 text-faint`,hF=[`w-full min-w-0 rounded-control border border-line bg-page/60 px-2.5 py-1.5 text-sm text-ink`,`placeholder:text-faint transition-colors duration-150`,`hover:border-line/80 hover:bg-page`,`focus:border-accent focus:bg-page focus:outline-none focus:ring-2 focus:ring-accent/25`,`disabled:cursor-not-allowed disabled:opacity-50`,`aria-[invalid=true]:border-danger aria-[invalid=true]:focus:ring-danger/25`].join(` `),gF=`${hF} font-mono text-xs`,_F=[`type`,`disabled`,`aria-busy`],$=P({inheritAttrs:!1,__name:`AppButton`,props:{variant:{default:`secondary`},size:{default:`sm`},type:{default:`button`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},setup(e){let t=e,n=Fa(),r={primary:`bg-accent text-accent-ink border-transparent hover:brightness-110 active:brightness-95 shadow-[inset_0_1px_0_rgb(255_255_255/0.14)]`,secondary:`bg-raise text-ink border-line hover:bg-hover`,ghost:`bg-transparent text-muted border-transparent hover:bg-hover hover:text-ink`,danger:`bg-danger text-white border-transparent hover:brightness-110 active:brightness-95`,"danger-ghost":`bg-transparent text-danger border-danger/30 hover:bg-danger-soft`},i={xs:`h-6 gap-1 px-1.5 text-2xs`,sm:`h-8 gap-1.5 px-2.5 text-xs`,md:`h-9 gap-2 px-3.5 text-sm`,icon:`h-9 w-9 justify-center`,"icon-sm":`h-8 w-8 justify-center`},a=W(()=>Q(`inline-flex select-none items-center rounded-control border font-medium whitespace-nowrap`,`transition-[background-color,border-color,color,filter,opacity] duration-150 ease-out`,`disabled:pointer-events-none disabled:opacity-45`,r[t.variant],i[t.size],t.block&&`w-full`,fF,n.class));return(e,r)=>(L(),R(`button`,Ms({...M(n),class:void 0},{type:t.type,class:a.value,disabled:t.disabled||t.loading,"aria-busy":t.loading||void 0}),[t.loading?(L(),z(M(ny),{key:0,class:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`})):U(``,!0),F(e.$slots,`default`)],16,_F))}}),vF=P({__name:`Tip`,props:{label:{},side:{default:`top`},disabled:{type:Boolean,default:!1}},setup(e){return(t,n)=>(L(),z(M(gg),{"delay-duration":350},{default:N(()=>[V(M(xg),{"as-child":``},{default:N(()=>[F(t.$slots,`default`)]),_:3}),e.disabled?U(``,!0):(L(),z(M(bg),{key:0},{default:N(()=>[V(M(yg),{side:e.side,"side-offset":6,class:`z-50 max-w-64 rounded-control border border-line bg-raise px-2 py-1 text-2xs text-ink shadow-float data-[state=delayed-open]:animate-[hh-fade-in_120ms_ease-out]`},{default:N(()=>[H(k(e.label),1)]),_:1},8,[`side`])]),_:1}))]),_:3}))}}),yF={class:`flex h-13 shrink-0 items-center gap-3 border-b border-line bg-panel/80 px-3 backdrop-blur-sm sm:px-4`},bF={class:`truncate text-sm font-semibold tracking-tight text-ink`},xF={class:`ml-auto flex items-center gap-1.5`},SF={class:`hidden items-center gap-1.5 rounded-control border border-line bg-panel-2 px-2 py-1.5 md:flex`},CF={class:`font-mono text-2xs text-muted`},wF={class:`px-2 py-1.5`},TF={class:`truncate font-mono text-2xs text-muted`},EF=P({__name:`TopBar`,props:{panelUrl:{},connection:{},authenticated:{type:Boolean}},emits:[`menu`,`palette`,`signOut`],setup(e,{emit:t}){let n=e,r=t,i=zg(),a=NM(),o=W(()=>i.name===`server-detail`?`Servers / ${String(i.params.id??``)}`:String(i.meta.title??`home-hosted`)),s=W(()=>a.preference.value===`dark`?cy:a.preference.value===`light`?Ey:sy),c=W(()=>`Theme: ${a.preference.value}`),l=W(()=>({open:`bg-ok`,connecting:`bg-warn`,closed:`bg-danger`})[n.connection]),u=W(()=>({open:`Live updates`,connecting:`Connecting`,closed:`Reconnecting`})[n.connection]);return(t,i)=>(L(),R(`header`,yF,[B(`button`,{type:`button`,class:`grid size-8 shrink-0 place-items-center rounded-control text-muted hover:bg-hover hover:text-ink lg:hidden`,"aria-label":`Open navigation`,onClick:i[0]||=e=>r(`menu`)},[V(M(ay),{class:`size-4`})]),B(`h1`,bF,k(o.value),1),B(`div`,xF,[B(`button`,{type:`button`,class:O(M(Q)(`hidden h-8 items-center gap-2 rounded-control border border-line bg-panel-2 px-2.5 text-xs text-faint transition-colors duration-150 hover:border-line hover:text-muted sm:flex`,M(fF))),onClick:i[1]||=e=>r(`palette`)},[V(M(yy),{class:`size-3.5`}),i[5]||=B(`span`,{class:`pr-6`},`Search or run a command`,-1),i[6]||=B(`kbd`,{class:`rounded border border-line bg-page px-1 py-0.5 font-mono text-2xs text-faint`},`⌘K`,-1)],2),V(vF,{label:u.value},{default:N(()=>[B(`span`,SF,[B(`span`,{class:O(M(Q)(`size-1.5 rounded-full`,l.value))},null,2),B(`span`,CF,k(e.panelUrl),1)])]),_:1},8,[`label`]),V(vF,{label:c.value},{default:N(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":c.value,onClick:i[2]||=e=>M(a).cycle()},{default:N(()=>[(L(),z(ma(s.value),{class:`size-4`}))]),_:1},8,[`aria-label`])]),_:1},8,[`label`]),n.authenticated?(L(),z(M(eg),{key:0},{default:N(()=>[V(M(ag),{"as-child":``},{default:N(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":`Account`},{default:N(()=>[...i[7]||=[B(`span`,{class:`grid size-5 place-items-center rounded-full bg-accent-soft font-mono text-2xs font-semibold text-accent`},`hh`,-1)]]),_:1})]),_:1}),V(M(rg),null,{default:N(()=>[V(M(tg),{"side-offset":6,align:`end`,class:`z-50 min-w-44 rounded-panel border border-line bg-raise p-1 shadow-float data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:N(()=>[B(`div`,wF,[i[8]||=B(`p`,{class:`text-2xs text-faint`},` Signed in `,-1),B(`p`,TF,k(n.panelUrl),1)]),V(M(ig),{class:`my-1 h-px bg-line`}),V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:i[3]||=e=>r(`signOut`)},{default:N(()=>[V(M(iy),{class:`size-3.5`}),i[9]||=H(` Sign out `,-1)]),_:1})]),_:1})]),_:1})]),_:1})):U(``,!0),V(vF,{label:`Command palette`},{default:N(()=>[V($,{variant:`ghost`,size:`icon-sm`,class:`sm:hidden`,"aria-label":`Open the command palette`,onClick:i[4]||=e=>r(`palette`)},{default:N(()=>[V(M(Wv),{class:`size-4`})]),_:1})]),_:1})])]))}}),DF={key:1,class:`flex h-dvh overflow-hidden bg-page`},OF={class:`hidden w-60 shrink-0 border-r border-line bg-panel/50 lg:block`},kF={key:0,class:`fixed inset-y-0 left-0 z-40 w-64 border-r border-line bg-panel lg:hidden`},AF={class:`flex min-w-0 flex-1 flex-col`},jF=P({__name:`App`,setup(e){let t=zg(),n=Rg(),r=wM(),{session:i,logout:a}=Vj(),o=j(!1),s=j(!1),c=W(()=>i.value?.authenticated===!0),l=W(()=>i.value?.authRequired===!0),u=W(()=>t.name===`login`),d=W(()=>t.name===`logs`),f=W(()=>r.servers.value),p=W(()=>f.value.filter(e=>e.status===`running`).length),m=W(()=>r.control.value?.url??`—`),h=W(()=>r.host.value),g=W(()=>r.control.value?.label??`home-hosted`);return Ar([l,c],([e,t])=>{if(i.value!==null){if(e&&!t){SM(),n.push({name:`login`});return}xM()}},{immediate:!0}),Ar(()=>t.fullPath,()=>{s.value=!1}),ta(async()=>{(!l.value||c.value)&&await r.refresh()}),ze(()=>SM()),(e,t)=>{let n=fa(`RouterView`);return L(),z(M(fg),{"delay-duration":300},{default:N(()=>[u.value?(L(),z(n,{key:0})):(L(),R(`div`,DF,[B(`aside`,OF,[V(eF,{host:h.value,connection:M(r).connection.value,"panel-label":g.value,"plan-label":m.value,running:p.value,total:f.value.length},null,8,[`host`,`connection`,`panel-label`,`plan-label`,`running`,`total`])]),V(Dc,{"enter-active-class":`transition-opacity duration-150`,"leave-active-class":`transition-opacity duration-100`,"enter-from-class":`opacity-0`,"leave-to-class":`opacity-0`},{default:N(()=>[s.value?(L(),R(`div`,{key:0,class:`fixed inset-0 z-40 bg-black/45 lg:hidden`,onClick:t[0]||=e=>s.value=!1})):U(``,!0)]),_:1}),V(Dc,{"enter-active-class":`transition-transform duration-150 ease-out`,"leave-active-class":`transition-transform duration-100 ease-in`,"enter-from-class":`-translate-x-full`,"leave-to-class":`-translate-x-full`},{default:N(()=>[s.value?(L(),R(`aside`,kF,[V(eF,{host:h.value,connection:M(r).connection.value,"panel-label":g.value,"plan-label":m.value,running:p.value,total:f.value.length,onNavigate:t[1]||=e=>s.value=!1,onClose:t[2]||=e=>s.value=!1},null,8,[`host`,`connection`,`panel-label`,`plan-label`,`running`,`total`])])):U(``,!0)]),_:1}),B(`div`,AF,[V(EF,{"panel-url":m.value,connection:M(r).connection.value,authenticated:c.value,onMenu:t[3]||=e=>s.value=!0,onPalette:t[4]||=e=>o.value=!0,onSignOut:t[5]||=e=>M(a)()},null,8,[`panel-url`,`connection`,`authenticated`]),c.value?(L(),z(aF,{key:0,control:M(r).control.value,"config-error":M(r).configError.value,"config-path":M(r).appState.value?.configPath},null,8,[`control`,`config-error`,`config-path`])):U(``,!0),B(`main`,{class:O(M(Q)(`min-h-0 flex-1`,d.value?`overflow-hidden`:`overflow-y-auto`))},[V(n)],2)])])),V(wP,{open:o.value,"onUpdate:open":t[6]||=e=>o.value=e},null,8,[`open`]),V(dF)]),_:1})}}}),MF={key:0,class:`size-1.5 shrink-0 rounded-full bg-current`},NF=P({__name:`ToneBadge`,props:{tone:{default:`neutral`},dot:{type:Boolean,default:!1},mono:{type:Boolean,default:!1},plain:{type:Boolean,default:!1}},setup(e){let t=e,n=W(()=>Q(`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-2xs font-medium whitespace-nowrap`,t.plain?Q(`border-transparent bg-transparent`,dP[t.tone].split(` `).filter(e=>e.startsWith(`text-`)).join(` `)):dP[t.tone],t.mono&&`font-mono`));return(e,r)=>(L(),R(`span`,{class:O(n.value)},[t.dot?(L(),R(`span`,MF)):U(``,!0),F(e.$slots,`default`)],2))}}),PF={class:`relative flex min-h-dvh items-center justify-center overflow-hidden bg-page px-4 py-10`},FF={class:`hh-enter relative w-full max-w-md`},IF={class:`rounded-panel border border-line bg-panel/95 p-5 shadow-float backdrop-blur-sm`},LF={class:`flex items-start justify-between gap-3`},RF={class:`min-w-0`},zF={class:`text-base font-semibold text-ink`},BF={class:`mt-1 text-xs leading-relaxed text-muted`},VF={class:`flex flex-col gap-1.5`},HF={class:`relative`},UF=[`type`],WF=[`aria-label`],GF={key:0,class:`rounded-control border border-danger/25 bg-danger-soft px-2.5 py-2 text-xs text-danger`},KF={key:1,class:`mt-5`},qF={class:`mt-4 space-y-2`},JF={key:0,class:`flex items-start gap-2 rounded-control border border-warn/25 bg-warn-soft px-2.5 py-2`},YF={class:`text-2xs leading-4 text-warn`},XF={class:`ml-1 rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},ZF={key:1,class:`flex items-start gap-2 rounded-control border border-warn/25 bg-warn-soft px-2.5 py-2`},QF={key:2,class:`flex items-start gap-2 rounded-control border border-line-soft bg-panel-2 px-2.5 py-2`},$F={class:`text-2xs leading-4 text-muted`},eI={class:`mt-4 flex items-center justify-center gap-2 text-2xs text-faint`},tI={class:`font-mono`},nI=P({__name:`LoginView`,setup(e){let t=zg(),n=Rg(),r=wM(),{session:i,error:a,login:o,refresh:s}=Vj(),c=j(``),l=j(!1),u=j(!1),d=W(()=>i.value?.passwordSet===!1),f=W(()=>i.value!==null&&!i.value.authRequired),p=W(()=>i.value?.usingDefaultPassword===!0&&i.value.defaultPassword!==null),m=W(()=>r.control.value?.auth.exposed===!0),h=W(()=>r.control.value?.url??`—`),g=W(()=>d.value?`This panel has no password yet`:f.value?`Authentication is turned off`:`Sign in to continue`),_=W(()=>d.value?`Anything on this machine can reach it. Set a password right after you are in.`:f.value?`The panel only listens on loopback, which is the only thing protecting it right now.`:`The control panel is protected. Enter the password to continue.`);async function v(){l.value=!0;try{if(await o(c.value)){c.value=``;let e=typeof t.query.next==`string`?t.query.next:`/`;await n.push(e)}}finally{l.value=!1}}async function y(){await s(),await n.push(`/`)}return ta(async()=>{i.value===null&&await s()}),(e,t)=>(L(),R(`div`,PF,[t[11]||=B(`div`,{class:`bg-instrument pointer-events-none absolute inset-0 opacity-60`},null,-1),t[12]||=B(`div`,{class:`pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_at_center,transparent_15%,var(--page)_78%)]`},null,-1),B(`div`,FF,[t[10]||=Os(`<div class="mb-6 flex items-center gap-3"><span class="grid size-11 shrink-0 place-items-center rounded-panel border border-accent/30 bg-accent-soft text-accent"><svg viewBox="0 0 24 24" class="size-6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><path d="M4 15.5a8 8 0 1 1 16 0"></path><path d="M12 15.5 15.6 10.2"></path><circle cx="12" cy="15.5" r="1.3" fill="currentColor" stroke="none"></circle></svg></span><div><p class="text-lg font-semibold tracking-tight text-ink"> home-hosted </p><p class="text-xs text-muted"> Process supervisor control panel </p></div></div>`,1),B(`section`,IF,[B(`div`,LF,[B(`div`,RF,[B(`h1`,zF,k(g.value),1),B(`p`,BF,k(_.value),1)]),m.value?(L(),z(NF,{key:0,tone:`warn`,dot:``},{default:N(()=>[...t[2]||=[H(` Exposed `,-1)]]),_:1})):U(``,!0)]),f.value?(L(),R(`div`,KF,[V($,{variant:`primary`,size:`md`,block:``,onClick:y},{default:N(()=>[...t[4]||=[H(` Open the dashboard `,-1)]]),_:1})])):(L(),R(`form`,{key:0,class:`mt-5 space-y-3`,onSubmit:lu(v,[`prevent`])},[B(`div`,VF,[B(`label`,{for:`hh-password`,class:O(M(pF))},`Password`,2),B(`div`,HF,[br(B(`input`,{id:`hh-password`,"onUpdate:modelValue":t[0]||=e=>c.value=e,type:u.value?`text`:`password`,autocomplete:`current-password`,autofocus:``,required:``,class:O(M(Q)(M(hF),`pr-9`))},null,10,UF),[[ru,c.value]]),B(`button`,{type:`button`,class:`absolute right-1 top-1/2 grid size-7 -translate-y-1/2 place-items-center rounded-control text-faint transition-colors duration-150 hover:text-ink`,"aria-label":u.value?`Hide password`:`Show password`,onClick:t[1]||=e=>u.value=!u.value},[u.value?(L(),z(M(Xv),{key:0,class:`size-3.5`})):(L(),z(M(Zv),{key:1,class:`size-3.5`}))],8,WF)])]),M(a)?(L(),R(`p`,GF,k(M(a)),1)):U(``,!0),V($,{type:`submit`,variant:`primary`,size:`md`,block:``,loading:l.value},{default:N(()=>[V(M(ry),{class:`size-3.5`}),t[3]||=H(` Sign in `,-1)]),_:1},8,[`loading`])],32)),B(`div`,qF,[p.value?(L(),R(`div`,JF,[V(M(xy),{class:`mt-0.5 size-3.5 shrink-0 text-warn`}),B(`p`,YF,[t[5]||=H(` Still on the default password `,-1),B(`code`,XF,k(M(i)?.defaultPassword),1),t[6]||=H(`. Change it under Settings — binding beyond 127.0.0.1 stays refused until you do. `,-1)])])):d.value?(L(),R(`div`,ZF,[V(M(Cy),{class:`mt-0.5 size-3.5 shrink-0 text-warn`}),t[7]||=B(`p`,{class:`text-2xs leading-4 text-warn`},[H(` No password is set. Open Settings from this machine to add one, or run `),B(`code`,{class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},`pnpm run auth:set-password`),H(`. `)],-1)])):(L(),R(`div`,QF,[V(M(Sy),{class:`mt-0.5 size-3.5 shrink-0 text-ok`}),B(`p`,$F,` Sessions last `+k(Math.round((M(i)?.sessionTtlMs??0)/864e5))+` days. Signing out clears this browser only. `,1)]))])]),B(`p`,eI,[B(`span`,tI,k(h.value),1),t[8]||=B(`span`,{"aria-hidden":`true`},`·`,-1),t[9]||=B(`span`,null,`served from this machine`,-1)])])]))}}),rI=[`#3f4a5c`,`#f07178`,`#7fd88f`,`#e6b673`,`#82aaff`,`#c792ea`,`#7fdbca`,`#c7d2e3`,`#5a6779`,`#ff8b92`,`#9ae6a8`,`#f2c98a`,`#9dbaff`,`#d7aef0`,`#9ce9dc`,`#eef3fb`],iI=[`#4b5563`,`#c0392b`,`#1c7c3f`,`#9a6700`,`#2f5fe0`,`#7c3aed`,`#0b6f89`,`#334155`,`#6b7280`,`#d64535`,`#22854a`,`#a8620d`,`#3f6bff`,`#8b5cf6`,`#0e7d9c`,`#0f1722`],aI=/\u001B\[([0-9;]*)m/g,oI=/\u001B(?:\[[0-9;?]*[A-HJKSTfhilmnprsu]|\][^\u0007\u001B]*(?:\u0007|\u001B\\)?|[()][0-9A-Z])/g;function sI(e){return Math.max(0,Math.min(255,e))}function cI(e){return e===0?0:55+e*40}function lI(e,t){let n=t?rI:iI;if(e<16)return n[e]??n[7];if(e<232){let t=e-16;return`rgb(${cI(Math.floor(t/36))} ${cI(Math.floor(t%36/6))} ${cI(t%6)})`}let r=8+(e-232)*10;return`rgb(${r} ${r} ${r})`}function uI(){return{fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1}}function dI(e,t,n){let r=t.length===0?[0]:t.split(`;`).map(e=>e.length===0?0:Number(e));for(let t=0;t<r.length;t+=1){let i=r[t];if(i===0)Object.assign(e,uI());else if(i===1)e.bold=!0;else if(i===2)e.dim=!0;else if(i===3)e.italic=!0;else if(i===4)e.underline=!0;else if(i===22)e.bold=!1,e.dim=!1;else if(i===23)e.italic=!1;else if(i===24)e.underline=!1;else if(i===39)e.fg=null;else if(i===49)e.bg=null;else if(i>=30&&i<=37)e.fg=(n?rI:iI)[i-30]??null;else if(i>=90&&i<=97)e.fg=(n?rI:iI)[i-90+8]??null;else if(i>=40&&i<=47)e.bg=(n?rI:iI)[i-40]??null;else if(i>=100&&i<=107)e.bg=(n?rI:iI)[i-100+8]??null;else if(i===38||i===48){let a=i===38?`fg`:`bg`,o=r[t+1];o===5&&r[t+2]!==void 0?(e[a]=lI(sI(r[t+2]),n),t+=2):o===2&&(e[a]=`rgb(${sI(r[t+2]??0)} ${sI(r[t+3]??0)} ${sI(r[t+4]??0)})`,t+=4)}}}function fI(e,t,n){if(t.length===0)return;let r=e[e.length-1];if(r&&r.fg===n.fg&&r.bg===n.bg&&r.bold===n.bold&&r.dim===n.dim&&r.italic===n.italic&&r.underline===n.underline){r.text+=t;return}e.push({text:t,...n})}function pI(e){return e.includes(`\x1B`)}function mI(e,t=!0){if(!pI(e))return[{text:e,fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1}];let n=[],r=uI(),i=0;aI.lastIndex=0;let a=aI.exec(e);for(;a!==null;)fI(n,e.slice(i,a.index).replace(oI,``),r),dI(r,a[1]??``,t),i=a.index+a[0].length,a=aI.exec(e);return fI(n,e.slice(i).replace(oI,``),r),n}function hI(e){let t=new Date(e);return`${t.toLocaleTimeString(void 0,{hour12:!1})}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function gI(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}function _I(e){if(!Number.isFinite(e)||e<0)return`—`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m ${t%60}s`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d ${r%24}h`}function vI(e,t){let n=Math.max(0,e-t);return n<1e3?`now`:n<6e4?`in ${Math.ceil(n/1e3)}s`:`in ${Math.ceil(n/6e4)}m`}function yI(e){return e===null?`—`:`${(e*100).toFixed(e>=.999?0:1)}%`}function bI(e,t){if(e===null)return`never`;let n=Math.max(0,t-e);return n<6e4?`${Math.floor(n/1e3)}s ago`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}function xI(e){return Number.isFinite(e)?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(0)} KiB`:e<1073741824?`${(e/1024/1024).toFixed(1)} MiB`:`${(e/1024/1024/1024).toFixed(2)} GiB`:`—`}function SI(e){if(e===null||!Number.isFinite(e))return`—`;let t=Math.abs(e);return t<1e3?`${e} B`:t<1e6?`${(e/1e3).toFixed(0)} kB`:t<1e9?`${(e/1e3/1e3).toFixed(1)} MB`:`${(e/1e3/1e3/1e3).toFixed(2)} GB`}function CI(e){return e===null||!Number.isFinite(e)?`—`:e>=100?`${Math.round(e)}%`:`${e.toFixed(1)}%`}var wI={class:`flex h-5 w-max min-w-full items-center gap-2 whitespace-pre px-2 font-mono text-xs leading-5`},TI={key:0,class:`shrink-0 select-none text-faint`},EI={class:`min-w-0`},DI=P({__name:`LogRow`,props:{line:{},query:{},dark:{type:Boolean},showTime:{type:Boolean}},setup(e){let t=e,n=W(()=>mI(t.line.text,t.dark)),r=W(()=>{let e=t.query.trim().toLowerCase(),r=[];for(let t of n.value){if(e.length===0){r.push({text:t.text,hit:!1,span:t});continue}let n=t.text.toLowerCase(),i=0,a=n.indexOf(e);for(;a!==-1;)a>i&&r.push({text:t.text.slice(i,a),hit:!1,span:t}),r.push({text:t.text.slice(a,a+e.length),hit:!0,span:t}),i=a+e.length,a=n.indexOf(e,i);i<t.text.length&&r.push({text:t.text.slice(i),hit:!1,span:t})}return r}),i={stdout:`bg-transparent`,stderr:`bg-danger`,system:`bg-info`};function a(e){let t={};return e.span.fg&&(t.color=e.span.fg),e.span.bg&&(t.backgroundColor=e.span.bg),e.span.bold&&(t.fontWeight=`600`),e.span.dim&&(t.opacity=`0.62`),e.span.italic&&(t.fontStyle=`italic`),e.span.underline&&(t.textDecoration=`underline`),e.hit&&(t.backgroundColor=`var(--warn)`,t.color=`var(--accent-ink)`,t.borderRadius=`2px`),t}return(e,n)=>(L(),R(`div`,wI,[t.showTime?(L(),R(`span`,TI,k(M(hI)(t.line.ts)),1)):U(``,!0),B(`span`,{class:O([`h-3.5 w-0.5 shrink-0 rounded-full`,[i[t.line.stream]]]),"aria-hidden":`true`},null,2),B(`span`,EI,[(L(!0),R(I,null,va(r.value,(e,t)=>(L(),R(`span`,{key:t,style:ge(a(e))},k(e.text),5))),128))])]))}}),OI={class:`inline-flex items-center gap-0.5 rounded-control border border-line bg-panel-2 p-0.5`},kI=[`aria-pressed`,`onClick`],AI=P({__name:`SegmentedControl`,props:za({options:{},size:{default:`sm`}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`);return(e,r)=>(L(),R(`div`,OI,[(L(!0),R(I,null,va(t.options,e=>(L(),R(`button`,{key:e.value,type:`button`,class:O(M(Q)(`rounded-[5px] font-medium transition-colors duration-150`,t.size===`sm`?`h-6 px-2 text-2xs`:`h-7 px-2.5 text-xs`,n.value===e.value?`bg-raise text-ink shadow-card`:`text-muted hover:text-ink`)),"aria-pressed":n.value===e.value,onClick:t=>n.value=e.value},k(e.label),11,kI))),128))]))}}),jI={class:`flex min-h-0 flex-col overflow-hidden rounded-panel border border-line bg-panel`},MI={class:`flex flex-wrap items-center gap-2 border-b border-line bg-panel-2/60 px-2.5 py-2`},NI={class:`relative min-w-40 flex-1 sm:max-w-72`},PI={class:`absolute right-1 top-1/2 flex -translate-y-1/2 items-center gap-0.5`},FI={key:0,class:`px-1 font-mono text-2xs tabular-nums text-faint`},II={class:`ml-auto flex items-center gap-1.5`},LI=[`href`,`download`],RI={class:`relative min-h-0 flex-1`},zI={key:0,class:`px-3 py-6 text-center text-xs text-faint`},BI={class:`flex items-center gap-3 border-t border-line bg-panel-2/60 px-2.5 py-1.5 text-2xs text-faint`},VI={class:`flex items-center gap-1.5`},HI={class:`font-mono tabular-nums`},UI={key:0,class:`font-mono tabular-nums`},WI=20,GI=12,KI=P({__name:`LogViewer`,props:{lines:{},version:{default:0},live:{type:Boolean,default:!1},emptyHint:{default:`No output yet.`},clearable:{type:Boolean,default:!1},downloadUrl:{default:void 0},downloadName:{default:void 0},minHeight:{default:`16rem`}},emits:[`clear`],setup(e,{emit:t}){let n=e,r=t,i=NM(),a=j(null),o=j(0),s=j(320),c=j(!0),l=j(`all`),u=j(``),d=j(!0),f=j(0),p=W(()=>{n.version;let e=u.value.trim().toLowerCase(),t=l.value;return e.length===0&&t===`all`?n.lines:n.lines.filter(n=>!(t!==`all`&&n.stream!==t||e.length>0&&!n.text.toLowerCase().includes(e)))}),m=W(()=>p.value.length),h=W(()=>{let e=u.value.trim().toLowerCase();if(e.length===0)return[];let t=[],n=p.value;for(let r=0;r<n.length;r+=1)n[r].text.toLowerCase().includes(e)&&t.push(r);return t}),g=W(()=>Math.max(0,Math.floor(o.value/WI)-GI)),_=W(()=>Math.min(m.value,Math.ceil((o.value+s.value)/WI)+GI)),v=W(()=>p.value.slice(g.value,_.value)),y=W(()=>h.value[f.value]??-1);function b(){let e=a.value;if(!e)return;o.value=e.scrollTop;let t=e.scrollHeight-e.scrollTop-e.clientHeight;c.value=t<12}function x(){let e=a.value;e&&(e.scrollTop=e.scrollHeight,o.value=e.scrollTop,c.value=!0)}function S(e){let t=a.value;t&&(t.scrollTop=Math.max(0,e*WI-t.clientHeight/2),o.value=t.scrollTop,c.value=!1)}function C(e){let t=h.value.length;t!==0&&(f.value=(f.value+e+t)%t,S(h.value[f.value]))}Ar(m,()=>{c.value&&(f.value=0,requestAnimationFrame(x))}),Ar(h,()=>{f.value=0,h.value.length>0&&u.value.trim().length>0&&requestAnimationFrame(()=>S(h.value[0]))}),Ar(l,()=>{c.value=!0,requestAnimationFrame(x)});let w=null;ta(()=>{let e=a.value;e&&(s.value=e.clientHeight,w=new ResizeObserver(()=>{a.value&&(s.value=a.value.clientHeight)}),w.observe(e),x())}),ze(()=>{w?.disconnect(),w=null});let T=[{value:`all`,label:`All`},{value:`stdout`,label:`out`},{value:`stderr`,label:`err`},{value:`system`,label:`sys`}];return(e,t)=>(L(),R(`div`,jI,[B(`header`,MI,[V(AI,{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,options:T},null,8,[`modelValue`]),B(`div`,NI,[V(M(yy),{class:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-faint`}),br(B(`input`,{"onUpdate:modelValue":t[1]||=e=>u.value=e,type:`search`,placeholder:`Search this output`,class:O([`h-7 py-0 pl-7 text-xs`,[M(hF)]]),"aria-label":`Search the log output`,onKeydown:t[2]||=du(lu(e=>C(e.shiftKey?-1:1),[`prevent`]),[`enter`])},null,34),[[Jl,u.value]]),B(`div`,PI,[u.value.trim().length>0?(L(),R(`span`,FI,k(h.value.length===0?`0`:`${f.value+1}/${h.value.length}`),1)):U(``,!0),u.value.length>0?(L(),R(`button`,{key:1,type:`button`,class:`grid size-5 place-items-center rounded text-faint hover:text-ink`,"aria-label":`Clear the search`,onClick:t[3]||=e=>u.value=``},[V(M(My),{class:`size-3`})])):U(``,!0),h.value.length>0?(L(),R(`button`,{key:2,type:`button`,class:`grid size-5 place-items-center rounded text-faint hover:text-ink`,"aria-label":`Previous match`,onClick:t[4]||=e=>C(-1)},[V(M(Rv),{class:`size-3`})])):U(``,!0),h.value.length>0?(L(),R(`button`,{key:3,type:`button`,class:`grid size-5 place-items-center rounded text-faint hover:text-ink`,"aria-label":`Next match`,onClick:t[5]||=e=>C(1)},[V(M(Fv),{class:`size-3`})])):U(``,!0)])]),B(`div`,II,[V(vF,{label:d.value?`Hide timestamps`:`Show timestamps`},{default:N(()=>[V($,{size:`xs`,variant:`ghost`,onClick:t[6]||=e=>d.value=!d.value},{default:N(()=>[V(M(Hv),{class:O(M(Q)(`size-3`,d.value?`fill-accent text-accent`:`text-faint`))},null,8,[`class`]),t[9]||=H(` ts `,-1)]),_:1})]),_:1},8,[`label`]),V($,{size:`xs`,variant:c.value?`secondary`:`primary`,onClick:t[7]||=e=>c.value?c.value=!1:x()},{default:N(()=>[(L(),z(ma(c.value?M(uy):M(fy)),{class:`size-3`})),H(` `+k(c.value?`Pause`:`Follow`),1)]),_:1},8,[`variant`]),n.clearable?(L(),z(vF,{key:0,label:`Clear the in-memory buffer`},{default:N(()=>[V($,{size:`icon-sm`,variant:`ghost`,"aria-label":`Clear the log buffer`,onClick:t[8]||=e=>r(`clear`)},{default:N(()=>[V(M(Ay),{class:`size-3.5`})]),_:1})]),_:1})):U(``,!0),n.downloadUrl?(L(),z(vF,{key:1,label:`Download the persisted file`},{default:N(()=>[B(`a`,{href:n.downloadUrl,download:n.downloadName},[V($,{size:`icon-sm`,variant:`ghost`,"aria-label":`Download the log file`},{default:N(()=>[V(M(Nv),{class:`size-3.5`})]),_:1})],8,LI)]),_:1})):U(``,!0)])]),B(`div`,RI,[B(`div`,{ref_key:`scroller`,ref:a,class:`h-full overflow-auto overscroll-contain bg-page/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent/50`,style:ge({minHeight:n.minHeight}),tabindex:`0`,role:`log`,"aria-label":`Log output`,onScrollPassive:b},[m.value===0?(L(),R(`p`,zI,k(n.lines.length===0?n.emptyHint:`Nothing matches that search or stream filter.`),1)):(L(),R(`div`,{key:1,class:`relative w-full`,style:ge({height:`${m.value*WI}px`})},[(L(!0),R(I,null,va(v.value,(e,t)=>(L(),R(`div`,{key:g.value+t,class:O([`absolute left-0 top-0`,g.value+t===y.value&&`bg-warn/10`]),style:ge({transform:`translateY(${(g.value+t)*WI}px)`})},[V(DI,{line:e,query:u.value,dark:M(i).isDark.value,"show-time":d.value},null,8,[`line`,`query`,`dark`,`show-time`])],6))),128))],4))],36),V(Dc,{"enter-active-class":`transition duration-150`,"leave-active-class":`transition duration-100`,"enter-from-class":`opacity-0 translate-y-1`,"leave-to-class":`opacity-0 translate-y-1`},{default:N(()=>[!c.value&&m.value>0?(L(),R(`button`,{key:0,type:`button`,class:`absolute bottom-3 right-4 flex items-center gap-1.5 rounded-full border border-line bg-raise px-2.5 py-1 text-2xs text-muted shadow-float transition-colors duration-150 hover:text-ink`,onClick:x},[V(M(Nv),{class:`size-3`}),t[10]||=H(` Jump to latest `,-1)])):U(``,!0)]),_:1})]),B(`footer`,BI,[B(`span`,VI,[B(`span`,{class:O(M(Q)(`size-1.5 rounded-full`,n.live?c.value?`bg-ok`:`bg-warn`:`bg-faint`))},null,2),H(` `+k(n.live?c.value?`streaming`:`paused`:`snapshot`),1)]),B(`span`,HI,k(m.value===n.lines.length?`${m.value} lines`:`${m.value} of ${n.lines.length} lines`),1),u.value.trim().length>0?(L(),R(`span`,UI,k(h.value.length)+` matches`,1)):U(``,!0),B(`span`,{class:`ml-auto hidden font-mono tabular-nums sm:inline`},`row height `+k(WI)+`px · windowed`)])]))}}),qI={key:0,class:`grid size-10 place-items-center rounded-full border border-line bg-panel-2 text-faint`},JI={class:`max-w-sm space-y-1`},YI={class:`text-sm font-medium text-ink`},XI={key:0,class:`text-xs leading-relaxed text-muted`},ZI={key:1,class:`flex items-center gap-2`},QI=P({__name:`EmptyState`,props:{title:{},description:{default:void 0},compact:{type:Boolean,default:!1}},setup(e){return(e,t)=>(L(),R(`div`,{class:O(M(Q)(`flex flex-col items-center justify-center gap-3 text-center`,e.$props.compact?`px-4 py-8`:`px-6 py-14`))},[e.$slots.icon?(L(),R(`div`,qI,[F(e.$slots,`icon`)])):U(``,!0),B(`div`,JI,[B(`p`,YI,k(e.$props.title),1),e.$props.description?(L(),R(`p`,XI,k(e.$props.description),1)):U(``,!0)]),e.$slots.action?(L(),R(`div`,ZI,[F(e.$slots,`action`)])):U(``,!0)],2))}}),$I={class:`flex items-start justify-between gap-4 border-b border-line px-4 py-3`},eL={class:`min-w-0`},tL={class:`max-h-[calc(88dvh-3.25rem)] overflow-y-auto px-4 py-3.5`},nL={key:0,class:`flex items-center justify-end gap-2 border-t border-line bg-panel-2 px-4 py-3`},rL=P({__name:`Modal`,props:za({title:{},description:{default:void 0},width:{default:`w-[min(92vw,34rem)]`}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let t=e,n=so(e,`open`);return(e,r)=>(L(),z(M(lf),{open:n.value,"onUpdate:open":r[0]||=e=>n.value=e},{default:N(()=>[V(M(Yf),null,{default:N(()=>[V(M(qf),{class:`fixed inset-0 z-50 bg-black/45 backdrop-blur-[1px] data-[state=closed]:animate-[hh-fade-out_120ms_ease-in] data-[state=open]:animate-[hh-fade-in_150ms_ease-out]`}),V(M(Wf),{class:O(M(Q)(`fixed left-1/2 top-1/2 z-50 max-h-[88dvh] -translate-x-1/2 -translate-y-1/2 overflow-hidden`,`rounded-panel border border-line bg-panel shadow-float`,`data-[state=closed]:animate-[hh-pop-out_120ms_ease-in] data-[state=open]:animate-[hh-pop-in_160ms_var(--ease-out-quick)]`,t.width))},{default:N(()=>[B(`header`,$I,[B(`div`,eL,[V(M(Xf),{class:`text-sm font-semibold text-ink`},{default:N(()=>[H(k(t.title),1)]),_:1}),t.description?(L(),z(M(Gf),{key:0,class:`mt-0.5 text-xs text-muted`},{default:N(()=>[H(k(t.description),1)]),_:1})):U(``,!0)]),V(M(uf),{class:O(M(Q)(`-mr-1 -mt-0.5 grid size-7 shrink-0 place-items-center rounded-control text-muted transition-colors duration-150 hover:bg-hover hover:text-ink`,M(fF))),"aria-label":`Close`},{default:N(()=>[V(M(My),{class:`size-4`})]),_:1},8,[`class`])]),B(`div`,tL,[F(e.$slots,`default`)]),e.$slots.footer?(L(),R(`footer`,nL,[F(e.$slots,`footer`)])):U(``,!0)]),_:3},8,[`class`])]),_:3})]),_:3},8,[`open`]))}}),iL=[`for`],aL={class:`relative`},oL=[`id`],sL=[`value`,`disabled`],cL={key:1,class:`text-2xs text-danger`},lL=P({inheritAttrs:!1,__name:`SelectField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},options:{},wide:{type:Boolean,default:!1},mono:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=li();return(e,i)=>(L(),R(`div`,{class:O(M(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:M(r),class:O(M(pF))},k(t.label),11,iL)):U(``,!0),B(`div`,aL,[br(B(`select`,Ms({id:M(r),"onUpdate:modelValue":i[0]||=e=>n.value=e,class:M(Q)(M(hF),`cursor-pointer appearance-none pr-7`,t.mono&&`font-mono text-xs`,t.error&&`border-danger`)},e.$attrs),[(L(!0),R(I,null,va(t.options,e=>(L(),R(`option`,{key:e.value,value:e.value,disabled:e.disabled},k(e.label),9,sL))),128))],16,oL),[[Ql,n.value]]),V(M(Fv),{class:`pointer-events-none absolute right-2 top-1/2 size-3.5 -translate-y-1/2 text-faint`,"aria-hidden":`true`})]),t.error?(L(),R(`p`,cL,k(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:O(M(mF))},k(t.hint),3)):U(``,!0)],2))}}),uL=P({__name:`Skeleton`,props:{class:{default:`h-4 w-24`},rounded:{default:`rounded`}},setup(e){return(t,n)=>(L(),R(`span`,{class:O(M(Q)(`block animate-pulse bg-line-soft`,e.rounded,t.$props.class)),style:{"animation-duration":`1.4s`},"aria-hidden":`true`},null,2))}}),dL={class:`flex h-full min-h-0`},fL={class:`hidden w-64 shrink-0 flex-col border-r border-line bg-panel/40 md:flex`},pL={class:`border-b border-line px-3 py-2.5`},mL={class:`mt-0.5 text-2xs text-faint`},hL={class:`min-h-0 flex-1 overflow-y-auto p-1.5`},gL={key:0,class:`space-y-1.5 p-1.5`},_L=[`onClick`],vL={class:`min-w-0 flex-1`},yL={class:`block truncate font-mono text-2xs text-faint`},bL={class:`flex min-w-0 flex-1 flex-col`},xL={class:`flex flex-wrap items-center gap-2 border-b border-line bg-panel/40 px-3 py-2.5`},SL={class:`min-w-0`},CL={class:`truncate text-sm font-semibold text-ink`},wL={key:0,class:`ml-1.5 font-mono text-2xs font-normal text-faint`},TL={key:0,class:`flex flex-wrap items-center gap-1.5 border-b border-line-soft bg-panel-2/40 px-3 py-2`},EL=[`href`,`download`],DL={class:`text-faint`},OL={key:1,class:`text-2xs text-faint`},kL={key:2,class:`ml-auto font-mono text-2xs text-faint`},AL={key:1,class:`flex items-center gap-1.5 border-b border-danger/25 bg-danger-soft px-3 py-2 text-2xs text-danger`},jL={class:`min-h-0 flex-1 p-3`},ML=P({__name:`LogsView`,setup(e){let t=zg(),n=Rg(),r=j([]),i=j(null),a=j(`disk`),o=j(`2000`),s=j(!1),c=j(null),l=j([]),u=j(0),d=j(!1),f=j(!0),p=W(()=>r.value.find(e=>e.serverId===i.value)??null),m=CM(()=>a.value===`live`?i.value:null),h=m.version,g=W(()=>(h.value,m.lines())),_=W(()=>a.value===`live`?g.value:l.value),v=W(()=>a.value===`live`?h.value:u.value),y=[{value:`200`,label:`200 lines`},{value:`500`,label:`500 lines`},{value:`2000`,label:`2000 lines`},{value:`5000`,label:`5000 lines`}],b=W(()=>r.value.reduce((e,t)=>e+t.sizeBytes,0)),x=W(()=>r.value.filter(e=>e.files.length>0).length);async function S(){f.value=!0;try{r.value=await pj();let e=typeof t.query.server==`string`?t.query.server:null,n=e&&r.value.some(t=>t.serverId===e)?e:i.value&&r.value.some(e=>e.serverId===i.value)?i.value:r.value[0]?.serverId??null;i.value=n}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{f.value=!1}}async function C(){let e=i.value;if(e!==null&&a.value!==`live`){s.value=!0,c.value=null;try{let t=await mj(e,{tail:Number(o.value)});l.value=t.lines,u.value+=1}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{s.value=!1}}}async function w(){let e=i.value;if(e!==null){d.value=!1;try{await hj(e),l.value=[],u.value+=1,await S()}catch(e){c.value=e instanceof Error?e.message:String(e)}}}function T(e){i.value=e,a.value===`live`&&(l.value=[]),n.replace({query:{...t.query,server:e}})}return Ar([i,o,a],()=>{a.value===`disk`&&C()},{immediate:!1}),ta(async()=>{await S(),a.value===`disk`&&await C()}),(e,t)=>(L(),R(`div`,dL,[B(`aside`,fL,[B(`div`,pL,[t[5]||=B(`p`,{class:`text-xs font-semibold text-ink`},` Persisted logs `,-1),B(`p`,mL,k(x.value)+` of `+k(r.value.length)+` servers on disk · `+k(M(xI)(b.value)),1)]),B(`div`,hL,[f.value?(L(),R(`div`,gL,[(L(),R(I,null,va(5,e=>V(uL,{key:e,class:`h-10 w-full`,rounded:`rounded-control`})),64))])):(L(!0),R(I,{key:1},va(r.value,e=>(L(),R(`button`,{key:e.serverId,type:`button`,class:O(M(Q)(`flex w-full items-center gap-2.5 rounded-control px-2 py-2 text-left transition-colors duration-150`,e.serverId===i.value?`bg-accent-soft`:`hover:bg-hover`)),onClick:t=>T(e.serverId)},[B(`span`,{class:O(M(Q)(`size-1.5 shrink-0 rounded-full`,M(fP)[M(cP)[e.status].tone]))},null,2),B(`span`,vL,[B(`span`,{class:O(M(Q)(`block truncate text-xs`,e.serverId===i.value?`font-medium text-accent`:`text-ink`))},k(e.label),3),B(`span`,yL,k(e.files.length>0?`${e.files.length} file${e.files.length===1?``:`s`} · ${M(xI)(e.sizeBytes)}`:`nothing persisted`),1)])],10,_L))),128)),!f.value&&r.value.length===0?(L(),z(QI,{key:2,compact:``,title:`No servers`,description:`Add one and its output will be persisted here.`})):U(``,!0)]),t[6]||=B(`div`,{class:`border-t border-line p-2.5`},[B(`p`,{class:`text-2xs leading-4 text-faint`},` Rotation and retention are set under Settings → Log storage. `)],-1)]),B(`div`,bL,[B(`header`,xL,[B(`div`,SL,[B(`h1`,CL,[H(k(p.value?.label??`Logs`)+` `,1),p.value?(L(),R(`span`,wL,k(p.value.serverId),1)):U(``,!0)])]),V(AI,{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,class:`ml-auto`,options:[{value:`disk`,label:`Persisted`},{value:`live`,label:`Live stream`}]},null,8,[`modelValue`]),a.value===`disk`?(L(),z(lL,{key:0,modelValue:o.value,"onUpdate:modelValue":t[1]||=e=>o.value=e,options:y,class:`w-32`,"aria-label":`Tail size`},null,8,[`modelValue`])):U(``,!0),a.value===`disk`?(L(),z($,{key:1,size:`sm`,loading:s.value,onClick:C},{default:N(()=>[V(M(hy),{class:`size-3.5`}),t[7]||=H(`Reload `,-1)]),_:1},8,[`loading`])):U(``,!0),a.value===`disk`?(L(),z($,{key:2,size:`sm`,variant:`ghost`,disabled:!p.value||p.value.files.length===0,onClick:t[2]||=e=>d.value=!0},{default:N(()=>[V(M(Ay),{class:`size-3.5`}),t[8]||=H(`Clear file `,-1)]),_:1},8,[`disabled`])):U(``,!0)]),p.value?(L(),R(`div`,TL,[V(M(Qv),{class:`size-3.5 shrink-0 text-faint`}),p.value.files.length>0?(L(!0),R(I,{key:0},va(p.value.files,e=>(L(),R(`a`,{key:e.name,href:gj(p.value.serverId,e.name),download:e.name,class:`inline-flex items-center gap-1 rounded-full border border-line px-2 py-0.5 font-mono text-2xs text-muted transition-colors duration-150 hover:border-accent/40 hover:text-accent`},[H(k(e.name)+` `,1),B(`span`,DL,k(M(xI)(e.sizeBytes)),1),V(M(Nv),{class:`size-3`})],8,EL))),128)):(L(),R(`span`,OL,` Nothing on disk for this server — persistence is off, or it has not written anything yet. `)),a.value===`disk`&&l.value.length>0?(L(),R(`span`,kL,` loaded `+k(l.value.length)+` lines `,1)):U(``,!0)])):U(``,!0),c.value?(L(),R(`p`,AL,[V(M(zv),{class:`size-3.5`}),H(` `+k(c.value),1)])):U(``,!0),B(`div`,jL,[p.value?s.value&&_.value.length===0?(L(),z(uL,{key:1,class:`h-full w-full`,rounded:`rounded-panel`})):(L(),z(KI,{key:2,lines:_.value,version:v.value,live:a.value===`live`,class:`h-full`,"empty-hint":a.value===`live`?`Connected — waiting for output.`:`The persisted file is empty.`,"min-height":`100%`},null,8,[`lines`,`version`,`live`,`empty-hint`])):(L(),z(QI,{key:0,title:`Pick a server`,description:`Persisted output and live streams are per server. Choose one from the list.`},{icon:N(()=>[V(M(vy),{class:`size-4`})]),_:1}))])]),V(rL,{open:d.value,"onUpdate:open":t[4]||=e=>d.value=e,title:`Clear the persisted log file?`,description:`${p.value?.serverId??``} — the file on disk is truncated. The process keeps running and new lines are written from here on.`,width:`w-[min(92vw,26rem)]`},{footer:N(()=>[V($,{variant:`ghost`,onClick:t[3]||=e=>d.value=!1},{default:N(()=>[...t[9]||=[H(` Keep it `,-1)]]),_:1}),V($,{variant:`danger`,onClick:w},{default:N(()=>[V(M(Ay),{class:`size-3.5`}),t[10]||=H(`Clear `,-1)]),_:1})]),default:N(()=>[t[11]||=B(`p`,{class:`text-xs text-muted`},` Download it first if the output is still needed — this cannot be undone from the panel. `,-1)]),_:1},8,[`open`,`description`])]))}}),NL=P({__name:`Meter`,props:{value:{},warnAt:{default:75},dangerAt:{default:90},height:{default:`h-1.5`},class:{default:void 0}},setup(e){let t=e,n=W(()=>t.value===null||!Number.isFinite(t.value)?0:Math.min(100,Math.max(0,t.value))),r=W(()=>t.value===null?`neutral`:t.value>=t.dangerAt?`danger`:t.value>=t.warnAt?`warn`:`ok`),i={ok:`bg-ok/80`,warn:`bg-warn/85`,danger:`bg-danger/85`,info:`bg-info/80`,neutral:`bg-faint/60`,accent:`bg-accent/80`};return(e,a)=>(L(),R(`div`,{class:O(M(Q)(`w-full overflow-hidden rounded-full bg-line-soft`,t.height,t.class))},[B(`div`,{class:O(M(Q)(`h-full rounded-full transition-[width] duration-300 ease-out`,i[r.value])),style:ge({width:`${n.value}%`})},null,6)],2))}}),PL={key:1,class:`space-y-4`},FL={class:`grid grid-cols-2 gap-3 sm:grid-cols-4`},IL={class:`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-line-soft pt-3 sm:grid-cols-4`},LL={class:`flex items-center gap-1 text-2xs text-faint`},RL={class:`font-mono text-xs text-ink`},zL={class:`font-mono text-xs tabular-nums text-ink`},BL={class:`flex items-center gap-1 text-2xs text-faint`},VL={class:`font-mono text-xs text-ink`},HL={class:`flex items-center gap-1 text-2xs text-faint`},UL={class:`font-mono text-xs text-ink`},WL={class:`space-y-2 border-t border-line-soft pt-3`},GL={class:`flex items-center gap-1.5 text-2xs font-medium text-faint`},KL={class:`flex items-baseline justify-between gap-2`},qL=[`title`],JL={class:`shrink-0 font-mono text-2xs tabular-nums text-faint`},YL={key:0,class:`space-y-1 rounded-control border border-danger/25 bg-danger-soft px-2.5 py-2`},XL=P({__name:`HostVitalsPanel`,props:{host:{},now:{}},setup(e){let t=e,n=W(()=>{let e=t.host;return e?(e.loadAvg[0]??0)/Math.max(1,e.cpus):null}),r=W(()=>t.host?.loadAvg.map(e=>e.toFixed(2)).join(` `)??`—`);return(e,i)=>!t.host||!t.host.enabled?(L(),z(QI,{key:0,compact:``,title:`Host sampling is off`,description:`Turn it on in Settings to collect load, memory, disk and temperature.`})):(L(),R(`div`,PL,[B(`div`,FL,[V(NP,{value:n.value===null?null:n.value/2*100,label:`Load / cpu`,display:n.value===null?`—`:n.value.toFixed(2),size:72,"warn-at":70,"danger-at":100},null,8,[`value`,`display`]),V(NP,{value:t.host.memoryUsedPercent,label:`Memory`,size:72},null,8,[`value`]),V(NP,{value:t.host.swapUsedPercent,label:`Swap`,size:72,"warn-at":50},null,8,[`value`]),V(NP,{value:t.host.tempCelsius===null?null:t.host.tempCelsius/85*100,label:`CPU temp`,display:t.host.tempCelsius===null?`n/a`:`${Math.round(t.host.tempCelsius)}°C`,size:72},null,8,[`value`,`display`])]),B(`dl`,IL,[B(`div`,null,[B(`dt`,LL,[V(M(Kv),{class:`size-3`}),i[0]||=H(`CPUs `,-1)]),B(`dd`,RL,k(t.host.cpus),1)]),B(`div`,null,[i[1]||=B(`dt`,{class:`text-2xs text-faint`},` Load 1 / 5 / 15 `,-1),B(`dd`,zL,k(r.value),1)]),B(`div`,null,[B(`dt`,BL,[V(M(oy),{class:`size-3`}),i[2]||=H(`Memory used `,-1)]),B(`dd`,VL,k(t.host.memoryUsedPercent.toFixed(0))+`% `,1)]),B(`div`,null,[B(`dt`,HL,[V(M(Oy),{class:`size-3`}),i[3]||=H(`Sampled `,-1)]),B(`dd`,UL,k(M(bI)(t.host.sampledAt,t.now)),1)])]),B(`div`,WL,[B(`p`,GL,[V(M($v),{class:`size-3`}),i[4]||=H(`Filesystems `,-1)]),(L(!0),R(I,null,va(t.host.disks,e=>(L(),R(`div`,{key:e.path,class:`space-y-1`},[B(`div`,KL,[B(`span`,{class:`truncate font-mono text-2xs text-muted`,title:e.path},k(e.path),9,qL),B(`span`,JL,k(M(xI)(e.totalBytes-e.freeBytes))+` / `+k(M(xI)(e.totalBytes))+` · `+k(e.usedPercent.toFixed(0))+`% `,1)]),V(NL,{value:e.usedPercent},null,8,[`value`])]))),128))]),t.host.alerts.length>0?(L(),R(`div`,YL,[i[5]||=B(`p`,{class:`text-2xs font-medium text-danger`},` Thresholds breached `,-1),(L(!0),R(I,null,va(t.host.alerts,e=>(L(),R(`p`,{key:e,class:`text-2xs text-danger`},k(e),1))),128))])):U(``,!0)]))}}),ZL={key:1,class:`flex flex-col`},QL={class:`min-w-0 flex-1`},$L={class:`flex items-baseline gap-1.5`},eR={class:`truncate text-xs font-medium text-ink`},tR=[`title`],nR={key:0,class:`text-muted`},rR={class:`shrink-0 pt-0.5 text-2xs text-faint`},iR=P({__name:`ActivityFeed`,props:{servers:{},now:{},limit:{default:12},serverId:{default:void 0}},setup(e){let t=e,n={start:fy,exit:Ty,crash:zv,"forced-restart":_y,unhealthy:jy,recovered:Bv},r=W(()=>{let e=[];for(let n of t.servers)if(t.serverId===void 0||n.id===t.serverId)for(let t of n.history.events)e.push({...t,label:n.config.label??n.id});return e.sort((e,t)=>t.ts-e.ts).slice(0,t.limit)});return(e,i)=>{let a=fa(`RouterLink`);return r.value.length===0?(L(),z(QI,{key:0,compact:``,title:`No events in the last 24 hours`,description:`Starts, exits, crashes and recoveries show up here as they happen.`})):(L(),R(`ol`,ZL,[(L(!0),R(I,null,va(r.value,(e,r)=>(L(),R(`li`,{key:`${e.serverId}-${e.ts}-${r}`,class:O([`flex items-start gap-2.5 border-line-soft py-2`,r>0&&`border-t`])},[(L(),z(ma(n[e.type]),{class:O(M(Q)(`mt-0.5 size-3.5 shrink-0`,M(uP)[M(hP)[e.type]]))},null,8,[`class`])),B(`div`,QL,[B(`p`,$L,[B(`span`,eR,k(M(mP)[e.type]),1),V(a,{to:`/servers/${e.serverId}`,class:`truncate text-2xs text-muted hover:text-accent`},{default:N(()=>[H(k(e.label),1)]),_:2},1032,[`to`])]),B(`p`,{class:`mt-0.5 truncate font-mono text-2xs text-faint`,title:e.detail},[H(k(e.detail)+` `,1),e.runtimeMs===void 0?U(``,!0):(L(),R(`span`,nR,` · ran `+k(M(_I)(e.runtimeMs)),1))],8,tR)]),B(`span`,rR,k(M(bI)(e.ts,t.now)),1)],2))),128))]))}}}),aR={class:`mb-3 flex items-start justify-between gap-3`},oR={class:`min-w-0`},sR={class:`text-xs font-semibold text-ink`},cR={key:0,class:`mt-0.5 text-2xs leading-4 text-muted`},lR={class:`flex shrink-0 items-center gap-2`},uR=P({__name:`FieldGroup`,props:{title:{},description:{default:void 0},columns:{default:2},dense:{type:Boolean,default:!1},class:{default:void 0}},setup(e){let t=e,n=W(()=>({1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`})[t.columns]);return(e,r)=>(L(),R(`section`,{class:O(M(Q)(`rounded-panel border border-line bg-panel-2/40`,t.dense?`p-3`:`p-3.5`,t.class))},[B(`header`,aR,[B(`div`,oR,[B(`h3`,sR,k(t.title),1),t.description?(L(),R(`p`,cR,k(t.description),1)):U(``,!0)]),B(`div`,lR,[F(e.$slots,`actions`)])]),B(`div`,{class:O(M(Q)(`grid gap-3`,n.value))},[F(e.$slots,`default`)],2)],2))}}),dR=[`for`],fR=[`id`,`step`,`min`,`max`,`aria-invalid`],pR={key:1,class:`text-2xs text-danger`},mR=P({inheritAttrs:!1,__name:`NumberField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},wide:{type:Boolean,default:!1},nullable:{type:Boolean,default:!1},step:{default:void 0},min:{default:void 0},max:{default:void 0}},{modelValue:{default:null},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=li(),i=W({get:()=>n.value===null||n.value===void 0?``:String(n.value),set:e=>{let r=e.trim();if(r.length===0){n.value=t.nullable?null:NaN;return}let i=Number(r);n.value=Number.isNaN(i)?NaN:i}}),a=W(()=>n.value!==null&&Number.isNaN(n.value));return(e,n)=>(L(),R(`div`,{class:O(M(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:M(r),class:O(M(pF))},k(t.label),11,dR)):U(``,!0),br(B(`input`,Ms({id:M(r),"onUpdate:modelValue":n[0]||=e=>i.value=e,type:`number`,inputmode:`numeric`,step:t.step,min:t.min,max:t.max,class:M(Q)(M(hF),`font-mono tabular-nums`,(t.error||a.value)&&`border-danger`),"aria-invalid":t.error||a.value?!0:void 0},e.$attrs),null,16,fR),[[Jl,i.value]]),t.error?(L(),R(`p`,pR,k(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:O(M(mF))},k(t.hint),3)):U(``,!0)],2))}}),hR=[`for`],gR=[`id`,`rows`,`placeholder`],_R={key:1,class:`text-2xs text-danger`},vR=P({inheritAttrs:!1,__name:`TextAreaField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},rows:{default:3},placeholder:{default:void 0},wide:{type:Boolean,default:!0},mono:{type:Boolean,default:!0}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=li();return(e,i)=>(L(),R(`div`,{class:O(M(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:M(r),class:O(M(pF))},k(t.label),11,hR)):U(``,!0),br(B(`textarea`,Ms({id:M(r),"onUpdate:modelValue":i[0]||=e=>n.value=e,rows:t.rows,placeholder:t.placeholder,spellcheck:`false`,class:M(Q)(t.mono?M(gF):`font-sans`,`resize-y leading-relaxed`,t.error&&`border-danger`)},e.$attrs),null,16,gR),[[Jl,n.value]]),t.error?(L(),R(`p`,_R,k(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:O(M(mF))},k(t.hint),3)):U(``,!0)],2))}}),yR=[`for`],bR=[`id`,`aria-invalid`,`aria-describedby`],xR=[`id`],SR=[`id`],CR=P({inheritAttrs:!1,__name:`TextField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},wide:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=li(),i=W(()=>t.hint||t.error?`${r}-hint`:void 0);return(e,a)=>(L(),R(`div`,{class:O(M(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:M(r),class:O(M(pF))},k(t.label),11,yR)):U(``,!0),br(B(`input`,Ms({id:M(r),"onUpdate:modelValue":a[0]||=e=>n.value=e,class:M(Q)(M(hF),t.error&&`border-danger`),"aria-invalid":t.error?!0:void 0,"aria-describedby":i.value},e.$attrs),null,16,bR),[[ru,n.value]]),t.error?(L(),R(`p`,{key:1,id:`${M(r)}-hint`,class:`text-2xs text-danger`},k(t.error),9,xR)):t.hint?(L(),R(`p`,{key:2,id:`${M(r)}-hint`,class:O(M(mF))},k(t.hint),11,SR)):U(``,!0)],2))}}),wR={class:`block text-xs text-ink`},TR={key:0,class:`block text-2xs text-faint`},ER=P({__name:`ToggleSwitch`,props:za({label:{},hint:{default:void 0},disabled:{type:Boolean,default:!1},trailing:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`);return(e,r)=>(L(),R(`div`,{class:O(M(Q)(`flex items-center gap-2.5`,t.trailing&&`flex-row-reverse justify-end`))},[V(M(cg),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,disabled:t.disabled,class:O(M(Q)(`relative inline-flex h-[18px] w-8 shrink-0 cursor-pointer items-center rounded-full border transition-colors duration-150`,`data-[state=checked]:border-accent data-[state=checked]:bg-accent`,`data-[state=unchecked]:border-line data-[state=unchecked]:bg-line-soft`,`disabled:cursor-not-allowed disabled:opacity-45`,M(fF)))},{default:N(()=>[V(M(lg),{class:`block size-3 translate-x-[3px] rounded-full bg-white shadow-sm transition-transform duration-150 ease-out data-[state=checked]:translate-x-[16px]`})]),_:1},8,[`modelValue`,`disabled`,`class`]),B(`label`,{class:`min-w-0 cursor-pointer select-none`,onClick:r[1]||=e=>!t.disabled&&(n.value=!n.value)},[B(`span`,wR,k(t.label),1),t.hint?(L(),R(`span`,TR,k(t.hint),1)):U(``,!0)])],2))}}),DR={class:`flex flex-col gap-2 rounded-panel border border-line bg-panel-2/40 p-3`},OR={class:`rounded-panel border border-line-soft bg-panel-2/40 p-3`},kR={class:`mt-1.5 flex flex-wrap gap-1`},AR={key:0,class:`rounded-control border border-danger/40 bg-danger-soft px-2.5 py-1.5 font-mono text-2xs leading-4 text-danger`},jR=P({__name:`AddServerDialog`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:za([`created`],[`update:open`]),setup(e,{emit:t}){let n=t,r=so(e,`open`),i=wM(),a=j(!1),o=j(null),s=/^[a-z0-9][a-z0-9_-]*$/,c=[`{port}`,`{host}`,`{home}`,`{projectDir}`,`{dataRoot}`,`{id}`,`{label}`,`{cwd}`,`{bind}`,`{lanIp}`],l=en({id:``,label:``,command:``,args:``,cwd:``,port:null,bind:`local`,autostart:!1});function u(){return{id:``,label:``,command:``,args:``,cwd:``,port:null,bind:`local`,autostart:!1}}let d=W(()=>l.port===null||l.port===void 0||Number.isNaN(l.port)||Number.isInteger(l.port)&&l.port>=1&&l.port<=65535?null:`Port must be a whole number between 1 and 65535.`);function f(){Object.assign(l,u()),o.value=null}Ar(r,e=>{e&&f()});function p(){return{id:l.id.trim(),label:l.label.trim().length>0?l.label.trim():void 0,command:l.command.trim(),args:l.args.split(`
|
|
40
|
+
`).map(e=>e.trim()).filter(e=>e.length>0),cwd:l.cwd.trim().length>0?l.cwd.trim():void 0,...l.port===null?{}:{port:l.port},bind:l.bind,autostart:l.autostart}}function m(){return l.id.trim().length===0?`An id is required — it is the key this server lives under.`:s.test(l.id.trim())?l.command.trim().length===0?`A command is required — the executable the supervisor spawns.`:d.value===null?null:d.value:`The id must start with a lowercase letter or digit and contain only lowercase letters, digits, dashes and underscores.`}async function h(){o.value=null;let e=m();if(e!==null){o.value=e;return}a.value=!0;try{if(await i.create(p()),i.lastError.value!==null){o.value=i.lastError.value;return}n(`created`),r.value=!1,f()}finally{a.value=!1}}return(e,t)=>(L(),z(rL,{open:r.value,"onUpdate:open":t[9]||=e=>r.value=e,title:`Add a server`,description:`Appends an entry to servers.config.json; every policy you leave out is inherited from the defaults.`,width:`w-[min(94vw,40rem)]`},{footer:N(()=>[V($,{variant:`ghost`,onClick:t[8]||=e=>r.value=!1},{default:N(()=>[...t[12]||=[H(` Cancel `,-1)]]),_:1}),V($,{type:`submit`,form:`add-server-form`,variant:`primary`,loading:a.value},{default:N(()=>[...t[13]||=[H(` Add to servers.config.json `,-1)]]),_:1},8,[`loading`])]),default:N(()=>[B(`form`,{id:`add-server-form`,class:`flex flex-col gap-3`,onSubmit:lu(h,[`prevent`])},[V(uR,{title:`Identity`,columns:2,dense:``},{default:N(()=>[V(CR,{modelValue:l.id,"onUpdate:modelValue":t[0]||=e=>l.id=e,label:`Id`,placeholder:`my-server`,hint:`Lowercase letters, digits, dashes and underscores; used in URLs and logs.`,class:`font-mono text-xs`},null,8,[`modelValue`]),V(CR,{modelValue:l.label,"onUpdate:modelValue":t[1]||=e=>l.label=e,label:`Label`,placeholder:`My server`,hint:`Shown in the panel; defaults to the id.`},null,8,[`modelValue`])]),_:1}),V(uR,{title:`Process`,columns:2,dense:``},{default:N(()=>[V(CR,{modelValue:l.command,"onUpdate:modelValue":t[2]||=e=>l.command=e,label:`Command`,placeholder:`node`,hint:`Spawned without a shell.`,class:`font-mono text-xs`},null,8,[`modelValue`]),V(CR,{modelValue:l.cwd,"onUpdate:modelValue":t[3]||=e=>l.cwd=e,label:`Working directory`,placeholder:`.`,hint:`Relative paths resolve under projectDir.`,class:`font-mono text-xs`},null,8,[`modelValue`])]),_:1}),V(vR,{modelValue:l.args,"onUpdate:modelValue":t[4]||=e=>l.args=e,label:`Arguments`,rows:3,hint:`One argument per line; whitespace inside a line is preserved.`,placeholder:`-p
|
|
41
|
+
{port}`},null,8,[`modelValue`]),V(uR,{title:`Port & lifecycle`,columns:2,dense:``},{default:N(()=>[V(mR,{modelValue:l.port,"onUpdate:modelValue":t[5]||=e=>l.port=e,label:`Port`,nullable:``,min:1,max:65535,error:d.value,hint:`Blank means the server has no port to probe or preflight.`},null,8,[`modelValue`,`error`]),V(lL,{modelValue:l.bind,"onUpdate:modelValue":t[6]||=e=>l.bind=e,label:`Bind address`,options:[{value:`local`,label:`local — 127.0.0.1`},{value:`lan`,label:`lan — 0.0.0.0`}],hint:`lan exposes it to the network; only do that behind auth.`},null,8,[`modelValue`])]),_:1}),B(`div`,DR,[V(ER,{modelValue:l.autostart,"onUpdate:modelValue":t[7]||=e=>l.autostart=e,label:`Autostart with up`,hint:`Start it whenever the control plane comes up.`},null,8,[`modelValue`]),t[10]||=B(`p`,{class:`text-2xs leading-4 text-faint`},[H(` Everything this entry does not set — restart, health, stop, resources — is inherited from `),B(`span`,{class:`font-mono`},`Settings → Defaults`),H(`, and can be overridden afterwards from the server's own editor. `)],-1)]),B(`div`,OR,[t[11]||=B(`p`,{class:`text-2xs font-medium text-muted`},` Available argument placeholders `,-1),B(`div`,kR,[(L(),R(I,null,va(c,e=>B(`code`,{key:e,class:`rounded-control border border-line bg-raise px-1.5 py-0.5 font-mono text-2xs text-ink`},k(e),1)),64))])]),o.value?(L(),R(`p`,AR,k(o.value),1)):U(``,!0)],32)]),_:1},8,[`open`]))}}),MR={class:`text-xs font-semibold text-ink`},NR={class:`mt-2.5 flex justify-end gap-1.5`},PR=P({__name:`KillPortButton`,props:{port:{},busy:{type:Boolean,default:!1}},emits:[`confirm`],setup(e,{emit:t}){let n=e,r=t,i=j(!1);function a(){i.value=!1,r(`confirm`)}return(e,t)=>(L(),z(M(Wh),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:N(()=>[V(M(Zh),{"as-child":``},{default:N(()=>[V($,{variant:`danger-ghost`,size:`xs`,loading:n.busy},{default:N(()=>[H(` Kill what holds port `+k(n.port),1)]),_:1},8,[`loading`])]),_:1}),V(M(Xh),null,{default:N(()=>[V(M(Yh),{"side-offset":6,align:`start`,class:`z-50 w-64 rounded-panel border border-line bg-raise p-3 shadow-float focus-visible:outline-none data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:N(()=>[B(`p`,MR,` Kill the process on port `+k(n.port)+`? `,1),t[3]||=B(`p`,{class:`mt-1 text-2xs leading-4 text-muted`},` It is asked to stop first, and killed only if it ignores that. Anything this panel supervises is refused, so a managed server cannot be lost this way. `,-1),B(`div`,NR,[V(M(Gh),{"as-child":``},{default:N(()=>[V($,{size:`xs`,variant:`ghost`},{default:N(()=>[...t[1]||=[H(` Keep it `,-1)]]),_:1})]),_:1}),V($,{size:`xs`,variant:`danger`,loading:n.busy,onClick:a},{default:N(()=>[...t[2]||=[H(` Kill it `,-1)]]),_:1},8,[`loading`])])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),FR=[`viewBox`],IR=[`id`],LR=[`stop-color`],RR=[`stop-color`],zR=[`d`,`fill`],BR=[`d`,`stroke`,`stroke-width`],VR=[`x1`,`x2`,`y2`,`stroke`],HR=[`cx`,`cy`,`fill`],UR={key:0,class:`absolute inset-x-0 top-1/2 border-t border-dashed border-line`},WR=100,GR=P({__name:`Sparkline`,props:za({values:{},height:{default:34},max:{default:null},min:{default:null},fill:{type:Boolean,default:!0},strokeWidth:{default:1.5},color:{default:void 0},class:{default:void 0},interactive:{type:Boolean,default:!1}},{hoverIndex:{default:null},hoverIndexModifiers:{}}),emits:[`update:hoverIndex`],setup(e){let t=e,n=so(e,`hoverIndex`),r=li(),i=j(null),a=W(()=>{let e=t.values.filter(e=>e!==null&&Number.isFinite(e)),n=t.max??(e.length>0?Math.max(...e):1),r=t.min??0;return{bottom:r,ceiling:n===r?r+1:n}}),o=W(()=>{let e=t.values,{bottom:n,ceiling:r}=a.value,i=r-n,o=e.length>1?WR/(e.length-1):WR,s=e=>t.height-(e-n)/i*t.height,c=[],l=[],u=()=>{if(l.length===0)return;let e=l.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(2)} ${e.y.toFixed(2)}`).join(` `),n=l[0],r=`${e} L${l[l.length-1].x.toFixed(2)} ${t.height} L${n.x.toFixed(2)} ${t.height} Z`;c.push({line:e,area:r}),l=[]};return e.forEach((e,t)=>{if(e===null||!Number.isFinite(e)){u();return}l.push({x:t*o,y:s(e)})}),u(),c}),s=W(()=>n.value===null||t.values.length<2?null:n.value/(t.values.length-1)*WR),c=W(()=>{let e=n.value;if(e===null)return null;let r=t.values[e];if(r==null||!Number.isFinite(r))return null;let{bottom:i,ceiling:o}=a.value;return t.height-(r-i)/(o-i)*t.height});function l(e){if(!t.interactive||!i.value||t.values.length===0)return;let r=i.value.getBoundingClientRect();if(r.width===0)return;let a=Math.min(1,Math.max(0,(e.clientX-r.left)/r.width));n.value=Math.round(a*(t.values.length-1))}function u(){n.value=null}return(e,n)=>(L(),R(`div`,{ref_key:`track`,ref:i,class:O(M(Q)(`relative w-full`,t.class)),style:ge({height:`${t.height}px`}),onMousemove:l,onMouseleave:u},[(L(),R(`svg`,{viewBox:`0 0 ${WR} ${t.height}`,preserveAspectRatio:`none`,class:`block size-full overflow-visible`,role:`img`,"aria-hidden":`true`},[B(`defs`,null,[B(`linearGradient`,{id:M(r),x1:`0`,y1:`0`,x2:`0`,y2:`1`},[B(`stop`,{offset:`0%`,"stop-color":t.color??`currentColor`,"stop-opacity":`0.26`},null,8,LR),B(`stop`,{offset:`100%`,"stop-color":t.color??`currentColor`,"stop-opacity":`0`},null,8,RR)],8,IR)]),(L(!0),R(I,null,va(o.value,(e,n)=>(L(),R(I,{key:n},[t.fill?(L(),R(`path`,{key:0,d:e.area,fill:`url(#${M(r)})`,stroke:`none`},null,8,zR)):U(``,!0),B(`path`,{d:e.line,fill:`none`,stroke:t.color??`currentColor`,"stroke-width":t.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`},null,8,BR)],64))),128)),s.value===null?U(``,!0):(L(),R(`line`,{key:0,x1:s.value,x2:s.value,y1:`0`,y2:t.height,stroke:t.color??`currentColor`,"stroke-width":`1`,"stroke-dasharray":`2 2`,"vector-effect":`non-scaling-stroke`,opacity:`0.5`},null,8,VR)),s.value!==null&&c.value!==null?(L(),R(`circle`,{key:1,cx:s.value,cy:c.value,r:`2`,fill:t.color??`currentColor`,"vector-effect":`non-scaling-stroke`},null,8,HR)):U(``,!0)],8,FR)),o.value.length===0?(L(),R(`div`,UR)):U(``,!0)],38))}}),KR={class:`min-w-0`},qR={class:`flex items-baseline justify-between gap-2`},JR={class:`truncate text-2xs font-medium text-faint`},YR={class:`flex shrink-0 items-baseline gap-1.5`},XR={key:0,class:`font-mono text-2xs text-faint`},ZR=P({__name:`MetricSpark`,props:{label:{},values:{},format:{},max:{default:null},colorClass:{default:`text-accent`},height:{default:30},sampleMs:{default:5e3},emptyHint:{default:`collecting…`}},setup(e){let t=e,n=j(null),r=W(()=>Qj(t.values)),i=W(()=>t.values.some(e=>e!==null)),a=W(()=>{let e=n.value;return e!==null&&t.values[e]!==void 0?t.values[e]??null:r.value}),o=W(()=>{let e=n.value;if(e===null)return null;let r=t.values.length-1-e;if(r<=0)return null;let i=Math.round(r*t.sampleMs/1e3);return i<60?`−${i}s`:`−${Math.round(i/60)}m`});return(e,r)=>(L(),R(`div`,KR,[B(`div`,qR,[B(`span`,JR,k(t.label),1),B(`span`,YR,[o.value?(L(),R(`span`,XR,k(o.value),1)):U(``,!0),B(`span`,{class:O(M(Q)(`font-mono text-xs font-medium tabular-nums`,i.value?`text-ink`:`text-faint`))},k(i.value?t.format(a.value):t.emptyHint),3)])]),V(GR,{"hover-index":n.value,"onUpdate:hoverIndex":r[0]||=e=>n.value=e,values:t.values,height:t.height,max:t.max,interactive:``,class:O(M(Q)(`mt-1`,t.colorClass))},null,8,[`hover-index`,`values`,`height`,`max`,`class`])]))}}),QR={class:`inline-flex flex-wrap items-center gap-1.5`},$R={class:`relative flex size-1.5`},ez={key:0,class:`absolute inset-0 rounded-full bg-current opacity-60`,style:{animation:`hh-pulse-ring 1.6s ease-out infinite`}},tz=P({__name:`StatusPill`,props:{status:{},health:{default:null},showHealth:{type:Boolean,default:!0}},setup(e){let t=e,n=W(()=>cP[t.status]),r=W(()=>t.health?lP[t.health]:null),i=W(()=>t.showHealth&&r.value!==null&&t.health!==`disabled`&&t.health!==`unknown`&&(r.value.tone===`danger`||r.value.tone===`warn`)),a=W(()=>n.value.transitional);return(e,t)=>(L(),R(`span`,QR,[B(`span`,{class:O(M(Q)(`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-2xs font-medium`,M(dP)[n.value.tone]))},[B(`span`,$R,[a.value?(L(),R(`span`,ez)):U(``,!0),B(`span`,{class:O(M(Q)(`relative size-1.5 rounded-full`,M(fP)[n.value.tone]))},null,2)]),H(` `+k(n.value.label),1)],2),i.value&&r.value?(L(),R(`span`,{key:0,class:O(M(Q)(`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-2xs font-medium`,M(dP)[r.value.tone]))},k(r.value.label),3)):U(``,!0)]))}}),nz={class:`flex items-start justify-between gap-3 px-4 pb-2.5 pt-3.5`},rz={class:`min-w-0`},iz={class:`flex items-center gap-2`},az=[`href`,`title`,`aria-label`],oz={class:`mt-0.5 flex items-center gap-1.5 truncate font-mono text-2xs text-faint`},sz={class:`text-muted`},cz={key:1,class:`rounded bg-hover px-1 py-px text-muted`},lz={key:2,class:`rounded bg-accent-soft px-1 py-px text-accent`},uz=[`title`],dz={key:0,class:`space-y-2.5 border-y border-line-soft px-4 py-3`},fz={class:`grid grid-cols-2 gap-x-4 gap-y-2`},pz={key:1,class:`flex flex-wrap items-center gap-x-3 gap-y-1 px-4 pt-2.5`},mz={class:`text-muted`},hz={class:`text-faint`},gz={key:2,class:`flex flex-col gap-1 px-4 pt-2.5`},_z={key:0,class:`flex items-start gap-1.5 text-2xs leading-4 text-danger`},vz={class:`min-w-0 break-words`},yz={key:2,class:`text-2xs leading-4 text-warn`},bz={key:3,class:`text-2xs leading-4 text-warn`},xz={class:`grid grid-cols-2 gap-x-4 gap-y-1 px-4 py-3 sm:grid-cols-4`},Sz={class:`truncate text-2xs text-faint`},Cz={class:`truncate font-mono text-xs tabular-nums text-ink capitalize`},wz={class:`mt-auto flex items-center gap-1.5 border-t border-line-soft px-4 py-2.5`},Tz={class:`grid grid-cols-2 gap-2 text-xs`},Ez={class:`font-mono text-ink`},Dz={class:`text-ink capitalize`},Oz=P({__name:`ServerCard`,props:{server:{},series:{},now:{},variant:{default:`default`}},setup(e){let t=e,n={start:fy,exit:Ty,crash:zv,"forced-restart":_y,unhealthy:jy,recovered:Bv},r=wM(),i=j(!1),a=j(!1),o=W(()=>t.server.config),s=W(()=>o.value.label&&o.value.label.length>0?o.value.label:t.server.id),c=W(()=>`${o.value.command} ${o.value.args.join(` `)}`.trim()),l=W(()=>pP(t.server.status,t.server.health)),u=W(()=>t.server.status===`running`),d=W(()=>o.value.enabled&&[`stopped`,`crashed`,`conflict`].includes(t.server.status)),f=W(()=>[`running`,`starting`,`backoff`].includes(t.server.status)),p=W(()=>t.server.startedAt===null||!u.value?`—`:_I(t.now-t.server.startedAt)),m=W(()=>t.server.nextRetryAt===null?null:vI(t.server.nextRetryAt,t.now)),h=W(()=>t.server.unhealthySince===null?null:_I(t.now-t.server.unhealthySince)),g=W(()=>t.series?.cpu??[]),_=W(()=>t.series?.rss??[]),v=W(()=>t.series?.probe??[]),y=W(()=>[...t.server.history.events].slice(-3).reverse()),b=W(()=>{let e=t.server,n=[{key:`pid`,label:`PID`,value:e.pid===null?`—`:String(e.pid)},{key:`uptime`,label:`Uptime`,value:p.value},{key:`restarts`,label:`Restarts`,value:`${e.restarts}/${e.maxRetries}`},{key:`port`,label:`Port`,value:e.portState},{key:`uptime24`,label:`24h up`,value:yI(e.history.uptimeRatio)},{key:`probe`,label:`Probe`,value:e.responseMs===null?`—`:`${e.responseMs} ms`},{key:`rss`,label:`RSS`,value:SI(e.resources?.rssBytes??null)},{key:`procs`,label:`Procs`,value:e.resources?String(e.resources.processes):`—`}];return e.history.crashes>0&&n.splice(5,0,{key:`crashes`,label:`24h crashes`,value:String(e.history.crashes)}),e.history.lastCrashAt!==null&&n.push({key:`lastcrash`,label:`Last crash`,value:bI(e.history.lastCrashAt,t.now)}),n});async function x(e){i.value=!0;try{await r[e](t.server.id)}finally{i.value=!1}}async function S(){i.value=!0;try{await r.freePort(t.server.id)}finally{i.value=!1}}async function C(e){let n=!(e===`enabled`?o.value.enabled:o.value.autostart);e===`enabled`?await r.setEnabled(t.server.id,n):await r.setAutostart(t.server.id,n)}async function w(){a.value=!1,await r.remove(t.server.id)}return(u,p)=>{let T=fa(`RouterLink`);return L(),R(`article`,{class:O(M(Q)(`group relative flex flex-col rounded-panel border bg-panel shadow-card transition-colors duration-150`,`hover:border-line/90`,t.server.status===`crashed`||t.server.status===`conflict`?`border-danger/30`:`border-line`,!o.value.enabled&&`opacity-70`))},[B(`span`,{class:O(M(Q)(`absolute inset-y-3 left-0 w-0.5 rounded-full`,{"bg-ok":l.value===`ok`,"bg-warn":l.value===`warn`,"bg-danger":l.value===`danger`,"bg-faint/50":l.value===`neutral`,"bg-accent":l.value===`accent`||l.value===`info`}))},null,2),B(`header`,nz,[B(`div`,rz,[B(`div`,iz,[V(T,{to:`/servers/${e.server.id}`,class:`truncate text-sm font-semibold tracking-tight text-ink hover:text-accent`},{default:N(()=>[H(k(s.value),1)]),_:1},8,[`to`]),e.server.url?(L(),R(`a`,{key:0,href:e.server.url,target:`_blank`,rel:`noreferrer`,class:`shrink-0 text-faint transition-colors duration-150 hover:text-accent`,title:e.server.url,"aria-label":`Open ${e.server.url}`},[V(M(Yv),{class:`size-3.5`})],8,az)):U(``,!0)]),B(`p`,oz,[B(`span`,null,k(e.server.id),1),o.value.port===null?U(``,!0):(L(),R(I,{key:0},[p[9]||=B(`span`,{"aria-hidden":`true`},`·`,-1),B(`span`,sz,`:`+k(o.value.port),1)],64)),p[10]||=B(`span`,{"aria-hidden":`true`},`·`,-1),B(`span`,null,k(e.server.bindHost),1),o.value.enabled?U(``,!0):(L(),R(`span`,cz,`disabled`)),o.value.autostart?(L(),R(`span`,lz,`autostart`)):U(``,!0)])]),V(tz,{status:e.server.status,health:e.server.health},null,8,[`status`,`health`]),e.server.adopted?(L(),z(vF,{key:0,label:`This process replaced itself: the panel adopted the successor instead of starting a second copy. Stop still works, its output stays where the successor sent it.`},{default:N(()=>[...p[11]||=[B(`span`,{class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},`detached`,-1)]]),_:1})):U(``,!0)]),B(`p`,{class:`truncate px-4 pb-3 font-mono text-2xs text-muted`,title:c.value},k(c.value),9,uz),t.variant===`compact`?U(``,!0):(L(),R(`div`,dz,[B(`div`,fz,[V(ZR,{label:`CPU`,values:g.value,format:M(CI),max:100,"color-class":`text-cpu`},null,8,[`values`,`format`]),V(ZR,{label:`Memory`,values:_.value,format:M(SI),"color-class":`text-mem`},null,8,[`values`,`format`])]),V(ZR,{label:`Health probe`,values:v.value,format:e=>e===null?`—`:`${e} ms`,height:22,"color-class":`text-probe`,"empty-hint":`not probed`},null,8,[`values`,`format`])])),y.value.length>0?(L(),R(`div`,pz,[(L(!0),R(I,null,va(y.value,e=>(L(),R(`span`,{key:`${e.ts}`,class:`inline-flex items-center gap-1 text-2xs`},[(L(),z(ma(n[e.type]),{class:O(M(Q)(`size-3`,M(uP)[M(hP)[e.type]]))},null,8,[`class`])),B(`span`,mz,k(M(mP)[e.type]),1),B(`span`,hz,k(M(bI)(e.ts,t.now)),1)]))),128))])):U(``,!0),e.server.lastError||h.value||m.value?(L(),R(`div`,gz,[e.server.lastError?(L(),R(`p`,_z,[V(M(zv),{class:`mt-0.5 size-3 shrink-0`}),B(`span`,vz,k(e.server.lastError),1)])):U(``,!0),e.server.status===`conflict`&&o.value.port!==null?(L(),z(PR,{key:1,port:o.value.port,busy:i.value,class:`self-start`,onConfirm:S},null,8,[`port`,`busy`])):U(``,!0),h.value?(L(),R(`p`,yz,` Unhealthy for `+k(h.value),1)):U(``,!0),m.value?(L(),R(`p`,bz,` Next attempt `+k(m.value),1)):U(``,!0)])):U(``,!0),B(`dl`,xz,[(L(!0),R(I,null,va(b.value,e=>(L(),R(`div`,{key:e.key,class:`min-w-0`},[B(`dt`,Sz,k(e.label),1),B(`dd`,Cz,k(e.value),1)]))),128))]),B(`div`,wz,[V($,{variant:`primary`,size:`xs`,disabled:i.value||!d.value,onClick:p[0]||=e=>x(`start`)},{default:N(()=>[V(M(fy),{class:`size-3`}),p[12]||=H(`Start `,-1)]),_:1},8,[`disabled`]),V($,{size:`xs`,disabled:i.value||!f.value,onClick:p[1]||=e=>x(`stop`)},{default:N(()=>[V(M(Ty),{class:`size-3`}),p[13]||=H(`Stop `,-1)]),_:1},8,[`disabled`]),V($,{size:`xs`,disabled:i.value||!o.value.enabled,onClick:p[2]||=e=>x(`restart`)},{default:N(()=>[V(M(_y),{class:`size-3`}),p[14]||=H(`Restart `,-1)]),_:1},8,[`disabled`]),V(vF,{label:`Live logs and full telemetry`},{default:N(()=>[V(T,{to:`/servers/${e.server.id}`},{default:N(()=>[V($,{size:`xs`,variant:`ghost`},{default:N(()=>[V(M(vy),{class:`size-3`}),p[15]||=H(`Details `,-1)]),_:1})]),_:1},8,[`to`])]),_:1}),V(M(eg),null,{default:N(()=>[V(M(ag),{"as-child":``},{default:N(()=>[V($,{size:`icon-sm`,variant:`ghost`,class:`ml-auto`,"aria-label":`More actions for ${s.value}`},{default:N(()=>[V(M(Jv),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1}),V(M(rg),null,{default:N(()=>[V(M(tg),{"side-offset":4,align:`end`,class:`z-50 min-w-52 rounded-panel border border-line bg-raise p-1 shadow-float data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:N(()=>[V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:p[3]||=e=>C(`enabled`)},{default:N(()=>[V(M(my),{class:`size-3.5`}),H(` `+k(o.value.enabled?`Disable server`:`Enable server`),1)]),_:1}),V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:p[4]||=e=>C(`autostart`)},{default:N(()=>[V(M(fy),{class:`size-3.5`}),H(` `+k(o.value.autostart?`Remove from autostart`:`Autostart with the panel`),1)]),_:1}),V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:p[5]||=t=>M(r).clearLogs(e.server.id)},{default:N(()=>[V(M(vy),{class:`size-3.5`}),p[16]||=H(` Clear log buffer `,-1)]),_:1}),V(M(ig),{class:`my-1 h-px bg-line`}),V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-danger outline-none data-[highlighted]:bg-danger-soft`,onSelect:p[6]||=e=>a.value=!0},{default:N(()=>[V(M(Ay),{class:`size-3.5`}),p[17]||=H(` Remove server `,-1)]),_:1})]),_:1})]),_:1})]),_:1})]),V(rL,{open:a.value,"onUpdate:open":p[8]||=e=>a.value=e,title:`Remove this server?`,description:`${s.value} is removed from servers.config.json. Its process is stopped and its persisted logs stay on disk.`,width:`w-[min(92vw,26rem)]`},{footer:N(()=>[V($,{variant:`ghost`,onClick:p[7]||=e=>a.value=!1},{default:N(()=>[...p[20]||=[H(` Keep it `,-1)]]),_:1}),V($,{variant:`danger`,onClick:w},{default:N(()=>[V(M(Ay),{class:`size-3.5`}),p[21]||=H(`Remove `,-1)]),_:1})]),default:N(()=>[B(`dl`,Tz,[B(`div`,null,[p[18]||=B(`dt`,{class:`text-faint`},` id `,-1),B(`dd`,Ez,k(e.server.id),1)]),B(`div`,null,[p[19]||=B(`dt`,{class:`text-faint`},` status `,-1),B(`dd`,Dz,k(e.server.status),1)])])]),_:1},8,[`open`,`description`])],2)}}}),kz={class:`flex flex-wrap items-start justify-between gap-3`},Az={class:`min-w-0`},jz={class:`flex flex-wrap items-center gap-x-3 gap-y-1.5`},Mz={class:`text-2xl font-semibold tracking-tight text-ink`},Nz={key:1,class:`mt-1 max-w-2xl text-xs leading-relaxed text-muted`},Pz={class:`flex shrink-0 flex-wrap items-center gap-2`},Fz=P({__name:`PageHeader`,props:{title:{},description:{default:void 0},backTo:{default:void 0},backLabel:{default:`Back`}},setup(e){return(e,t)=>{let n=fa(`RouterLink`);return L(),R(`header`,kz,[B(`div`,Az,[e.$props.backTo?(L(),z(n,{key:0,to:e.$props.backTo,class:`mb-1 inline-flex items-center gap-1 text-2xs text-muted transition-colors duration-150 hover:text-ink`},{default:N(()=>[V(M(Iv),{class:`size-3`}),H(` `+k(e.$props.backLabel),1)]),_:1},8,[`to`])):U(``,!0),B(`div`,jz,[B(`h1`,Mz,k(e.$props.title),1),F(e.$slots,`badges`)]),e.$props.description?(L(),R(`p`,Nz,k(e.$props.description),1)):U(``,!0)]),B(`div`,Pz,[F(e.$slots,`actions`)])])}}}),Iz={key:0,class:`mb-3 flex items-start justify-between gap-3`},Lz={class:`min-w-0`},Rz={class:`flex shrink-0 items-center gap-1.5`},zz=P({__name:`Panel`,props:{padded:{type:Boolean,default:!0},class:{}},setup(e){return(e,t)=>(L(),R(`section`,{class:O(M(sP)(`rounded-panel border border-line bg-panel shadow-card`,e.$props.padded&&`p-4`,e.$props.class))},[e.$slots.header||e.$slots.actions?(L(),R(`header`,Iz,[B(`div`,Lz,[F(e.$slots,`header`)]),B(`div`,Rz,[F(e.$slots,`actions`)])])):U(``,!0),F(e.$slots,`default`)],2))}}),Bz={class:`min-w-0`},Vz={class:`truncate text-2xs font-medium text-faint`},Hz={key:0,class:`mt-0.5 truncate text-2xs text-muted`},Uz=P({__name:`StatTile`,props:{label:{},value:{},hint:{default:void 0},tone:{default:`neutral`},mono:{type:Boolean,default:!0}},setup(e){return(e,t)=>(L(),R(`div`,Bz,[B(`p`,Vz,k(e.$props.label),1),B(`p`,{class:O(M(Q)(`mt-0.5 truncate text-xl font-semibold tracking-tight`,e.$props.mono&&`font-mono tabular-nums`,e.$props.tone===`neutral`?`text-ink`:M(uP)[e.$props.tone]))},k(e.$props.value),3),e.$props.hint?(L(),R(`p`,Hz,k(e.$props.hint),1)):U(``,!0)]))}}),Wz=j(null),Gz=j(`unknown`),Kz=null;async function qz(){try{let e=await(await fetch(`/healthz`,{cache:`no-store`})).json();typeof e.uptimeMs==`number`&&(Wz.value=Date.now()-e.uptimeMs),Gz.value=e.status===`degraded`?`degraded`:`ok`}catch{Gz.value=`unknown`}}function Jz(){return Kz??=qz().finally(()=>{Kz=null}),{startedAt:Wz,status:Gz,refresh:qz}}var Yz={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},Xz={key:0,class:`grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 lg:grid-cols-6`},Zz={key:1,class:`grid grid-cols-2 divide-line-soft sm:grid-cols-3 sm:divide-x lg:grid-cols-6`},Qz={class:`p-4`},$z={class:`p-4`},eB={class:`p-4`},tB={class:`p-4`},nB={class:`p-4`},rB={class:`p-4`},iB={key:0,class:`flex items-start gap-2.5 rounded-panel border border-danger/25 bg-danger-soft px-3.5 py-3`},aB={class:`min-w-0`},oB={class:`text-xs font-medium text-danger`},sB={class:`mt-0.5 flex flex-wrap gap-x-2 text-2xs text-danger`},cB={class:`space-y-3`},lB={class:`flex items-center justify-between`},uB={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},dB={key:0,class:`grid gap-4 lg:grid-cols-2`},fB={key:2,class:`grid gap-4 lg:grid-cols-2`},pB={class:`grid gap-4 lg:grid-cols-3`},mB={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},hB={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},gB={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-faint`},_B={class:`flex items-center gap-1`},vB={class:`font-mono`},yB=P({__name:`OverviewView`,setup(e){let{servers:t,host:n,now:r,appState:i,seriesOf:a,startAll:o,stopAll:s}=wM(),c=Jz(),l=j(!1),u=W(()=>i.value===null),d=W(()=>t.value.filter(e=>e.status===`running`)),f=W(()=>t.value.filter(e=>[`stopped`,`stopping`].includes(e.status))),p=W(()=>t.value.filter(e=>e.status===`crashed`||e.status===`conflict`||e.health===`unhealthy`)),m=W(()=>{let e=0;for(let t of d.value){let n=t.resources?.rssBytes;typeof n==`number`&&(e+=n)}return e}),h=W(()=>{let e=0;for(let n of t.value){let t=Zj(a(n.id).rss);t>e&&(e=t)}return e}),g=W(()=>c.startedAt.value===null?`—`:_I(r.value-c.startedAt.value)),_=W(()=>n.value?.enabled?_I(n.value.uptimeMs):`—`),v=W(()=>{let e=0;for(let t of d.value)e+=t.resources?.cpuPercent??0;return e});return ta(async()=>{await c.refresh()}),(e,y)=>{let b=fa(`RouterLink`);return L(),R(`div`,Yz,[V(Fz,{title:`Overview`,description:`Live state of everything this panel supervises, refreshed over a single event stream.`},{actions:N(()=>[V($,{variant:`ghost`,onClick:y[0]||=e=>M(o)()},{default:N(()=>[V(M(fy),{class:`size-3.5`}),y[5]||=H(`Start all `,-1)]),_:1}),V($,{variant:`ghost`,onClick:y[1]||=e=>M(s)()},{default:N(()=>[V(M(Ty),{class:`size-3.5`}),y[6]||=H(`Stop all `,-1)]),_:1}),V($,{variant:`primary`,onClick:y[2]||=e=>l.value=!0},{default:N(()=>[V(M(py),{class:`size-3.5`}),y[7]||=H(`Add server `,-1)]),_:1})]),_:1}),V(zz,{class:`p-0`},{default:N(()=>[u.value?(L(),R(`div`,Xz,[(L(),R(I,null,va(6,e=>B(`div`,{key:e,class:`space-y-2`},[V(uL,{class:`h-2.5 w-16`}),V(uL,{class:`h-6 w-20`})])),64))])):(L(),R(`div`,Zz,[B(`div`,Qz,[V(Uz,{label:`Running`,value:`${d.value.length}/${M(t).length}`,tone:`ok`,hint:`${M(t).length-d.value.length} not up`},null,8,[`value`,`hint`])]),B(`div`,$z,[V(Uz,{label:`Stopped`,value:String(f.value.length),hint:`${M(t).filter(e=>e.config.enabled).length} enabled`},null,8,[`value`,`hint`])]),B(`div`,eB,[V(Uz,{label:`Needs attention`,value:String(p.value.length),tone:p.value.length>0?`danger`:`ok`,hint:p.value.length===0?`nothing is broken`:`crashed or unhealthy`},null,8,[`value`,`tone`,`hint`])]),B(`div`,tB,[V(Uz,{label:`Process memory`,value:M(SI)(m.value),hint:h.value>0?`peak ${M(SI)(h.value)}`:`across the tree`},null,8,[`value`,`hint`])]),B(`div`,nB,[V(Uz,{label:`Panel uptime`,value:g.value,hint:M(c).status.value===`degraded`?`degraded`:`serving`},null,8,[`value`,`hint`])]),B(`div`,rB,[V(Uz,{label:`Host uptime`,value:_.value,hint:M(n)?.enabled?`${v.value.toFixed(1)}% cpu now`:`sampling off`},null,8,[`value`,`hint`])])]))]),_:1}),p.value.length>0?(L(),R(`div`,iB,[V(M(zv),{class:`mt-0.5 size-4 shrink-0 text-danger`}),B(`div`,aB,[B(`p`,oB,k(p.value.length)+` server`+k(p.value.length===1?``:`s`)+` need a look `,1),B(`p`,sB,[(L(!0),R(I,null,va(p.value,e=>(L(),z(b,{key:e.id,to:`/servers/${e.id}`,class:`font-mono underline-offset-2 hover:underline`},{default:N(()=>[H(k(e.id),1)]),_:2},1032,[`to`]))),128))])])])):U(``,!0),B(`section`,cB,[B(`div`,lB,[B(`h2`,uB,[V(M(by),{class:`size-3.5 text-faint`}),y[8]||=H(` Servers `,-1)]),V(b,{to:`/servers`,class:`text-2xs text-muted transition-colors duration-150 hover:text-accent`},{default:N(()=>[...y[9]||=[H(` Open the full list `,-1)]]),_:1})]),u.value?(L(),R(`div`,dB,[(L(),R(I,null,va(4,e=>V(uL,{key:e,class:`h-64 w-full`,rounded:`rounded-panel`})),64))])):M(t).length===0?(L(),z(QI,{key:1,title:`No servers yet`,description:`Add the first process this panel should keep alive.`},{icon:N(()=>[V(M(by),{class:`size-4`})]),action:N(()=>[V($,{variant:`primary`,onClick:y[3]||=e=>l.value=!0},{default:N(()=>[V(M(py),{class:`size-3.5`}),y[10]||=H(`Add a server `,-1)]),_:1})]),_:1})):(L(),R(`div`,fB,[(L(!0),R(I,null,va(M(t),e=>(L(),z(Oz,{key:e.id,server:e,series:M(a)(e.id),now:M(r)},null,8,[`server`,`series`,`now`]))),128))]))]),B(`div`,pB,[V(zz,{class:`lg:col-span-2`},{header:N(()=>[B(`h2`,mB,[V(M(Kv),{class:`size-3.5 text-faint`}),y[11]||=H(` Host vitals `,-1)])]),default:N(()=>[V(XL,{host:M(n),now:M(r)},null,8,[`host`,`now`])]),_:1}),V(zz,null,{header:N(()=>[B(`h2`,hB,[V(M(jv),{class:`size-3.5 text-faint`}),y[12]||=H(` Recent activity `,-1)])]),actions:N(()=>[V(b,{to:`/logs`,class:`text-2xs text-muted transition-colors duration-150 hover:text-accent`},{default:N(()=>[...y[13]||=[H(` Logs `,-1)]]),_:1})]),default:N(()=>[V(iR,{servers:M(t),now:M(r),limit:10},null,8,[`servers`,`now`])]),_:1})]),B(`p`,gB,[B(`span`,_B,[V(M(ky),{class:`size-3`}),y[14]||=H(`resource history is sampled every 5 s and kept for this session`,-1)]),B(`span`,vB,k(M(i)?.control.url),1),B(`span`,{class:O(M(Q)(`flex items-center gap-1`,M(c).status.value===`degraded`&&`text-danger`))},[B(`span`,{class:O(M(Q)(`size-1.5 rounded-full`,M(c).status.value===`degraded`?`bg-danger`:`bg-ok`))},null,2),H(` panel `+k(M(c).status.value),1)],2)]),V(jR,{open:l.value,"onUpdate:open":y[4]||=e=>l.value=e},null,8,[`open`])])}}}),bB=[`restart`,`health`,`stop`];function xB(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}function SB(e,t,n=[]){let r={};for(let[i,a]of Object.entries(t)){if(n.includes(i)){let t=e[i]??{},n={};for(let[e,r]of Object.entries(a??{}))t[e]!==r&&(n[e]=r);Object.keys(n).length>0&&(r[i]=n);continue}xB(e[i],a)||(r[i]=a)}return r}function CB(e,t){let n=e;return SB({...n,label:n.label??``},t,bB)}var wB=[`disabled`],TB={class:`min-w-0`},EB={class:`text-ink`},DB=P({__name:`CheckField`,props:za({label:{},hint:{default:void 0},disabled:{type:Boolean,default:!1},wide:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`);return(e,r)=>(L(),R(`label`,{class:O(M(Q)(`flex cursor-pointer select-none items-start gap-2 rounded-control px-2 py-1.5 text-xs transition-colors duration-150`,`hover:bg-hover`,t.disabled&&`cursor-not-allowed opacity-50 hover:bg-transparent`,t.wide&&`sm:col-span-2`))},[br(B(`input`,{"onUpdate:modelValue":r[0]||=e=>n.value=e,type:`checkbox`,disabled:t.disabled,class:`mt-0.5 size-3.5 shrink-0 cursor-pointer appearance-none rounded-[4px] border border-line bg-page checked:border-accent checked:bg-accent checked:bg-[length:9px] checked:bg-center checked:bg-no-repeat checked:[background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M20 6 9 17l-5-5%22/></svg>')] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 disabled:cursor-not-allowed`},null,8,wB),[[Yl,n.value]]),B(`span`,TB,[B(`span`,EB,k(t.label),1),t.hint?(L(),R(`span`,{key:0,class:O([`mt-0.5 block`,[M(mF)]])},k(t.hint),3)):U(``,!0),F(e.$slots,`default`)])],2))}}),OB=P({__name:`LifecycleFields`,props:za({showHttp:{type:Boolean,default:!0}},{restart:{required:!0},restartModifiers:{},health:{required:!0},healthModifiers:{},stop:{required:!0},stopModifiers:{}}),emits:[`update:restart`,`update:health`,`update:stop`],setup(e){let t=so(e,`restart`),n=so(e,`health`),r=so(e,`stop`);function i(e,t,n=0){return W({get:e,set:e=>t(e??n)})}let a=i(()=>t.value.maxRetries,e=>t.value.maxRetries=e),o=i(()=>t.value.baseDelayMs,e=>t.value.baseDelayMs=e),s=i(()=>t.value.factor,e=>t.value.factor=e,1),c=i(()=>t.value.maxDelayMs,e=>t.value.maxDelayMs=e),l=i(()=>t.value.resetAfterMs,e=>t.value.resetAfterMs=e),u=i(()=>n.value.intervalMs,e=>n.value.intervalMs=e,500),d=i(()=>n.value.timeoutMs,e=>n.value.timeoutMs=e,100),f=i(()=>n.value.unhealthyThreshold,e=>n.value.unhealthyThreshold=e,1),p=i(()=>n.value.forceRestartAfterMs,e=>n.value.forceRestartAfterMs=e),m=i(()=>n.value.startTimeoutMs,e=>n.value.startTimeoutMs=e),h=W({get:()=>n.value.http.expectStatus??null,set:e=>{e===null||Number.isNaN(e)?delete n.value.http.expectStatus:n.value.http.expectStatus=e}}),g=i(()=>n.value.http.expectStatusBelow,e=>n.value.http.expectStatusBelow=e,400),_=i(()=>r.value.graceMs,e=>r.value.graceMs=e),v=[{value:`SIGTERM`,label:`SIGTERM — ask it to stop`},{value:`SIGINT`,label:`SIGINT — interrupt (Ctrl-C)`},{value:`SIGKILL`,label:`SIGKILL — kill immediately`}];return(i,y)=>(L(),R(I,null,[V(uR,{title:`Restart policy`,description:`Backoff between attempts after a crash.`,columns:3},{default:N(()=>[V(DB,{modelValue:t.value.enabled,"onUpdate:modelValue":y[0]||=e=>t.value.enabled=e,label:`Restart on crash`,wide:``},null,8,[`modelValue`]),V(mR,{modelValue:M(a),"onUpdate:modelValue":y[1]||=e=>A(a)?a.value=e:null,label:`Max retries`,min:0,hint:`Attempts before the server is left crashed.`},null,8,[`modelValue`]),V(mR,{modelValue:M(o),"onUpdate:modelValue":y[2]||=e=>A(o)?o.value=e:null,label:`Base delay (ms)`,min:0},null,8,[`modelValue`]),V(mR,{modelValue:M(s),"onUpdate:modelValue":y[3]||=e=>A(s)?s.value=e:null,label:`Backoff factor`,min:1,step:.1},null,8,[`modelValue`]),V(mR,{modelValue:M(c),"onUpdate:modelValue":y[4]||=e=>A(c)?c.value=e:null,label:`Max delay (ms)`,min:0},null,8,[`modelValue`]),V(mR,{modelValue:M(l),"onUpdate:modelValue":y[5]||=e=>A(l)?l.value=e:null,label:`Reset after (ms)`,min:0,hint:`A run this long clears the retry counter.`},null,8,[`modelValue`])]),_:1}),V(uR,{title:`Health check`,description:`How readiness is probed once the process is up.`,columns:3},{default:N(()=>[V(DB,{modelValue:n.value.enabled,"onUpdate:modelValue":y[6]||=e=>n.value.enabled=e,label:`Probe this server`,wide:``},null,8,[`modelValue`]),V(lL,{modelValue:n.value.mode,"onUpdate:modelValue":y[7]||=e=>n.value.mode=e,label:`Probe type`,options:[{value:`port`,label:`TCP port — connection only`},{value:`http`,label:`HTTP request — assert a response`}]},null,8,[`modelValue`]),V(mR,{modelValue:M(u),"onUpdate:modelValue":y[8]||=e=>A(u)?u.value=e:null,label:`Interval (ms)`,min:500,step:100},null,8,[`modelValue`]),V(mR,{modelValue:M(d),"onUpdate:modelValue":y[9]||=e=>A(d)?d.value=e:null,label:`Timeout (ms)`,min:100,step:100},null,8,[`modelValue`]),V(mR,{modelValue:M(f),"onUpdate:modelValue":y[10]||=e=>A(f)?f.value=e:null,label:`Unhealthy after`,min:1,hint:`Consecutive failed probes.`},null,8,[`modelValue`]),V(mR,{modelValue:M(p),"onUpdate:modelValue":y[11]||=e=>A(p)?p.value=e:null,label:`Force restart after (ms)`,min:0,hint:`0 disables it.`},null,8,[`modelValue`]),V(mR,{modelValue:M(m),"onUpdate:modelValue":y[12]||=e=>A(m)?m.value=e:null,label:`Start timeout (ms)`,min:0},null,8,[`modelValue`]),e.showHttp&&n.value.mode===`http`?(L(),R(I,{key:0},[V(CR,{modelValue:n.value.http.path,"onUpdate:modelValue":y[13]||=e=>n.value.http.path=e,label:`HTTP path`,placeholder:`/healthz`},null,8,[`modelValue`]),V(lL,{modelValue:n.value.http.method,"onUpdate:modelValue":y[14]||=e=>n.value.http.method=e,label:`HTTP method`,options:[{value:`GET`,label:`GET`},{value:`HEAD`,label:`HEAD`}]},null,8,[`modelValue`]),V(mR,{modelValue:h.value,"onUpdate:modelValue":y[15]||=e=>h.value=e,label:`Expect status`,nullable:``,hint:`Blank accepts anything below.`},null,8,[`modelValue`]),V(mR,{modelValue:M(g),"onUpdate:modelValue":y[16]||=e=>A(g)?g.value=e:null,label:`Healthy below status`,min:100},null,8,[`modelValue`]),V(CR,{modelValue:n.value.http.expectBody,"onUpdate:modelValue":y[17]||=e=>n.value.http.expectBody=e,label:`Body must contain`,placeholder:`optional substring`,wide:``},null,8,[`modelValue`])],64)):U(``,!0)]),_:1}),V(uR,{title:`Stop behaviour`,description:`How the process tree is asked to go away.`,columns:3},{default:N(()=>[V(lL,{modelValue:r.value.signal,"onUpdate:modelValue":y[18]||=e=>r.value.signal=e,label:`Signal`,options:v},null,8,[`modelValue`]),V(mR,{modelValue:M(_),"onUpdate:modelValue":y[19]||=e=>A(_)?_.value=e:null,label:`Grace period (ms)`,min:0},null,8,[`modelValue`]),V(DB,{modelValue:r.value.killGroup,"onUpdate:modelValue":y[20]||=e=>r.value.killGroup=e,label:`Kill the whole process group`},null,8,[`modelValue`]),V(DB,{modelValue:r.value.killPortHolders,"onUpdate:modelValue":y[21]||=e=>r.value.killPortHolders=e,label:`Also kill whatever holds the port`,wide:``},null,8,[`modelValue`])]),_:1})],64))}}),kB={class:`mb-4 flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`},AB={class:`flex items-center gap-2`},jB={key:0,class:`text-2xs text-warn`},MB={key:1,class:`text-2xs text-faint`},NB={class:`flex flex-col gap-3`},PB={key:0,class:`mt-3 rounded-control border border-danger/40 bg-danger-soft px-2.5 py-1.5 font-mono text-2xs leading-4 text-danger`},FB={class:`mt-4 flex items-center justify-end gap-2 border-t border-line pt-3.5`},IB=[`disabled`],LB=P({__name:`ServerConfigEditor`,props:{serverId:{},config:{}},emits:[`saved`,`cancel`],setup(e,{emit:t}){let n=e,r=t,i=[`restart`,`health`,`stop`],a=wM(),o=j(!1),s=j(null);function c(e){return e.split(`
|
|
42
|
+
`).map(e=>e.trim()).filter(e=>e.length>0)}function l(e){return Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
|
|
43
|
+
`)}function u(e){let t={};for(let n of c(e)){let e=n.indexOf(`=`);e<=0||(t[n.slice(0,e).trim()]=n.slice(e+1).trim())}return t}function d(e){return e>0?Math.round(e/1024/1024):null}function f(e){return{label:e.label??``,command:e.command,cwd:e.cwd,args:e.args.join(`
|
|
44
|
+
`),env:l(e.env),dataEnvs:l(e.dataEnvs),backupPaths:e.backupPaths.join(`
|
|
45
|
+
`),dependsOn:e.dependsOn.join(`, `),envFile:e.envFile,maxRssMb:d(e.resources.maxRssBytes),port:e.port,bind:e.bind,onPortConflict:e.onPortConflict,logBufferLines:e.logBufferLines,enabled:e.enabled,autostart:e.autostart,bootstrapEnabled:e.bootstrap!==null&&e.bootstrap!==void 0,bootstrapCommand:e.bootstrap?.command??``,bootstrapArgs:(e.bootstrap?.args??[]).join(`
|
|
46
|
+
`),bootstrapEnv:l(e.bootstrap?.env??{}),bootstrapTimeoutMs:e.bootstrap?.timeoutMs??12e4,bootstrapRunOnce:e.bootstrap?.runOnce??!0}}let p=en(f(n.config)),m=j({...n.config.restart}),h=j({...n.config.health}),g=j({...n.config.stop}),_={...n.config},v=W(()=>{let e=[{value:`local`,label:`local — 127.0.0.1`},{value:`lan`,label:`lan — 0.0.0.0`}];return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(n.config.bind)&&e.push({value:n.config.bind,label:`${n.config.bind} — explicit`}),e});function y(){let e=Number.isFinite(p.maxRssMb)?p.maxRssMb:0,t=Number.isFinite(p.logBufferLines)?p.logBufferLines:0,n=Number.isFinite(p.bootstrapTimeoutMs)?p.bootstrapTimeoutMs:0;return{label:p.label.trim(),command:p.command.trim(),cwd:p.cwd.trim()===``?`.`:p.cwd.trim(),args:c(p.args),env:u(p.env),dataEnvs:u(p.dataEnvs),backupPaths:c(p.backupPaths),dependsOn:p.dependsOn.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),envFile:p.envFile.trim(),resources:{maxRssBytes:e>0?Math.round(e*1024*1024):0},port:p.port===null||Number.isNaN(p.port)?null:p.port,bind:p.bind,onPortConflict:p.onPortConflict,logBufferLines:t,enabled:p.enabled,autostart:p.autostart,restart:{...m.value},health:{...h.value},stop:{...g.value},bootstrap:p.bootstrapEnabled?{command:p.bootstrapCommand.trim(),args:c(p.bootstrapArgs),env:u(p.bootstrapEnv),timeoutMs:n,runOnce:p.bootstrapRunOnce}:null}}function b(e,t){let r=n.config[t]??{},i=e[t]??{},a={};for(let[e,t]of Object.entries(i))r[e]!==t&&(a[e]=t);return Object.keys(a).length>0?a:null}function x(e){for(let t of[`restart`,`health`,`stop`])b(e,t)===null&&delete e[t];return CB(n.config,e)}function S(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}let C=W(()=>{let e=y(),t=0;for(let[n,r]of Object.entries(e))i.includes(n)?t+=b(e,n)===null?0:1:S(_[n],r)||(t+=1);return t}),w=W(()=>C.value>0),T={...n.config};function ee(e){Object.assign(p,f(e)),m.value={...e.restart},h.value={...e.health},g.value={...e.stop},_={...e},T={...e},s.value=null}Ar(()=>n.config,e=>{S(e,T)||ee(e)});async function E(){s.value=null,o.value=!0;try{let e=y(),t=vA(e);if(t instanceof Y.errors){s.value=t.summary;return}let i=x(e);if(Object.keys(i).length===0){r(`saved`);return}if(await a.saveConfig(n.serverId,i),a.lastError.value!==null){s.value=a.lastError.value;return}_={...e},r(`saved`)}finally{o.value=!1}}return(e,t)=>(L(),R(`form`,{class:`border-t border-line bg-page/40 px-4 py-4`,onSubmit:lu(E,[`prevent`])},[B(`header`,kB,[t[26]||=B(`div`,{class:`min-w-0`},[B(`h2`,{class:`text-sm font-semibold text-ink`},` Edit configuration `),B(`p`,{class:`mt-0.5 text-2xs leading-4 text-muted`},[H(` Writes overrides to `),B(`span`,{class:`font-mono`},`servers.config.json`),H(`; anything left alone keeps inheriting the defaults. `)])],-1),B(`div`,AB,[C.value>0?(L(),R(`span`,jB,k(C.value)+` unsaved `+k(C.value===1?`change`:`changes`),1)):(L(),R(`span`,MB,`in sync`))])]),B(`div`,NB,[V(uR,{title:`Process`,description:`What gets spawned, where, and with which environment.`,columns:2},{default:N(()=>[V(CR,{modelValue:p.label,"onUpdate:modelValue":t[0]||=e=>p.label=e,label:`Label`,placeholder:`falls back to the id`},null,8,[`modelValue`]),V(CR,{modelValue:p.command,"onUpdate:modelValue":t[1]||=e=>p.command=e,label:`Command`,placeholder:`node`,required:``,class:`font-mono text-xs`},null,8,[`modelValue`]),V(CR,{modelValue:p.cwd,"onUpdate:modelValue":t[2]||=e=>p.cwd=e,label:`Working directory`,placeholder:`.`,hint:`Relative paths resolve under projectDir.`,class:`font-mono text-xs`},null,8,[`modelValue`]),V(CR,{modelValue:p.envFile,"onUpdate:modelValue":t[3]||=e=>p.envFile=e,label:`Env file`,placeholder:`optional KEY=value file`,hint:`Loaded at spawn; its values override env.`,class:`font-mono text-xs`},null,8,[`modelValue`]),V(vR,{modelValue:p.args,"onUpdate:modelValue":t[4]||=e=>p.args=e,label:`Arguments`,rows:3,hint:`One per line; {port} {host} {home} {projectDir} {dataRoot} {id} {label} {cwd} {bind} {lanIp} are substituted.`,placeholder:`-p
|
|
47
|
+
{port}`},null,8,[`modelValue`]),V(vR,{modelValue:p.env,"onUpdate:modelValue":t[5]||=e=>p.env=e,label:`Environment`,rows:3,hint:`KEY=value per line, exported to the process.`,placeholder:`NODE_ENV=production`},null,8,[`modelValue`]),V(vR,{modelValue:p.dataEnvs,"onUpdate:modelValue":t[6]||=e=>p.dataEnvs=e,label:`Data envs`,rows:3,hint:`ENV=path per line — exported to the process and backed up automatically.`,placeholder:`DATA_DIR={home}/.app`},null,8,[`modelValue`]),V(vR,{modelValue:p.backupPaths,"onUpdate:modelValue":t[7]||=e=>p.backupPaths=e,label:`Extra backup paths`,rows:2,hint:`One per line, placeholders allowed.`,placeholder:`{home}/.app/uploads`},null,8,[`modelValue`]),V(CR,{modelValue:p.dependsOn,"onUpdate:modelValue":t[8]||=e=>p.dependsOn=e,label:`Depends on`,placeholder:`postgres, redis`,hint:`Comma separated; started first, stopped last.`,class:`font-mono text-xs`},null,8,[`modelValue`]),V(mR,{modelValue:p.maxRssMb,"onUpdate:modelValue":t[9]||=e=>p.maxRssMb=e,label:`Max RSS (MB)`,min:0,hint:`Restart above this; blank or 0 disables it.`},null,8,[`modelValue`])]),_:1}),V(uR,{title:`Port & binding`,description:`How the port is preflighted and where the process is reachable.`,columns:2},{default:N(()=>[V(mR,{modelValue:p.port,"onUpdate:modelValue":t[10]||=e=>p.port=e,label:`Port`,nullable:``,min:1,max:65535,hint:`Blank means no port: no probe, no preflight.`},null,8,[`modelValue`]),V(lL,{modelValue:p.bind,"onUpdate:modelValue":t[11]||=e=>p.bind=e,label:`Bind address`,options:v.value,hint:`A custom IPv4 the config already sets stays selectable.`},null,8,[`modelValue`,`options`]),V(lL,{modelValue:p.onPortConflict,"onUpdate:modelValue":t[12]||=e=>p.onPortConflict=e,label:`On port conflict`,options:[{value:`block`,label:`block — refuse to start`},{value:`warn`,label:`warn — start anyway`},{value:`follow`,label:`follow — adopt a detached restart of itself`},{value:`reclaim`,label:`reclaim — replace it with a supervised copy`}]},null,8,[`modelValue`]),V(mR,{modelValue:p.logBufferLines,"onUpdate:modelValue":t[13]||=e=>p.logBufferLines=e,label:`Log buffer lines`,min:50,max:1e5,step:50},null,8,[`modelValue`])]),_:1}),V(uR,{title:`Lifecycle`,description:`Whether the supervisor owns this entry at all.`,columns:2},{default:N(()=>[V(ER,{modelValue:p.enabled,"onUpdate:modelValue":t[14]||=e=>p.enabled=e,label:`Enabled`,hint:`Shows up and can be started at all.`},null,8,[`modelValue`]),V(ER,{modelValue:p.autostart,"onUpdate:modelValue":t[15]||=e=>p.autostart=e,label:`Autostart with up`,hint:`Started when the control plane comes up.`},null,8,[`modelValue`])]),_:1}),V(OB,{restart:m.value,"onUpdate:restart":t[16]||=e=>m.value=e,health:h.value,"onUpdate:health":t[17]||=e=>h.value=e,stop:g.value,"onUpdate:stop":t[18]||=e=>g.value=e},null,8,[`restart`,`health`,`stop`]),V(uR,{title:`Bootstrap`,description:`A one-off command run before the first start — installs, migrations, downloads.`,columns:2},{default:N(()=>[V(ER,{modelValue:p.bootstrapEnabled,"onUpdate:modelValue":t[19]||=e=>p.bootstrapEnabled=e,label:`Run a bootstrap`,hint:`Off means the entry has none and the key is sent as null.`,wide:``},null,8,[`modelValue`]),p.bootstrapEnabled?(L(),R(I,{key:0},[V(CR,{modelValue:p.bootstrapCommand,"onUpdate:modelValue":t[20]||=e=>p.bootstrapCommand=e,label:`Command`,placeholder:`./scripts/install.sh`,class:`font-mono text-xs`},null,8,[`modelValue`]),V(mR,{modelValue:p.bootstrapTimeoutMs,"onUpdate:modelValue":t[21]||=e=>p.bootstrapTimeoutMs=e,label:`Timeout (ms)`,min:1e3,step:1e3},null,8,[`modelValue`]),V(ER,{modelValue:p.bootstrapRunOnce,"onUpdate:modelValue":t[22]||=e=>p.bootstrapRunOnce=e,label:`Only once per session`,hint:`Off means every start re-runs it.`},null,8,[`modelValue`])],64)):U(``,!0),p.bootstrapEnabled?(L(),z(vR,{key:1,modelValue:p.bootstrapArgs,"onUpdate:modelValue":t[23]||=e=>p.bootstrapArgs=e,label:`Bootstrap arguments`,rows:2,hint:`One per line; same placeholders as the main arguments.`},null,8,[`modelValue`])):U(``,!0),p.bootstrapEnabled?(L(),z(vR,{key:2,modelValue:p.bootstrapEnv,"onUpdate:modelValue":t[24]||=e=>p.bootstrapEnv=e,label:`Bootstrap environment`,rows:2,hint:`KEY=value per line, exported to the bootstrap process only.`},null,8,[`modelValue`])):U(``,!0)]),_:1})]),s.value?(L(),R(`p`,PB,k(s.value),1)):U(``,!0),B(`div`,FB,[B(`button`,{type:`button`,class:`inline-flex h-8 select-none items-center rounded-control border border-transparent bg-transparent px-2.5 text-xs font-medium whitespace-nowrap text-muted transition-colors duration-150 hover:bg-hover hover:text-ink`,onClick:t[25]||=e=>r(`cancel`)},` Cancel `),B(`button`,{type:`submit`,disabled:o.value||!w.value,class:`inline-flex h-8 select-none items-center gap-1.5 rounded-control border border-transparent bg-accent px-2.5 text-xs font-medium whitespace-nowrap text-accent-ink transition-[filter,opacity] duration-150 hover:brightness-110 disabled:pointer-events-none disabled:opacity-45`},k(o.value?`Saving…`:`Save to servers.config.json`),9,IB)])],32))}}),RB=[`aria-label`],zB=P({__name:`CopyButton`,props:{value:{},label:{default:`Copy`},class:{default:void 0}},setup(e){let t=e,n=j(!1),r=null;async function i(){try{await navigator.clipboard.writeText(t.value),n.value=!0,r&&clearTimeout(r),r=setTimeout(()=>{n.value=!1},1400)}catch{}}return ze(()=>{r&&clearTimeout(r)}),(e,r)=>(L(),R(`button`,{type:`button`,class:O(M(Q)(`grid size-6 shrink-0 place-items-center rounded-control text-faint transition-colors duration-150 hover:bg-hover hover:text-ink`,M(fF),t.class)),"aria-label":n.value?`Copied`:t.label,onClick:i},[n.value?(L(),z(M(Pv),{key:0,class:`size-3.5 text-ok`})):(L(),z(M(Gv),{key:1,class:`size-3.5`}))],10,RB))}}),BB={key:0,class:`mx-auto max-w-3xl p-4 sm:p-5`},VB={key:1,class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},HB={class:`font-mono text-xs text-faint`},UB=[`href`],WB={class:`px-2 py-1.5`},GB={class:`flex flex-col gap-0.5`},KB=[`onClick`],qB={class:`space-y-2`},JB={key:0,class:`flex flex-wrap items-center gap-x-3 gap-y-2 rounded-control border border-danger/25 bg-danger-soft px-3 py-2`},YB={class:`min-w-0 flex-1 text-2xs leading-4 text-danger`},XB={key:1,class:`rounded-control border border-warn/25 bg-warn-soft px-3 py-2 text-2xs leading-4 text-warn`},ZB={class:`grid grid-cols-2 gap-x-4 gap-y-3 p-4 sm:grid-cols-4 lg:grid-cols-6`},QB={class:`truncate text-2xs text-faint`},$B={class:`truncate font-mono text-xs tabular-nums text-ink capitalize`},eV={class:`grid gap-4 sm:grid-cols-3`},tV={class:`flex items-center justify-between gap-3`},nV=[`title`],rV={key:1,class:`space-y-4`},iV={key:0,class:`max-h-96 overflow-auto rounded-control border border-line bg-page/60 p-3 font-mono text-2xs leading-5 text-muted`},aV={key:1,class:`grid grid-cols-1 gap-x-6 gap-y-2 sm:grid-cols-2`},oV={class:`text-2xs text-faint`},sV=[`title`],cV={key:2,class:`grid gap-4 lg:grid-cols-3`},lV={key:0,class:`flex flex-wrap gap-1.5`},uV={key:1,class:`text-xs text-muted`},dV=P({__name:`ServerDetailView`,setup(e){let t=zg(),{serverById:n,now:r,seriesOf:i,start:a,stop:o,restart:s,setEnabled:c,setAutostart:l,setBind:u,clearLogs:d,freePort:f,remove:p}=wM(),m=W(()=>String(t.params.id??``)),h=W(()=>n(m.value)),g=W(()=>h.value?.config),_=W(()=>{let e=g.value;return e?.label&&e.label.length>0?e.label:m.value}),v=j(`output`),y=j(!1),b=j(!1),x=j(!1),S=j(!1),C=CM(()=>h.value?m.value:null),w=C.version,T=W(()=>(w.value,C.lines())),ee=W(()=>i(m.value)),E=W(()=>ee.value.cpu),te=W(()=>ee.value.rss),ne=W(()=>ee.value.probe),re=W(()=>{let e=h.value;return!e||e.startedAt===null||e.status!==`running`?`—`:_I(r.value-e.startedAt)}),ie=W(()=>h.value?.status===`running`),ae=W(()=>{let e=h.value;if(!e)return[];let t=[{key:`pid`,label:`PID`,value:e.pid===null?`—`:String(e.pid)},{key:`uptime`,label:`Uptime`,value:re.value},{key:`status`,label:`Status`,value:e.status},{key:`health`,label:`Health`,value:e.health},{key:`port`,label:`Port state`,value:e.portState},{key:`probe`,label:`Last probe`,value:e.responseMs===null?`—`:`${e.responseMs} ms`},{key:`rss`,label:`RSS`,value:SI(e.resources?.rssBytes??null)},{key:`procs`,label:`Processes`,value:e.resources?String(e.resources.processes):`—`},{key:`restarts`,label:`Restarts`,value:`${e.restarts}/${e.maxRetries}`},{key:`up24`,label:`24h uptime`,value:yI(e.history.uptimeRatio)},{key:`crashes`,label:`24h crashes`,value:String(e.history.crashes)},{key:`lastcrash`,label:`Last crash`,value:bI(e.history.lastCrashAt,r.value)}];return e.nextRetryAt!==null&&t.push({key:`retry`,label:`Next attempt`,value:vI(e.nextRetryAt,r.value)}),e.unhealthySince!==null&&t.push({key:`unhealthy`,label:`Unhealthy for`,value:_I(r.value-e.unhealthySince)}),t}),oe=W(()=>JSON.stringify(g.value??{},null,2)),se=W(()=>g.value?`${g.value.command} ${g.value.args.join(` `)}`.trim():``),ce=W(()=>{let e=g.value?.bind??`local`,t=[{value:`local`,label:`127.0.0.1 — this machine only`},{value:`lan`,label:`0.0.0.0 — every interface`}];return e!==`local`&&e!==`lan`&&t.push({value:e,label:`${e} — custom`}),t});async function D(e){S.value=!0;try{await{start:a,stop:o,restart:s}[e](m.value)}finally{S.value=!1}}async function le(){x.value=!1,await p(m.value)}async function ue(){let e=h.value;if(e){S.value=!0;try{await f(e.id)}finally{S.value=!1}}}let de=W(()=>gj(m.value,`${m.value}.log`)),fe=[{value:`output`,label:`Live output`},{value:`config`,label:`Configuration`},{value:`history`,label:`History`}];return(e,t)=>{let n=fa(`RouterLink`);return h.value?(L(),R(`div`,VB,[V(Fz,{title:_.value,"back-to":`/servers`,"back-label":`All servers`},{badges:N(()=>[V(tz,{status:h.value.status,health:h.value.health},null,8,[`status`,`health`]),h.value.adopted?(L(),z(vF,{key:0,label:`This process replaced itself: the panel adopted the successor instead of starting a second copy. Stop still works, its output stays where the successor sent it.`},{default:N(()=>[...t[16]||=[B(`span`,{class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},`detached`,-1)]]),_:1})):U(``,!0),B(`span`,HB,k(h.value.id),1),h.value.url?(L(),R(`a`,{key:1,href:h.value.url,target:`_blank`,rel:`noreferrer`,class:`inline-flex items-center gap-1 font-mono text-xs text-accent hover:underline`},[H(k(h.value.url)+` `,1),V(M(Yv),{class:`size-3`})],8,UB)):U(``,!0)]),actions:N(()=>[V($,{variant:`primary`,disabled:S.value||!g.value?.enabled||[`running`,`starting`].includes(h.value.status),onClick:t[0]||=e=>D(`start`)},{default:N(()=>[V(M(fy),{class:`size-3.5`}),t[17]||=H(`Start `,-1)]),_:1},8,[`disabled`]),V($,{disabled:S.value||h.value.status===`stopped`,onClick:t[1]||=e=>D(`stop`)},{default:N(()=>[V(M(Ty),{class:`size-3.5`}),t[18]||=H(`Stop `,-1)]),_:1},8,[`disabled`]),V($,{disabled:S.value||!g.value?.enabled,onClick:t[2]||=e=>D(`restart`)},{default:N(()=>[V(M(_y),{class:`size-3.5`}),t[19]||=H(`Restart `,-1)]),_:1},8,[`disabled`]),V(vF,{label:`Edit every field of this entry`},{default:N(()=>[V($,{variant:y.value?`secondary`:`ghost`,onClick:t[3]||=e=>{y.value=!y.value,v.value=`config`}},{default:N(()=>[V(M(dy),{class:`size-3.5`}),H(k(y.value?`Close editor`:`Edit`),1)]),_:1},8,[`variant`])]),_:1}),V(M(eg),null,{default:N(()=>[V(M(ag),{"as-child":``},{default:N(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":`More actions for ${_.value}`},{default:N(()=>[V(M(Jv),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1}),V(M(rg),null,{default:N(()=>[V(M(tg),{"side-offset":4,align:`end`,class:`z-50 min-w-56 rounded-panel border border-line bg-raise p-1 shadow-float data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:N(()=>[V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:t[4]||=e=>M(c)(h.value.id,!h.value.config.enabled)},{default:N(()=>[H(k(g.value?.enabled?`Disable server`:`Enable server`),1)]),_:1}),V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:t[5]||=e=>M(l)(h.value.id,!h.value.config.autostart)},{default:N(()=>[H(k(g.value?.autostart?`Remove from autostart`:`Autostart with the panel`),1)]),_:1}),V(M(ig),{class:`my-1 h-px bg-line`}),B(`div`,WB,[t[20]||=B(`p`,{class:`mb-1 text-2xs text-faint`},` Bind `,-1),B(`div`,GB,[(L(!0),R(I,null,va(ce.value,e=>(L(),R(`button`,{key:e.value,type:`button`,class:O([`rounded-control px-2 py-1 text-left font-mono text-2xs transition-colors duration-150 hover:bg-hover`,e.value===g.value?.bind?`text-accent`:`text-muted`]),onClick:t=>M(u)(h.value.id,e.value)},k(e.label),11,KB))),128))])]),V(M(ig),{class:`my-1 h-px bg-line`}),V(M(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-danger outline-none data-[highlighted]:bg-danger-soft`,onSelect:t[6]||=e=>x.value=!0},{default:N(()=>[V(M(Ay),{class:`size-3.5`}),t[21]||=H(` Remove server `,-1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`title`]),B(`div`,qB,[h.value.lastError?(L(),R(`div`,JB,[B(`p`,YB,k(h.value.lastError),1),h.value.status===`conflict`&&h.value.config.port!==null?(L(),z(PR,{key:0,port:h.value.config.port,busy:S.value,onConfirm:ue},null,8,[`port`,`busy`])):U(``,!0)])):U(``,!0),h.value.health===`unhealthy`?(L(),R(`p`,XB,[t[22]||=H(` The health probe has not passed `,-1),h.value.unhealthySince===null?U(``,!0):(L(),R(I,{key:0},[H(` for `+k(M(_I)(M(r)-h.value.unhealthySince)),1)],64)),t[23]||=H(`. `,-1)])):U(``,!0)]),V(zz,{class:`p-0`},{default:N(()=>[B(`dl`,ZB,[(L(!0),R(I,null,va(ae.value,e=>(L(),R(`div`,{key:e.key,class:`min-w-0`},[B(`dt`,QB,k(e.label),1),B(`dd`,$B,k(e.value),1)]))),128))])]),_:1}),V(zz,null,{header:N(()=>[...t[24]||=[B(`h2`,{class:`text-sm font-semibold text-ink`},` Telemetry `,-1),B(`p`,{class:`text-2xs text-muted`},` Sampled every 5 s while this page is open. `,-1)]]),default:N(()=>[B(`div`,eV,[V(ZR,{label:`CPU`,values:E.value,format:M(CI),max:100,"color-class":`text-cpu`,height:40},null,8,[`values`,`format`]),V(ZR,{label:`Memory (RSS)`,values:te.value,format:M(SI),"color-class":`text-mem`,height:40},null,8,[`values`,`format`]),V(ZR,{label:`Health probe`,values:ne.value,format:e=>e===null?`—`:`${e} ms`,"color-class":`text-probe`,height:40},null,8,[`values`,`format`])])]),_:1}),B(`div`,tV,[V(AI,{modelValue:v.value,"onUpdate:modelValue":t[7]||=e=>v.value=e,options:fe,size:`md`},null,8,[`modelValue`]),B(`p`,{class:`hidden font-mono text-2xs text-faint sm:block`,title:se.value},k(se.value),9,nV)]),v.value===`output`?(L(),z(KI,{key:0,lines:T.value,version:M(w),live:``,clearable:``,"download-url":h.value.config.logBufferLines>0?de.value:void 0,"download-name":`${h.value.id}.log`,"empty-hint":ie.value?`Waiting for the first line…`:`This server has not written anything yet.`,"min-height":`22rem`,onClear:t[8]||=e=>M(d)(h.value.id)},null,8,[`lines`,`version`,`download-url`,`download-name`,`empty-hint`])):v.value===`config`?(L(),R(`div`,rV,[y.value?(L(),z(LB,{key:0,"server-id":h.value.id,config:h.value.config,onSaved:t[9]||=e=>y.value=!1,onCancel:t[10]||=e=>y.value=!1},null,8,[`server-id`,`config`])):(L(),z(zz,{key:1},{header:N(()=>[...t[25]||=[B(`h2`,{class:`text-sm font-semibold text-ink`},` Effective configuration `,-1),B(`p`,{class:`text-2xs text-muted`},` Defaults from Settings are already merged into these values. `,-1)]]),actions:N(()=>[V($,{size:`xs`,variant:`ghost`,onClick:t[11]||=e=>b.value=!b.value},{default:N(()=>[V(M(Uv),{class:`size-3`}),H(k(b.value?`Fields`:`Raw JSON`),1)]),_:1}),V(zB,{value:oe.value,label:`Copy the JSON config`},null,8,[`value`]),V($,{size:`xs`,variant:`primary`,onClick:t[12]||=e=>y.value=!0},{default:N(()=>[V(M(dy),{class:`size-3`}),t[26]||=H(`Edit `,-1)]),_:1})]),default:N(()=>[b.value?(L(),R(`pre`,iV,k(oe.value),1)):(L(),R(`dl`,aV,[(L(!0),R(I,null,va([{label:`command`,value:g.value?.command},{label:`args`,value:g.value?.args.join(` `)||`—`},{label:`cwd`,value:g.value?.cwd},{label:`env`,value:Object.keys(g.value?.env??{}).join(`, `)||`—`},{label:`data envs`,value:Object.entries(g.value?.dataEnvs??{}).map(([e,t])=>`${e}=${t}`).join(`, `)||`—`},{label:`env file`,value:g.value?.envFile||`—`},{label:`port · bind`,value:`${g.value?.port??`none`} · ${g.value?.bind}`},{label:`on port conflict`,value:g.value?.onPortConflict},{label:`log buffer`,value:`${g.value?.logBufferLines} lines`},{label:`rtss limit`,value:g.value?.resources.maxRssBytes?M(SI)(g.value.resources.maxRssBytes):`none`},{label:`health`,value:g.value?.health.enabled?`${g.value.health.mode} every ${g.value.health.intervalMs} ms`:`off`},{label:`restart`,value:g.value?.restart.enabled?`${g.value.restart.maxRetries} retries, ×${g.value.restart.factor}`:`off`},{label:`stop`,value:g.value?`${g.value.stop.signal} after ${g.value.stop.graceMs} ms`:`—`},{label:`bootstrap`,value:g.value?.bootstrap?`${g.value.bootstrap.command} ${g.value.bootstrap.args.join(` `)}`:`none`},{label:`backup paths`,value:g.value?.backupPaths.join(`, `)||`—`},{label:`depends on`,value:g.value?.dependsOn.join(`, `)||`—`}],e=>(L(),R(`div`,{key:e.label,class:`min-w-0 border-b border-line-soft pb-1.5 last:border-0`},[B(`dt`,oV,k(e.label),1),B(`dd`,{class:`truncate font-mono text-xs text-ink`,title:String(e.value)},k(e.value),9,sV)]))),128))]))]),_:1}))])):(L(),R(`div`,cV,[V(zz,{class:`lg:col-span-2`},{header:N(()=>[...t[27]||=[B(`h2`,{class:`text-sm font-semibold text-ink`},` Event history `,-1),B(`p`,{class:`text-2xs text-muted`},` Kept by the panel for 24 hours. `,-1)]]),default:N(()=>[V(iR,{servers:[h.value],now:M(r),limit:30},null,8,[`servers`,`now`])]),_:1}),V(zz,null,{header:N(()=>[...t[28]||=[B(`h2`,{class:`text-sm font-semibold text-ink`},` Dependencies `,-1)]]),default:N(()=>[g.value&&g.value.dependsOn.length>0?(L(),R(`div`,lV,[(L(!0),R(I,null,va(g.value.dependsOn,e=>(L(),z(n,{key:e,to:`/servers/${e}`,class:`rounded-full border border-line px-2 py-0.5 font-mono text-2xs text-muted transition-colors duration-150 hover:border-accent/40 hover:text-accent`},{default:N(()=>[H(k(e),1)]),_:2},1032,[`to`]))),128))])):(L(),R(`p`,uV,[...t[29]||=[H(` Starts on its own. Add ids under `,-1),B(`code`,null,`dependsOn`,-1),H(` to order it after other servers. `,-1)]]))]),_:1})])),V(rL,{open:x.value,"onUpdate:open":t[14]||=e=>x.value=e,title:`Remove this server?`,description:`${_.value} is removed from servers.config.json. Its process is stopped and its persisted logs stay on disk.`,width:`w-[min(92vw,26rem)]`},{footer:N(()=>[V($,{variant:`ghost`,onClick:t[13]||=e=>x.value=!1},{default:N(()=>[...t[30]||=[H(` Keep it `,-1)]]),_:1}),V($,{variant:`danger`,onClick:le},{default:N(()=>[V(M(Ay),{class:`size-3.5`}),t[31]||=H(`Remove `,-1)]),_:1})]),default:N(()=>[t[32]||=B(`p`,{class:`text-xs text-muted`},` This cannot be undone from the panel — the entry has to be added back by hand or from a backup. `,-1)]),_:1},8,[`open`,`description`])])):(L(),R(`div`,BB,[V(QI,{title:`That server is gone`,description:`${m.value} is not in servers.config.json any more. It may have been removed from another tab.`},{action:N(()=>[V(n,{to:`/servers`},{default:N(()=>[V($,{variant:`primary`},{default:N(()=>[...t[15]||=[H(` Back to servers `,-1)]]),_:1})]),_:1})]),_:1},8,[`description`])]))}}}),fV={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},pV={class:`flex flex-wrap items-center gap-2`},mV={class:`relative ml-auto w-full sm:w-64`},hV={key:0,class:`grid gap-4 lg:grid-cols-2`},gV={key:3,class:`grid gap-4 lg:grid-cols-2`},_V=P({__name:`ServersView`,setup(e){let{servers:t,appState:n,now:r,seriesOf:i,startAll:a,stopAll:o}=wM(),s=j(!1),c=j(``),l=j(`all`),u=[{value:`all`,label:`All`},{value:`running`,label:`Running`},{value:`stopped`,label:`Stopped`},{value:`attention`,label:`Attention`},{value:`disabled`,label:`Disabled`}],d=W(()=>n.value===null),f=W(()=>{let e=c.value.trim().toLowerCase();return t.value.filter(t=>l.value===`running`&&t.status!==`running`||l.value===`stopped`&&![`stopped`,`stopping`].includes(t.status)||l.value===`disabled`&&t.config.enabled||l.value===`attention`&&t.status!==`crashed`&&t.status!==`conflict`&&t.health!==`unhealthy`?!1:e.length===0||`${t.id} ${t.config.label??``} ${t.config.command} ${t.config.port??``}`.toLowerCase().includes(e))}),p=W(()=>({all:t.value.length,running:t.value.filter(e=>e.status===`running`).length,attention:t.value.filter(e=>e.status===`crashed`||e.status===`conflict`||e.health===`unhealthy`).length}));return(e,n)=>(L(),R(`div`,fV,[V(Fz,{title:`Servers`,description:`Every entry in servers.config.json, with live resources, health and history.`},{actions:N(()=>[V($,{variant:`ghost`,onClick:n[0]||=e=>M(a)()},{default:N(()=>[V(M(fy),{class:`size-3.5`}),n[9]||=H(`Start all `,-1)]),_:1}),V($,{variant:`ghost`,onClick:n[1]||=e=>M(o)()},{default:N(()=>[V(M(Ty),{class:`size-3.5`}),n[10]||=H(`Stop all `,-1)]),_:1}),V($,{variant:`primary`,onClick:n[2]||=e=>s.value=!0},{default:N(()=>[V(M(py),{class:`size-3.5`}),n[11]||=H(`Add server `,-1)]),_:1})]),_:1}),B(`div`,pV,[V(AI,{modelValue:l.value,"onUpdate:modelValue":n[3]||=e=>l.value=e,options:u.map(e=>({...e,label:`${e.label}${e.value===`all`?` ${p.value.all}`:e.value===`running`?` ${p.value.running}`:e.value===`attention`&&p.value.attention>0?` ${p.value.attention}`:``}`}))},null,8,[`modelValue`,`options`]),B(`div`,mV,[V(M(yy),{class:`pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-faint`}),br(B(`input`,{"onUpdate:modelValue":n[4]||=e=>c.value=e,type:`search`,placeholder:`Filter by id, label, command or port`,class:O([`pl-8`,[M(hF)]]),"aria-label":`Filter servers`},null,2),[[Jl,c.value]]),c.value.length>0?(L(),R(`button`,{key:0,type:`button`,class:`absolute right-1.5 top-1/2 grid size-6 -translate-y-1/2 place-items-center rounded-control text-faint hover:text-ink`,"aria-label":`Clear the filter`,onClick:n[5]||=e=>c.value=``},[V(M(My),{class:`size-3.5`})])):U(``,!0)])]),d.value?(L(),R(`div`,hV,[(L(),R(I,null,va(4,e=>V(uL,{key:e,class:`h-72 w-full`,rounded:`rounded-panel`})),64))])):M(t).length===0?(L(),z(QI,{key:1,title:`No servers configured`,description:`Add the first process this panel should supervise. Its command, args, env and working directory all live in the config file.`},{icon:N(()=>[V(M(by),{class:`size-4`})]),action:N(()=>[V($,{variant:`primary`,onClick:n[6]||=e=>s.value=!0},{default:N(()=>[V(M(py),{class:`size-3.5`}),n[12]||=H(`Add a server `,-1)]),_:1})]),_:1})):f.value.length===0?(L(),z(QI,{key:2,compact:``,title:`Nothing matches that filter`,description:`Try a different status or clear the search.`},{action:N(()=>[V($,{onClick:n[7]||=e=>{c.value=``,l.value=`all`}},{default:N(()=>[...n[13]||=[H(` Clear filters `,-1)]]),_:1})]),_:1})):(L(),R(`div`,gV,[(L(!0),R(I,null,va(f.value,e=>(L(),z(Oz,{key:e.id,server:e,series:M(i)(e.id),now:M(r)},null,8,[`server`,`series`,`now`]))),128))])),V(jR,{open:s.value,"onUpdate:open":n[8]||=e=>s.value=e},null,8,[`open`])]))}}),vV=P({__name:`ConfirmButton`,props:{label:{},confirmLabel:{default:`Confirm`},variant:{default:`danger-ghost`},confirmVariant:{default:`danger`},size:{default:`sm`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:[`confirm`],setup(e,{emit:t}){let n=e,r=t,i=j(!1),a=null;function o(){a&&clearTimeout(a),a=null,i.value=!1}function s(){if(!i.value){i.value=!0,a=setTimeout(o,5e3);return}o(),r(`confirm`)}return ze(o),(e,t)=>(L(),z($,{variant:i.value?n.confirmVariant:n.variant,size:n.size,disabled:n.disabled,loading:n.loading,onClick:s},{default:N(()=>[H(k(i.value?n.confirmLabel:n.label),1)]),_:1},8,[`variant`,`size`,`disabled`,`loading`]))}}),yV={class:`min-w-0 flex-1`},bV={key:0,class:`text-xs font-semibold`},xV=P({__name:`Notice`,props:{tone:{default:`info`},title:{default:void 0},class:{default:void 0}},setup(e){let t=e,n={ok:Bv,warn:jy,danger:ly,info:ey,neutral:ey,accent:xy},r=W(()=>n[t.tone]);return(e,n)=>(L(),R(`div`,{class:O(M(Q)(`flex items-start gap-2 rounded-panel border px-3 py-2`,M(dP)[t.tone],t.class))},[(L(),z(ma(r.value),{class:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`})),B(`div`,yV,[t.title?(L(),R(`p`,bV,k(t.title),1)):U(``,!0),B(`div`,{class:O(M(Q)(`text-xs leading-relaxed text-ink/85`,t.title&&`mt-0.5`))},[F(e.$slots,`default`)],2)])],2))}});async function SV(e,t=8e3){let n=Date.now()+t;for(;;){try{if((await fetch(`${e}/api/auth/session`,{cache:`no-store`})).ok)return!0}catch{}if(Date.now()>n)return!1;await new Promise(e=>setTimeout(e,250))}}var CV={enabled:!0,maxRetries:3,baseDelayMs:1e3,factor:2,maxDelayMs:3e4,resetAfterMs:6e4},wV={enabled:!0,mode:`port`,http:{path:`/`,method:`GET`,expectStatusBelow:400,expectBody:``},intervalMs:5e3,timeoutMs:1500,unhealthyThreshold:3,forceRestartAfterMs:0,startTimeoutMs:2e4},TV={signal:`SIGTERM`,killGroup:!0,graceMs:5e3,killPortHolders:!1};function EV(e){return{...e,http:{...e.http}}}function DV(){return{control:{label:`home-hosted`,port:3999,host:`local`,openBrowser:!1,tlsEnabled:!1},auth:{enabled:!1,sessionTtlMs:6048e5,cookieSecure:`auto`,trustProxy:!1,maxLoginAttempts:5,lockoutMs:6e4},defaults:{enabled:!0,autostart:!1,bind:`local`,onPortConflict:`block`,logBufferLines:500,restart:{...CV},health:EV(wV),stop:{...TV}},logs:{persist:!0,maxBytes:2e6,keep:3},host:{enabled:!0,intervalMs:15e3,diskPaths:`.`,diskUsedPercent:90,memoryUsedPercent:90,swapUsedPercent:50,loadPerCpu:2,tempCelsius:85},backups:{enabled:!0,keep:5,includePaths:``},telegram:{enabled:!1,chatId:``,cooldownMs:12e4,onCrash:!0,onUnhealthy:!0,onForcedRestart:!0,onRecovered:!1,onHost:!0}}}function OV(e){return{enabled:e.enabled,sessionTtlMs:e.sessionTtlMs,cookieSecure:e.cookieSecure,trustProxy:e.trustProxy,maxLoginAttempts:e.maxLoginAttempts,lockoutMs:e.lockoutMs}}function kV(e){return{label:e.label,port:e.port,host:e.host,openBrowser:e.openBrowser,tlsEnabled:e.tls.enabled}}function AV(e){return{enabled:e.enabled,chatId:e.chatId,cooldownMs:e.cooldownMs,onCrash:e.onCrash,onUnhealthy:e.onUnhealthy,onForcedRestart:e.onForcedRestart,onRecovered:e.onRecovered,onHost:e.onHost}}function jV(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}function MV(e){return{enabled:e.enabled,intervalMs:e.intervalMs,diskPaths:e.diskPaths.join(`, `),diskUsedPercent:e.diskUsedPercent,memoryUsedPercent:e.memoryUsedPercent,swapUsedPercent:e.swapUsedPercent,loadPerCpu:e.loadPerCpu,tempCelsius:e.tempCelsius}}function NV(e){return{enabled:e.enabled,keep:e.keep,includePaths:e.includePaths.join(`, `)}}function PV(e,t){return SB(e,{...t,diskPaths:jV(t.diskPaths)})}function FV(e,t){return SB(e,{...t,includePaths:jV(t.includePaths)})}function IV(e,t){return SB({label:e.label,port:e.port,host:e.host,openBrowser:e.openBrowser,auth:OV(e.auth),tls:{enabled:e.tls.enabled}},{label:t.control.label,port:t.control.port,host:t.control.host,openBrowser:t.control.openBrowser,auth:{...t.auth},tls:{enabled:t.control.tlsEnabled}},[`auth`,`tls`])}function LV(e,t){let n=SB(e,t,[`restart`,`health`,`stop`]),r=n.health;return r!==void 0&&`http`in r&&JSON.stringify(e.health.http)===JSON.stringify(t.health.http)&&(delete r.http,Object.keys(r).length===0&&delete n.health),n}function RV(e,t){return SB(e,t)}function zV(e,t){return SB({telegram:AV(e)},{telegram:{...t}},[`telegram`])}function BV(e){return e.liveAvailable?!e.hydrated||e.changedCount===0:!1}function VV(e,t=``){return typeof e!=`object`||!e||Array.isArray(e)?[{path:t,value:e}]:Object.entries(e).flatMap(([e,n])=>VV(n,t.length===0?e:`${t}.${e}`))}function HV(e,t){let n=new Map(VV(t).map(e=>[e.path,e.value]));return VV(e).map(e=>({path:e.path,from:n.get(e.path),to:e.value}))}function UV(e){let t=0;for(let n of Object.values(e))t+=typeof n==`object`&&n&&!Array.isArray(n)?UV(n):1;return t}function WV(e,t){return e.label!==t.control.label||e.port!==t.control.port||e.host!==t.control.host||e.openBrowser!==t.control.openBrowser}function GV(e,t){return e.tls.enabled!==t.control.tlsEnabled}function KV(e,t){return UV(SB({...OV(e.auth)},{...t.auth}))>0}function qV(e,t,n){return W({get:e,set:e=>{t(e===null||Number.isNaN(e)?n:e)}})}async function JV(e){if(!e.rebinding)return null;let t=e.targetUrl??e.control.url;return t.length===0||t===window.location.origin?null:await SV(t)?(window.location.replace(t),null):`The control panel did not answer on ${t}. Check the console for the new listener.`}var YV={class:`space-y-2`},XV={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},ZV=P({__name:`AuthenticationSection`,props:za({view:{},dirty:{type:Boolean}},{auth:{required:!0},authModifiers:{}}),emits:za([`reset`],[`update:auth`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`auth`),a=qV(()=>i.value.sessionTtlMs,e=>i.value.sessionTtlMs=e,6048e5),o=qV(()=>i.value.maxLoginAttempts,e=>i.value.maxLoginAttempts=e,5),s=qV(()=>i.value.lockoutMs,e=>i.value.lockoutMs=e,6e4),c=W(()=>n.view?.auth.passwordSet===!0),l=W(()=>n.view?.auth.apiTokenSet===!0),u=W(()=>n.view?.auth.blockedReason??null),d=W(()=>n.view?.auth.exposed===!0),f=W(()=>n.view?.auth.usingDefaultPassword===!0),p=W(()=>i.value.enabled&&!c.value),{setPassword:m,clearPassword:h}=Vj(),g=j(``),_=j(``),v=j(``),y=j(null),b=j(null),x=j(!1),S=W(()=>v.value.length>0&&v.value!==_.value),C=W(()=>_.value.length>0&&_.value.length<8),w=W(()=>_.value.length>0&&!S.value&&(!c.value||g.value.length>0));async function T(){if(w.value&&!x.value){x.value=!0,b.value=null,y.value=null;try{let e=await m(c.value?g.value:void 0,_.value);if(e!==null){b.value=e;return}g.value=``,_.value=``,v.value=``,y.value=`Password updated. Other sessions were signed out.`}finally{x.value=!1}}}async function ee(){b.value=null,y.value=null;let e=await h();e===null?y.value=`Password cleared and authentication disabled.`:b.value=e}return(e,t)=>(L(),R(I,null,[V(uR,{title:`Access policy`,description:`Authentication applies whether the panel is on loopback or exposed to the network.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[10]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(ER,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:`Require a password`,hint:`Every request needs a signed-in session.`,class:`sm:col-span-2`},null,8,[`modelValue`]),V(mR,{modelValue:M(a),"onUpdate:modelValue":t[2]||=e=>A(a)?a.value=e:null,label:`Session lifetime (ms)`,min:6e4,hint:`604800000 is one week.`},null,8,[`modelValue`]),V(lL,{modelValue:i.value.cookieSecure,"onUpdate:modelValue":t[3]||=e=>i.value.cookieSecure=e,label:`Cookie Secure`,options:[{value:`auto`,label:`Auto — only over HTTPS`},{value:`always`,label:`Always`},{value:`never`,label:`Never — plain HTTP`}]},null,8,[`modelValue`]),V(ER,{modelValue:i.value.trustProxy,"onUpdate:modelValue":t[4]||=e=>i.value.trustProxy=e,label:`Behind a trusted reverse proxy`,hint:`Trust x-forwarded-* headers for the client address and protocol.`,class:`sm:col-span-2`},null,8,[`modelValue`]),V(mR,{modelValue:M(o),"onUpdate:modelValue":t[5]||=e=>A(o)?o.value=e:null,label:`Max login attempts`,min:1,hint:`Failures before a temporary lockout.`},null,8,[`modelValue`]),V(mR,{modelValue:M(s),"onUpdate:modelValue":t[6]||=e=>A(s)?s.value=e:null,label:`Lockout (ms)`,min:1e3},null,8,[`modelValue`])]),_:1}),B(`div`,YV,[V(xV,{tone:l.value?`info`:`neutral`,title:l.value?`An API token is set`:`No API token`},{default:N(()=>[l.value?(L(),R(I,{key:0},[t[11]||=H(` Scripts can call the API with `,-1),t[12]||=B(`code`,null,`Authorization: Bearer …`,-1),t[13]||=H(` instead of signing in. `,-1)],64)):(L(),R(I,{key:1},[t[14]||=H(` For shell scripts and agents, generate one with `,-1),t[15]||=B(`code`,null,`home-hosted set-token --generate`,-1),t[16]||=H(`. `,-1)],64))]),_:1},8,[`tone`,`title`]),f.value?(L(),z(xV,{key:0,tone:`warn`,title:`The default password is still in use`},{default:N(()=>[...t[17]||=[H(` Set your own password below. Binding beyond `,-1),B(`code`,null,`127.0.0.1`,-1),H(` stays refused until you do. `,-1)]]),_:1})):U(``,!0),u.value?(L(),z(xV,{key:1,tone:`danger`,title:`This listener is being refused`},{default:N(()=>[H(k(u.value),1)]),_:1})):p.value?(L(),z(xV,{key:2,tone:`warn`,title:`Authentication is on but no password is set`},{default:N(()=>[...t[18]||=[H(` Nothing is actually required yet, and binding beyond `,-1),B(`code`,null,`127.0.0.1`,-1),H(` stays refused until a password exists. `,-1)]]),_:1})):d.value?(L(),z(xV,{key:3,tone:`warn`,title:`Reachable beyond 127.0.0.1`},{default:N(()=>[...t[19]||=[H(` Keep the password strong, or put a TLS-terminating proxy in front of the panel. `,-1)]]),_:1})):U(``,!0)]),B(`form`,{class:`mt-3`,onSubmit:lu(T,[`prevent`])},[V(uR,{title:c.value?`Change password`:`Set a password`,description:`Stored as a scrypt hash in the secrets file, never in the config.`},{default:N(()=>[c.value?(L(),z(CR,{key:0,modelValue:g.value,"onUpdate:modelValue":t[7]||=e=>g.value=e,type:`password`,autocomplete:`current-password`,label:`Current password`},null,8,[`modelValue`])):U(``,!0),V(CR,{modelValue:_.value,"onUpdate:modelValue":t[8]||=e=>_.value=e,type:`password`,autocomplete:`new-password`,label:`New password`},null,8,[`modelValue`]),V(CR,{modelValue:v.value,"onUpdate:modelValue":t[9]||=e=>v.value=e,type:`password`,autocomplete:`new-password`,label:`Repeat new password`,error:S.value?`The two passwords do not match.`:null},null,8,[`modelValue`,`error`]),B(`div`,XV,[V($,{type:`submit`,variant:`primary`,disabled:!w.value,loading:x.value},{default:N(()=>[H(k(c.value?`Update password`:`Set password and enable auth`),1)]),_:1},8,[`disabled`,`loading`]),c.value?(L(),z(vV,{key:0,label:`Clear password`,"confirm-label":`Confirm clear`,"confirm-variant":`danger`,disabled:x.value,onConfirm:ee},null,8,[`disabled`])):U(``,!0)]),C.value||b.value||y.value?(L(),R(I,{key:1},[C.value?(L(),z(xV,{key:0,tone:`warn`,title:`That is a short password`,class:`sm:col-span-2`},{default:N(()=>[...t[20]||=[H(` It is allowed, but longer is the only thing standing between the network and this panel. `,-1)]]),_:1})):U(``,!0),b.value?(L(),z(xV,{key:1,tone:`danger`,class:`sm:col-span-2`},{default:N(()=>[H(k(b.value),1)]),_:1})):U(``,!0),y.value?(L(),z(xV,{key:2,tone:`ok`,class:`sm:col-span-2`},{default:N(()=>[H(k(y.value),1)]),_:1})):U(``,!0)],64)):U(``,!0)]),_:1},8,[`title`])],32)],64))}}),QV={class:`space-y-3`},$V={key:0,class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},eH={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},tH={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},nH={class:`text-2xs leading-4 text-faint`},rH={key:0,class:`space-y-2 sm:col-span-2`},iH={key:1,class:`text-xs text-muted sm:col-span-2`},aH={key:2,class:`divide-y divide-line-soft sm:col-span-2`},oH={class:`min-w-0`},sH={class:`truncate font-mono text-xs text-ink`},cH={class:`mt-0.5 text-2xs leading-4 text-muted`},lH={class:`sm:col-span-2`},uH={key:0,class:`space-y-2 sm:col-span-2`},dH={key:1,class:`sm:col-span-2`},fH={key:2,class:`divide-y divide-line-soft sm:col-span-2`},pH={class:`min-w-0 flex-1`},mH={class:`flex items-center gap-2`},hH={class:`truncate font-mono text-xs text-ink`},gH={class:`mt-0.5 font-mono text-2xs tabular-nums text-muted`},_H={class:`flex items-center gap-1.5`},vH=[`href`],yH={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},bH={key:0,class:`font-mono text-2xs text-muted`},xH={class:`sm:col-span-2`},SH={key:0,class:`sm:col-span-2`},CH={class:`mt-2`},wH={class:`mt-2 max-w-sm`},TH={class:`mt-2`},EH={class:`mt-2`},DH={class:`mt-1 max-h-64 space-y-0.5 overflow-auto`},OH={class:`mt-2 flex flex-wrap items-center gap-2`},kH={class:`mt-2`},AH={class:`mt-2`},jH={key:1,class:`space-y-2 sm:col-span-2`},MH=P({__name:`BackupsSection`,props:za({state:{},policy:{},configPath:{},dirty:{type:Boolean}},{form:{required:!0},formModifiers:{}}),emits:za([`reset`],[`update:form`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`form`),a=wM(),o=qV(()=>i.value.keep,e=>i.value.keep=e,5),s=j(!1),c=j(null),l=j(null),u=j(``),d=j(null),f=j(null),p=j(``),m=j(null),h=W(()=>n.state?.files??[]),g=W(()=>n.state?.paths??[]),_=W(()=>d.value?.items.filter(e=>e.selected).length??0),v=W(()=>d.value?.items.some(e=>e.id===`config`&&e.selected)??!1),y=Q(hF,`cursor-pointer text-xs`,`file:mr-2 file:cursor-pointer file:rounded-control file:border-0 file:bg-panel-2 file:px-2 file:py-1 file:text-xs file:text-ink`),b=Q(`inline-flex h-6 shrink-0 items-center gap-1 rounded-control border border-line bg-raise px-2 text-2xs font-medium text-ink`,`transition-colors duration-150 hover:bg-hover`,fF);function x(e){for(let t of d.value?.items??[])t.restorable&&(t.selected=e)}async function S(){s.value=!0,l.value=null,c.value=null;try{await _j(u.value),u.value=``,c.value=`Backup created.`,await a.refresh()}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{s.value=!1}}async function C(e){s.value=!0,l.value=null,c.value=null;try{await vj(e),c.value=`Deleted ${e}.`,await a.refresh()}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{s.value=!1}}function w(e){f.value=e.target.files?.[0]??null,d.value=null,m.value=null,l.value=null,c.value=null}function T(){return p.value.length>0?{password:p.value}:{}}async function ee(e){s.value=!0,l.value=null,c.value=null,d.value=null;try{e===void 0?f.value===null?m.value=null:(m.value={kind:`upload`},d.value=await Sj(f.value,!1,T())):(m.value={kind:`stored`,name:e},d.value=await xj(e,!1,T())),d.value===null&&(l.value=`Choose a stored backup or upload one first.`)}catch(e){m.value=null,l.value=e instanceof Error?e.message:String(e)}finally{s.value=!1}}async function E(){let e=m.value;e!==null&&await ee(e.kind===`stored`?e.name:void 0)}async function te(){let e=m.value,t=d.value;if(e===null||t===null){l.value=`Check an archive first.`;return}s.value=!0,l.value=null;let n={...T(),include:t.items.filter(e=>e.restorable&&e.selected).map(e=>e.id)};try{let t=e.kind===`stored`?await xj(e.name,!0,n):f.value===null?null:await Sj(f.value,!0,n);d.value=null,m.value=null,f.value=null,p.value=``;let r=[];t?.reloaded&&r.push(`the restored servers are live, autostart entries starting`),t?.restartRequired&&r.push(`restart the panel to apply its own settings`),c.value=t===null?`The restore failed.`:`Restored ${t.applied.length} item(s)${r.length===0?``:` — ${r.join(`; `)}`}.`,await a.refresh()}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{s.value=!1}}return(e,t)=>(L(),R(`div`,QV,[V(uR,{title:`Policy`,description:`What a backup captures, and how many archives are kept.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[9]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(ER,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:`Allow backups`,hint:`Turning this off hides nothing: the archives already on disk stay downloadable.`,class:`sm:col-span-2`},null,8,[`modelValue`]),V(mR,{modelValue:M(o),"onUpdate:modelValue":t[2]||=e=>A(o)?o.value=e:null,label:`Keep`,min:1,hint:`Older archives are pruned after each backup.`},null,8,[`modelValue`]),V(CR,{modelValue:i.value.includePaths,"onUpdate:modelValue":t[3]||=e=>i.value.includePaths=e,label:`Extra paths`,hint:`Comma separated, in addition to every entry's data directories.`,placeholder:`{home}/myapp-data`},null,8,[`modelValue`]),n.policy===null?U(``,!0):(L(),R(`div`,$V,[t[12]||=B(`span`,{class:`text-xs font-medium text-muted`},`Archive directory`,-1),B(`div`,eH,[B(`span`,tH,k(n.policy.dir),1),V(zB,{value:n.policy.dir,label:`Copy the archive directory`},null,8,[`value`])]),B(`p`,nH,[t[10]||=H(` Changing it is a file-level decision: edit `,-1),B(`code`,null,k(n.configPath??`the config file`),1),t[11]||=H(`. `,-1)])]))]),_:1}),V(uR,{title:`Declared paths`,description:`Config, secrets and TLS are always captured. A path already covered by a declared parent is skipped.`},{default:N(()=>[n.state===null?(L(),R(`div`,rH,[V(uL,{class:`h-4 w-full`})])):g.value.length===0?(L(),R(`p`,iH,[...t[13]||=[H(` No data paths are declared yet. Add `,-1),B(`code`,null,`dataEnvs`,-1),H(` or `,-1),B(`code`,null,`backupPaths`,-1),H(` to a server to capture its data. `,-1)]])):(L(),R(`ul`,aH,[(L(!0),R(I,null,va(g.value,e=>(L(),R(`li`,{key:`${e.origin}:${e.path}`,class:`flex items-start justify-between gap-3 py-1.5`},[B(`div`,oH,[B(`p`,sH,k(e.path),1),B(`p`,cH,k(e.included?`from ${e.origin}`:e.note??`not captured`),1)]),V(NF,{tone:e.included?`ok`:`neutral`,plain:``},{default:N(()=>[H(k(e.included?`included`:`skipped`),1)]),_:2},1032,[`tone`])]))),128))]))]),_:1}),V(uR,{title:`Create a backup now`,description:`Optional password encrypts the archive; restoring it will ask for the same password.`},{default:N(()=>[V(CR,{modelValue:u.value,"onUpdate:modelValue":t[4]||=e=>u.value=e,type:`password`,autocomplete:`new-password`,label:`Password (optional)`,wide:``},null,8,[`modelValue`]),B(`div`,lH,[V($,{variant:`primary`,disabled:s.value,loading:s.value,onClick:S},{default:N(()=>[...t[14]||=[H(` Create backup now `,-1)]]),_:1},8,[`disabled`,`loading`])])]),_:1}),V(uR,{title:`Archives`,description:`Stored in the backup directory and downloadable at any time.`},{default:N(()=>[n.state===null?(L(),R(`div`,uH,[V(uL,{class:`h-4 w-full`}),V(uL,{class:`h-4 w-2/3`})])):h.value.length===0?(L(),R(`div`,dH,[V(QI,{compact:``,title:`No archives yet`,description:`Create one now to capture the config, secrets and every declared data path.`},{icon:N(()=>[V(M(Mv),{class:`size-4`})]),action:N(()=>[V($,{size:`sm`,variant:`primary`,disabled:s.value,onClick:S},{default:N(()=>[...t[15]||=[H(` Create backup now `,-1)]]),_:1},8,[`disabled`])]),_:1})])):(L(),R(`ul`,fH,[(L(!0),R(I,null,va(h.value,e=>(L(),R(`li`,{key:e.name,class:`flex flex-wrap items-center gap-x-3 gap-y-2 py-2 first:pt-0 last:pb-0`},[B(`div`,pH,[B(`div`,mH,[B(`span`,hH,k(e.name),1),e.encrypted?(L(),z(NF,{key:0,tone:`warn`,plain:``},{default:N(()=>[...t[16]||=[H(` encrypted `,-1)]]),_:1})):U(``,!0)]),B(`p`,gH,k(M(xI)(e.sizeBytes))+` · `+k(M(gI)(e.createdAt)),1)]),B(`div`,_H,[B(`a`,{href:yj(e.name),class:O(M(b))},[V(M(qv),{class:`size-3`,"aria-hidden":`true`}),t[17]||=H(` Download `,-1)],10,vH),V($,{size:`xs`,variant:`secondary`,disabled:s.value,onClick:t=>ee(e.name)},{default:N(()=>[V(M(gy),{class:`size-3`,"aria-hidden":`true`}),t[18]||=H(` Restore `,-1)]),_:1},8,[`disabled`,`onClick`]),V(vV,{label:`Delete`,"confirm-label":`Confirm delete`,size:`xs`,variant:`ghost`,"confirm-variant":`danger`,disabled:s.value,onConfirm:t=>C(e.name)},null,8,[`disabled`,`onConfirm`])])]))),128))]))]),_:1}),V(uR,{title:`Restore`,description:`Nothing is written until the plan is applied.`},{default:N(()=>[B(`div`,yH,[B(`label`,{class:O(M(pF)),for:`restore-upload`},`Restore from an uploaded .zip`,2),B(`input`,{id:`restore-upload`,type:`file`,accept:`.zip,application/zip`,class:O(M(y)),onChange:w},null,34),f.value?(L(),R(`p`,bH,k(f.value.name),1)):U(``,!0)]),B(`div`,xH,[V($,{variant:`secondary`,disabled:s.value||f.value===null,onClick:t[5]||=e=>ee()},{default:N(()=>[...t[19]||=[H(` Check the upload `,-1)]]),_:1},8,[`disabled`])]),d.value?(L(),R(`div`,SH,[V(xV,{tone:`warn`,title:d.value.dryRun?`Nothing has changed yet`:`Applied`},{default:N(()=>[B(`p`,null,[m.value?.kind===`stored`?(L(),R(I,{key:0},[t[20]||=H(` Archive `,-1),B(`code`,null,k(m.value.name),1),t[21]||=H(`. `,-1)],64)):(L(),R(I,{key:1},[H(` The uploaded archive. `)],64))]),d.value.needsPassword?(L(),R(I,{key:0},[B(`p`,CH,k(d.value.error??`This backup is password-protected.`),1),B(`div`,wH,[V(CR,{modelValue:p.value,"onUpdate:modelValue":t[6]||=e=>p.value=e,type:`password`,autocomplete:`off`,label:`Password`},null,8,[`modelValue`])]),B(`div`,TH,[V($,{size:`sm`,variant:`secondary`,disabled:s.value,onClick:E},{default:N(()=>[...t[22]||=[H(` Check again with the password `,-1)]]),_:1},8,[`disabled`])])],64)):(L(),R(I,{key:1},[B(`p`,EH,` Choose what to restore — `+k(_.value)+` of `+k(d.value.items.length)+` selected. `,1),B(`ul`,DH,[(L(!0),R(I,null,va(d.value.items,e=>(L(),R(`li`,{key:e.id},[V(DB,{modelValue:e.selected,"onUpdate:modelValue":t=>e.selected=t,label:e.label,hint:[e.kind,e.note].filter(Boolean).join(` · `),disabled:!e.restorable},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`,`disabled`])]))),128))]),B(`div`,OH,[V($,{size:`xs`,variant:`ghost`,disabled:s.value,onClick:t[7]||=e=>x(!0)},{default:N(()=>[...t[23]||=[H(` Select all `,-1)]]),_:1},8,[`disabled`]),V($,{size:`xs`,variant:`ghost`,disabled:s.value,onClick:t[8]||=e=>x(!1)},{default:N(()=>[...t[24]||=[H(` Select none `,-1)]]),_:1},8,[`disabled`])]),B(`p`,kH,[H(` Will restore: `+k(d.value.applied.join(`, `)||`nothing`)+`. `,1),d.value.skipped.length?(L(),R(I,{key:0},[H(` Skipped: `+k(d.value.skipped.join(`, `))+`. `,1)],64)):U(``,!0),d.value.restartRequired?(L(),R(I,{key:1},[H(` The panel's own settings differ, so restart the panel afterwards. `)],64)):v.value?(L(),R(I,{key:2},[H(` Restored servers are reloaded immediately; entries marked autostart start on their own. `)],64)):U(``,!0)]),B(`div`,AH,[V($,{size:`sm`,variant:`danger`,disabled:s.value||_.value===0,loading:s.value,onClick:te},{default:N(()=>[H(k(m.value?.kind===`stored`?`Apply this restore`:`Restore the upload`),1)]),_:1},8,[`disabled`,`loading`])])],64))]),_:1},8,[`title`])])):U(``,!0),l.value||c.value?(L(),R(`div`,jH,[l.value?(L(),z(xV,{key:0,tone:`danger`},{default:N(()=>[H(k(l.value),1)]),_:1})):U(``,!0),c.value?(L(),z(xV,{key:1,tone:`ok`},{default:N(()=>[H(k(c.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1})]))}}),NH={class:`mt-3 space-y-3`},PH=P({__name:`DefaultsSection`,props:za({dirty:{type:Boolean}},{defaults:{required:!0},defaultsModifiers:{}}),emits:za([`reset`],[`update:defaults`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`defaults`),a=qV(()=>i.value.logBufferLines,e=>i.value.logBufferLines=e,500);return(e,t)=>(L(),R(I,null,[V(uR,{title:`Server defaults`,description:`Applied to every entry that does not set its own value.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[9]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(DB,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:`Enabled`,hint:`New entries start enabled.`},null,8,[`modelValue`]),V(DB,{modelValue:i.value.autostart,"onUpdate:modelValue":t[2]||=e=>i.value.autostart=e,label:`Autostart with the panel`},null,8,[`modelValue`]),V(lL,{modelValue:i.value.bind,"onUpdate:modelValue":t[3]||=e=>i.value.bind=e,label:`Bind`,options:[{value:`local`,label:`Local — 127.0.0.1`},{value:`lan`,label:`LAN — 0.0.0.0`}]},null,8,[`modelValue`]),V(lL,{modelValue:i.value.onPortConflict,"onUpdate:modelValue":t[4]||=e=>i.value.onPortConflict=e,label:`On port conflict`,options:[{value:`block`,label:`Block the start`},{value:`warn`,label:`Warn and start anyway`},{value:`follow`,label:`Follow a detached restart of itself`},{value:`reclaim`,label:`Replace a detached restart with a supervised copy`}]},null,8,[`modelValue`]),V(mR,{modelValue:M(a),"onUpdate:modelValue":t[5]||=e=>A(a)?a.value=e:null,label:`Log buffer lines`,min:50,max:1e5,hint:`Kept in memory per server.`},null,8,[`modelValue`])]),_:1}),B(`div`,NH,[V(OB,{restart:i.value.restart,"onUpdate:restart":t[6]||=e=>i.value.restart=e,health:i.value.health,"onUpdate:health":t[7]||=e=>i.value.health=e,stop:i.value.stop,"onUpdate:stop":t[8]||=e=>i.value.stop=e},null,8,[`restart`,`health`,`stop`])])],64))}}),FH={key:0,class:`mt-3 flex flex-wrap items-center gap-1.5`},IH={key:1,class:`mt-3 text-xs text-muted`},LH=P({__name:`HostSection`,props:za({config:{},alerts:{},dirty:{type:Boolean}},{host:{required:!0},hostModifiers:{}}),emits:za([`reset`],[`update:host`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`host`),a=qV(()=>i.value.intervalMs,e=>i.value.intervalMs=e,15e3),o=qV(()=>i.value.diskUsedPercent,e=>i.value.diskUsedPercent=e,90),s=qV(()=>i.value.memoryUsedPercent,e=>i.value.memoryUsedPercent=e,90),c=qV(()=>i.value.swapUsedPercent,e=>i.value.swapUsedPercent=e,50),l=qV(()=>i.value.loadPerCpu,e=>i.value.loadPerCpu=e,2),u=qV(()=>i.value.tempCelsius,e=>i.value.tempCelsius=e,85);return(e,t)=>(L(),R(I,null,[V(uR,{title:`Thresholds`,description:`A threshold of 0 disables that alert. Breaches notify once, and once more on recovery.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[9]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(ER,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:`Sample this machine`,hint:`Load, memory, swap, disk and CPU temperature, on the interval below.`,class:`sm:col-span-2`},null,8,[`modelValue`]),V(mR,{modelValue:M(a),"onUpdate:modelValue":t[2]||=e=>A(a)?a.value=e:null,label:`Interval (ms)`,min:5e3,hint:`How often the host is sampled and alerts are checked.`},null,8,[`modelValue`]),V(CR,{modelValue:i.value.diskPaths,"onUpdate:modelValue":t[3]||=e=>i.value.diskPaths=e,label:`Disk paths`,hint:`Comma separated; templates like {home} are expanded.`},null,8,[`modelValue`]),V(mR,{modelValue:M(o),"onUpdate:modelValue":t[4]||=e=>A(o)?o.value=e:null,label:`Disk used (%)`,min:0,max:100,hint:`0 disables the alert.`},null,8,[`modelValue`]),V(mR,{modelValue:M(s),"onUpdate:modelValue":t[5]||=e=>A(s)?s.value=e:null,label:`Memory used (%)`,min:0,max:100,hint:`0 disables the alert.`},null,8,[`modelValue`]),V(mR,{modelValue:M(c),"onUpdate:modelValue":t[6]||=e=>A(c)?c.value=e:null,label:`Swap used (%)`,min:0,max:100,hint:`0 disables the alert.`},null,8,[`modelValue`]),V(mR,{modelValue:M(l),"onUpdate:modelValue":t[7]||=e=>A(l)?l.value=e:null,label:`Load per CPU`,min:0,hint:`1-minute load average divided by the core count.`},null,8,[`modelValue`]),V(mR,{modelValue:M(u),"onUpdate:modelValue":t[8]||=e=>A(u)?u.value=e:null,label:`CPU temperature (°C)`,min:0,hint:`Linux only; ignored where the OS does not expose it.`},null,8,[`modelValue`])]),_:1}),n.alerts.length>0?(L(),R(`div`,FH,[t[10]||=B(`span`,{class:`text-xs text-muted`},`Breaching now:`,-1),(L(!0),R(I,null,va(n.alerts,e=>(L(),z(NF,{key:e,tone:`danger`,dot:``},{default:N(()=>[H(k(e),1)]),_:2},1024))),128))])):i.value.enabled?(L(),R(`p`,IH,` Nothing is breaching right now. `)):U(``,!0)],64))}}),RH={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},zH={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},BH={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},VH={class:`text-2xs leading-4 text-faint`},HH={key:0},UH={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},WH=[`disabled`],GH=P({__name:`InterfaceSection`,props:za({ui:{},labelDirty:{type:Boolean}},{label:{required:!0},labelModifiers:{}}),emits:za([`changed`,`resetLabel`],[`update:label`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`label`),a=j(null),o=j(!1),s=j(null),c=j(null),l=j(!1),u=W(()=>{let e=n.ui;if(e===null)return`unknown`;if(!e.custom)return`stock`;let t=e.meta;return t===null?`custom`:`custom · ${t.name}${t.version===null?``:` ${t.version}`}`}),d=W(()=>{let e=n.ui?.meta;return e==null?null:`${e.files} files · ${new Date(e.uploadedAt).toLocaleString()}`});function f(e){a.value=e.target.files?.[0]??null,s.value=null,c.value=null}async function p(){if(a.value!==null){o.value=!0,c.value=null,s.value=null;try{let e=await Dj(a.value);s.value=`UI replaced with ${e.meta?.name??`your build`} — refresh the page`,a.value=null,r(`changed`)}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{o.value=!1}}}async function m(){if(!l.value){l.value=!0,setTimeout(()=>{l.value=!1},5e3);return}l.value=!1,o.value=!0,c.value=null;try{let e=await Oj();s.value=e.removed?`stock UI restored — refresh the page`:`no custom UI was installed`,r(`changed`)}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{o.value=!1}}return(t,h)=>(L(),z(uR,{title:`Interface`,description:`The panel is a static site: keep the stock one, or serve your own build from the state directory.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.labelDirty,onClick:h[1]||=e=>r(`resetLabel`)},{default:N(()=>[...h[4]||=[H(` Reset name `,-1)]]),_:1},8,[`disabled`]),e.ui?.custom?(L(),z($,{key:0,size:`xs`,variant:`ghost`,disabled:o.value,onClick:m},{default:N(()=>[H(k(l.value?`Confirm revert`:`Revert to stock`),1)]),_:1},8,[`disabled`])):U(``,!0),V($,{size:`xs`,variant:`primary`,disabled:o.value||a.value===null,onClick:p},{default:N(()=>[...h[5]||=[H(` Install UI `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[B(`div`,RH,[h[2]||=B(`span`,{class:`text-xs font-medium text-muted`},`Currently serving`,-1),B(`div`,zH,[B(`span`,BH,k(u.value),1),V(zB,{value:e.ui?.dir??``,label:`Copy the UI directory`},null,8,[`value`])]),B(`p`,VH,[d.value?(L(),R(`span`,HH,k(d.value)+` · `,1)):U(``,!0),B(`code`,null,k(e.ui?.dir??`—`),1)])]),V(CR,{modelValue:i.value,"onUpdate:modelValue":h[0]||=e=>i.value=e,label:`Panel name`,hint:`Shown in the sidebar by the stock UI. A custom UI may show its own name instead.`,wide:``},null,8,[`modelValue`]),B(`label`,UH,[h[3]||=B(`span`,{class:`text-xs font-medium text-muted`},`Upload a UI build (.zip with an index.html)`,-1),B(`input`,{type:`file`,accept:`.zip,application/zip`,class:`rounded-control border border-line bg-page/60 px-2.5 py-1.5 text-xs text-ink file:mr-2 file:rounded file:border-0 file:bg-line file:px-2 file:py-1 file:text-xs`,disabled:o.value,onChange:f},null,40,WH)]),c.value?(L(),z(xV,{key:0,tone:`warn`,title:c.value},null,8,[`title`])):s.value?(L(),z(xV,{key:1,tone:`ok`,title:s.value},null,8,[`title`])):U(``,!0),h[6]||=B(`p`,{class:`text-2xs leading-4 text-faint sm:col-span-2`},[H(` See `),B(`code`,null,`UI_CREATION.md`),H(` for the API contract. If a custom UI breaks the panel, `),B(`code`,null,`home-hosted ui-revert`),H(` puts the stock one back from the terminal. `)],-1)]),_:1}))}}),KH={class:`flex min-w-0 flex-col gap-1`},qH={class:`text-2xs leading-4 text-faint`},JH={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},YH={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},XH={class:`min-w-0 flex-1 truncate font-mono text-xs tabular-nums text-ink`},ZH=P({__name:`ListenerSection`,props:za({view:{},dirty:{type:Boolean}},{control:{required:!0},controlModifiers:{}}),emits:za([`reset`],[`update:control`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`control`),a=qV(()=>i.value.port,e=>i.value.port=e,3999),o=[`local`,`lan`],s=W({get:()=>o.includes(i.value.host)?i.value.host:`custom`,set:e=>{if(e!==`custom`){i.value.host=e;return}if(!o.includes(i.value.host))return;let t=n.view?.bindHost??``,r=t!==``&&t!==`0.0.0.0`&&t!==`127.0.0.1`&&Wk(t)!==null;i.value.host=r?t:`127.0.0.1`}}),c=W(()=>{if(s.value===`custom`&&Wk(i.value.host)===null)return`Enter an IPv4 address, for example 192.168.1.20.`}),l=W(()=>n.view?.url??`—`);return(e,t)=>(L(),z(uR,{title:`Listener`,description:`Where the panel answers. Moving this restarts the panel and sends this page to the new address.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[5]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(mR,{modelValue:M(a),"onUpdate:modelValue":t[1]||=e=>A(a)?a.value=e:null,label:`Control port`,min:1,max:65535,hint:`Default 3999.`},null,8,[`modelValue`]),B(`div`,KH,[t[6]||=B(`span`,{class:`text-xs font-medium text-muted`},`Bind`,-1),V(AI,{modelValue:s.value,"onUpdate:modelValue":t[2]||=e=>s.value=e,options:[{value:`local`,label:`Local`},{value:`lan`,label:`LAN`},{value:`custom`,label:`Custom`}]},null,8,[`modelValue`]),B(`p`,qH,k(s.value===`lan`?`0.0.0.0 — reachable from the whole network.`:s.value===`local`?`127.0.0.1 — this machine only.`:`A specific interface address you type in below.`),1)]),s.value===`custom`?(L(),z(CR,{key:0,modelValue:i.value.host,"onUpdate:modelValue":t[3]||=e=>i.value.host=e,label:`IPv4 address`,placeholder:`192.168.1.20`,error:c.value,hint:`Binding beyond 127.0.0.1 needs a real password.`},null,8,[`modelValue`,`error`])):U(``,!0),V(DB,{modelValue:i.value.openBrowser,"onUpdate:modelValue":t[4]||=e=>i.value.openBrowser=e,label:`Open a browser when the panel comes up`,wide:``},null,8,[`modelValue`]),B(`div`,JH,[t[8]||=B(`span`,{class:`text-xs font-medium text-muted`},`Live address`,-1),B(`div`,YH,[B(`span`,XH,k(l.value),1),n.view?.restartRequired?(L(),z(NF,{key:0,tone:`warn`,dot:``},{default:N(()=>[...t[7]||=[H(` restart required `,-1)]]),_:1})):U(``,!0),V(zB,{value:l.value,label:`Copy the live address`},null,8,[`value`])]),t[9]||=B(`p`,{class:`text-2xs leading-4 text-faint`},` What the listener is bound to right now; saved changes take effect after the panel rebinds. `,-1)])]),_:1}))}}),QH={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},$H={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},eU={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},tU={class:`text-2xs leading-4 text-faint`},nU=P({__name:`LogsSection`,props:za({logsDir:{},dirty:{type:Boolean}},{logs:{required:!0},logsModifiers:{}}),emits:za([`reset`],[`update:logs`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`logs`),a=qV(()=>i.value.maxBytes,e=>i.value.maxBytes=e,2e6),o=qV(()=>i.value.keep,e=>i.value.keep=e,3),s=W(()=>n.logsDir??`—`);return(e,t)=>{let c=fa(`RouterLink`);return L(),z(uR,{title:`Retention`,description:`The live view always comes from memory; these files survive a restart and feed the Logs page.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[4]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(ER,{modelValue:i.value.persist,"onUpdate:modelValue":t[1]||=e=>i.value.persist=e,label:`Keep logs on disk`,hint:`Turn off to hold everything in memory only.`,class:`sm:col-span-2`},null,8,[`modelValue`]),V(mR,{modelValue:M(a),"onUpdate:modelValue":t[2]||=e=>A(a)?a.value=e:null,label:`Rotate at (bytes)`,min:1e4,max:1e8,hint:`Per server, before rolling to .1, .2, …`},null,8,[`modelValue`]),V(mR,{modelValue:M(o),"onUpdate:modelValue":t[3]||=e=>A(o)?o.value=e:null,label:`Keep rotated files`,min:1,max:10},null,8,[`modelValue`]),B(`div`,QH,[t[8]||=B(`span`,{class:`text-xs font-medium text-muted`},`Logs directory`,-1),B(`div`,$H,[B(`span`,eU,k(s.value),1),V(zB,{value:s.value,label:`Copy the logs directory`},null,8,[`value`])]),B(`p`,tU,[t[6]||=H(` Browse and download these files on the `,-1),V(c,{to:`/logs`,class:`text-accent underline decoration-accent/40 underline-offset-2 hover:decoration-accent`},{default:N(()=>[...t[5]||=[H(` Logs `,-1)]]),_:1}),t[7]||=H(` page. `,-1)])])]),_:1})}}}),rU={class:`flex items-center gap-2 border-t border-line-soft pt-3 sm:col-span-2`},iU={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},aU={key:0,class:`sm:col-span-2`},oU={class:`flex flex-wrap gap-1.5`},sU={key:1,class:`sm:col-span-2`},cU={class:`text-2xs leading-4 text-faint`},lU={key:2,class:`space-y-2 sm:col-span-2`},uU=P({__name:`NotificationsSection`,props:za({status:{},dirty:{type:Boolean}},{telegram:{required:!0},telegramModifiers:{}}),emits:za([`reset`],[`update:telegram`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`telegram`),a=wM(),o=qV(()=>i.value.cooldownMs,e=>i.value.cooldownMs=e,12e4),s=j(``),c=j(null),l=j(null),u=j([]),d=j(!1),f=W(()=>n.status?.tokenSet===!0),p=W(()=>n.status?.lastResult??null),m=W(()=>n.status?.lastResultAt??null),h=W(()=>f.value?`Saved — type a new token to replace it`:`123456789:AA…`);async function g(){d.value=!0,l.value=null,c.value=null;try{let e=await Cj(s.value.trim());s.value=``,c.value=`Token saved${e.username?` for @${e.username}`:``}.`,await a.refresh()}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{d.value=!1}}async function _(){d.value=!0,l.value=null,c.value=null;try{await wj(),c.value=`Token removed.`,await a.refresh()}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{d.value=!1}}async function v(){d.value=!0,l.value=null,c.value=null;try{let e=s.value.trim(),t=await Ej(e.length>0?{botToken:e}:{});u.value=t.chats,t.chats.length===0&&(l.value=`No chats found. Send /start to the bot first, then detect again.`)}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{d.value=!1}}async function y(){d.value=!0,l.value=null,c.value=null;try{let e=s.value.trim(),t=await Tj({chatId:i.value.chatId.length>0?i.value.chatId:void 0,...e.length>0?{botToken:e}:{}});t.ok?c.value=`Test message sent.`:l.value=t.error??`The test message failed.`,await a.refresh()}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{d.value=!1}}return(e,t)=>(L(),z(uR,{title:`Telegram`,description:`Policy lives in the config; the bot token is a secret and never comes back from the server.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[10]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(ER,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:`Send notifications`,hint:`One message per event, throttled by the cooldown below.`,class:`sm:col-span-2`},null,8,[`modelValue`]),V(CR,{modelValue:i.value.chatId,"onUpdate:modelValue":t[2]||=e=>i.value.chatId=e,label:`Chat id`,placeholder:`123456789 or @channel`,hint:`Use Detect chats to fill this from the bot's updates.`},null,8,[`modelValue`]),V(mR,{modelValue:M(o),"onUpdate:modelValue":t[3]||=e=>A(o)?o.value=e:null,label:`Cooldown per event (ms)`,min:0,hint:`Per server and reason, so a flapping server cannot spam.`},null,8,[`modelValue`]),V(DB,{modelValue:i.value.onCrash,"onUpdate:modelValue":t[4]||=e=>i.value.onCrash=e,label:`Retries exhausted`},null,8,[`modelValue`]),V(DB,{modelValue:i.value.onUnhealthy,"onUpdate:modelValue":t[5]||=e=>i.value.onUnhealthy=e,label:`Port unhealthy`},null,8,[`modelValue`]),V(DB,{modelValue:i.value.onForcedRestart,"onUpdate:modelValue":t[6]||=e=>i.value.onForcedRestart=e,label:`Forced restart`},null,8,[`modelValue`]),V(DB,{modelValue:i.value.onRecovered,"onUpdate:modelValue":t[7]||=e=>i.value.onRecovered=e,label:`Recovered`},null,8,[`modelValue`]),V(DB,{modelValue:i.value.onHost,"onUpdate:modelValue":t[8]||=e=>i.value.onHost=e,label:`Host vitals breached`,hint:`Disk, memory, swap, load and CPU temperature, per the thresholds under Host vitals.`,wide:``},null,8,[`modelValue`]),B(`div`,rU,[t[11]||=B(`span`,{class:`text-xs font-medium text-muted`},`Bot token`,-1),V(NF,{tone:f.value?`ok`:`warn`,dot:``},{default:N(()=>[H(k(f.value?`token set`:`no token`),1)]),_:1},8,[`tone`]),t[12]||=B(`span`,{class:`text-2xs text-faint`},`From @BotFather — a secret, never in servers.config.json.`,-1)]),V(CR,{modelValue:s.value,"onUpdate:modelValue":t[9]||=e=>s.value=e,type:`password`,autocomplete:`off`,label:`Bot token`,placeholder:h.value,wide:``},null,8,[`modelValue`,`placeholder`]),B(`div`,iU,[V($,{variant:`primary`,disabled:d.value||s.value.trim().length===0,loading:d.value&&s.value.trim().length>0,onClick:g},{default:N(()=>[...t[13]||=[H(` Save token `,-1)]]),_:1},8,[`disabled`,`loading`]),V($,{variant:`secondary`,disabled:d.value,onClick:v},{default:N(()=>[...t[14]||=[H(` Detect chats `,-1)]]),_:1},8,[`disabled`]),V($,{variant:`secondary`,disabled:d.value,onClick:y},{default:N(()=>[...t[15]||=[H(` Send test `,-1)]]),_:1},8,[`disabled`]),f.value?(L(),z(vV,{key:0,label:`Remove token`,"confirm-label":`Confirm remove`,"confirm-variant":`danger`,disabled:d.value,onConfirm:_},null,8,[`disabled`])):U(``,!0)]),u.value.length>0?(L(),R(`div`,aU,[t[16]||=B(`p`,{class:`mb-1.5 text-xs text-muted`},` Chats the bot has seen: `,-1),B(`div`,oU,[(L(!0),R(I,null,va(u.value,e=>(L(),z($,{key:String(e.id),size:`xs`,variant:`secondary`,onClick:t=>i.value.chatId=String(e.id)},{default:N(()=>[H(k(e.title)+` (`+k(e.id)+`) `,1)]),_:2},1032,[`onClick`]))),128))])])):U(``,!0),p.value?(L(),R(`div`,sU,[B(`p`,cU,` Last send: `+k(p.value)+k(m.value?` · ${M(bI)(m.value,M(a).now.value)}`:``),1)])):U(``,!0),l.value||c.value?(L(),R(`div`,lU,[l.value?(L(),z(xV,{key:0,tone:`danger`},{default:N(()=>[H(k(l.value),1)]),_:1})):U(``,!0),c.value?(L(),z(xV,{key:1,tone:`ok`},{default:N(()=>[H(k(c.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1}))}}),dU={class:`divide-y divide-line-soft sm:col-span-2`},fU={class:`min-w-0`},pU={class:`text-xs font-medium text-ink`},mU={class:`mt-0.5 text-2xs leading-4 text-faint`},hU={class:`flex min-w-0 flex-1 items-center justify-end gap-1.5`},gU={class:`min-w-0 truncate font-mono text-xs text-ink`},_U=P({__name:`PathsSection`,props:{configPath:{},dataRoot:{},logsDir:{},projectDir:{},panelUrl:{}},setup(e){let t=e,n=W(()=>[{key:`data`,label:`Data root`,hint:`HHOSTED_HOME — config, secrets, TLS, logs and backups.`,value:t.dataRoot??`—`},{key:`config`,label:`Config file`,hint:`servers.config.json — every policy on this page.`,value:t.configPath??`—`},{key:`logs`,label:`Logs directory`,hint:`Persisted output for every server.`,value:t.logsDir??`—`},{key:`project`,label:`Project directory`,hint:`Base for relative entry paths.`,value:t.projectDir??`—`},{key:`panel`,label:`Panel address`,hint:`Where this control panel is live right now.`,value:t.panelUrl??`—`}]);return(e,t)=>(L(),z(uR,{title:`Where things live`,description:`Read-only. Copy a path straight into a shell or an editor.`},{default:N(()=>[B(`ul`,dU,[(L(!0),R(I,null,va(n.value,e=>(L(),R(`li`,{key:e.key,class:`flex items-start justify-between gap-3 py-2 first:pt-0 last:pb-0`},[B(`div`,fU,[B(`p`,pU,k(e.label),1),B(`p`,mU,k(e.hint),1)]),B(`div`,hU,[B(`span`,gU,k(e.value),1),V(zB,{value:e.value,label:`Copy ${e.label.toLowerCase()}`},null,8,[`value`,`label`])])]))),128))])]),_:1}))}}),vU={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},yU={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},bU={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},xU={key:0,class:`sm:col-span-2`},SU={key:1,class:`space-y-3 sm:col-span-2`},CU={class:`divide-y divide-line-soft text-xs`},wU={class:`flex items-start justify-between gap-4 py-1.5`},TU={class:`min-w-0 text-right font-mono text-xs text-ink`},EU={class:`flex items-start justify-between gap-4 py-1.5`},DU={class:`min-w-0 text-right font-mono text-xs text-ink`},OU={class:`flex items-start justify-between gap-4 py-1.5`},kU={class:`font-mono text-xs tabular-nums text-ink`},AU={class:`flex items-center justify-between gap-4 py-1.5`},jU={class:`flex items-start justify-between gap-4 py-1.5`},MU={class:`flex min-w-0 items-center gap-1.5`},NU={class:`min-w-0 truncate font-mono text-2xs text-ink`},PU={key:2,class:`sm:col-span-2`},FU={class:`flex min-w-0 flex-col gap-1`},IU={class:`flex min-w-0 flex-col gap-1`},LU={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},RU={key:3,class:`space-y-2 sm:col-span-2`},zU=P({__name:`TlsSection`,props:za({view:{},dirty:{type:Boolean}},{tlsEnabled:{type:Boolean,required:!0},tlsEnabledModifiers:{}}),emits:za([`reset`],[`update:tlsEnabled`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`tlsEnabled`),a=wM(),o=j(``),s=j(``),c=j(null),l=j(null),u=j(!1),d=W(()=>n.view?.tls??null),f=W(()=>n.view?`${n.view.protocol}://${n.view.bindHost}:${n.view.port}`:`—`),p=W(()=>o.value.trim().length>0&&s.value.trim().length>0&&!u.value),m=Q(hF,`cursor-pointer text-xs`,`file:mr-2 file:cursor-pointer file:rounded-control file:border-0 file:bg-panel-2 file:px-2 file:py-1 file:text-xs file:text-ink`);async function h(e,t){let n=e.target.files?.[0];if(!n)return;let r=await n.text();t===`cert`?o.value=r:s.value=r}async function g(){u.value=!0,l.value=null,c.value=null;try{let e=await kj(o.value,s.value);o.value=``,s.value=``,c.value=`Certificate stored.`,await a.refresh();let t=await JV(e);t!==null&&(l.value=t)}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{u.value=!1}}async function _(){u.value=!0,l.value=null,c.value=null;try{let e=await Aj();c.value=`Certificate removed.`,await a.refresh();let t=await JV(e);t!==null&&(l.value=t)}catch(e){l.value=e instanceof Error?e.message:String(e)}finally{u.value=!1}}return(e,t)=>(L(),R(I,null,[V(uR,{title:`HTTPS`,description:`Upload a PEM pair and the panel serves TLS on its own listener. A self-signed certificate is fine on a home network.`},{actions:N(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:N(()=>[...t[6]||=[H(` Reset `,-1)]]),_:1},8,[`disabled`])]),default:N(()=>[V(ER,{modelValue:i.value,"onUpdate:modelValue":t[1]||=e=>i.value=e,label:`Serve the panel over HTTPS`,hint:`Saved with Save settings; the panel rebinds and this page follows it.`,class:`sm:col-span-2`},null,8,[`modelValue`]),B(`div`,vU,[t[7]||=B(`span`,{class:`text-xs font-medium text-muted`},`Live address`,-1),B(`div`,yU,[B(`span`,bU,k(f.value),1),V(zB,{value:f.value,label:`Copy the live address`},null,8,[`value`])])])]),_:1}),V(uR,{class:`mt-3`,title:`Certificate`,description:`PEM-encoded certificate and its private key. Both stay in the secrets file.`},{default:N(()=>[d.value?.error?(L(),R(`div`,xU,[V(xV,{tone:`danger`,title:`The stored certificate cannot be used`},{default:N(()=>[H(k(d.value.error),1)]),_:1})])):d.value?.certPresent?(L(),R(`div`,SU,[B(`dl`,CU,[B(`div`,wU,[t[8]||=B(`dt`,{class:`text-muted`},` Subject `,-1),B(`dd`,TU,k(d.value.subject??`—`),1)]),B(`div`,EU,[t[9]||=B(`dt`,{class:`text-muted`},` Issuer `,-1),B(`dd`,DU,k(d.value.issuer??`—`),1)]),B(`div`,OU,[t[10]||=B(`dt`,{class:`text-muted`},` Valid until `,-1),B(`dd`,kU,[H(k(d.value.validTo?d.value.validTo.slice(0,10):`—`)+` `,1),d.value.daysRemaining===null?U(``,!0):(L(),R(`span`,{key:0,class:O(M(Q)(`ml-1.5`,d.value.daysRemaining<14?`text-warn`:`text-faint`))},` (`+k(d.value.daysRemaining)+` days) `,3))])]),B(`div`,AU,[t[11]||=B(`dt`,{class:`text-muted`},` Private key `,-1),B(`dd`,null,[V(NF,{tone:d.value.keyMatches?`ok`:`danger`,dot:``},{default:N(()=>[H(k(d.value.keyMatches?`matches the certificate`:`does not match`),1)]),_:1},8,[`tone`])])]),B(`div`,jU,[t[12]||=B(`dt`,{class:`text-muted`},` Fingerprint `,-1),B(`dd`,MU,[B(`span`,NU,k(d.value.fingerprint??`—`),1),d.value.fingerprint?(L(),z(zB,{key:0,value:d.value.fingerprint,label:`Copy the fingerprint`},null,8,[`value`])):U(``,!0)])])])])):(L(),R(`div`,PU,[V(xV,{tone:`info`,title:`No certificate uploaded`},{default:N(()=>[...t[13]||=[H(` Upload a PEM certificate and key below, then save. HTTPS is not served until a certificate is present. `,-1)]]),_:1})])),B(`div`,FU,[B(`label`,{class:O(M(pF)),for:`tls-cert-file`},`Certificate file (.pem, .crt)`,2),B(`input`,{id:`tls-cert-file`,type:`file`,accept:`.pem,.crt,.cer,text/plain`,class:O(M(m)),onChange:t[2]||=e=>h(e,`cert`)},null,34)]),B(`div`,IU,[B(`label`,{class:O(M(pF)),for:`tls-key-file`},`Private key file (.pem, .key)`,2),B(`input`,{id:`tls-key-file`,type:`file`,accept:`.pem,.key,text/plain`,class:O(M(m)),onChange:t[3]||=e=>h(e,`key`)},null,34)]),V(vR,{modelValue:o.value,"onUpdate:modelValue":t[4]||=e=>o.value=e,label:`Or paste the certificate`,rows:4,placeholder:`-----BEGIN CERTIFICATE-----`},null,8,[`modelValue`]),V(vR,{modelValue:s.value,"onUpdate:modelValue":t[5]||=e=>s.value=e,label:`Or paste the private key`,rows:4,placeholder:`-----BEGIN PRIVATE KEY-----`},null,8,[`modelValue`]),B(`div`,LU,[V($,{variant:`primary`,disabled:!p.value,loading:u.value,onClick:g},{default:N(()=>[...t[14]||=[H(` Save certificate `,-1)]]),_:1},8,[`disabled`,`loading`]),d.value?.certPresent?(L(),z(vV,{key:0,label:`Remove certificate`,"confirm-label":`Confirm remove`,"confirm-variant":`danger`,disabled:u.value,onConfirm:_},null,8,[`disabled`])):U(``,!0)]),l.value||c.value?(L(),R(`div`,RU,[l.value?(L(),z(xV,{key:0,tone:`danger`},{default:N(()=>[H(k(l.value),1)]),_:1})):U(``,!0),c.value?(L(),z(xV,{key:1,tone:`ok`},{default:N(()=>[H(k(c.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1})],64))}}),BU={class:`min-h-full`},VU={class:`mx-auto w-full max-w-5xl px-4 pb-6 pt-5 sm:px-6`},HU={class:`lg:grid lg:grid-cols-[11rem_minmax(0,1fr)] lg:gap-8`},UU={"aria-label":`Settings sections`,class:`hidden lg:block`},WU={class:`sticky top-6 space-y-0.5 border-l border-line`},GU=[`aria-current`,`onClick`],KU={class:`space-y-6`},qU={id:`listener`,class:`scroll-mt-5`},JU={id:`authentication`,class:`scroll-mt-5`},YU={id:`password`,class:`scroll-mt-5`},XU={id:`defaults`,class:`scroll-mt-5`},ZU={id:`logs`,class:`scroll-mt-5`},QU={id:`notifications`,class:`scroll-mt-5`},$U={id:`host`,class:`scroll-mt-5`},eW={id:`backups`,class:`scroll-mt-5`},tW={id:`tls`,class:`scroll-mt-5`},nW={id:`interface`,class:`scroll-mt-5`},rW={id:`paths`,class:`scroll-mt-5`},iW={class:`sticky bottom-0 z-30 border-t border-line bg-panel/95 backdrop-blur`},aW={class:`mx-auto flex w-full max-w-5xl flex-wrap items-center gap-x-4 gap-y-2 px-4 py-3 sm:px-6`},oW={class:`min-w-0 flex-1`},sW={class:`text-xs text-muted`},cW={class:`font-mono tabular-nums text-ink`},lW={key:0,class:`mt-0.5 text-xs text-danger`},uW={key:1,class:`mt-0.5 text-xs text-ok`},dW={class:`flex shrink-0 items-center gap-2`},fW={class:`max-h-[60dvh] overflow-auto px-4 py-3`},pW={key:0,class:`divide-y divide-line-soft`},mW={class:`font-mono text-xs text-ink`},hW={class:`ml-auto font-mono text-xs text-muted line-through`},gW={class:`font-mono text-xs text-accent`},_W={key:1,class:`text-xs text-muted`},vW={class:`flex items-center justify-end gap-2 border-t border-line px-4 py-3`},yW=P({__name:`SettingsView`,setup(e){let t=[{id:`listener`,title:`Listener`},{id:`authentication`,title:`Authentication`},{id:`defaults`,title:`Server defaults`},{id:`logs`,title:`Logs`},{id:`notifications`,title:`Notifications`},{id:`host`,title:`Host vitals`},{id:`backups`,title:`Backups`},{id:`tls`,title:`TLS`},{id:`interface`,title:`Interface`},{id:`paths`,title:`Paths`}],n=zg(),r=Rg(),i=wM(),a=Kj(),o=en(DV()),s=j(`listener`),c=j(!1),l=j(null),u=j(null),d=j(null),f=j(null),p=W(()=>i.control.value),m=W(()=>i.defaults.value),h=W(()=>i.logsConfig.value),g=W(()=>i.notifications.value?.telegram??null),_=W(()=>i.host.value?.alerts??[]),v=W(()=>f.value?.host??null),y=W(()=>f.value?.backups??null),b=W(()=>f.value?.ui??null),x=W(()=>i.backups.value),S=W(()=>i.appState.value?.configPath??null),C=W(()=>{let e={},t=p.value,n=m.value,r=h.value,i=g.value;if(t!==null){let n=IV(t,o);Object.keys(n).length>0&&(e.control=n)}if(n!==null){let t=LV(n,o.defaults);Object.keys(t).length>0&&(e.defaults=t)}if(r!==null){let t=RV(r,o.logs);Object.keys(t).length>0&&(e.logs=t)}if(i!==null){let t=zV(i,o.telegram);Object.keys(t).length>0&&(e.notifications=t)}let a=v.value;if(a!==null){let t=PV(a,o.host);Object.keys(t).length>0&&(e.host=t)}let s=y.value;if(s!==null){let t=FV(s,o.backups);Object.keys(t).length>0&&(e.backups=t)}return e}),w=W(()=>UV(C.value)),T=W(()=>{let e=p.value,t=g.value,n=v.value,r=y.value;return{control:e===null?{}:{...kV(e),auth:OV(e.auth)},defaults:m.value??{},logs:h.value??{},notifications:t===null?{}:{telegram:AV(t)},host:n??{},backups:r===null?{}:{enabled:r.enabled,keep:r.keep,includePaths:r.includePaths}}}),ee=W(()=>HV(C.value,T.value)),E=j(!1);function te(e){return e===void 0?`unset`:typeof e==`string`?e:JSON.stringify(e)}let ne=W(()=>p.value!==null&&WV(p.value,o)),re=W(()=>p.value!==null&&GV(p.value,o)),ie=W(()=>p.value!==null&&KV(p.value,o)),ae=W(()=>m.value!==null&&Object.keys(LV(m.value,o.defaults)).length>0),oe=W(()=>h.value!==null&&Object.keys(RV(h.value,o.logs)).length>0),se=W(()=>g.value!==null&&Object.keys(zV(g.value,o.telegram)).length>0),ce=W(()=>v.value!==null&&Object.keys(PV(v.value,o.host)).length>0),D=W(()=>y.value!==null&&Object.keys(FV(y.value,o.backups)).length>0),le=j(!1);function ue(){let e=p.value;e!==null&&(Object.assign(o.control,kV(e)),Object.assign(o.auth,OV(e.auth)));let t=h.value;t!==null&&Object.assign(o.logs,t);let n=g.value;n!==null&&Object.assign(o.telegram,AV(n));let r=v.value;r!==null&&Object.assign(o.host,MV(r));let i=y.value;i!==null&&Object.assign(o.backups,NV(i));let a=m.value;a!==null&&(o.defaults.enabled=a.enabled,o.defaults.autostart=a.autostart,o.defaults.bind=a.bind,o.defaults.onPortConflict=a.onPortConflict,o.defaults.logBufferLines=a.logBufferLines,o.defaults.restart={...a.restart},o.defaults.health=EV(a.health),o.defaults.stop={...a.stop}),le.value=!0}Ar([p,m,h,g,f],()=>{BV({hydrated:le.value,liveAvailable:p.value!==null,changedCount:w.value})&&ue()},{immediate:!0});async function de(){d.value=null;try{f.value=await dj()}catch(e){d.value=e instanceof Error?e.message:String(e)}}ta(()=>{de()});async function fe(){let e=C.value;if(!(Object.keys(e).length===0||c.value)){c.value=!0,l.value=null,u.value=null;try{let t=await i.saveSettings(e);if(!t){l.value=i.lastError.value??`The settings could not be saved.`;return}u.value=`Settings saved.`,a.success(`Settings saved`),await de();let n=await JV(t);n===null?t.rebinding&&(u.value=`Settings saved — the panel is moving to a new address.`):(u.value=null,l.value=n)}finally{c.value=!1}}}function pe(){l.value=null,u.value=null,ue()}function me(){v.value!==null&&Object.assign(o.host,MV(v.value))}function he(){y.value!==null&&Object.assign(o.backups,NV(y.value))}function ge(){if(p.value!==null){let e=kV(p.value);o.control.label=e.label,o.control.port=e.port,o.control.host=e.host,o.control.openBrowser=e.openBrowser}}function _e(){p.value!==null&&Object.assign(o.auth,OV(p.value.auth))}function ve(){let e=m.value;e!==null&&(o.defaults.enabled=e.enabled,o.defaults.autostart=e.autostart,o.defaults.bind=e.bind,o.defaults.onPortConflict=e.onPortConflict,o.defaults.logBufferLines=e.logBufferLines,o.defaults.restart={...e.restart},o.defaults.health=EV(e.health),o.defaults.stop={...e.stop})}function ye(){h.value!==null&&Object.assign(o.logs,h.value)}function be(){g.value!==null&&Object.assign(o.telegram,AV(g.value))}function xe(){p.value!==null&&(o.control.tlsEnabled=p.value.tls.enabled)}function Se(e){nr(()=>{document.getElementById(e)?.scrollIntoView({behavior:`smooth`,block:`start`})})}function Ce(e){s.value=e,n.query.section!==e&&r.replace({query:{...n.query,section:e}}),Se(e)}Ar(()=>n.query.section,e=>{let n=typeof e==`string`?e:``;t.some(e=>e.id===n)&&(s.value=n,Se(n))},{immediate:!0});let we=null;return ta(()=>{we=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];t!==void 0&&t.target.id.length>0&&(s.value=t.target.id)},{rootMargin:`-72px 0px -62% 0px`,threshold:0});for(let e of t){let t=document.getElementById(e.id);t&&we.observe(t)}}),ia(()=>we?.disconnect()),(e,n)=>{let r=fa(`PasswordSection`);return L(),R(I,null,[B(`div`,BU,[B(`div`,VU,[n[24]||=B(`header`,{class:`mb-5`},[B(`h1`,{class:`text-xl font-semibold tracking-tight text-ink`},` Settings `),B(`p`,{class:`mt-1 text-xs text-muted`},` Listener, access, defaults, retention, alerts, backups and paths for this panel. `)],-1),M(i).configError.value?(L(),z(xV,{key:0,tone:`danger`,title:`The config file could not be read`,class:`mb-4`},{default:N(()=>[H(k(M(i).configError.value),1)]),_:1})):d.value?(L(),z(xV,{key:1,tone:`warn`,title:`Some file-only values could not be loaded`,class:`mb-4`},{default:N(()=>[H(k(d.value),1)]),_:1})):U(``,!0),B(`div`,HU,[B(`nav`,UU,[B(`ul`,WU,[(L(),R(I,null,va(t,e=>B(`li`,{key:e.id},[B(`button`,{type:`button`,"aria-current":s.value===e.id?`true`:void 0,class:O(M(Q)(`-ml-px block w-full border-l-2 py-1.5 pl-3 text-left text-xs transition-colors duration-150`,s.value===e.id?`border-accent font-medium text-accent`:`border-transparent text-muted hover:border-line hover:text-ink`)),onClick:t=>Ce(e.id)},k(e.title),11,GU)])),64))])]),B(`div`,KU,[B(`section`,qU,[n[13]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Listener `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Where the control panel listens and how it announces itself. `)],-1),V(ZH,{control:o.control,"onUpdate:control":n[0]||=e=>o.control=e,view:p.value,dirty:ne.value,onReset:ge},null,8,[`control`,`view`,`dirty`])]),B(`section`,JU,[n[14]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Authentication `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Who may sign in, and how a session is trusted. `)],-1),V(ZV,{auth:o.auth,"onUpdate:auth":n[1]||=e=>o.auth=e,view:p.value,dirty:ie.value,onReset:_e},null,8,[`auth`,`view`,`dirty`])]),B(`section`,YU,[n[15]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Password `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` The one credential that guards this panel. `)],-1),V(r,{view:p.value},null,8,[`view`])]),B(`section`,XU,[n[16]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Server defaults `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Applied to every entry that does not set its own value. `)],-1),V(PH,{defaults:o.defaults,"onUpdate:defaults":n[2]||=e=>o.defaults=e,dirty:ae.value,onReset:ve},null,8,[`defaults`,`dirty`])]),B(`section`,ZU,[n[17]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Logs `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` How much output is kept on disk and for how long. `)],-1),V(nU,{logs:o.logs,"onUpdate:logs":n[3]||=e=>o.logs=e,"logs-dir":M(i).appState.value?.logsDir??null,dirty:oe.value,onReset:ye},null,8,[`logs`,`logs-dir`,`dirty`])]),B(`section`,QU,[n[18]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Notifications `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Crash and health alerts sent to a Telegram chat. `)],-1),V(uU,{telegram:o.telegram,"onUpdate:telegram":n[4]||=e=>o.telegram=e,status:g.value,dirty:se.value,onReset:be},null,8,[`telegram`,`status`,`dirty`])]),B(`section`,$U,[n[19]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Host vitals `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Alert thresholds for this machine's own resources. `)],-1),V(LH,{host:o.host,"onUpdate:host":n[5]||=e=>o.host=e,config:v.value,alerts:_.value,dirty:ce.value,onReset:me},null,8,[`host`,`config`,`alerts`,`dirty`])]),B(`section`,eW,[n[20]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Backups `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Archives of config, secrets and declared data paths. `)],-1),V(MH,{form:o.backups,"onUpdate:form":n[6]||=e=>o.backups=e,state:x.value,policy:y.value,"config-path":S.value,dirty:D.value,onReset:he},null,8,[`form`,`state`,`policy`,`config-path`,`dirty`])]),B(`section`,tW,[n[21]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` TLS `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Serve the panel over HTTPS with your own certificate. `)],-1),V(zU,{"tls-enabled":o.control.tlsEnabled,"onUpdate:tlsEnabled":n[7]||=e=>o.control.tlsEnabled=e,view:p.value,dirty:re.value,onReset:xe},null,8,[`tls-enabled`,`view`,`dirty`])]),B(`section`,nW,[n[22]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Interface `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Serve your own panel UI instead of the stock one. `)],-1),V(GH,{label:o.control.label,"onUpdate:label":n[8]||=e=>o.control.label=e,ui:b.value,"label-dirty":ne.value,onChanged:de,onResetLabel:ge},null,8,[`label`,`ui`,`label-dirty`])]),B(`section`,rW,[n[23]||=B(`header`,{class:`mb-3`},[B(`h2`,{class:`text-lg font-semibold text-ink`},` Paths `),B(`p`,{class:`mt-0.5 text-xs text-muted`},` Where home-hosted keeps its files. `)],-1),V(_U,{"config-path":S.value,"data-root":M(i).appState.value?.dataRoot??null,"logs-dir":M(i).appState.value?.logsDir??null,"project-dir":M(i).appState.value?.projectDir??null,"panel-url":p.value?.url??null},null,8,[`config-path`,`data-root`,`logs-dir`,`project-dir`,`panel-url`])])])])]),B(`div`,iW,[B(`div`,aW,[B(`div`,oW,[B(`p`,sW,[w.value>0?(L(),R(`button`,{key:0,type:`button`,class:`rounded-control px-1 py-0.5 text-xs text-muted underline decoration-line underline-offset-2 hover:text-ink`,onClick:n[9]||=e=>E.value=!0},[B(`span`,cW,k(w.value),1),H(` field`+k(w.value===1?``:`s`)+` changed `,1)])):(L(),R(I,{key:1},[H(` No unsaved changes `)],64))]),l.value?(L(),R(`p`,lW,k(l.value),1)):u.value?(L(),R(`p`,uW,k(u.value),1)):U(``,!0)]),B(`div`,dW,[V($,{variant:`ghost`,disabled:w.value===0||c.value,onClick:pe},{default:N(()=>[...n[25]||=[H(` Discard changes `,-1)]]),_:1},8,[`disabled`]),V($,{variant:`primary`,disabled:w.value===0,loading:c.value,onClick:fe},{default:N(()=>[...n[26]||=[H(` Save settings `,-1)]]),_:1},8,[`disabled`,`loading`])])])])]),V(rL,{open:E.value,"onUpdate:open":n[12]||=e=>E.value=e,title:`Unsaved changes`,description:`What Save would write to servers.config.json.`,width:`w-[min(92vw,42rem)]`},{default:N(()=>[B(`div`,fW,[ee.value.length>0?(L(),R(`ul`,pW,[(L(!0),R(I,null,va(ee.value,e=>(L(),R(`li`,{key:e.path,class:`flex flex-wrap items-baseline gap-x-3 gap-y-1 py-2 first:pt-0`},[B(`code`,mW,k(e.path),1),B(`span`,hW,k(te(e.from)),1),n[27]||=B(`span`,{class:`text-2xs text-faint`},`→`,-1),B(`span`,gW,k(te(e.to)),1)]))),128))])):(L(),R(`p`,_W,` Nothing to save. `))]),B(`footer`,vW,[V($,{size:`sm`,variant:`ghost`,onClick:n[10]||=e=>E.value=!1},{default:N(()=>[...n[28]||=[H(` Close `,-1)]]),_:1}),V($,{size:`sm`,variant:`primary`,disabled:ee.value.length===0||c.value,loading:c.value,onClick:n[11]||=e=>{fe(),E.value=!1}},{default:N(()=>[H(` Save `+k(ee.value.length)+` change`+k(ee.value.length===1?``:`s`),1)]),_:1},8,[`disabled`,`loading`])])]),_:1},8,[`open`])],64)}}}),bW=Sv({history:W_(),routes:[{path:`/`,name:`overview`,component:yB,meta:{title:`Overview`}},{path:`/servers`,name:`servers`,component:_V,meta:{title:`Servers`}},{path:`/servers/:id`,name:`server-detail`,component:dV,meta:{title:`Server`}},{path:`/logs`,name:`logs`,component:ML,meta:{title:`Logs`}},{path:`/settings`,name:`settings`,component:yW,meta:{title:`Settings`}},{path:`/login`,name:`login`,component:nI,meta:{title:`Sign in`}},{path:`/:pathMatch(.*)*`,redirect:`/`}]});bW.beforeEach(async e=>{let{session:t,refresh:n}=Vj();t.value===null&&await n();let r=t.value?.authRequired===!0,i=t.value?.authenticated===!0;return r&&!i&&e.name!==`login`?{name:`login`,query:e.fullPath===`/`?void 0:{next:e.fullPath}}:e.name===`login`&&(!r||i)?{name:`overview`}:!0}),yu(jF).use(bW).mount(`#app`);
|