@vitex/nook 0.0.0-stage → 0.1.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.
@@ -0,0 +1,38 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();/**
2
+ * @vue/shared v3.5.44
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function ar(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const pe={},Jt=[],Ct=()=>{},Mo=()=>!1,as=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),us=e=>e.startsWith("onUpdate:"),Ue=Object.assign,ur=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},gl=Object.prototype.hasOwnProperty,ce=(e,t)=>gl.call(e,t),X=Array.isArray,Ut=e=>Dn(e)==="[object Map]",Xn=e=>Dn(e)==="[object Set]",Pr=e=>Dn(e)==="[object Date]",te=e=>typeof e=="function",xe=e=>typeof e=="string",St=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",$o=e=>(de(e)||te(e))&&te(e.then)&&te(e.catch),No=Object.prototype.toString,Dn=e=>No.call(e),ml=e=>Dn(e).slice(8,-1),Do=e=>Dn(e)==="[object Object]",fr=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bn=ar(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fs=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},vl=/-\w/g,ut=fs(e=>e.replace(vl,t=>t.slice(1).toUpperCase())),yl=/\B([A-Z])/g,Vt=fs(e=>e.replace(yl,"-$1").toLowerCase()),jo=fs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ts=fs(e=>e?`on${jo(e)}`:""),_t=(e,t)=>!Object.is(e,t),Yn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Lo=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},dr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Mr;const ds=()=>Mr||(Mr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function jn(e){if(X(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=xe(s)?xl(s):jn(s);if(r)for(const o in r)t[o]=r[o]}return t}else if(xe(e)||de(e))return e}const bl=/;(?![^(]*\))/g,_l=/:([^]+)/,wl=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function xl(e){const t={};return e.replace(wl,n=>n.startsWith("/*")?"":n).split(bl).forEach(n=>{if(n){const s=n.split(_l);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function st(e){let t="";if(xe(e))t=e;else if(X(e))for(let n=0;n<e.length;n++){const s=st(e[n]);s&&(t+=s+" ")}else if(de(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Cl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",Sl=ar(Cl);function Uo(e){return!!e||e===""}function El(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let r=0;s&&r<e.length;r++)s=ps(e[r],t[r],n);return s}function $r(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),r=new Uint8Array(s.length);for(const o of e){let i=-1;for(let l=0;l<s.length;l++)if(!r[l]&&ps(o,s[l],n)){i=l;break}if(i<0)return!1;r[i]=1}return!0}function Al(e,t,n){let s=Ut(e),r=Ut(t);if(s||r||(s=Xn(e),r=Xn(t),s||r))return s&&r?$r(e,t,n):!1;const o=Object.keys(e).length,i=Object.keys(t).length;if(o!==i)return!1;for(const l in e){const c=e.hasOwnProperty(l),f=t.hasOwnProperty(l);if(c&&!f||!c&&f||!ps(e[l],t[l],n))return!1}return String(e)===String(t)}function Nr(e,t,n,s){n||(n=[new Map,new Map]);const[r,o]=n;if(r.has(e)||o.has(t))return r.get(e)===t&&o.get(t)===e;r.set(e,t),o.set(t,e);const i=s(e,t,n);return r.delete(e),o.delete(t),i}function ps(e,t,n){if(e===t)return!0;let s=Pr(e),r=Pr(t);return s||r?s&&r?e.getTime()===t.getTime():!1:(s=St(e),r=St(t),s||r?e===t:(s=X(e),r=X(t),s||r?s&&r?Nr(e,t,n,El):!1:(s=de(e),r=de(t),s||r?!s||!r?!1:Nr(e,t,n,Al):String(e)===String(t))))}const Bo=e=>!!(e&&e.__v_isRef===!0),ie=e=>xe(e)?e:e==null?"":X(e)||de(e)&&(e.toString===No||!te(e.toString))?Bo(e)?ie(e.value):JSON.stringify(e,Fo,2):String(e),Fo=(e,t)=>Bo(t)?Fo(e,t.value):Ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Rs(s,o)+" =>"]=r,n),{})}:Xn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Rs(n))}:St(t)?Rs(t):de(t)&&!X(t)&&!Do(t)?String(t):t,Rs=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
6
+ * @vue/reactivity v3.5.44
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let Le;class Tl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Le&&(Le.active?(this.parent=Le,this.index=(Le.scopes||(Le.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=Le;try{return Le=this,t()}finally{Le=n}}}on(){++this._on===1&&(this.prevScope=Le,Le=this)}off(){if(this._on>0&&--this._on===0){if(Le===this)Le=this.prevScope;else{let t=Le;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Rl(){return Le}let he;const ks=new WeakSet;class Vo{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Le&&(Le.active?Le.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,ks.has(this)&&(ks.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||qo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Dr(this),Ko(this);const t=he,n=ft;he=this,ft=!0;try{return this.fn()}finally{Go(this),he=t,ft=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)gr(t);this.deps=this.depsTail=void 0,Dr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?ks.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){qs(this)&&this.run()}get dirty(){return qs(this)}}let Ho=0,_n,wn;function qo(e,t=!1){if(e.flags|=8,t){e.next=wn,wn=e;return}e.next=_n,_n=e}function pr(){Ho++}function hr(){if(--Ho>0)return;if(wn){let t=wn;for(wn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;_n;){let t=_n;for(_n=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Ko(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Go(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),gr(s),kl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function qs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Wo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Wo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Tn)||(e.globalVersion=Tn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qs(e))))return;e.flags|=2;const t=e.dep,n=he,s=ft;he=e,ft=!0;try{Ko(e);const r=e.fn(e._value);(t.version===0||_t(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{he=n,ft=s,Go(e),e.flags&=-3}}function gr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)gr(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function kl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ft=!0;const Jo=[];function Et(){Jo.push(ft),ft=!1}function At(){const e=Jo.pop();ft=e===void 0?!0:e}function Dr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=he;he=void 0;try{t()}finally{he=n}}}let Tn=0;class Il{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class mr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!he||!ft||he===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==he)n=this.activeLink=new Il(he,this),he.deps?(n.prevDep=he.depsTail,he.depsTail.nextDep=n,he.depsTail=n):he.deps=he.depsTail=n,Yo(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=he.depsTail,n.nextDep=void 0,he.depsTail.nextDep=n,he.depsTail=n,he.deps===n&&(he.deps=s)}return n}trigger(t){this.version++,Tn++,this.notify(t)}notify(t){pr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{hr()}}}function Yo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Yo(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ks=new WeakMap,zt=Symbol(""),Gs=Symbol(""),Rn=Symbol("");function Ve(e,t,n){if(ft&&he){let s=Ks.get(e);s||Ks.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new mr),r.map=s,r.key=n),r.track()}}function Pt(e,t,n,s,r,o){const i=Ks.get(e);if(!i){Tn++;return}const l=c=>{c&&c.trigger()};if(pr(),t==="clear")i.forEach(l);else{const c=X(e),f=c&&fr(n);if(c&&n==="length"){const u=Number(s);i.forEach((d,h)=>{(h==="length"||h===Rn||!St(h)&&h>=u)&&l(d)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),f&&l(i.get(Rn)),t){case"add":c?f&&l(i.get("length")):(l(i.get(zt)),Ut(e)&&l(i.get(Gs)));break;case"delete":c||(l(i.get(zt)),Ut(e)&&l(i.get(Gs)));break;case"set":Ut(e)&&l(i.get(zt));break}}hr()}function Xt(e){const t=fe(e);return t===e||(Ve(t,"iterate",Rn),it(e))?t:Tt(e)?Bt(e)?t.map(n=>Ft(lt(n))):t.map(Ft):t.map(lt)}function hs(e){return Ve(e=fe(e),"iterate",Rn),e}function vt(e,t){return Tt(e)?Ft(Bt(e)?lt(t):t):lt(t)}const Ol={__proto__:null,[Symbol.iterator](){return Is(this,Symbol.iterator,e=>vt(this,e))},concat(...e){return Xt(this).concat(...e.map(t=>X(t)?Xt(t):t))},entries(){return Is(this,"entries",e=>(e[1]=vt(this,e[1]),e))},every(e,t){return Rt(this,"every",e,t,void 0,arguments)},filter(e,t){return Rt(this,"filter",e,t,n=>n.map(s=>vt(this,s)),arguments)},find(e,t){return Rt(this,"find",e,t,n=>vt(this,n),arguments)},findIndex(e,t){return Rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Rt(this,"findLast",e,t,n=>vt(this,n),arguments)},findLastIndex(e,t){return Rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Os(this,"includes",e)},indexOf(...e){return Os(this,"indexOf",e)},join(e){return Xt(this).join(e)},lastIndexOf(...e){return Os(this,"lastIndexOf",e)},map(e,t){return Rt(this,"map",e,t,void 0,arguments)},pop(){return pn(this,"pop")},push(...e){return pn(this,"push",e)},reduce(e,...t){return Lr(this,"reduce",e,t)},reduceRight(e,...t){return Lr(this,"reduceRight",e,t)},shift(){return pn(this,"shift")},some(e,t){return Rt(this,"some",e,t,void 0,arguments)},splice(...e){return pn(this,"splice",e)},toReversed(){return Xt(this).toReversed()},toSorted(e){return Xt(this).toSorted(e)},toSpliced(...e){return Xt(this).toSpliced(...e)},unshift(...e){return pn(this,"unshift",e)},values(){return Is(this,"values",e=>vt(this,e))}};function Is(e,t,n){const s=hs(e),r=s[t],o=r.call(s);if(s!==e&&!it(e)){if(o[Symbol.toStringTag]==="Array Iterator"){const i=Object.create(Object.getPrototypeOf(o));return i.next=()=>jr(o.next(),n),r!==zo[t]&&Object.defineProperties(i,{return:{get(){const l=o.return;return typeof l=="function"?l.bind(o):l}},throw:{get(){const l=o.throw;return typeof l=="function"?l.bind(o):l}}}),i}o._next=o.next,o.next=()=>jr(o._next(),n)}return o}function jr(e,t){return e.done||(e.value=t(e.value)),e}const zo=Array.prototype;function Rt(e,t,n,s,r,o){const i=hs(e),l=i!==e&&!it(e),c=i[t];if(c!==zo[t]){const d=c.apply(e,o);return l?lt(d):d}let f=n;i!==e&&(l?f=function(d,h){return n.call(this,vt(e,d),h,e)}:n.length>2&&(f=function(d,h){return n.call(this,d,h,e)}));const u=c.call(i,f,s);return l&&r?r(u):u}function Lr(e,t,n,s){const r=hs(e),o=r!==e&&!it(e);let i=n,l=!1;r!==e&&(o?(l=s.length===0,i=function(f,u,d){return l&&(l=!1,f=vt(e,f)),n.call(this,f,vt(e,u),d,e)}):n.length>3&&(i=function(f,u,d){return n.call(this,f,u,d,e)}));const c=r[t](i,...s);return l?vt(e,c):c}function Os(e,t,n){const s=fe(e);Ve(s,"iterate",Rn);const r=s[t](...n);return(r===-1||r===!1)&&br(n[0])?(n[0]=fe(n[0]),s[t](...n)):r}function pn(e,t,n=[]){Et(),pr();const s=fe(e)[t].apply(e,n);return hr(),At(),s}const Pl=ar("__proto__,__v_isRef,__isVue"),Qo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St));function Ml(e){St(e)||(e=String(e));const t=fe(this);return Ve(t,"has",e),t.hasOwnProperty(e)}class Xo{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Hl:ni:o?ti:ei).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=X(t);if(!r){let c;if(i&&(c=Ol[n]))return c;if(n==="hasOwnProperty")return Ml}const l=Reflect.get(t,n,He(t)?t:s);if((St(n)?Qo.has(n):Pl(n))||(r||Ve(t,"get",n),o))return l;if(He(l)){const c=i&&fr(n)?l:l.value;return r&&de(c)?Js(c):c}return de(l)?r?Js(l):wt(l):l}}class Zo extends Xo{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const i=X(t)&&fr(n);if(!this._isShallow){const f=Tt(o);if(!it(s)&&!Tt(s)&&(o=fe(o),s=fe(s)),!i&&He(o)&&!He(s))return f||(o.value=s),!0}const l=i?Number(n)<t.length:ce(t,n),c=Reflect.set(t,n,s,He(t)?t:r);return t===fe(r)&&c&&(l?_t(s,o)&&Pt(t,"set",n,s):Pt(t,"add",n,s)),c}deleteProperty(t,n){const s=ce(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&Pt(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!St(n)||!Qo.has(n))&&Ve(t,"has",n),s}ownKeys(t){return Ve(t,"iterate",X(t)?"length":zt),Reflect.ownKeys(t)}}class $l extends Xo{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Nl=new Zo,Dl=new $l,jl=new Zo(!0);const Ws=e=>e,Vn=e=>Reflect.getPrototypeOf(e);function Ll(e,t,n){return function(...s){const r=this.__v_raw,o=fe(r),i=Ut(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),u=n?Ws:t?Ft:lt;return!t&&Ve(o,"iterate",c?Gs:zt),Ue(Object.create(f),{next(){const{value:d,done:h}=f.next();return h?{value:d,done:h}:{value:l?[u(d[0]),u(d[1])]:u(d),done:h}}})}}function Hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ul(e,t){const n={get(r){const o=this.__v_raw,i=fe(o),l=fe(r);e||(_t(r,l)&&Ve(i,"get",r),Ve(i,"get",l));const{has:c}=Vn(i),f=t?Ws:e?Ft:lt;if(c.call(i,r))return f(o.get(r));if(c.call(i,l))return f(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&Ve(fe(r),"iterate",zt),r.size},has(r){const o=this.__v_raw,i=fe(o),l=fe(r);return e||(_t(r,l)&&Ve(i,"has",r),Ve(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,c=fe(l),f=t?Ws:e?Ft:lt;return!e&&Ve(c,"iterate",zt),l.forEach((u,d)=>r.call(o,f(u),f(d),i))}};return Ue(n,e?{add:Hn("add"),set:Hn("set"),delete:Hn("delete"),clear:Hn("clear")}:{add(r){const o=fe(this),i=Vn(o),l=fe(r),c=!t&&!it(r)&&!Tt(r)?l:r;return i.has.call(o,c)||_t(r,c)&&i.has.call(o,r)||_t(l,c)&&i.has.call(o,l)||(o.add(c),Pt(o,"add",c,c)),this},set(r,o){!t&&!it(o)&&!Tt(o)&&(o=fe(o));const i=fe(this),{has:l,get:c}=Vn(i);let f=l.call(i,r);f||(r=fe(r),f=l.call(i,r));const u=c.call(i,r);return i.set(r,o),f?_t(o,u)&&Pt(i,"set",r,o):Pt(i,"add",r,o),this},delete(r){const o=fe(this),{has:i,get:l}=Vn(o);let c=i.call(o,r);c||(r=fe(r),c=i.call(o,r)),l&&l.call(o,r);const f=o.delete(r);return c&&Pt(o,"delete",r,void 0),f},clear(){const r=fe(this),o=r.size!==0,i=r.clear();return o&&Pt(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ll(r,e,t)}),n}function vr(e,t){const n=Ul(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_isShallow"?t:r==="__v_raw"?s:Reflect.get(ce(n,r)&&r in s?n:s,r,o)}const Bl={get:vr(!1,!1)},Fl={get:vr(!1,!0)},Vl={get:vr(!0,!1)};const ei=new WeakMap,ti=new WeakMap,ni=new WeakMap,Hl=new WeakMap;function ql(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wt(e){return Tt(e)?e:yr(e,!1,Nl,Bl,ei)}function si(e){return yr(e,!1,jl,Fl,ti)}function Js(e){return yr(e,!0,Dl,Vl,ni)}function yr(e,t,n,s,r){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=r.get(e);if(o)return o;const i=ql(ml(e));if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function Bt(e){return Tt(e)?Bt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function it(e){return!!(e&&e.__v_isShallow)}function br(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Kl(e){return!ce(e,"__v_skip")&&Object.isExtensible(e)&&Lo(e,"__v_skip",!0),e}const lt=e=>de(e)?wt(e):e,Ft=e=>de(e)?Js(e):e;function He(e){return e?e.__v_isRef===!0:!1}function Q(e){return ri(e,!1)}function Gl(e){return ri(e,!0)}function ri(e,t){return He(e)?e:new Wl(e,t)}class Wl{constructor(t,n){this.dep=new mr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:fe(t),this._value=n?t:lt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||it(t)||Tt(t);t=s?t:fe(t),_t(t,n)&&(this._rawValue=t,this._value=s?t:lt(t),this.dep.trigger())}}function De(e){return He(e)?e.value:e}const Jl={get:(e,t,n)=>t==="__v_raw"?e:De(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return He(r)&&!He(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function oi(e){return Bt(e)?e:new Proxy(e,Jl)}class Yl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new mr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Tn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&he!==this)return qo(this,!0),!0}get value(){const t=this.dep.track();return Wo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function zl(e,t,n=!1){let s,r;return te(e)?s=e:(s=e.get,r=e.set),new Yl(s,r,n)}const qn={},Zn=new WeakMap;let Gt;function Ql(e,t=!1,n=Gt){if(n){let s=Zn.get(n);s||Zn.set(n,s=[]),s.push(e)}}function Xl(e,t,n=pe){const{immediate:s,deep:r,once:o,scheduler:i,augmentJob:l,call:c}=n,f=D=>r?D:it(D)||r===!1||r===0?Mt(D,1):Mt(D);let u,d,h,g,R=!1,A=!1;if(He(e)?(d=()=>e.value,R=it(e)):Bt(e)?(d=()=>f(e),R=!0):X(e)?(A=!0,R=e.some(D=>Bt(D)||it(D)),d=()=>e.map(D=>{if(He(D))return D.value;if(Bt(D))return f(D);if(te(D))return c?c(D,2):D()})):te(e)?t?d=c?()=>c(e,2):e:d=()=>{if(h){Et();try{h()}finally{At()}}const D=Gt;Gt=u;try{return c?c(e,3,[g]):e(g)}finally{Gt=D}}:d=Ct,t&&r){const D=d,V=r===!0?1/0:r;d=()=>Mt(D(),V)}const M=Rl(),$=()=>{u.stop(),M&&M.active&&ur(M.effects,u)};if(o&&t){const D=t;t=(...V)=>{try{return D(...V)}finally{$()}}}let x=A?new Array(e.length).fill(qn):qn;const I=D=>{if(!(!(u.flags&1)||!u.dirty&&!D))if(t){const V=u.run();if(D||r||R||(A?V.some((G,U)=>_t(G,x[U])):_t(V,x))){const G=Gt;Et();try{h&&h(),Gt=u;const U=[V,x===qn?void 0:A&&x[0]===qn?[]:x,g];x=V,c?c(t,3,U):t(...U)}finally{Gt=G,At()}}}else u.run()};return l&&l(I),u=new Vo(d),u.scheduler=i?()=>i(I,!1):I,g=D=>Ql(D,!1,u),h=u.onStop=()=>{const D=Zn.get(u);if(D){if(c)c(D,4);else for(const V of D)V();Zn.delete(u)}},t?s?I(!0):x=u.run():i?i(I.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function Mt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,He(e))Mt(e.value,t,n);else if(X(e))for(let s=0;s<e.length;s++)Mt(e[s],t,n);else if(Xn(e)||Ut(e))e.forEach(s=>{Mt(s,t,n)});else if(Do(e)){for(const s in e)Mt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Mt(e[s],t,n)}return e}/**
10
+ * @vue/runtime-core v3.5.44
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function Ln(e,t,n,s){try{return s?e(...s):e()}catch(r){gs(r,t,n)}}function pt(e,t,n,s){if(te(e)){const r=Ln(e,t,n,s);return r&&$o(r)&&r.catch(o=>{gs(o,t,n)}),r}if(X(e)){const r=[];for(let o=0;o<e.length;o++)r.push(pt(e[o],t,n,s));return r}}function gs(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||pe;if(t){let l=t.parent;const c=t.proxy,f=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let d=0;d<u.length;d++)if(u[d](e,c,f)===!1)return}l=l.parent}if(o){Et(),Ln(o,null,10,[e,c,f]),At();return}}Zl(e,n,r,s,i)}function Zl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const We=[];let at=-1;const yt=[];let jt=null,Zt=0;const ii=Promise.resolve();let es=null;function Ze(e){const t=es||ii;return e?t.then(this?e.bind(this):e):t}function ec(e){let t=at+1,n=We.length;for(;t<n;){const s=t+n>>>1,r=We[s],o=kn(r);o<e||o===e&&r.flags&2?t=s+1:n=s}return t}function _r(e){if(!(e.flags&1)){const t=kn(e),n=We[We.length-1];!n||!(e.flags&2)&&t>=kn(n)?We.push(e):We.splice(ec(t),0,e),e.flags|=1,li()}}function li(){es||(es=ii.then(ui))}function tc(e){if(!X(e))jt&&e.id===-1?jt.splice(Zt+1,0,e):e.flags&1||(yt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)yt.push(e[t]);li()}function ci(e,t,n,s=at+1){for(;s<We.length;s++){const r=We[s];if(r&&r.flags&2){if(e&&r.id!==e.uid||t!==void 0&&!(r.id>=t))continue;We.splice(s,1),s=e?s-1:at,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function ai(e,t,n=0){if(yt.length){let s=yt,r=0;if(t){s=[];for(let i=0;i<yt.length;i++){const l=yt[i];(l.i!==void 0?!l.i||l.i.uid<n:t.has(l))?yt[r++]=l:s.push(l)}}const o=[...new Set(s)].sort((i,l)=>kn(i)-kn(l));if(yt.length=r,jt){for(let i=0;i<o.length;i++)jt.push(o[i]);return}for(jt=o,Zt=0;Zt<jt.length;Zt++){const i=jt[Zt];i.flags&4&&(i.flags&=-2),i.flags&8||i(),i.flags&=-2}jt=null,Zt=0}}let Ps=!1;function nc(e,t){if(Ps){e();return}const n=t===void 0?void 0:new Set(yt);e(),Ps=!0;try{ci(void 0,t),ai(void 0,n,t)}finally{Ps=!1}}const kn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function ui(e){try{for(at=0;at<We.length;at++){const t=We[at];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ln(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;at<We.length;at++){const t=We[at];t&&(t.flags&=-2)}at=-1,We.length=0,ai(),es=null,(We.length||yt.length)&&ui()}}let ot=null,fi=null;function ts(e){const t=ot;return ot=e,fi=e&&e.type.__scopeId||null,t}function sc(e,t=ot,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&os(-1);const o=ts(t),i=Qt.length;let l;try{l=e(...r)}finally{for(let c=Qt.length;c>i;c--)Ni();ts(o),s._d&&os(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function wr(e,t){if(ot===null)return e;const n=ws(ot),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[o,i,l,c=pe]=t[r];o&&(te(o)&&(o={mounted:o,updated:o}),o.deep&&Mt(i),s.push({dir:o,instance:n,value:i,oldValue:void 0,arg:l,modifiers:c}))}return e}function qt(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];o&&(l.oldValue=o[i].value);let c=l.dir[s];c&&(Et(),pt(c,n,8,[e.el,l,e,t]),At())}}function zn(e,t){if(Je){let n=Je.provides;const s=Je.parent&&Je.parent.provides;s===n&&(n=Je.provides=Object.create(s)),n[e]=t}}function dt(e,t,n=!1){const s=ea();if(s||rn){let r=rn?rn._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&te(t)?t.call(s&&s.proxy):t}}const rc=Symbol.for("v-scx"),oc=()=>dt(rc);function sn(e,t,n){return di(e,t,n)}function di(e,t,n=pe){const{immediate:s,deep:r,flush:o,once:i}=n,l=Ue({},n),c=t&&s||!t&&o!=="post";let f;if(Mn){if(o==="sync"){const g=oc();f=g.__watcherHandles||(g.__watcherHandles=[])}else if(!c){const g=()=>{};return g.stop=Ct,g.resume=Ct,g.pause=Ct,g}}const u=Je;l.call=(g,R,A)=>pt(g,u,R,A);let d=!1;o==="post"?l.scheduler=g=>{g.i=u,Ke(g,u&&u.suspense)}:o!=="sync"&&(d=!0,l.scheduler=(g,R)=>{R?g():_r(g)}),l.augmentJob=g=>{t&&(g.flags|=4),d&&(g.flags|=2,u&&(g.id=u.uid,g.i=u))};const h=Xl(e,t,l);return Mn&&(f?f.push(h):c&&h()),h}function ic(e,t,n){const s=this.proxy,r=xe(e)?e.includes(".")?pi(s,e):()=>s[e]:e.bind(s,s);let o;te(t)?o=t:(o=t.handler,n=t);const i=Bn(this),l=di(r,o.bind(s),n);return i(),l}function pi(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const Dt=new WeakMap,hi=Symbol("_vte"),ms=e=>e.__isTeleport,Wt=e=>e&&(e.disabled||e.disabled===""),lc=e=>e&&(e.defer||e.defer===""),Ur=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Br=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ys=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},cc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,f){const{mc:u,pc:d,pbc:h,o:{insert:g,querySelector:R,createText:A,createComment:M,parentNode:$}}=f,x=Wt(t.props);let{dynamicChildren:I}=t;const D=(U,q,W)=>{U.shapeFlag&16&&u(U.children,q,W,r,o,i,l,c)},V=(U=t)=>{const q=Wt(U.props),W=U.target=Ys(U.props,R),ee=zs(W,U,A,g);W&&(i!=="svg"&&Ur(W)?i="svg":i!=="mathml"&&Br(W)&&(i="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(W),q||(D(U,W,ee),mn(U,!1)))},G=U=>{const q=()=>{if(Dt.get(U)===q){if(Dt.delete(U),Wt(U.props)){const W=$(U.el)||n;D(U,W,U.anchor),mn(U,!0)}V(U)}};Dt.set(U,q),Ke(q,o)};if(e==null){const U=t.el=A(""),q=t.anchor=A("");if(g(U,n,s),g(q,n,s),lc(t.props)||o&&o.pendingBranch){G(t);return}x&&(D(t,n,q),mn(t,!0)),V()}else{t.el=e.el;const U=t.anchor=e.anchor,q=Dt.get(e);if(q){q.flags|=8,Dt.delete(e),G(t);return}t.targetStart=e.targetStart;const W=t.target=e.target,ee=t.targetAnchor=e.targetAnchor,Ae=Wt(e.props),Ce=Ae?n:W,Te=Ae?U:ee;if(i==="svg"||Ur(W)?i="svg":(i==="mathml"||Br(W))&&(i="mathml"),I?(h(e.dynamicChildren,I,Ce,r,o,i,l),Ar(e,t,!0)):c||d(e,t,Ce,Te,r,o,i,l,!1),x)Ae?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Kn(t,n,U,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Ne=Ys(t.props,R);Ne&&(t.target=Ne,Kn(t,Ne,null,f,0))}else Ae&&Kn(t,W,ee,f,1);mn(t,x)}},remove(e,t,n,{um:s,o:{remove:r}},o){const{shapeFlag:i,children:l,anchor:c,targetStart:f,targetAnchor:u,target:d,props:h}=e,g=Wt(h),R=o||!g,A=Dt.get(e);if(A&&(A.flags|=8,Dt.delete(e)),d&&(r(f),r(u)),o&&r(c),!A&&(g||d)&&i&16)for(let M=0;M<l.length;M++){const $=l[M];s($,t,n,R,!!$.dynamicChildren)}},move:Kn,hydrate:ac};function Kn(e,t,n,{o:{insert:s},m:r},o=2){o===0&&(e.targetStart&&s(e.targetStart,t,n),s(e.targetAnchor,t,n),n=e.targetAnchor);const{el:i,anchor:l,shapeFlag:c,children:f,props:u}=e,d=o===2;if(d&&s(i,t,n),!Dt.has(e)&&(!d||Wt(u))&&c&16)for(let h=0;h<f.length;h++)r(f[h],t,n,2);d&&s(l,t,n)}function ac(e,t,n,s,r,o,{o:{nextSibling:i,parentNode:l,querySelector:c,insert:f,createText:u}},d){function h(M,$){let x=$;for(;x;){if(x&&x.nodeType===8){if(x.data==="teleport start anchor")t.targetStart=x;else if(x.data==="teleport anchor"){t.targetAnchor=x,M._lpa=t.targetAnchor&&i(t.targetAnchor);break}}x=i(x)}}function g(M,$){$.anchor=d(i(M),$,l(M),n,s,r,o)}const R=t.target=Ys(t.props,c),A=Wt(t.props);if(R){const M=R._lpa||R.firstChild;t.shapeFlag&16&&(A?(g(e,t),h(R,M),t.targetAnchor||zs(R,t,u,f,l(e)===R?e:null)):(t.anchor=i(e),h(R,M),t.targetAnchor||zs(R,t,u,f),d(M&&i(M),t,R,n,s,r,o))),mn(t,A)}else A&&t.shapeFlag&16&&(g(e,t),t.targetStart=e,t.targetAnchor=i(e));return t.anchor&&i(t.anchor)}const vs=cc;function mn(e,t){const n=e.ctx;if(n&&n.ut){let s,r;for(t?(s=e.el,r=e.anchor):(s=e.targetStart,r=e.targetAnchor);s&&s!==r;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function zs(e,t,n,s,r=null){const o=t.targetStart=n(""),i=t.targetAnchor=n("");return o[hi]=i,e&&(s(o,e,r),s(i,e,r)),i}const Ms=Symbol("_leaveCb");function uc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ht){t=n;break}}return t}function gi(e){if(!xr(e))return ms(e.type)&&e.children?uc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function ns(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;ns(ms(n.type)&&gi(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===_e&&X(e.children)){const n=Ci(e.children,!1);n&&ns(n,t)}}function Qs(e){if(e.component)return Qs(e.component.subTree);if(e.type===_e){const t=X(e.children)&&Ci(e.children,!1);return t?Qs(t):void 0}if(e.type!==ht)return e}function mi(e,t){return te(e)?Ue({name:e.name},t,{setup:e}):e}function vi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Fr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const ss=new WeakMap;function xn(e,t,n,s,r=!1){if(X(e)){e.forEach((A,M)=>xn(A,t&&(X(t)?t[M]:t),n,s,r));return}if(Cn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&xn(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?ws(s.component):s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,u=l.refs===pe?l.refs={}:l.refs,d=l.setupState,h=fe(d),g=d===pe?Mo:A=>Fr(u,A)?!1:ce(h,A),R=(A,M)=>!(M&&Fr(u,M));if(f!=null&&f!==c){if(Vr(t),xe(f))u[f]=null,g(f)&&(d[f]=null);else if(He(f)){const A=t;R(f,A.k)&&(f.value=null),A.k&&(u[A.k]=null)}}if(te(c))Ln(c,l,12,[i,u]);else{const A=xe(c),M=He(c);if(A||M){const $=()=>{if(e.f){const x=A?g(c)?d[c]:u[c]:R()||!e.k?c.value:u[e.k];if(r)X(x)&&ur(x,o);else if(X(x))x.includes(o)||x.push(o);else if(A)u[c]=[o],g(c)&&(d[c]=u[c]);else{const I=[o];R(c,e.k)&&(c.value=I),e.k&&(u[e.k]=I)}}else A?(u[c]=i,g(c)&&(d[c]=i)):M&&(R(c,e.k)&&(c.value=i),e.k&&(u[e.k]=i))};if(i){const x=()=>{$(),ss.delete(e)};x.id=-1,ss.set(e,x),Ke(x,n)}else Vr(e),$()}}}function Vr(e){const t=ss.get(e);t&&(t.flags|=8,ss.delete(e))}ds().requestIdleCallback;ds().cancelIdleCallback;const Cn=e=>!!e.type.__asyncLoader,xr=e=>e.type.__isKeepAlive;function fc(e,t){yi(e,"a",t)}function dc(e,t){yi(e,"da",t)}function yi(e,t,n=Je){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ys(t,s,n),n){let r=n.parent;for(;r&&r.parent;)xr(r.parent.vnode)&&pc(s,t,n,r),r=r.parent}}function pc(e,t,n,s){const r=ys(t,e,s,!0);Un(()=>{ur(s[t],r)},n)}function ys(e,t,n=Je,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Et();const l=Bn(n),c=pt(t,n,e,i);return l(),At(),c});return s?r.unshift(o):r.push(o),o}}const $t=e=>(t,n=Je)=>{(!Mn||e==="sp")&&ys(e,(...s)=>t(...s),n)},hc=$t("bm"),an=$t("m"),gc=$t("bu"),mc=$t("u"),Cr=$t("bum"),Un=$t("um"),vc=$t("sp"),yc=$t("rtg"),bc=$t("rtc");function _c(e,t=Je){ys("ec",e,t)}const wc=Symbol.for("v-ndc");function un(e,t,n,s){let r;const o=n,i=X(e);if(i||xe(e)){const l=i&&Bt(e);let c=!1,f=!1;l&&(c=!it(e),f=Tt(e),e=hs(e)),r=new Array(e.length);for(let u=0,d=e.length;u<d;u++)r[u]=t(c?f?Ft(lt(e[u])):lt(e[u]):e[u],u,void 0,o)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)r=[];else{r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,o)}else if(de(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;c<f;c++){const u=l[c];r[c]=t(e[u],u,c,o)}}else r=[];return r}const Xs=e=>e?Ui(e)?ws(e):Xs(e.parent):null,Sn=Ue(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=>Xs(e.parent),$root:e=>Xs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_i(e),$forceUpdate:e=>e.f||(e.f=()=>{_r(e.update)}),$nextTick:e=>e.n||(e.n=Ze.bind(e.proxy)),$watch:e=>ic.bind(e)}),$s=(e,t)=>e!==pe&&!e.__isScriptSetup&&ce(e,t),xc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if($s(s,t))return i[t]=1,s[t];if(r!==pe&&ce(r,t))return i[t]=2,r[t];if(ce(o,t))return i[t]=3,o[t];if(n!==pe&&ce(n,t))return i[t]=4,n[t];Zs&&(i[t]=0)}}const f=Sn[t];let u,d;if(f)return t==="$attrs"&&Ve(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==pe&&ce(n,t))return i[t]=4,n[t];if(d=c.config.globalProperties,ce(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return $s(r,t)?(r[t]=n,!0):s!==pe&&ce(s,t)?(s[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:i}},l){let c;return!!(n[l]||e!==pe&&l[0]!=="$"&&ce(e,l)||$s(t,l)||ce(o,l)||ce(s,l)||ce(Sn,l)||ce(r.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Hr(e){return X(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Zs=!0;function Cc(e){const t=_i(e),n=e.proxy,s=e.ctx;Zs=!1,t.beforeCreate&&qr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:u,beforeMount:d,mounted:h,beforeUpdate:g,updated:R,activated:A,deactivated:M,beforeDestroy:$,beforeUnmount:x,destroyed:I,unmounted:D,render:V,renderTracked:G,renderTriggered:U,errorCaptured:q,serverPrefetch:W,expose:ee,inheritAttrs:Ae,components:Ce,directives:Te,filters:Ne}=t;if(f&&Sc(f,s,null),i)for(const re in i){const se=i[re];te(se)&&(s[re]=se.bind(n))}if(r){const re=r.call(n,n);de(re)&&(e.data=wt(re))}if(Zs=!0,o)for(const re in o){const se=o[re],Ye=te(se)?se.bind(n,n):te(se.get)?se.get.bind(n,n):Ct,ze=!te(se)&&te(se.set)?se.set.bind(n):Ct,we=me({get:Ye,set:ze});Object.defineProperty(s,re,{enumerable:!0,configurable:!0,get:()=>we.value,set:Re=>we.value=Re})}if(l)for(const re in l)bi(l[re],s,n,re);if(c){const re=te(c)?c.call(n):c;Reflect.ownKeys(re).forEach(se=>{zn(se,re[se])})}u&&qr(u,e,"c");function ye(re,se){X(se)?se.forEach(Ye=>re(Ye.bind(n))):se&&re(se.bind(n))}if(ye(hc,d),ye(an,h),ye(gc,g),ye(mc,R),ye(fc,A),ye(dc,M),ye(_c,q),ye(bc,G),ye(yc,U),ye(Cr,x),ye(Un,D),ye(vc,W),X(ee))if(ee.length){const re=e.exposed||(e.exposed={});ee.forEach(se=>{Object.defineProperty(re,se,{get:()=>n[se],set:Ye=>n[se]=Ye,enumerable:!0})})}else e.exposed||(e.exposed={});V&&e.render===Ct&&(e.render=V),Ae!=null&&(e.inheritAttrs=Ae),Ce&&(e.components=Ce),Te&&(e.directives=Te),W&&vi(e)}function Sc(e,t,n=Ct){X(e)&&(e=er(e));for(const s in e){const r=e[s];let o;de(r)?"default"in r?o=dt(r.from||s,r.default,!0):o=dt(r.from||s):o=dt(r),He(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function qr(e,t,n){pt(X(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function bi(e,t,n,s){let r=s.includes(".")?pi(n,s):()=>n[s];if(xe(e)){const o=t[e];te(o)&&sn(r,o)}else if(te(e))sn(r,e.bind(n));else if(de(e))if(X(e))e.forEach(o=>bi(o,t,n,s));else{const o=te(e.handler)?e.handler.bind(n):t[e.handler];te(o)&&sn(r,o,e)}}function _i(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>rs(c,f,i,!0)),rs(c,t,i)),de(t)&&o.set(t,c),c}function rs(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&rs(e,o,n,!0),r&&r.forEach(i=>rs(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Ec[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Ec={data:Kr,props:Gr,emits:Gr,methods:vn,computed:vn,beforeCreate:qe,created:qe,beforeMount:qe,mounted:qe,beforeUpdate:qe,updated:qe,beforeDestroy:qe,beforeUnmount:qe,destroyed:qe,unmounted:qe,activated:qe,deactivated:qe,errorCaptured:qe,serverPrefetch:qe,components:vn,directives:vn,watch:Tc,provide:Kr,inject:Ac};function Kr(e,t){return t?e?function(){return Ue(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Ac(e,t){return vn(er(e),er(t))}function er(e){if(X(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function qe(e,t){return e?[...new Set([].concat(e,t))]:t}function vn(e,t){return e?Ue(Object.create(null),e,t):t}function Gr(e,t){return e?X(e)&&X(t)?[...new Set([...e,...t])]:Ue(Object.create(null),Hr(e),Hr(t??{})):t}function Tc(e,t){if(!e)return t;if(!t)return e;const n=Ue(Object.create(null),e);for(const s in t)n[s]=qe(e[s],t[s]);return n}function wi(){return{app:null,config:{isNativeTag:Mo,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Rc=0;function kc(e,t){return function(s,r=null){te(s)||(s=Ue({},s)),r!=null&&!de(r)&&(r=null);const o=wi(),i=new WeakSet,l=[];let c=!1;const f=o.app={_uid:Rc++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:ia,get config(){return o.config},set config(u){},use(u,...d){return i.has(u)||(u&&te(u.install)?(i.add(u),u.install(f,...d)):te(u)&&(i.add(u),u(f,...d))),f},mixin(u){return o.mixins.includes(u)||o.mixins.push(u),f},component(u,d){return d?(o.components[u]=d,f):o.components[u]},directive(u,d){return d?(o.directives[u]=d,f):o.directives[u]},mount(u,d,h){if(!c){const g=f._ceVNode||ge(s,r);return g.appContext=o,h===!0?h="svg":h===!1&&(h=void 0),e(g,u,h),c=!0,f._container=u,u.__vue_app__=f,ws(g.component)}},onUnmount(u){l.push(u)},unmount(){c&&(pt(l,f._instance,16),e(null,f._container),delete f._container.__vue_app__)},provide(u,d){return o.provides[u]=d,f},runWithContext(u){const d=rn;rn=f;try{return u()}finally{rn=d}}};return f}}let rn=null;const Ic=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ut(t)}Modifiers`]||e[`${Vt(t)}Modifiers`];function Oc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||pe;let r=n;const o=t.startsWith("update:"),i=o&&Ic(s,t.slice(7));i&&(i.trim&&(r=n.map(u=>xe(u)?u.trim():u)),i.number&&(r=r.map(dr)));let l,c=s[l=Ts(t)]||s[l=Ts(ut(t))];!c&&o&&(c=s[l=Ts(Vt(t))]),c&&pt(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,pt(f,e,6,r)}}const Pc=new WeakMap;function xi(e,t,n=!1){const s=n?Pc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!te(e)){const c=f=>{const u=xi(f,t,!0);u&&(l=!0,Ue(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(de(e)&&s.set(e,null),null):(X(o)?o.forEach(c=>i[c]=null):Ue(i,o),de(e)&&s.set(e,i),i)}function bs(e,t){return!e||!as(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Vt(t))||ce(e,t))}function Wr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:f,renderCache:u,props:d,data:h,setupState:g,ctx:R,inheritAttrs:A}=e,M=ts(e);let $,x;try{if(n.shapeFlag&4){const D=r||s,V=D;$=bt(f.call(V,D,u,d,g,h,R)),x=l}else{const D=t;$=bt(D.length>1?D(d,{attrs:l,slots:i,emit:c}):D(d,null)),x=t.props?l:Mc(l)}}catch(D){Qt.length=0,gs(D,e,1),$=ge(ht)}let I=$;if(x&&A!==!1){const D=Object.keys(x),{shapeFlag:V}=I;D.length&&V&7&&(o&&D.some(us)&&(x=$c(x,o)),I=on(I,x,!1,!0))}if(n.dirs&&(I=on(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition){const D=ms(I.type)&&gi(I)||I;ns(D,n.transition)}return $=I,ts(M),$}function Ci(e,t=!0){let n;for(let s=0;s<e.length;s++){const r=e[s];if(On(r)){if(r.type!==ht||r.children==="v-if"){if(n)return;n=r}}else return}return n}const Mc=e=>{let t;for(const n in e)(n==="class"||n==="style"||as(n))&&((t||(t={}))[n]=e[n]);return t},$c=(e,t)=>{const n={};for(const s in e)(!us(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Nc(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Jr(s,i,f):!!i;if(c&8){const u=t.dynamicProps;for(let d=0;d<u.length;d++){const h=u[d];if(Si(i,s,h)&&!bs(f,h))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?Jr(s,i,f):!0:!!i;return!1}function Jr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(!ce(e,o)||Si(t,e,o)&&!bs(n,o))return!0}return!1}function Si(e,t,n){const s=e[n],r=t[n];return n==="style"&&de(s)&&de(r)?!ps(s,r):s!==r}function Dc({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Ei={},Ai=()=>Object.create(Ei),Ti=e=>Object.getPrototypeOf(e)===Ei;function jc(e,t,n,s=!1){const r={},o=Ai();e.propsDefaults=Object.create(null),Ri(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:si(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function Lc(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=fe(r),[c]=e.propsOptions;let f=!1;if((s||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let d=0;d<u.length;d++){let h=u[d];if(bs(e.emitsOptions,h))continue;const g=t[h];if(c)if(ce(o,h))g!==o[h]&&(o[h]=g,f=!0);else{const R=ut(h);r[R]=tr(c,l,R,g,e,!1)}else g!==o[h]&&(o[h]=g,f=!0)}}}else{Ri(e,t,r,o)&&(f=!0);let u;for(const d in l)(!t||!ce(t,d)&&((u=Vt(d))===d||!ce(t,u)))&&(c?n&&(n[d]!==void 0||n[u]!==void 0)&&(r[d]=tr(c,l,d,void 0,e,!0)):delete r[d]);if(o!==l)for(const d in o)(!t||!ce(t,d))&&(delete o[d],f=!0)}f&&Pt(e.attrs,"set","")}function Ri(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,l;if(t)for(let c in t){if(bn(c))continue;const f=t[c];let u;r&&ce(r,u=ut(c))?!o||!o.includes(u)?n[u]=f:(l||(l={}))[u]=f:bs(e.emitsOptions,c)||(!(c in s)||f!==s[c])&&(s[c]=f,i=!0)}if(o){const c=fe(n),f=l||pe;for(let u=0;u<o.length;u++){const d=o[u];n[d]=tr(r,c,d,f[d],e,!ce(f,d))}}return i}function tr(e,t,n,s,r,o){const i=e[n];if(i!=null){const l=ce(i,"default");if(l&&s===void 0){const c=i.default;if(i.type!==Function&&!i.skipFactory&&te(c)){const{propsDefaults:f}=r;if(n in f)s=f[n];else{const u=Bn(r);s=f[n]=c.call(null,t),u()}}else s=c;r.ce&&r.ce._setProp(n,s)}i[0]&&(o&&!l?s=!1:i[1]&&(s===""||s===Vt(n))&&(s=!0))}return s}const Uc=new WeakMap;function ki(e,t,n=!1){const s=n?Uc:t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},l=[];let c=!1;if(!te(e)){const u=d=>{c=!0;const[h,g]=ki(d,t,!0);Ue(i,h),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!c)return de(e)&&s.set(e,Jt),Jt;if(X(o))for(let u=0;u<o.length;u++){const d=ut(o[u]);Yr(d)&&(i[d]=pe)}else if(o)for(const u in o){const d=ut(u);if(Yr(d)){const h=o[u],g=i[d]=X(h)||te(h)?{type:h}:Ue({},h),R=g.type;let A=!1,M=!0;if(X(R))for(let $=0;$<R.length;++$){const x=R[$],I=te(x)&&x.name;if(I==="Boolean"){A=!0;break}else I==="String"&&(M=!1)}else A=te(R)&&R.name==="Boolean";g[0]=A,g[1]=M,(A||ce(g,"default"))&&l.push(d)}}const f=[i,l];return de(e)&&s.set(e,f),f}function Yr(e){return e[0]!=="$"&&!bn(e)}const Sr=e=>e==="_"||e==="_ctx"||e==="$stable",Er=e=>X(e)?e.map(bt):[bt(e)],Bc=(e,t,n)=>{if(t._n)return t;const s=sc((...r)=>Er(t(...r)),n);return s._c=!1,s},Ii=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Sr(r))continue;const o=e[r];if(te(o))t[r]=Bc(r,o,s);else if(o!=null){const i=Er(o);t[r]=()=>i}}},Oi=(e,t)=>{const n=Er(t);e.slots.default=()=>n},Pi=(e,t,n)=>{for(const s in t)(n||!Sr(s))&&(e[s]=t[s])},Fc=(e,t,n)=>{const s=e.slots=Ai();if(e.vnode.shapeFlag&32){const r=t._;r?(Pi(s,t,n),n&&Lo(s,"_",r,!0)):Ii(t,s)}else t&&Oi(e,t)},Vc=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=pe;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Pi(r,t,n):(o=!t.$stable,Ii(t,r)),i=t}else t&&(Oi(e,t),i={default:1});if(o)for(const l in r)!Sr(l)&&i[l]==null&&delete r[l]},Ke=Wc;function Hc(e){return qc(e)}function qc(e,t){const n=ds();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:u,parentNode:d,nextSibling:h,setScopeId:g=Ct,insertStaticContent:R}=e,A=(a,p,v,y=null,_=null,E=null,O=void 0,L=null,P=!!p.dynamicChildren)=>{if(a===p)return;a&&!hn(a,p)&&(y=S(a),Re(a,_,E,!0),a=null),p.patchFlag===-2&&(P=!1,p.dynamicChildren=null),p.dynamicChildren&&a&&a.dynamicChildren&&a.dynamicChildren.hasOnce&&(p.dynamicChildren===Jt&&(p.dynamicChildren=[]),p.dynamicChildren.hasOnce=!0);const{type:k,ref:K,shapeFlag:F}=p;switch(k){case _s:M(a,p,v,y);break;case ht:$(a,p,v,y);break;case Ds:a==null&&x(p,v,y,O);break;case _e:Ce(a,p,v,y,_,E,O,L,P);break;default:F&1?V(a,p,v,y,_,E,O,L,P):F&6?Te(a,p,v,y,_,E,O,L,P):(F&64||F&128)&&k.process(a,p,v,y,_,E,O,L,P,b)}K!=null&&_?xn(K,a&&a.ref,E,p||a,!p):K==null&&a&&a.ref!=null&&xn(a.ref,null,E,a,!0)},M=(a,p,v,y)=>{if(a==null)s(p.el=l(p.children),v,y);else{const _=p.el=a.el;p.children!==a.children&&f(_,p.children)}},$=(a,p,v,y)=>{a==null?s(p.el=c(p.children||""),v,y):p.el=a.el},x=(a,p,v,y)=>{[a.el,a.anchor]=R(a.children,p,v,y,a.el,a.anchor)},I=({el:a,anchor:p},v,y)=>{let _;for(;a&&a!==p;)_=h(a),s(a,v,y),a=_;s(p,v,y)},D=({el:a,anchor:p})=>{let v;for(;a&&a!==p;)v=h(a),r(a),a=v;r(p)},V=(a,p,v,y,_,E,O,L,P)=>{if(p.type==="svg"?O="svg":p.type==="math"&&(O="mathml"),a==null)G(p,v,y,_,E,O,L,P);else{const k=a.el&&a.el._isVueCE?a.el:null;try{k&&k._beginPatch(),W(a,p,_,E,O,L,P)}finally{k&&k._endPatch()}}},G=(a,p,v,y,_,E,O,L)=>{let P,k;const{props:K,shapeFlag:F,transition:J,dirs:z}=a;if(P=a.el=i(a.type,E,K&&K.is,K),F&8?u(P,a.children):F&16&&q(a.children,P,null,y,_,Ns(a,E),O,L),z&&qt(a,null,y,"created"),U(P,a,a.scopeId,O,y),K){for(const ae in K)ae!=="value"&&!bn(ae)&&o(P,ae,null,K[ae],E,y);"value"in K&&o(P,"value",null,K.value,E),(k=K.onVnodeBeforeMount)&&mt(k,y,a)}z&&qt(a,null,y,"beforeMount");const ne=Kc(_,J);ne&&J.beforeEnter(P),s(P,p,v),((k=K&&K.onVnodeMounted)||ne||z)&&Ke(()=>{try{k&&mt(k,y,a),ne&&J.enter(P),z&&qt(a,null,y,"mounted")}finally{}},_)},U=(a,p,v,y,_)=>{if(v&&g(a,v),y)for(let E=0;E<y.length;E++)g(a,y[E]);if(_){let E=_.subTree;if(p===E||$i(E.type)&&(E.ssContent===p||E.ssFallback===p)){const O=_.vnode;U(a,O,O.scopeId,O.slotScopeIds,_.parent)}}},q=(a,p,v,y,_,E,O,L,P=0)=>{for(let k=P;k<a.length;k++){const K=a[k]=L?Ot(a[k]):bt(a[k]);A(null,K,p,v,y,_,E,O,L)}},W=(a,p,v,y,_,E,O)=>{const L=p.el=a.el;let{patchFlag:P,dynamicChildren:k,dirs:K}=p;P|=a.patchFlag&16;const F=a.props||pe,J=p.props||pe;let z;if(v&&Kt(v,!1),(z=J.onVnodeBeforeUpdate)&&mt(z,v,p,a),K&&qt(p,a,v,"beforeUpdate"),v&&Kt(v,!0),k&&(!a.dynamicChildren||a.dynamicChildren.length!==k.length)&&(P=0,O=!1,k=null),(F.innerHTML&&J.innerHTML==null||F.textContent&&J.textContent==null)&&u(L,""),k?ee(a.dynamicChildren,k,L,v,y,Ns(p,_),E):O||se(a,p,L,null,v,y,Ns(p,_),E,!1),P>0){if(P&16)Ae(L,F,J,v,_);else if(P&2&&F.class!==J.class&&o(L,"class",null,J.class,_),P&4&&o(L,"style",F.style,J.style,_),P&8){const ne=p.dynamicProps;for(let ae=0;ae<ne.length;ae++){const le=ne[ae],be=F[le],Me=J[le];(Me!==be||le==="value")&&o(L,le,be,Me,_,v)}}P&1&&a.children!==p.children&&u(L,p.children)}else!O&&k==null&&Ae(L,F,J,v,_);((z=J.onVnodeUpdated)||K)&&Ke(()=>{z&&mt(z,v,p,a),K&&qt(p,a,v,"updated")},y)},ee=(a,p,v,y,_,E,O)=>{for(let L=0;L<p.length;L++){const P=a[L],k=p[L],K=P.el||nr(P),F=K&&(P.type===_e||!hn(P,k)||P.shapeFlag&198)?d(K):v;A(P,k,F,null,y,_,E,O,!0)}},Ae=(a,p,v,y,_)=>{if(p!==v){if(p!==pe)for(const E in p)!bn(E)&&!(E in v)&&o(a,E,p[E],null,_,y);for(const E in v){if(bn(E))continue;const O=v[E],L=p[E];O!==L&&E!=="value"&&o(a,E,L,O,_,y)}"value"in v&&o(a,"value",p.value,v.value,_)}},Ce=(a,p,v,y,_,E,O,L,P)=>{const k=p.el=a?a.el:l(""),K=p.anchor=a?a.anchor:l("");let{patchFlag:F,dynamicChildren:J,slotScopeIds:z}=p;z&&(L=L?L.concat(z):z),a==null?(s(k,v,y),s(K,v,y),q(p.children||[],v,K,_,E,O,L,P)):F>0&&F&64&&J&&a.dynamicChildren&&a.dynamicChildren.length===J.length?(ee(a.dynamicChildren,J,v,_,E,O,L),(p.key!=null||_&&p===_.subTree)&&Ar(a,p,!0)):se(a,p,v,K,_,E,O,L,P)},Te=(a,p,v,y,_,E,O,L,P)=>{p.slotScopeIds=L,a==null?p.shapeFlag&512?_.ctx.activate(p,v,y,O,P):Ne(p,v,y,_,E,O,P):je(a,p,P)},Ne=(a,p,v,y,_,E,O)=>{const L=a.component=Zc(a,y,_);if(xr(a)&&(L.ctx.renderer=b),ta(L,!1,O),L.asyncDep){if(_&&_.registerDep(L,ye,O,E),!a.el){const P=L.subTree=ge(ht);$(null,P,p,v),a.placeholder=P.el}}else ye(L,a,p,v,_,E,O)},je=(a,p,v)=>{const y=p.component=a.component;if(Nc(a,p,v))if(y.asyncDep&&!y.asyncResolved){p.el=a.el,p.placeholder=a.placeholder,re(y,p,v);return}else y.next=p,y.update();else p.el=a.el,p.placeholder=a.placeholder,y.vnode=p},ye=(a,p,v,y,_,E,O)=>{const L=()=>{if(a.isMounted){let{next:F,bu:J,u:z,parent:ne,vnode:ae}=a;{const Xe=Mi(a);if(Xe){F&&(F.el=ae.el,re(a,F,O)),Xe.asyncDep.then(()=>{Ke(()=>{a.isUnmounted||k()},_)});return}}let le=F,be;Kt(a,!1),F?(F.el=ae.el,re(a,F,O)):F=ae,J&&Yn(J),(be=F.props&&F.props.onVnodeBeforeUpdate)&&mt(be,ne,F,ae),Kt(a,!0);const Me=Wr(a),Qe=a.subTree;a.subTree=Me,A(Qe,Me,d(Qe.el),S(Qe),a,_,E),F.el=Me.el,le===null&&Dc(a,Me.el),z&&Ke(z,_),(be=F.props&&F.props.onVnodeUpdated)&&Ke(()=>mt(be,ne,F,ae),_)}else{let F;const{el:J,props:z}=p,{bm:ne,m:ae,parent:le,root:be,type:Me}=a,Qe=Cn(p);Kt(a,!1),ne&&Yn(ne),!Qe&&(F=z&&z.onVnodeBeforeMount)&&mt(F,le,p),Kt(a,!0);{be.ce&&be.ce._hasShadowRoot()&&be.ce._injectChildStyle(Me,a.parent?a.parent.type:void 0);const Xe=a.subTree=Wr(a);A(null,Xe,v,y,a,_,E),p.el=Xe.el}if(ae&&Ke(ae,_),!Qe&&(F=z&&z.onVnodeMounted)){const Xe=p;Ke(()=>mt(F,le,Xe),_)}(p.shapeFlag&256||le&&Cn(le.vnode)&&le.vnode.shapeFlag&256)&&a.a&&Ke(a.a,_),a.isMounted=!0,p=v=y=null}};a.scope.on();const P=a.effect=new Vo(L);a.scope.off();const k=a.update=P.run.bind(P),K=a.job=P.runIfDirty.bind(P);K.i=a,K.id=a.uid,P.scheduler=()=>_r(K),Kt(a,!0),k()},re=(a,p,v)=>{p.component=a;const y=a.vnode.props;a.vnode=p,a.next=null,Lc(a,p.props,y,v),Vc(a,p.children,v),Et(),ci(a),At()},se=(a,p,v,y,_,E,O,L,P=!1)=>{const k=a&&a.children,K=a?a.shapeFlag:0,F=p.children,{patchFlag:J,shapeFlag:z}=p;if(J>0){if(J&128){ze(k,F,v,y,_,E,O,L,P);return}else if(J&256){Ye(k,F,v,y,_,E,O,L,P);return}}z&8?(K&16&&Pe(k,_,E),F!==k&&u(v,F)):K&16?z&16?ze(k,F,v,y,_,E,O,L,P):Pe(k,_,E,!0):(K&8&&u(v,""),z&16&&q(F,v,y,_,E,O,L,P))},Ye=(a,p,v,y,_,E,O,L,P)=>{a=a||Jt,p=p||Jt;const k=a.length,K=p.length,F=Math.min(k,K);let J;for(J=0;J<F;J++){const z=p[J]=P?Ot(p[J]):bt(p[J]);A(a[J],z,v,null,_,E,O,L,P)}k>K?Pe(a,_,E,!0,!1,F):q(p,v,y,_,E,O,L,P,F)},ze=(a,p,v,y,_,E,O,L,P)=>{let k=0;const K=p.length;let F=a.length-1,J=K-1;for(;k<=F&&k<=J;){const z=a[k],ne=p[k]=P?Ot(p[k]):bt(p[k]);if(hn(z,ne))A(z,ne,v,null,_,E,O,L,P);else break;k++}for(;k<=F&&k<=J;){const z=a[F],ne=p[J]=P?Ot(p[J]):bt(p[J]);if(hn(z,ne))A(z,ne,v,null,_,E,O,L,P);else break;F--,J--}if(k>F){if(k<=J){const z=J+1,ne=z<K?p[z].el:y;for(;k<=J;)A(null,p[k]=P?Ot(p[k]):bt(p[k]),v,ne,_,E,O,L,P),k++}}else if(k>J)for(;k<=F;)Re(a[k],_,E,!0),k++;else{const z=k,ne=k,ae=new Map;for(k=ne;k<=J;k++){const Fe=p[k]=P?Ot(p[k]):bt(p[k]);Fe.key!=null&&ae.set(Fe.key,k)}let le,be=0;const Me=J-ne+1;let Qe=!1,Xe=0;const Ht=new Array(Me);for(k=0;k<Me;k++)Ht[k]=0;for(k=z;k<=F;k++){const Fe=a[k];if(be>=Me){Re(Fe,_,E,!0);continue}let rt;if(Fe.key!=null)rt=ae.get(Fe.key);else for(le=ne;le<=J;le++)if(Ht[le-ne]===0&&hn(Fe,p[le])){rt=le;break}rt===void 0?Re(Fe,_,E,!0):(Ht[rt-ne]=k+1,rt>=Xe?Xe=rt:Qe=!0,A(Fe,p[rt],v,null,_,E,O,L,P),be++)}const Fn=Qe?Gc(Ht):Jt;for(le=Fn.length-1,k=Me-1;k>=0;k--){const Fe=ne+k,rt=p[Fe],fn=p[Fe+1],dn=Fe+1<K?fn.el||nr(fn):y;Ht[k]===0?A(null,rt,v,dn,_,E,O,L,P):Qe&&(le<0||k!==Fn[le]?we(rt,v,dn,2):le--)}}},we=(a,p,v,y,_=null)=>{const{el:E,type:O,transition:L,children:P,shapeFlag:k}=a;if(k&6){we(a.component.subTree,p,v,y);return}if(k&128){a.suspense.move(p,v,y);return}if(k&64){O.move(a,p,v,b);return}if(O===_e){s(E,p,v);for(let F=0;F<P.length;F++)we(P[F],p,v,y);s(a.anchor,p,v);return}if(O===Ds){I(a,p,v);return}if(y!==2&&k&1&&L)if(y===0)L.persisted&&!E[Ms]?s(E,p,v):(L.beforeEnter(E),s(E,p,v),Ke(()=>L.enter(E),_));else{const{leave:F,delayLeave:J,afterLeave:z}=L,ne=()=>{a.ctx.isUnmounted?r(E):s(E,p,v)},ae=()=>{const le=E._isLeaving||!!E[Ms];E._isLeaving&&E[Ms](!0),L.persisted&&!le?ne():F(E,()=>{ne(),z&&z()})};J?J(E,ne,ae):ae()}else s(E,p,v)},Re=(a,p,v,y=!1,_=!1)=>{const{type:E,props:O,ref:L,children:P,dynamicChildren:k,shapeFlag:K,patchFlag:F,dirs:J,cacheIndex:z,memo:ne}=a;if((F===-2||k&&k.hasOnce)&&(_=!1),L!=null&&(Et(),xn(L,null,v,a,!0),At()),z!=null&&(!a.ctx||a.ctx===p)&&(p.renderCache[z]=void 0),K&256){p.ctx.deactivate(a);return}const ae=K&1&&J,le=!Cn(a);let be;if(le&&(be=O&&O.onVnodeBeforeUnmount)&&mt(be,p,a),K&6)Be(a.component,v,y);else{if(K&128){a.suspense.unmount(v,y);return}ae&&qt(a,null,p,"beforeUnmount"),K&64?a.type.remove(a,p,v,b,y):k&&!k.hasOnce&&(E!==_e||F>0&&F&64)?Pe(k,p,v,!1,!0):(E===_e&&F&384||!_&&K&16)&&Pe(P,p,v),y&&Ie(a)}const Me=ne!=null&&z==null;(le&&(be=O&&O.onVnodeUnmounted)||ae||Me)&&Ke(()=>{be&&mt(be,p,a),ae&&qt(a,null,p,"unmounted"),Me&&(a.el=null)},v)},Ie=a=>{const{type:p,el:v,anchor:y,transition:_}=a,E=p===_e;if(E&&!_){ke(v,y);return}if(p===Ds){D(a),_&&!_.persisted&&_.afterLeave&&_.afterLeave();return}const O=E?Qs(a):a,L=()=>{E?d(v)&&ke(v,y):r(v),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(O&&O.shapeFlag&1&&_&&!_.persisted){const{leave:P,delayLeave:k}=_,K=O.el,F=()=>P(K,L);k?k(K,L,F):F()}else L()},ke=(a,p)=>{let v;for(;a!==p;)v=h(a),r(a),a=v;r(p)},Be=(a,p,v)=>{const{bum:y,scope:_,job:E,subTree:O,um:L,m:P,a:k}=a;zr(P),zr(k),y&&Yn(y),_.stop(),E?(E.flags|=8,Re(O,a,p,v)):a.vnode.el&&O&&(O.transition=a.vnode.transition,Re(O,a,p,v)),L&&Ke(L,p),Ke(()=>{a.isUnmounted=!0},p)},Pe=(a,p,v,y=!1,_=!1,E=0)=>{for(let O=E;O<a.length;O++)Re(a[O],p,v,y,_)},S=a=>{if(a.shapeFlag&6)return S(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const p=h(a.anchor||a.el),v=p&&p[hi];return v?h(v):p},w=(a,p,v)=>{const y=a&&p._vnode?void 0:a&&a.component?a.component.uid:Xc();nc(()=>{a==null?p._vnode&&Re(p._vnode,null,null,!0):A(p._vnode||null,a,p,null,null,null,v),p._vnode=a},y)},b={p:A,um:Re,m:we,r:Ie,mt:Ne,mc:q,pc:se,pbc:ee,n:S,o:e};return{render:w,hydrate:void 0,createApp:kc(w)}}function Ns({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 Kt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Kc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ar(e,t,n=!1){const s=e.children,r=t.children;if(X(s)&&X(r))for(let o=0;o<s.length;o++){const i=s[o];let l=r[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[o]=Ot(r[o]),l.el=i.el),!n&&l.patchFlag!==-2&&Ar(i,l)),l.type===_s&&(l.patchFlag===-1&&(l=r[o]=Ot(l)),l.el=i.el),l.type===ht&&!l.el&&(l.el=i.el)}}function Gc(e){const t=e.slice(),n=[0];let s,r,o,i,l;const c=e.length;for(s=0;s<c;s++){const f=e[s];if(f!==0){if(r=n[n.length-1],e[r]<f){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<f?o=l+1:i=l;f<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Mi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Mi(t)}function zr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function nr(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?nr(t.subTree):null}const $i=e=>e.__isSuspense;function Wc(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):tc(e)}const _e=Symbol.for("v-fgt"),_s=Symbol.for("v-txt"),ht=Symbol.for("v-cmt"),Ds=Symbol.for("v-stc"),Qt=[];let tt=null;function H(e=!1){Qt.push(tt=e?null:[])}function Ni(){Qt.pop(),tt=Qt[Qt.length-1]||null}let In=1;function os(e,t=!1){In+=e,e<0&&tt&&t&&(tt.hasOnce=!0)}function Di(e){return e.dynamicChildren=In>0?tt||Jt:null,Ni(),In>0&&tt&&tt.push(e),e}function Y(e,t,n,s,r,o){return Di(C(e,t,n,s,r,o,!0))}function ct(e,t,n,s,r){return Di(ge(e,t,n,s,r,!0))}function On(e){return e?e.__v_isVNode===!0:!1}function hn(e,t){return e.type===t.type&&e.key===t.key}const ji=({key:e})=>e??null,Qn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||He(e)||te(e)?{i:ot,r:e,k:t,f:!!n}:e:null);function C(e,t=null,n=null,s=0,r=null,o=e===_e?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ji(t),ref:t&&Qn(t),scopeId:fi,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:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ot};return l?(ls(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=xe(n)?8:16),In>0&&!i&&tt&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&tt.push(c),c}const ge=Jc;function Jc(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===wc)&&(e=ht),On(e)){const l=on(e,t,!0);return n&&ls(l,n),In>0&&!o&&tt&&(l.shapeFlag&6?tt[tt.indexOf(e)]=l:tt.push(l)),l.patchFlag=-2,l}if(oa(e)&&(e=e.__vccOpts),t){t=Yc(t);let{class:l,style:c}=t;l&&!xe(l)&&(t.class=st(l)),de(c)&&(br(c)&&!X(c)&&(c=Ue({},c)),t.style=jn(c))}const i=xe(e)?1:$i(e)?128:ms(e)?64:de(e)?4:te(e)?2:0;return C(e,t,n,s,r,i,o,!0)}function Yc(e){return e?br(e)||Ti(e)?Ue({},e):e:null}function on(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,f=t?zc(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&ji(f),ref:t&&t.ref?n&&o?X(o)?o.concat(Qn(t)):[o,Qn(t)]:Qn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&on(e.ssContent),ssFallback:e.ssFallback&&on(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&s&&ns(u,c.clone(u)),u}function is(e=" ",t=0){return ge(_s,null,e,t)}function Ee(e="",t=!1){return t?(H(),ct(ht,null,e)):ge(ht,null,e)}function bt(e){return e==null||typeof e=="boolean"?ge(ht):X(e)?ge(_e,null,e.slice()):On(e)?Ot(e):ge(_s,null,String(e))}function Ot(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:on(e)}function ls(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(X(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ls(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Ti(t)?t._ctx=ot:r===3&&ot&&(ot.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(s&65){ls(e,{default:t});return}t={default:t,_ctx:ot},n=32}else t=String(t),s&64?(n=16,t=[is(t)]):n=8;e.children=t,e.shapeFlag|=n}function zc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=st([t.class,s.class]));else if(r==="style")t.style=jn([t.style,s.style]);else if(as(r)){const o=t[r],i=s[r];i&&o!==i&&!(X(o)&&o.includes(i))?t[r]=o?[].concat(o,i):i:i==null&&o==null&&!us(r)&&(t[r]=i)}else r!==""&&(t[r]=s[r])}return t}function mt(e,t,n,s=null){pt(e,t,7,[n,s])}const Qc=wi();let Li=0;function Xc(){return Li}function Zc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Qc,o={uid:Li++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Tl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ki(s,r),emitsOptions:xi(s,r),emit:null,emitted:null,propsDefaults:pe,inheritAttrs:s.inheritAttrs,ctx:pe,data:pe,props:pe,attrs:pe,slots:pe,refs:pe,setupState:pe,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=Oc.bind(null,o),e.ce&&e.ce(o),o}let Je=null;const ea=()=>Je||ot;let cs,Pn;{const e=ds(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};cs=t("__VUE_INSTANCE_SETTERS__",n=>Je=n),Pn=t("__VUE_SSR_SETTERS__",n=>Mn=n)}const Bn=e=>{const t=Je;return cs(e),e.scope.on(),()=>{e.scope.off(),cs(t)}},Qr=()=>{Je&&Je.scope.off(),cs(null)};function Ui(e){return e.vnode.shapeFlag&4}let Mn=!1;function ta(e,t=!1,n=!1){t&&Pn(t);const{props:s,children:r}=e.vnode,o=Ui(e);jc(e,s,o,t),Fc(e,r,n||t);const i=o?na(e,t):void 0;return t&&Pn(!1),i}function na(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,xc);const{setup:s}=n;if(s){Et();const r=e.setupContext=s.length>1?ra(e):null,o=Bn(e),i=Ln(s,e,0,[e.props,r]),l=$o(i);if(At(),o(),(l||e.sp)&&!Cn(e)&&vi(e),l){if(i.then(Qr,Qr),t)return i.then(c=>{Pn(!0);try{Xr(e,c,t)}finally{Pn(!1)}}).catch(c=>{gs(c,e,0)});e.asyncDep=i}else Xr(e,i)}else Bi(e)}function Xr(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=oi(t)),Bi(e)}function Bi(e,t,n){const s=e.type;e.render||(e.render=s.render||Ct);{const r=Bn(e);Et();try{Cc(e)}finally{At(),r()}}}const sa={get(e,t){return Ve(e,"get",""),e[t]}};function ra(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,sa),slots:e.slots,emit:e.emit,expose:t}}function ws(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(oi(Kl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Sn)return Sn[n](e)},has(t,n){return n in t||n in Sn}})):e.proxy}function oa(e){return te(e)&&"__vccOpts"in e}const me=(e,t)=>zl(e,t,Mn);function Fi(e,t,n){try{os(-1);const s=arguments.length;return s===2?de(t)&&!X(t)?On(t)?ge(e,null,[t]):ge(e,t):ge(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&On(n)&&(n=[n]),ge(e,t,n))}finally{os(1)}}const ia="3.5.44";/**
14
+ * @vue/runtime-dom v3.5.44
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let sr;const Zr=typeof window<"u"&&window.trustedTypes;if(Zr)try{sr=Zr.createPolicy("vue",{createHTML:e=>e})}catch{}const Vi=sr?e=>sr.createHTML(e):e=>e,la="http://www.w3.org/2000/svg",ca="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,eo=It&&It.createElement("template"),aa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?It.createElementNS(la,e):t==="mathml"?It.createElementNS(ca,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{eo.innerHTML=Vi(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=eo.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ua=Symbol("_vtc");function fa(e,t,n){const s=e[ua];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const to=Symbol("_vod"),da=Symbol("_vsh"),pa=Symbol(""),ha=/(?:^|;)\s*display\s*:/;function ga(e,t,n){const s=e.style,r=xe(n);let o=!1;if(n&&!r){if(t)if(xe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&yn(s,l,"")}else for(const i in t)n[i]==null&&yn(s,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?va(e,i,!xe(t)&&t?t[i]:void 0,l)||yn(s,i,l):yn(s,i,"")}}else if(r){if(t!==n){const i=s[pa];i&&(n+=";"+i),s.cssText=n,o=ha.test(n)}}else t&&e.removeAttribute("style");to in e&&((!r||t!==n)&&(e[to]=o?s.display:""),e[da]&&(s.display="none"))}const Gn=/\s*!important$/;function yn(e,t,n){if(X(n))n.forEach(s=>yn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))Gn.test(n)?e.setProperty(t,n.replace(Gn,""),"important"):e.setProperty(t,n);else{const s=ma(e,t);Gn.test(n)?e.setProperty(Vt(s),n.replace(Gn,""),"important"):e[s]=n}}const no=["Webkit","Moz","ms"],js={};function ma(e,t){const n=js[t];if(n)return n;let s=ut(t);if(s!=="filter"&&s in e)return js[t]=s;s=jo(s);for(let r=0;r<no.length;r++){const o=no[r]+s;if(o in e)return js[t]=o}return t}function va(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&xe(s)&&n===s}const so="http://www.w3.org/1999/xlink";function ro(e,t,n,s,r,o=Sl(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(so,t.slice(6,t.length)):e.setAttributeNS(so,t,n):n==null||o&&!Uo(n)?e.removeAttribute(t):e.setAttribute(t,o?"":St(n)?String(n):n)}function oo(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Vi(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Uo(n):n==null&&l==="string"?(n="",i=!0):l==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(r||t)}function en(e,t,n,s){e.addEventListener(t,n,s)}function ya(e,t,n,s){e.removeEventListener(t,n,s)}const io=Symbol("_vei");function ba(e,t,n,s,r=null){const o=e[io]||(e[io]={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=xa(t);if(s){const f=o[t]=Ea(s,r);en(e,l,f,c)}else i&&(ya(e,l,i,c),o[t]=void 0)}}const _a=/(Once|Passive|Capture)$/,wa=/^on:?(?:Once|Passive|Capture)$/;function xa(e){let t,n;for(;(n=e.match(_a))&&!wa.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Vt(e.slice(2)),t]}let Ls=0;const Ca=Promise.resolve(),Sa=()=>Ls||(Ca.then(()=>Ls=0),Ls=Date.now());function Ea(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(X(r)){const o=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{o.call(s),s._stopped=!0};const i=r.slice(),l=[s];for(let c=0;c<i.length&&!s._stopped;c++){const f=i[c];f&&pt(f,t,5,l)}}else pt(r,t,5,[s])};return n.value=e,n.attached=Sa(),n}const lo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Aa=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?fa(e,s,i):t==="style"?ga(e,n,s):as(t)?us(t)||ba(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ta(e,t,s,i))?(oo(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ro(e,t,s,i,o,t!=="value")):e._isVueCE&&(Ra(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!xe(s)))?oo(e,ut(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ro(e,t,s,i))};function Ta(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&lo(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return lo(t)&&xe(n)?!1:t in e}function Ra(e,t){const n=e._def.props;if(!n)return!1;const s=ut(t);return Array.isArray(n)?n.some(r=>ut(r)===s):Object.keys(n).some(r=>ut(r)===s)}const co=e=>{const t=e.props["onUpdate:modelValue"]||!1;return X(t)?n=>Yn(t,n):t};function ka(e){e.target.composing=!0}function ao(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Wn=Symbol("_assign"),Jn=Symbol("_initialValue");function Us(e,t,n){return t&&(e=e.trim()),n&&(e=dr(e)),e}const Tr={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[Jn]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Jn]=e.defaultValue.replace(/\r\n?/g,`
18
+ `))),e[Wn]=co(r);const o=s||r.props&&r.props.type==="number";en(e,t?"change":"input",i=>{i.target.composing||e[Wn](Us(e.value,n,o))}),(n||o)&&en(e,"change",()=>{e.value=Us(e.value,n,o)}),t||(en(e,"compositionstart",ka),en(e,"compositionend",ao),en(e,"change",ao))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",o=e[Jn];delete e[Jn],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[Wn](Us(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},i){if(e[Wn]=co(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?dr(e.value):e.value,c=t??"";if(l===c)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},Ia=["ctrl","shift","alt","meta"],Oa={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)=>Ia.some(n=>e[`${n}Key`]&&!t.includes(n))},nt=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...o)=>{for(let i=0;i<t.length;i++){const l=Oa[t[i]];if(l&&l(r,t))return}return e(r,...o)}))},Pa={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},$n=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(r=>{if(!("key"in r))return;const o=Vt(r.key);if(t.some(i=>i===o||Pa[i]===o))return e(r)}))},Ma=Ue({patchProp:Aa},aa);let uo;function $a(){return uo||(uo=Hc(Ma))}const Na=((...e)=>{const t=$a().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ja(s);if(!r)return;const o=t._component;!te(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=n(r,!1,Da(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t});function Da(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ja(e){return xe(e)?document.querySelector(e):e}/*!
19
+ * vue-router v4.6.4
20
+ * (c) 2025 Eduardo San Martin Morote
21
+ * @license MIT
22
+ */const tn=typeof document<"u";function Hi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function La(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Hi(e.default)}const ue=Object.assign;function Bs(e,t){const n={};for(const s in t){const r=t[s];n[s]=gt(r)?r.map(e):e(r)}return n}const En=()=>{},gt=Array.isArray;function fo(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const qi=/#/g,Ua=/&/g,Ba=/\//g,Fa=/=/g,Va=/\?/g,Ki=/\+/g,Ha=/%5B/g,qa=/%5D/g,Gi=/%5E/g,Ka=/%60/g,Wi=/%7B/g,Ga=/%7C/g,Ji=/%7D/g,Wa=/%20/g;function Rr(e){return e==null?"":encodeURI(""+e).replace(Ga,"|").replace(Ha,"[").replace(qa,"]")}function Ja(e){return Rr(e).replace(Wi,"{").replace(Ji,"}").replace(Gi,"^")}function rr(e){return Rr(e).replace(Ki,"%2B").replace(Wa,"+").replace(qi,"%23").replace(Ua,"%26").replace(Ka,"`").replace(Wi,"{").replace(Ji,"}").replace(Gi,"^")}function Ya(e){return rr(e).replace(Fa,"%3D")}function za(e){return Rr(e).replace(qi,"%23").replace(Va,"%3F")}function Qa(e){return za(e).replace(Ba,"%2F")}function Nn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Xa=/\/$/,Za=e=>e.replace(Xa,"");function Fs(e,t,n="/"){let s,r={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),o=t.slice(c,l>0?l:t.length),r=e(o.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=su(s??t,n),{fullPath:s+o+i,path:s,query:r,hash:Nn(i)}}function eu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function po(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function tu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&ln(t.matched[s],n.matched[r])&&Yi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ln(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Yi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!nu(e[n],t[n]))return!1;return!0}function nu(e,t){return gt(e)?ho(e,t):gt(t)?ho(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function ho(e,t){return gt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function su(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,l;for(i=0;i<s.length;i++)if(l=s[i],l!==".")if(l==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i).join("/")}const Nt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let or=(function(e){return e.pop="pop",e.push="push",e})({}),Vs=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function ru(e){if(!e)if(tn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Za(e)}const ou=/^[^#]+#/;function iu(e,t){return e.replace(ou,"#")+t}function lu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const xs=()=>({left:window.scrollX,top:window.scrollY});function cu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=lu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function go(e,t){return(history.state?history.state.position-t:-1)+e}const ir=new Map;function au(e,t){ir.set(e,t)}function uu(e){const t=ir.get(e);return ir.delete(e),t}function fu(e){return typeof e=="string"||e&&typeof e=="object"}function zi(e){return typeof e=="string"||typeof e=="symbol"}let Se=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Qi=Symbol("");Se.MATCHER_NOT_FOUND+"",Se.NAVIGATION_GUARD_REDIRECT+"",Se.NAVIGATION_ABORTED+"",Se.NAVIGATION_CANCELLED+"",Se.NAVIGATION_DUPLICATED+"";function cn(e,t){return ue(new Error,{type:e,[Qi]:!0},t)}function kt(e,t){return e instanceof Error&&Qi in e&&(t==null||!!(e.type&t))}const du=["params","query","hash"];function pu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of du)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function hu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(Ki," "),o=r.indexOf("="),i=Nn(o<0?r:r.slice(0,o)),l=o<0?null:Nn(r.slice(o+1));if(i in t){let c=t[i];gt(c)||(c=t[i]=[c]),c.push(l)}else t[i]=l}return t}function mo(e){let t="";for(let n in e){const s=e[n];if(n=Ya(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(gt(s)?s.map(r=>r&&rr(r)):[s&&rr(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function gu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=gt(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const mu=Symbol(""),vo=Symbol(""),Cs=Symbol(""),kr=Symbol(""),lr=Symbol("");function gn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Lt(e,t,n,s,r,o=i=>i()){const i=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const f=h=>{h===!1?c(cn(Se.NAVIGATION_ABORTED,{from:n,to:t})):h instanceof Error?c(h):fu(h)?c(cn(Se.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(i&&s.enterCallbacks[r]===i&&typeof h=="function"&&i.push(h),l())},u=o(()=>e.call(s&&s.instances[r],t,n,f));let d=Promise.resolve(u);e.length<3&&(d=d.then(f)),d.catch(h=>c(h))})}function Hs(e,t,n,s,r=o=>o()){const o=[];for(const i of e)for(const l in i.components){let c=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Hi(c)){const f=(c.__vccOpts||c)[t];f&&o.push(Lt(f,n,s,i,l,r))}else{let f=c();o.push(()=>f.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const d=La(u)?u.default:u;i.mods[l]=u,i.components[l]=d;const h=(d.__vccOpts||d)[t];return h&&Lt(h,n,s,i,l,r)()}))}}return o}function vu(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i<o;i++){const l=t.matched[i];l&&(e.matched.find(f=>ln(f,l))?s.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(f=>ln(f,c))||r.push(c))}return[n,s,r]}/*!
23
+ * vue-router v4.6.4
24
+ * (c) 2025 Eduardo San Martin Morote
25
+ * @license MIT
26
+ */let yu=()=>location.protocol+"//"+location.host;function Xi(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let i=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(i);return l[0]!=="/"&&(l="/"+l),po(l,"")}return po(n,e)+s+r}function bu(e,t,n,s){let r=[],o=[],i=null;const l=({state:h})=>{const g=Xi(e,location),R=n.value,A=t.value;let M=0;if(h){if(n.value=g,t.value=h,i&&i===R){i=null;return}M=A?h.position-A.position:0}else s(g);r.forEach($=>{$(n.value,R,{delta:M,type:or.pop,direction:M?M>0?Vs.forward:Vs.back:Vs.unknown})})};function c(){i=n.value}function f(h){r.push(h);const g=()=>{const R=r.indexOf(h);R>-1&&r.splice(R,1)};return o.push(g),g}function u(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(ue({},h.state,{scroll:xs()}),"")}}function d(){for(const h of o)h();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:f,destroy:d}}function yo(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?xs():null}}function _u(e){const{history:t,location:n}=window,s={value:Xi(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,f,u){const d=e.indexOf("#"),h=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+c:yu()+e+c;try{t[u?"replaceState":"pushState"](f,"",h),r.value=f}catch(g){console.error(g),n[u?"replace":"assign"](h)}}function i(c,f){o(c,ue({},t.state,yo(r.value.back,c,r.value.forward,!0),f,{position:r.value.position}),!0),s.value=c}function l(c,f){const u=ue({},r.value,t.state,{forward:c,scroll:xs()});o(u.current,u,!0),o(c,ue({},yo(s.value,c,null),{position:u.position+1},f),!1),s.value=c}return{location:s,state:r,push:l,replace:i}}function wu(e){e=ru(e);const t=_u(e),n=bu(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=ue({location:"",base:e,go:s,createHref:iu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function xu(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),wu(e)}let Yt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var $e=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})($e||{});const Cu={type:Yt.Static,value:""},Su=/[a-zA-Z0-9_]/;function Eu(e){if(!e)return[[]];if(e==="/")return[[Cu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${f}": ${g}`)}let n=$e.Static,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let l=0,c,f="",u="";function d(){f&&(n===$e.Static?o.push({type:Yt.Static,value:f}):n===$e.Param||n===$e.ParamRegExp||n===$e.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Yt.Param,value:f,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),f="")}function h(){f+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==$e.ParamRegExp){s=n,n=$e.EscapeNext;continue}switch(n){case $e.Static:c==="/"?(f&&d(),i()):c===":"?(d(),n=$e.Param):h();break;case $e.EscapeNext:h(),n=s;break;case $e.Param:c==="("?n=$e.ParamRegExp:Su.test(c)?h():(d(),n=$e.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case $e.ParamRegExp:c===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+c:n=$e.ParamRegExpEnd:u+=c;break;case $e.ParamRegExpEnd:d(),n=$e.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,u="";break;default:t("Unknown state");break}}return n===$e.ParamRegExp&&t(`Unfinished custom RegExp for param "${f}"`),d(),i(),r}const bo="[^/]+?",Au={sensitive:!1,strict:!1,start:!0,end:!0};var Ge=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(Ge||{});const Tu=/[.+*?^${}()[\]/\\]/g;function Ru(e,t){const n=ue({},Au,t),s=[];let r=n.start?"^":"";const o=[];for(const f of e){const u=f.length?[]:[Ge.Root];n.strict&&!f.length&&(r+="/");for(let d=0;d<f.length;d++){const h=f[d];let g=Ge.Segment+(n.sensitive?Ge.BonusCaseSensitive:0);if(h.type===Yt.Static)d||(r+="/"),r+=h.value.replace(Tu,"\\$&"),g+=Ge.Static;else if(h.type===Yt.Param){const{value:R,repeatable:A,optional:M,regexp:$}=h;o.push({name:R,repeatable:A,optional:M});const x=$||bo;if(x!==bo){g+=Ge.BonusCustomRegExp;try{`${x}`}catch(D){throw new Error(`Invalid custom RegExp for param "${R}" (${x}): `+D.message)}}let I=A?`((?:${x})(?:/(?:${x}))*)`:`(${x})`;d||(I=M&&f.length<2?`(?:/${I})`:"/"+I),M&&(I+="?"),r+=I,g+=Ge.Dynamic,M&&(g+=Ge.BonusOptional),A&&(g+=Ge.BonusRepeatable),x===".*"&&(g+=Ge.BonusWildcard)}u.push(g)}s.push(u)}if(n.strict&&n.end){const f=s.length-1;s[f][s[f].length-1]+=Ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const i=new RegExp(r,n.sensitive?"":"i");function l(f){const u=f.match(i),d={};if(!u)return null;for(let h=1;h<u.length;h++){const g=u[h]||"",R=o[h-1];d[R.name]=g&&R.repeatable?g.split("/"):g}return d}function c(f){let u="",d=!1;for(const h of e){(!d||!u.endsWith("/"))&&(u+="/"),d=!1;for(const g of h)if(g.type===Yt.Static)u+=g.value;else if(g.type===Yt.Param){const{value:R,repeatable:A,optional:M}=g,$=R in f?f[R]:"";if(gt($)&&!A)throw new Error(`Provided param "${R}" is an array but it is not repeatable (* or + modifiers)`);const x=gt($)?$.join("/"):$;if(!x)if(M)h.length<2&&(u.endsWith("/")?u=u.slice(0,-1):d=!0);else throw new Error(`Missing required param "${R}"`);u+=x}}return u||"/"}return{re:i,score:s,keys:o,parse:l,stringify:c}}function ku(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===Ge.Static+Ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Ge.Static+Ge.Segment?1:-1:0}function Zi(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const o=ku(s[n],r[n]);if(o)return o;n++}if(Math.abs(r.length-s.length)===1){if(_o(s))return 1;if(_o(r))return-1}return r.length-s.length}function _o(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Iu={strict:!1,end:!0,sensitive:!1};function Ou(e,t,n){const s=Ru(Eu(e.path),n),r=ue(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Pu(e,t){const n=[],s=new Map;t=fo(Iu,t);function r(d){return s.get(d)}function o(d,h,g){const R=!g,A=xo(d);A.aliasOf=g&&g.record;const M=fo(t,d),$=[A];if("alias"in d){const D=typeof d.alias=="string"?[d.alias]:d.alias;for(const V of D)$.push(xo(ue({},A,{components:g?g.record.components:A.components,path:V,aliasOf:g?g.record:A})))}let x,I;for(const D of $){const{path:V}=D;if(h&&V[0]!=="/"){const G=h.record.path,U=G[G.length-1]==="/"?"":"/";D.path=h.record.path+(V&&U+V)}if(x=Ou(D,h,M),g?g.alias.push(x):(I=I||x,I!==x&&I.alias.push(x),R&&d.name&&!Co(x)&&i(d.name)),el(x)&&c(x),A.children){const G=A.children;for(let U=0;U<G.length;U++)o(G[U],x,g&&g.children[U])}g=g||x}return I?()=>{i(I)}:En}function i(d){if(zi(d)){const h=s.get(d);h&&(s.delete(d),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(d);h>-1&&(n.splice(h,1),d.record.name&&s.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function l(){return n}function c(d){const h=Nu(d,n);n.splice(h,0,d),d.record.name&&!Co(d)&&s.set(d.record.name,d)}function f(d,h){let g,R={},A,M;if("name"in d&&d.name){if(g=s.get(d.name),!g)throw cn(Se.MATCHER_NOT_FOUND,{location:d});M=g.record.name,R=ue(wo(h.params,g.keys.filter(I=>!I.optional).concat(g.parent?g.parent.keys.filter(I=>I.optional):[]).map(I=>I.name)),d.params&&wo(d.params,g.keys.map(I=>I.name))),A=g.stringify(R)}else if(d.path!=null)A=d.path,g=n.find(I=>I.re.test(A)),g&&(R=g.parse(A),M=g.record.name);else{if(g=h.name?s.get(h.name):n.find(I=>I.re.test(h.path)),!g)throw cn(Se.MATCHER_NOT_FOUND,{location:d,currentLocation:h});M=g.record.name,R=ue({},h.params,d.params),A=g.stringify(R)}const $=[];let x=g;for(;x;)$.unshift(x.record),x=x.parent;return{name:M,path:A,params:R,matched:$,meta:$u($)}}e.forEach(d=>o(d));function u(){n.length=0,s.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:u,getRoutes:l,getRecordMatcher:r}}function wo(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function xo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Mu(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 Mu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Co(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function $u(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Nu(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Zi(e,t[o])<0?s=o:n=o+1}const r=Du(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Du(e){let t=e;for(;t=t.parent;)if(el(t)&&Zi(e,t)===0)return t}function el({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function So(e){const t=dt(Cs),n=dt(kr),s=me(()=>{const c=De(e.to);return t.resolve(c)}),r=me(()=>{const{matched:c}=s.value,{length:f}=c,u=c[f-1],d=n.matched;if(!u||!d.length)return-1;const h=d.findIndex(ln.bind(null,u));if(h>-1)return h;const g=Eo(c[f-2]);return f>1&&Eo(u)===g&&d[d.length-1].path!==g?d.findIndex(ln.bind(null,c[f-2])):h}),o=me(()=>r.value>-1&&Fu(n.params,s.value.params)),i=me(()=>r.value>-1&&r.value===n.matched.length-1&&Yi(n.params,s.value.params));function l(c={}){if(Bu(c)){const f=t[De(e.replace)?"replace":"push"](De(e.to)).catch(En);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:me(()=>s.value.href),isActive:o,isExactActive:i,navigate:l}}function ju(e){return e.length===1?e[0]:e}const Lu=mi({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:So,setup(e,{slots:t}){const n=wt(So(e)),{options:s}=dt(Cs),r=me(()=>({[Ao(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Ao(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&ju(t.default(n));return e.custom?o:Fi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Uu=Lu;function Bu(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){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Fu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!gt(r)||r.length!==s.length||s.some((o,i)=>o.valueOf()!==r[i].valueOf()))return!1}return!0}function Eo(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ao=(e,t,n)=>e??t??n,Vu=mi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=dt(lr),r=me(()=>e.route||s.value),o=dt(vo,0),i=me(()=>{let f=De(o);const{matched:u}=r.value;let d;for(;(d=u[f])&&!d.components;)f++;return f}),l=me(()=>r.value.matched[i.value]);zn(vo,me(()=>i.value+1)),zn(mu,l),zn(lr,r);const c=Q();return sn(()=>[c.value,l.value,e.name],([f,u,d],[h,g,R])=>{u&&(u.instances[d]=f,g&&g!==u&&f&&f===h&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),f&&u&&(!g||!ln(u,g)||!h)&&(u.enterCallbacks[d]||[]).forEach(A=>A(f))},{flush:"post"}),()=>{const f=r.value,u=e.name,d=l.value,h=d&&d.components[u];if(!h)return To(n.default,{Component:h,route:f});const g=d.props[u],R=g?g===!0?f.params:typeof g=="function"?g(f):g:null,M=Fi(h,ue({},R,t,{onVnodeUnmounted:$=>{$.component.isUnmounted&&(d.instances[u]=null)},ref:c}));return To(n.default,{Component:M,route:f})||M}}});function To(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const tl=Vu;function Hu(e){const t=Pu(e.routes,e),n=e.parseQuery||hu,s=e.stringifyQuery||mo,r=e.history,o=gn(),i=gn(),l=gn(),c=Gl(Nt);let f=Nt;tn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Bs.bind(null,S=>""+S),d=Bs.bind(null,Qa),h=Bs.bind(null,Nn);function g(S,w){let b,B;return zi(S)?(b=t.getRecordMatcher(S),B=w):B=S,t.addRoute(B,b)}function R(S){const w=t.getRecordMatcher(S);w&&t.removeRoute(w)}function A(){return t.getRoutes().map(S=>S.record)}function M(S){return!!t.getRecordMatcher(S)}function $(S,w){if(w=ue({},w||c.value),typeof S=="string"){const y=Fs(n,S,w.path),_=t.resolve({path:y.path},w),E=r.createHref(y.fullPath);return ue(y,_,{params:h(_.params),hash:Nn(y.hash),redirectedFrom:void 0,href:E})}let b;if(S.path!=null)b=ue({},S,{path:Fs(n,S.path,w.path).path});else{const y=ue({},S.params);for(const _ in y)y[_]==null&&delete y[_];b=ue({},S,{params:d(y)}),w.params=d(w.params)}const B=t.resolve(b,w),a=S.hash||"";B.params=u(h(B.params));const p=eu(s,ue({},S,{hash:Ja(a),path:B.path})),v=r.createHref(p);return ue({fullPath:p,hash:a,query:s===mo?gu(S.query):S.query||{}},B,{redirectedFrom:void 0,href:v})}function x(S){return typeof S=="string"?Fs(n,S,c.value.path):ue({},S)}function I(S,w){if(f!==S)return cn(Se.NAVIGATION_CANCELLED,{from:w,to:S})}function D(S){return U(S)}function V(S){return D(ue(x(S),{replace:!0}))}function G(S,w){const b=S.matched[S.matched.length-1];if(b&&b.redirect){const{redirect:B}=b;let a=typeof B=="function"?B(S,w):B;return typeof a=="string"&&(a=a.includes("?")||a.includes("#")?a=x(a):{path:a},a.params={}),ue({query:S.query,hash:S.hash,params:a.path!=null?{}:S.params},a)}}function U(S,w){const b=f=$(S),B=c.value,a=S.state,p=S.force,v=S.replace===!0,y=G(b,B);if(y)return U(ue(x(y),{state:typeof y=="object"?ue({},a,y.state):a,force:p,replace:v}),w||b);const _=b;_.redirectedFrom=w;let E;return!p&&tu(s,B,b)&&(E=cn(Se.NAVIGATION_DUPLICATED,{to:_,from:B}),we(B,B,!0,!1)),(E?Promise.resolve(E):ee(_,B)).catch(O=>kt(O)?kt(O,Se.NAVIGATION_GUARD_REDIRECT)?O:ze(O):se(O,_,B)).then(O=>{if(O){if(kt(O,Se.NAVIGATION_GUARD_REDIRECT))return U(ue({replace:v},x(O.to),{state:typeof O.to=="object"?ue({},a,O.to.state):a,force:p}),w||_)}else O=Ce(_,B,!0,v,a);return Ae(_,B,O),O})}function q(S,w){const b=I(S,w);return b?Promise.reject(b):Promise.resolve()}function W(S){const w=ke.values().next().value;return w&&typeof w.runWithContext=="function"?w.runWithContext(S):S()}function ee(S,w){let b;const[B,a,p]=vu(S,w);b=Hs(B.reverse(),"beforeRouteLeave",S,w);for(const y of B)y.leaveGuards.forEach(_=>{b.push(Lt(_,S,w))});const v=q.bind(null,S,w);return b.push(v),Pe(b).then(()=>{b=[];for(const y of o.list())b.push(Lt(y,S,w));return b.push(v),Pe(b)}).then(()=>{b=Hs(a,"beforeRouteUpdate",S,w);for(const y of a)y.updateGuards.forEach(_=>{b.push(Lt(_,S,w))});return b.push(v),Pe(b)}).then(()=>{b=[];for(const y of p)if(y.beforeEnter)if(gt(y.beforeEnter))for(const _ of y.beforeEnter)b.push(Lt(_,S,w));else b.push(Lt(y.beforeEnter,S,w));return b.push(v),Pe(b)}).then(()=>(S.matched.forEach(y=>y.enterCallbacks={}),b=Hs(p,"beforeRouteEnter",S,w,W),b.push(v),Pe(b))).then(()=>{b=[];for(const y of i.list())b.push(Lt(y,S,w));return b.push(v),Pe(b)}).catch(y=>kt(y,Se.NAVIGATION_CANCELLED)?y:Promise.reject(y))}function Ae(S,w,b){l.list().forEach(B=>W(()=>B(S,w,b)))}function Ce(S,w,b,B,a){const p=I(S,w);if(p)return p;const v=w===Nt,y=tn?history.state:{};b&&(B||v?r.replace(S.fullPath,ue({scroll:v&&y&&y.scroll},a)):r.push(S.fullPath,a)),c.value=S,we(S,w,b,v),ze()}let Te;function Ne(){Te||(Te=r.listen((S,w,b)=>{if(!Be.listening)return;const B=$(S),a=G(B,Be.currentRoute.value);if(a){U(ue(a,{replace:!0,force:!0}),B).catch(En);return}f=B;const p=c.value;tn&&au(go(p.fullPath,b.delta),xs()),ee(B,p).catch(v=>kt(v,Se.NAVIGATION_ABORTED|Se.NAVIGATION_CANCELLED)?v:kt(v,Se.NAVIGATION_GUARD_REDIRECT)?(U(ue(x(v.to),{force:!0}),B).then(y=>{kt(y,Se.NAVIGATION_ABORTED|Se.NAVIGATION_DUPLICATED)&&!b.delta&&b.type===or.pop&&r.go(-1,!1)}).catch(En),Promise.reject()):(b.delta&&r.go(-b.delta,!1),se(v,B,p))).then(v=>{v=v||Ce(B,p,!1),v&&(b.delta&&!kt(v,Se.NAVIGATION_CANCELLED)?r.go(-b.delta,!1):b.type===or.pop&&kt(v,Se.NAVIGATION_ABORTED|Se.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),Ae(B,p,v)}).catch(En)}))}let je=gn(),ye=gn(),re;function se(S,w,b){ze(S);const B=ye.list();return B.length?B.forEach(a=>a(S,w,b)):console.error(S),Promise.reject(S)}function Ye(){return re&&c.value!==Nt?Promise.resolve():new Promise((S,w)=>{je.add([S,w])})}function ze(S){return re||(re=!S,Ne(),je.list().forEach(([w,b])=>S?b(S):w()),je.reset()),S}function we(S,w,b,B){const{scrollBehavior:a}=e;if(!tn||!a)return Promise.resolve();const p=!b&&uu(go(S.fullPath,0))||(B||!b)&&history.state&&history.state.scroll||null;return Ze().then(()=>a(S,w,p)).then(v=>v&&cu(v)).catch(v=>se(v,S,w))}const Re=S=>r.go(S);let Ie;const ke=new Set,Be={currentRoute:c,listening:!0,addRoute:g,removeRoute:R,clearRoutes:t.clearRoutes,hasRoute:M,getRoutes:A,resolve:$,options:e,push:D,replace:V,go:Re,back:()=>Re(-1),forward:()=>Re(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:ye.add,isReady:Ye,install(S){S.component("RouterLink",Uu),S.component("RouterView",tl),S.config.globalProperties.$router=Be,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>De(c)}),tn&&!Ie&&c.value===Nt&&(Ie=!0,D(r.location).catch(B=>{}));const w={};for(const B in Nt)Object.defineProperty(w,B,{get:()=>c.value[B],enumerable:!0});S.provide(Cs,Be),S.provide(kr,si(w)),S.provide(lr,c);const b=S.unmount;ke.add(S),S.unmount=function(){ke.delete(S),ke.size<1&&(f=Nt,Te&&Te(),Te=null,c.value=Nt,Ie=!1,re=!1),b()}}};function Pe(S){return S.reduce((w,b)=>w.then(()=>W(b)),Promise.resolve())}return Be}function nl(){return dt(Cs)}function qu(e){return dt(kr)}const An=wt({visible:!1,message:""});let Ro;function Oe(e,t=2400){An.message=e,An.visible=!0,clearTimeout(Ro),Ro=setTimeout(()=>{An.visible=!1},t)}const Ku={key:0,class:"toast"},Gu={__name:"Toast",setup(e){return(t,n)=>De(An).visible?(H(),Y("div",Ku,ie(De(An).message),1)):Ee("",!0)}},Wu={__name:"App",setup(e){return(t,n)=>(H(),Y(_e,null,[ge(De(tl)),ge(Gu)],64))}},sl="/icon.svg",Ju={plus:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round"><path d="M12 5v14M5 12h14"/></svg>',back:'<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"/></svg>',left:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>',chevron:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>',chev:'<svg class="chev" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>',trash:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3"/></svg>',arrowUp:'<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"/></svg>',stop:'<svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2.5"/></svg>',down:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12l7 7 7-7"/></svg>',close:'<svg width="21" height="21" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round"><path d="M6 6l12 12M18 6L6 18"/></svg>',folder:'<svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7.5A2.5 2.5 0 0 1 5.5 5H10l2 2h6.5A2.5 2.5 0 0 1 21 9.5v8A2.5 2.5 0 0 1 18.5 20h-13A2.5 2.5 0 0 1 3 17.5z"/></svg>'},Yu=["innerHTML"],xt={__name:"Icon",props:{name:{type:String,required:!0}},setup(e){const t=e,n=me(()=>Ju[t.name]||"");return(s,r)=>(H(),Y("span",{class:"icon",innerHTML:n.value,"aria-hidden":"true"},null,8,Yu))}};async function et(e,t={}){const n=await fetch(e,{...t,headers:{...t.body?{"Content-Type":"application/json"}:{},...t.headers||{}}});let s={};try{s=await n.json()}catch{}if(!n.ok){const r=new Error(s.error||`HTTP ${n.status}`);throw r.status=n.status,r}return s}function ko(){var e,t;return((t=(e=globalThis.crypto)==null?void 0:e.randomUUID)==null?void 0:t.call(e))||`${Date.now()}-${Math.random().toString(16).slice(2)}`}function rl(e){const t=s=>String(s).replace(/\s+/g," ").slice(0,100);if(e==null)return"";if(typeof e=="string")try{return rl(JSON.parse(e))}catch{return t(e)}if(typeof e!="object")return t(e);const n=Object.entries(e).map(([s,r])=>`${s}=${typeof r=="string"?r:JSON.stringify(r)}`);return t(n.join(", "))}function zu(e){if(e==null)return"{}";if(typeof e=="string")try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Qu(e){const t=new Date(e||0).getTime();if(!t)return"";const n=Date.now()-t;if(n<6e4)return"刚刚";if(n<36e5)return`${Math.floor(n/6e4)} 分钟前`;if(n<864e5)return`${Math.floor(n/36e5)} 小时前`;if(n<7*864e5)return`${Math.floor(n/864e5)} 天前`;const s=new Date(t);return`${s.getMonth()+1}月${s.getDate()}日`}function Xu(e){return(Array.from(String(e||"").trim())[0]||"·").toUpperCase()}function Zu(e){const t=String(e||"").split("/").filter(Boolean);return t[t.length-1]||""}function Ss(e,t=""){const n=String(e||"");if(!n)return"";let s=t;if(!s){const r=n.match(/^\/Users\/[^/]+/);r&&(s=r[0])}return s&&n===s?"~":s&&n.startsWith(s+"/")?"~"+n.slice(s.length):n}function ol(){try{return localStorage.getItem("nook.lastDir")||""}catch{return""}}function ef(e){try{localStorage.setItem("nook.lastDir",e)}catch{}}function tf(e){const t=new Date(e||0).getTime();if(!t)return"";const n=new Date(t);return`${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`}function nf(e){const t=new Date(e||Date.now()).getTime();if(!t)return"今天";const n=new Date(t),s=new Date;if(n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate())return"今天";const o=new Date(s.getFullYear(),s.getMonth(),s.getDate()-1);return n.getFullYear()===o.getFullYear()&&n.getMonth()===o.getMonth()&&n.getDate()===o.getDate()?"昨天":`${n.getMonth()+1} 月 ${n.getDate()} 日`}function sf(e){const t=new Date(e||0).getTime();if(!t)return"";const n=new Date(t),s=new Date;return n.getFullYear()===s.getFullYear()?`${n.getMonth()+1}/${n.getDate()}`:`${n.getFullYear()}/${n.getMonth()+1}/${n.getDate()}`}const Io=[{bg:"var(--avatar-1-bg)",fg:"var(--avatar-1-fg)"},{bg:"var(--avatar-2-bg)",fg:"var(--avatar-2-fg)"},{bg:"var(--avatar-3-bg)",fg:"var(--avatar-3-fg)"},{bg:"var(--avatar-4-bg)",fg:"var(--avatar-4-fg)"}];function rf(e){const t=String(e||"");let n=0;for(let r=0;r<t.length;r+=1)n=n*31+t.charCodeAt(r)>>>0;const s=Io[n%Io.length];return{background:s.bg,color:s.fg}}const of={class:"dir-panel",role:"dialog","aria-label":"选择目录"},lf={class:"dir-head"},cf={class:"dir-location"},af=["disabled"],uf={class:"dir-path-text"},ff={ref:"listBox",class:"dir-list"},df={key:0,class:"dir-empty"},pf={key:1,class:"dir-empty"},hf={key:2,class:"dir-empty"},gf=["onClick"],mf={class:"dir-row-icon"},vf={class:"dir-row-name"},yf={class:"dir-row-chevron"},bf={key:0,class:"dir-more"},_f={class:"dir-actions"},wf=["disabled"],xf={__name:"DirectoryPicker",props:{initialPath:{type:String,default:""}},emits:["close","select"],setup(e,{emit:t}){const n=e,s=t,r=Q(""),o=Q(null),i=Q(""),l=Q([]),c=Q(!1),f=Q(!1),u=Q(!0),d=Q(""),h=Q(!1),g=Q(""),R=Q(null),A=Q(null);let M=0;const $=me(()=>Ss(r.value,i.value)||"…");async function x(q=""){const W=++M;u.value=!0,d.value="";try{const ee=await et(`/api/fs/list?path=${encodeURIComponent(q||"")}`);if(W!==M)return;r.value=ee.path,o.value=ee.parent,i.value=ee.home||i.value,l.value=ee.dirs||[],c.value=!!ee.writable,f.value=!!ee.truncated,u.value=!1,Ze(()=>{R.value&&(R.value.scrollLeft=R.value.scrollWidth)})}catch(ee){if(W!==M)return;if(u.value=!1,Oe(ee.message),!r.value&&q){x("");return}d.value=ee.message}}function I(){o.value&&x(o.value)}function D(){h.value=!0,g.value="",Ze(()=>{var q;return(q=A.value)==null?void 0:q.focus()})}async function V(){const q=g.value.trim();if(!(!q||!r.value))try{const W=await et("/api/fs/mkdir",{method:"POST",body:JSON.stringify({parent:r.value,name:q})});h.value=!1,x(W.path)}catch(W){Oe(W.message)}}function G(){r.value&&(ef(r.value),s("select",{path:r.value,home:i.value}),s("close"))}function U(q){if(q.key==="Escape"){if(q.stopPropagation(),h.value){h.value=!1;return}s("close")}}return an(()=>{var q;try{(q=document.activeElement)==null||q.blur()}catch{}document.addEventListener("keydown",U),x(n.initialPath||ol()||"")}),Un(()=>{M++,document.removeEventListener("keydown",U)}),(q,W)=>(H(),ct(vs,{to:"body"},[C("div",{class:"dir-backdrop",onClick:W[4]||(W[4]=nt(ee=>q.$emit("close"),["self"]))},[C("div",of,[C("header",lf,[C("button",{type:"button",class:"icon-btn","aria-label":"关闭",onClick:W[0]||(W[0]=ee=>q.$emit("close"))},[ge(xt,{name:"close"})]),W[5]||(W[5]=C("div",{class:"dir-title"},"选择目录",-1)),c.value?(H(),Y("button",{key:0,type:"button",class:"icon-btn","aria-label":"新建文件夹",onClick:D},[ge(xt,{name:"plus"})])):Ee("",!0)]),C("div",cf,[C("button",{type:"button",class:"dir-up","aria-label":"上一级",disabled:!o.value,onClick:I},[ge(xt,{name:"arrowUp"})],8,af),C("div",{ref_key:"pathBox",ref:R,class:"dir-path"},[C("span",uf,ie($.value),1)],512)]),h.value?(H(),Y("form",{key:0,class:"dir-mkdir",onSubmit:nt(V,["prevent"])},[wr(C("input",{ref_key:"mkdirInput",ref:A,"onUpdate:modelValue":W[1]||(W[1]=ee=>g.value=ee),placeholder:"文件夹名称",autocomplete:"off",enterkeyhint:"done",onKeydown:W[2]||(W[2]=$n(nt(ee=>h.value=!1,["stop"]),["esc"]))},null,544),[[Tr,g.value]]),W[6]||(W[6]=C("button",{type:"submit",class:"btn btn-primary"},"创建",-1))],32)):Ee("",!0),C("div",ff,[u.value?(H(),Y("div",df,[...W[7]||(W[7]=[C("div",{class:"spinner"},null,-1)])])):d.value?(H(),Y("div",pf,ie(d.value),1)):l.value.length?(H(),Y(_e,{key:3},[(H(!0),Y(_e,null,un(l.value,ee=>(H(),Y("button",{key:ee.path,type:"button",class:"dir-row",onClick:Ae=>x(ee.path)},[C("span",mf,[ge(xt,{name:"folder"})]),C("span",vf,ie(ee.name),1),C("span",yf,[ge(xt,{name:"chevron"})])],8,gf))),128)),f.value?(H(),Y("div",bf,"仅显示前 500 个目录")):Ee("",!0)],64)):(H(),Y("div",hf,"空文件夹"))],512),C("div",_f,[C("button",{type:"button",class:"btn btn-ghost",onClick:W[3]||(W[3]=ee=>q.$emit("close"))},"取消"),C("button",{type:"button",class:"btn btn-primary",disabled:!r.value||u.value,onClick:G},"选择此目录",8,wf)])])])]))}},Cf={class:"sheet"},Sf={class:"field"},Ef={class:"field"},Af={class:"dir-field"},Tf={class:"dir-trigger-icon"},Rf={class:"dir-trigger-label"},kf={class:"dir-trigger-chevron"},If={class:"sheet-error"},Of={class:"sheet-actions"},Pf=["disabled"],Mf={__name:"ProjectSheet",emits:["close","created"],setup(e,{emit:t}){const n=t,s=Q(""),r=Q(""),o=Q(""),i=Q(""),l=Q(""),c=Q(!1),f=Q(!1),u=Q(null),d=Q(ol());let h="";const g=me(()=>r.value?Ss(r.value,o.value):"请选择项目目录");function R(x){r.value=x.path,o.value=x.home||o.value,d.value=x.path,f.value=!1;const I=Zu(x.path);I&&(!s.value.trim()||s.value===i.value)&&(s.value=I,i.value=I)}function A(){r.value="",i.value&&s.value===i.value&&(s.value=""),i.value=""}async function M(){const x=s.value.trim();if(!x){l.value="请输入项目名称";return}if(!r.value){l.value="请选择项目目录";return}l.value="",c.value=!0;try{const I=await et("/api/projects",{method:"POST",body:JSON.stringify({name:x,path:r.value||""})});n("created",I.project)}catch(I){l.value=I.message,c.value=!1}}function $(x){x.key!=="Escape"||f.value||n("close")}return an(()=>{h=document.documentElement.style.overflow,document.documentElement.style.overflow="hidden",document.addEventListener("keydown",$),Ze(()=>{var x;return(x=u.value)==null?void 0:x.focus()})}),Un(()=>{document.documentElement.style.overflow=h,document.removeEventListener("keydown",$)}),(x,I)=>(H(),ct(vs,{to:"body"},[C("div",{class:"sheet-backdrop",onClick:I[3]||(I[3]=nt(D=>x.$emit("close"),["self"]))},[C("div",Cf,[I[7]||(I[7]=C("h2",null,"新项目",-1)),C("form",{class:"project-form",onSubmit:nt(M,["prevent"])},[C("div",Sf,[I[5]||(I[5]=C("label",{for:"nook-project-name"},"名称",-1)),wr(C("input",{id:"nook-project-name",ref_key:"nameInput",ref:u,"onUpdate:modelValue":I[0]||(I[0]=D=>s.value=D),autocomplete:"off",enterkeyhint:"next",placeholder:"项目名称"},null,512),[[Tr,s.value]])]),C("div",Ef,[I[6]||(I[6]=C("label",null,"目录",-1)),C("div",Af,[C("button",{type:"button",class:st(["dir-trigger",{placeholder:!r.value}]),onClick:I[1]||(I[1]=D=>f.value=!0)},[C("span",Tf,[ge(xt,{name:"folder"})]),C("span",Rf,ie(g.value),1),C("span",kf,[ge(xt,{name:"chevron"})])],2),r.value?(H(),Y("button",{key:0,type:"button",class:"dir-reset",onClick:A},"清除")):Ee("",!0)])]),C("p",If,ie(l.value),1),C("div",Of,[C("button",{type:"button",class:"btn btn-ghost",onClick:I[2]||(I[2]=D=>x.$emit("close"))},"取消"),C("button",{type:"submit",class:"btn btn-primary",disabled:c.value},ie(c.value?"添加中":"添加"),9,Pf)])],32)])]),f.value?(H(),ct(xf,{key:0,"initial-path":r.value||d.value,onClose:I[4]||(I[4]=D=>f.value=!1),onSelect:R},null,8,["initial-path"])):Ee("",!0)]))}},$f={class:"tg"},Nf={class:"tg-masthead"},Df={class:"tg-project-scroll"},jf={key:0,class:"tg-loading"},Lf={key:1,class:"tg-project-grid"},Uf=["onClick","onKeydown","onPointerdown","onContextmenu"],Bf={class:"tg-card-main"},Ff={class:"tg-card-name"},Vf={class:"tg-card-path"},Hf={class:"tg-card-date"},qf={key:2,class:"tg-empty"},Kf={__name:"ProjectsView",setup(e){const t=nl(),n=Q([]),s=Q(!0),r=Q(!1),o=Q(null);let i=0,l={x:0,y:0},c=null,f=!1,u=!1;async function d(){try{const V=await et("/api/projects");n.value=V.projects||[]}catch(V){Oe(V.message)}finally{s.value=!1}}function h(V){if(u){u=!1;return}o.value||t.push(`/p/${encodeURIComponent(V.id)}`)}function g(V,G){G.pointerType!=="mouse"&&G.isPrimary!==!1&&(M(),l={x:G.clientX,y:G.clientY},c=V,f=!1,u=!1,i=window.setTimeout(()=>{i=0,f=!0,navigator.vibrate&&navigator.vibrate(10)},500))}function R(){if(i&&(clearTimeout(i),i=0),!f||!c)return;const V=c;f=!1,c=null,u=!0,o.value=V}function A(V){if(!i)return;const G=V.clientX-l.x,U=V.clientY-l.y;G*G+U*U>100&&M()}function M(){i&&(clearTimeout(i),i=0),f=!1,c=null}function $(V,G){G.preventDefault(),!(i||f)&&(M(),u=!0,o.value=V)}function x(){o.value=null,u=!1,M()}async function I(){const V=o.value;if(x(),!!V&&confirm(`删除项目「${V.name}」?
27
+ 目录和会话文件不会被删除。`))try{await et(`/api/projects/${encodeURIComponent(V.id)}`,{method:"DELETE"}),n.value=n.value.filter(G=>G.id!==V.id),Oe("已删除")}catch(G){Oe(G.message)}}function D(V){r.value=!1,t.push(`/p/${encodeURIComponent(V.id)}`)}return an(d),Cr(()=>clearTimeout(i)),(V,G)=>(H(),Y("div",$f,[C("header",Nf,[G[3]||(G[3]=C("img",{class:"tg-logo",src:sl,alt:"Nook",draggable:"false"},null,-1)),C("button",{type:"button",class:"tg-new","aria-label":"新建项目",onClick:G[0]||(G[0]=U=>r.value=!0)},"+")]),C("main",Df,[s.value?(H(),Y("div",jf,[...G[4]||(G[4]=[C("div",{class:"spinner"},null,-1)])])):n.value.length?(H(),Y("div",Lf,[(H(!0),Y(_e,null,un(n.value,U=>(H(),Y("div",{key:U.id,class:"tg-project-card",role:"button",tabindex:"0",onClick:q=>h(U),onKeydown:[$n(nt(q=>h(U),["prevent"]),["enter"]),$n(nt(q=>h(U),["prevent"]),["space"])],onPointerdown:q=>g(U,q),onPointerup:R,onPointerleave:M,onPointercancel:M,onPointermove:A,onContextmenu:nt(q=>$(U,q),["prevent"])},[C("span",{class:"tg-avatar card-avatar",style:jn(De(rf)(U.id))},ie(De(Xu)(U.name)),5),C("span",Bf,[C("span",Ff,ie(U.name),1),C("span",Vf,ie(De(Ss)(U.path)),1)]),C("span",Hf,ie(De(sf)(U.createdAt)),1)],40,Uf))),128))])):(H(),Y("div",qf,[G[5]||(G[5]=C("div",{class:"tg-empty-icon"},"+",-1)),G[6]||(G[6]=C("b",null,"还没有项目",-1)),G[7]||(G[7]=C("span",null,"新建一个项目开始",-1)),C("button",{class:"tg-empty-btn",type:"button",onClick:G[1]||(G[1]=U=>r.value=!0)},"新建项目")]))]),r.value?(H(),ct(Mf,{key:0,onClose:G[2]||(G[2]=U=>r.value=!1),onCreated:D})):Ee("",!0),(H(),ct(vs,{to:"body"},[o.value?(H(),Y("div",{key:0,class:"tg-menu-backdrop",onClick:nt(x,["self"])},[C("div",{class:"tg-menu",role:"menu"},[C("button",{type:"button",class:"tg-menu-item danger",role:"menuitem",onClick:I},"删除项目")])])):Ee("",!0)]))]))}};function Gf(e){return String(e).replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t])}function Oo(e){return String(e).replace(/[.,;:!?,。;:!?、]+$/,"")}function nn(e){const t=[],n=[];let s=e.replace(/`([^`\n]+)`/g,(r,o)=>`\0IC${t.push(`<code>${o}</code>`)-1}\0`);return s=s.replace(/\*\*([^*\n]+)\*\*/g,"<strong>$1</strong>"),s=s.replace(/__([^_\n]+)__/g,"<strong>$1</strong>"),s=s.replace(/~~([^~\n]+)~~/g,"<del>$1</del>"),s=s.replace(/(^|[\s(])\*([^*\n]+)\*(?=$|[\s).,!?:;,。!?;:])/g,"$1<em>$2</em>"),s=s.replace(/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)/g,(r,o,i)=>{const l=Oo(i);return`\0LK${n.push(`<a href="${l}" target="_blank" rel="noreferrer">${o}</a>`)-1}\0`}),s=s.replace(/(^|[\s(])(https?:\/\/[^\s<)]+)/g,(r,o,i)=>{const l=Oo(i),c=n.push(`<a href="${l}" target="_blank" rel="noreferrer">${l}</a>`)-1;return`${o}\0LK${c}\0`}),s=s.replace(/\u0000IC(\d+)\u0000/g,(r,o)=>t[Number(o)]||""),s=s.replace(/\u0000LK(\d+)\u0000/g,(r,o)=>n[Number(o)]||""),s}function cr(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(t=>t.trim())}function Wf(e){if(!e||!e.includes("-"))return!1;const t=cr(e);return t.length>=1&&t.every(n=>/^:?-{2,}:?$/.test(n))}function Jf(e,t){const n=cr(e[t]),s=[];let r=t+2;for(;r<e.length&&e[r].trim()&&e[r].includes("|");)s.push(cr(e[r])),r++;const o=n.map(l=>`<th>${nn(l)}</th>`).join(""),i=s.map(l=>`<tr>${n.map((c,f)=>`<td>${nn(l[f]||"")}</td>`).join("")}</tr>`).join("");return{html:`<table><thead><tr>${o}</tr></thead><tbody>${i}</tbody></table>`,consumed:r-t}}function Yf(e){const n=Gf(String(e??"").replace(/\r\n/g,`
28
+ `)).split(`
29
+ `),s=[];let r=[],o=null,i=[],l=null;const c=()=>{r.length&&(s.push(`<p>${r.map(nn).join("<br>")}</p>`),r=[])},f=()=>{o&&(s.push(`<${o.tag}>${o.items.join("")}</${o.tag}>`),o=null)},u=()=>{i.length&&(s.push(`<blockquote>${i.map(nn).join("<br>")}</blockquote>`),i=[])},d=()=>{c(),f(),u()};for(let h=0;h<n.length;h++){const g=n[h],R=g.trim();if(l){new RegExp(`^${l.char}{${l.len},}\\s*$`).test(R)?(s.push(`<pre><code>${l.lines.join(`
30
+ `)}</code></pre>`),l=null):l.lines.push(g);continue}const A=R.match(/^(`{3,}|~{3,})/);if(A){d(),l={char:A[1][0]==="`"?"`":"~",len:A[1].length,lines:[]};continue}if(!R){d();continue}const M=R.match(/^(#{1,6})\s+(.*)$/);if(M){d();const x=M[1].length;s.push(`<h${x}>${nn(M[2].replace(/\s+#+\s*$/,""))}</h${x}>`);continue}if(/^&gt;\s?/.test(g)){c(),f(),i.push(g.replace(/^\s*&gt;\s?/,""));continue}if(u(),/^([-*_]\s*){3,}$/.test(R)){d(),s.push("<hr>");continue}if(R.includes("|")&&h+1<n.length&&Wf(n[h+1])){d();const x=Jf(n,h);s.push(x.html),h+=x.consumed-1;continue}const $=g.match(/^(\s*)([-*+]|\d+\.)\s+(.*)$/);if($){c();const I=/^\d+\.$/.test($[2])?"ol":"ul";o&&o.tag!==I&&f(),o||(o={tag:I,items:[]});const D=Math.min(Math.floor($[1].length/2),10);let V=$[3];V=V.replace(/^\[( |x|X)\]\s+/,(G,U)=>U.trim()?"☑ ":"☐ "),o.items.push(`<li${D?` style="margin-left:${D*14}px"`:""}>${nn(V)}</li>`);continue}f(),r.push(R)}return l&&s.push(`<pre><code>${l.lines.join(`
31
+ `)}</code></pre>`),d(),s.join(`
32
+ `)}const zf=["open"],Qf={__name:"ThinkingBlock",props:{block:{type:Object,required:!0}},setup(e){return(t,n)=>(H(),Y("details",{class:"tg-think",open:e.block.open,onToggle:n[0]||(n[0]=s=>e.block.open=s.target.open)},[n[1]||(n[1]=C("summary",null,[is("思考"),C("span",{class:"tg-chev"},"›")],-1)),C("p",null,ie(e.block.text),1)],40,zf))}},Xf=["open"],Zf={class:"tg-tool-icon"},ed={class:"tg-tool-main"},td={key:0,class:"tg-tool-state"},nd={class:"tg-tool-body"},sd={__name:"ToolBlock",props:{block:{type:Object,required:!0}},setup(e){const t=e,n=me(()=>t.block.phase==="args"?"…":t.block.isError?"!":t.block.name==="bash"?">_":t.block.name==="read"?"{}":t.block.name==="write"?"✎":t.block.name==="edit"?"±":"·"),s=me(()=>t.block.phase==="args"?"接收中":t.block.phase==="running"?"执行中":""),r=me(()=>t.block.resultTruncated?`
33
+
34
+ …(输出共 ${t.block.resultLength||""} 字符,已截断)`:"");return(o,i)=>(H(),Y("details",{class:st(["tg-tool",{running:e.block.phase==="running",error:e.block.isError}]),open:e.block.open,onToggle:i[0]||(i[0]=l=>e.block.open=l.target.open)},[C("summary",null,[C("span",Zf,ie(n.value),1),C("span",ed,[C("b",null,ie(e.block.name),1),C("span",null,ie(De(rl)(e.block.args)),1)]),s.value?(H(),Y("span",td,ie(s.value),1)):Ee("",!0),i[1]||(i[1]=C("span",{class:"tg-tool-chev"},"›",-1))]),C("div",nd,[i[3]||(i[3]=C("div",{class:"tg-tool-label"},"参数",-1)),C("pre",null,ie(De(zu)(e.block.args)),1),e.block.result!==null&&e.block.result!==void 0?(H(),Y(_e,{key:0},[i[2]||(i[2]=C("div",{class:"tg-tool-label"},"结果",-1)),C("pre",null,ie(e.block.result)+ie(r.value),1)],64)):Ee("",!0)])],42,Xf))}},rd={class:"tg-bubble out"},od={key:0,class:"tg-msg-time"},id=["innerHTML"],ld={key:3,class:"tg-error"},cd={key:0,class:"tg-caret"},ad={key:1,class:"tg-msg-time"},ud={__name:"ChatMessage",props:{message:{type:Object,required:!0}},setup(e){const t=e,n=Q(!1),s=me(()=>tf(t.message.timestamp));function r(i){var l;i.target.closest("a, button, summary, input, textarea, select")||String(((l=window.getSelection)==null?void 0:l.call(window))||"")||(n.value=!n.value)}function o(i){return/(^|\n)\s*(```|~~~)/.test(String(i||""))}return(i,l)=>e.message.role==="user"?(H(),Y("article",{key:0,class:st(["tg-msg user",{enter:e.message.enter}]),onClick:r},[C("div",rd,[C("p",null,ie(e.message.text),1)]),n.value&&s.value?(H(),Y("div",od,ie(s.value),1)):Ee("",!0)],2)):(H(),Y("article",{key:1,class:st(["tg-msg assistant",{enter:e.message.enter}]),onClick:r},[(H(!0),Y(_e,null,un(e.message.blocks,c=>(H(),Y(_e,{key:c.uid},[c.type==="text"&&c.text?(H(),Y("div",{key:0,class:st(["tg-bubble in",{"has-code":o(c.text)}])},[C("div",{class:"rich",innerHTML:De(Yf)(c.text)},null,8,id)],2)):c.type==="thinking"?(H(),ct(Qf,{key:1,block:c},null,8,["block"])):c.type==="tool"?(H(),ct(sd,{key:2,block:c},null,8,["block"])):c.type==="error"?(H(),Y("div",ld,ie(c.text),1)):Ee("",!0)],64))),128)),e.message.live?(H(),Y("span",cd)):Ee("",!0),n.value&&s.value?(H(),Y("div",ad,ie(s.value),1)):Ee("",!0)],2))}},fd={class:"tg-inputbar"},dd=["value"],pd={key:0,class:"tg-mode"},hd=["disabled","aria-label"],gd={__name:"Composer",props:{modelValue:{type:String,default:""},running:Boolean,queueMode:{type:String,default:"steer"}},emits:["update:modelValue","mode-change","send"],setup(e,{expose:t,emit:n}){const s=e,r=n,o=Q(null),i=me(()=>s.running?s.queueMode==="followUp"?"发送跟进":"发送插话":"发送");function l(){const h=o.value;if(!h)return;h.style.height="auto";const g=Number.parseFloat(getComputedStyle(h).maxHeight)||132,R=Math.min(h.scrollHeight,g);h.style.height=R+"px",h.style.overflowY=h.scrollHeight>g?"auto":"hidden"}function c(h){r("update:modelValue",h.target.value),l()}function f(h){const g=s.modelValue.trim();g&&(r("send",{text:g,mode:h}),r("update:modelValue",""))}function u(h){h.key!=="Enter"||h.shiftKey||h.isComposing||(h.preventDefault(),f(h.altKey?"followUp":void 0))}function d(){var h;(h=o.value)==null||h.focus()}return sn(()=>s.modelValue,()=>Ze(l)),an(l),t({focus:d}),(h,g)=>(H(),Y("div",fd,[C("textarea",{ref_key:"textarea",ref:o,value:e.modelValue,rows:"1",placeholder:"输入消息",enterkeyhint:"send",autocomplete:"off",onInput:c,onKeydown:u},null,40,dd),e.running?(H(),Y("div",pd,[C("button",{type:"button",class:st({active:e.queueMode==="steer"}),title:"steer:当前工具结束后插入",onClick:g[0]||(g[0]=R=>h.$emit("mode-change","steer"))},"插话",2),C("button",{type:"button",class:st({active:e.queueMode==="followUp"}),title:"follow up:等这一轮结束后再处理",onClick:g[1]||(g[1]=R=>h.$emit("mode-change","followUp"))},"跟进",2)])):Ee("",!0),C("button",{type:"button",class:"tg-send",disabled:!e.modelValue.trim(),"aria-label":i.value,onClick:g[2]||(g[2]=R=>f())},[ge(xt,{name:"arrowUp"})],8,hd)]))}},md={class:"tg-queue"},vd={class:"tg-queue-head"},yd={class:"tg-queue-mode"},bd={class:"tg-queue-text"},_d={__name:"QueuePanel",props:{queue:{type:Object,required:!0}},emits:["dequeue"],setup(e){const t=e,n=me(()=>[...t.queue.steering.map(s=>({mode:"插话",text:s})),...t.queue.followUp.map(s=>({mode:"跟进",text:s}))]);return(s,r)=>(H(),Y("div",md,[C("div",vd,[r[1]||(r[1]=C("span",null,"排队",-1)),C("button",{type:"button",onClick:r[0]||(r[0]=o=>s.$emit("dequeue"))},"全部取回")]),(H(!0),Y(_e,null,un(n.value,(o,i)=>(H(),Y("div",{key:`${o.mode}-${i}-${o.text}`,class:"tg-queue-row"},[C("span",yd,ie(o.mode),1),C("span",bd,ie(o.text),1)]))),128))]))}};function il(e){return typeof e=="string"?e:Array.isArray(e)?e.filter(t=>(t==null?void 0:t.type)==="text").map(t=>t.text||"").join(`
35
+ `):""}function wd(e){return!e||typeof e!="object"?null:e.type==="text"?{type:"text",text:e.text||""}:e.type==="thinking"?{type:"thinking",text:e.text||""}:e.type==="error"?{type:"error",text:e.text||""}:e.type==="tool"?{type:"tool",id:e.id||"",name:e.name||"tool",args:e.args??{},result:e.result??null,isError:!!e.isError,phase:"done",resultTruncated:!!e.resultTruncated,resultLength:e.resultLength||0}:null}function xd(e,t){const n=[];for(const s of Array.isArray(e)?e:[])!s||typeof s!="object"||(s.type==="text"&&s.text?n.push({type:"text",text:s.text}):s.type==="thinking"&&s.thinking&&!s.redacted?n.push({type:"thinking",text:s.thinking}):s.type==="toolCall"&&n.push({type:"tool",id:s.id||"",name:s.name||"tool",args:s.arguments??{},result:null,isError:!1,phase:"done"}));return t&&n.push({type:"error",text:t}),n}function Cd(e){return il(e==null?void 0:e.content)}const Sd={class:"tg-chat-panel"},Ed={key:0,class:"tg-loading"},Ad={key:0,class:"tg-date"},Td={class:"tg-composer"},Rd={__name:"ChatPane",props:{projectId:{type:String,required:!0},sessionId:{type:String,required:!0}},emits:["back","run-change","title-change"],setup(e,{emit:t}){const n=e,s=t,r=n.projectId,o=n.sessionId,i=Q(null),l=Q(null),c=wt([]),f=Q(!0),u=Q(!1),d=Q(null),h=wt([]),g=Q(0),R=Q(0),A=wt({steering:[],followUp:[]}),M=Q("steer"),$=Q(""),x=Q(null),I=Q(null),D=Q(null),V=Q(0),G=Q(!1),U=Q(!0);let q=null;const W=new Map,ee=new Set,Ae=new Set,Ce=[];let Te=[],Ne=0,je=!1,ye=0,re=null,se=null,Ye=null,ze=null,we=0,Re=!1,Ie=0,ke=0,Be=!1,Pe=!1,S=!1,w=null;const b=me(()=>A.steering.length>0||A.followUp.length>0),B=me(()=>{var m;return nf((m=c[0])==null?void 0:m.timestamp)}),a=me(()=>V.value?{paddingBottom:`calc(${V.value}px + 12px)`}:null);function p(){s("back")}function v(){const m=D.value;m&&(V.value=m.offsetHeight,!(typeof ResizeObserver>"u")&&(w=new ResizeObserver(()=>{var N;const T=((N=D.value)==null?void 0:N.offsetHeight)||0;T!==V.value&&(V.value=T,U.value&&Ze(()=>K(!1)))}),w.observe(m)))}function y(m){const T={uid:ko(),open:!1,...m};return T.type==="thinking"&&(T.open=!!m.open),T.type==="tool"&&(T.open=!1,T.phase=T.phase||"done",T.result=T.result??null,T.isError=!!T.isError),wt(T)}function _(m){for(const T of m.blocks)T.type==="tool"&&T.id&&W.set(T.id,T)}function E(m){const T=wt({uid:ko(),role:m.role,text:m.text||"",blocks:(m.blocks||[]).map(y),timestamp:m.timestamp||null,live:!!m.live,enter:!!m.enter,local:!!m.local});return _(T),T}function O(){for(let m=c.length-1;m>=0;m--)if(c[m].role==="user")return c[m];return null}function L(m,T){const N=Number(T)||0;return c.some(Z=>Z.role==="user"&&Z.text===m&&(!Z.timestamp||!N||Number(Z.timestamp)>=N))}function P(){Ie||!U.value||we||(we=requestAnimationFrame(()=>{we=0,U.value&&!Ie&&K(!1)}))}function k(){Ie&&(clearTimeout(ke),ke=setTimeout(()=>{ke=0,Ie=0,Ze(()=>K(!1))},220))}function K(m=!1){const T=x.value;T&&(Re=!0,T.scrollTo({top:T.scrollHeight,behavior:m?"smooth":"auto"}),U.value=!0,G.value=!1,requestAnimationFrame(()=>{requestAnimationFrame(()=>{Re=!1})}))}function F(){if(Re)return;const m=x.value;m&&(U.value=m.scrollHeight-m.scrollTop-m.clientHeight<90,G.value=!u.value&&!U.value&&m.scrollHeight>m.clientHeight+10)}function J(){se||(se=setInterval(()=>{g.value+=1},1e3))}function z(){se&&(clearInterval(se),se=null)}function ne(m){u.value=m,s("run-change",!!m),m?(J(),G.value=!1,Ze(P)):(z(),M.value="steer",be(),Ce.length=0,Ze(F))}function ae(m){const T=new Map;for(const N of[...(m==null?void 0:m.steering)||[],...(m==null?void 0:m.followUp)||[]])T.set(N,(T.get(N)||0)+1);return T}function le(m){const T=ae(A),N=ae(m);for(const[Z,j]of N){const oe=j-(T.get(Z)||0);for(let ve=0;ve<oe;ve++)Te.push(Z)}A.steering=Array.isArray(m==null?void 0:m.steering)?[...m.steering]:[],A.followUp=Array.isArray(m==null?void 0:m.followUp)?[...m.followUp]:[],Ze(P)}function be(){A.steering=[],A.followUp=[],Te=[]}function Me(m){for(const T of["steering","followUp"]){const N=A[T].indexOf(m);if(N!==-1){A[T].splice(N,1);return}}}function Qe(m,{local:T=!1,enter:N=!0}={}){const Z=E({role:"user",text:m,local:T,enter:N});return c.push(Z),l.value&&(!l.value.title||l.value.title==="新会话")&&(l.value.title=m.replace(/\s+/g," ").slice(0,60),s("title-change",l.value.title)),P(),Z}function Xe(m,T=!1){const N=O();if(N&&N.text===m)return T&&(N.local=!0),P(),N;const Z=Qe(m,{local:T,enter:!0});return Ce.push(m),Z}function Ht(m){var Z;if(!m)return;const T=Te.indexOf(m);if(T!==-1){Te.splice(T,1),Me(m),Qe(m,{enter:!0});return}const N=Ce.indexOf(m);if(N!==-1){Ce.splice(N,1);return}((Z=O())==null?void 0:Z.text)!==m&&Qe(m,{enter:!0})}function Fn(m){for(let T=c.length-1;T>=0;T--){const N=c[T];if(N.role==="user"&&N.local&&N.text===m){c.splice(T,1);const Z=Ce.indexOf(m);Z!==-1&&Ce.splice(Z,1);return}}}function Fe(m=null){const T=E({role:"assistant",blocks:[],timestamp:m,live:!0,enter:!0});return c.push(T),q=T,P(),T}function rt(){return q||Fe()}function fn(m,T){let N=m.blocks.find(Z=>Z.type==="text"&&Z.index===T);return N||(N=y({type:"text",index:T,text:""}),m.blocks.push(N),N)}function dn(m,T){let N=m.blocks.find(Z=>Z.type==="thinking"&&Z.index===T);return N||(N=y({type:"thinking",index:T,text:"",open:!0}),m.blocks.push(N),N)}function ll(m,T,N,Z){if(N){const oe=W.get(N);if(oe)return Z&&(oe.name=Z),oe}let j=m.blocks.find(oe=>oe.type==="tool"&&oe.index===T);return j?(N&&(j.id=N,W.set(N,j)),Z&&(j.name=Z),j):(j=y({type:"tool",index:T,id:N||`pending-${T}`,name:Z||"tool",args:{},result:null,phase:"args"}),m.blocks.push(j),N&&W.set(N,j),j)}function cl(m){const T=W.get(m.toolCallId);if(!T)return;T.result=Cd(m),T.isError=!!m.isError,T.phase="done";const N=h.find(Z=>Z.id===m.toolCallId);N&&(N.phase="done"),P()}function al(m){const T=m.timestamp?String(m.timestamp):"";if(T&&ee.has(T)){if(q){const j=c.indexOf(q);j!==-1&&c.splice(j,1),q=null}return}let N=q;N||(N=E({role:"assistant",blocks:[],timestamp:m.timestamp,enter:!0}),c.push(N));const Z=xd(m.content,m.stopReason==="error"?m.errorMessage:void 0).map(y);N.blocks.splice(0,N.blocks.length,...Z),N.timestamp=m.timestamp||null,N.live=!1,N.enter=!1;for(const j of N.blocks)j.type==="tool"&&j.id&&W.set(j.id,j);if(T&&ee.add(T),!N.blocks.length){const j=c.indexOf(N);j!==-1&&c.splice(j,1)}q=null,P()}function ul(m){const T=E({role:"assistant",blocks:[{type:"error",text:m||"处理失败"}],enter:!0});c.push(T),P()}function Ir(m){$.value=[$.value.trim(),...m].filter(Boolean).join(`
36
+
37
+ `),Ze(()=>{var T;return(T=I.value)==null?void 0:T.focus()})}async function fl({text:m,mode:T}){const N=u.value,Z=N?T||M.value:"prompt";$.value="",N||(Xe(m,!0),R.value=Date.now(),h.splice(0),g.value=0,ne(!0)),K(!1);try{!(await et(`/api/projects/${encodeURIComponent(r)}/sessions/${encodeURIComponent(o)}/messages`,{method:"POST",body:JSON.stringify({text:m,mode:Z})})).queued&&N&&ne(!0)}catch(j){N?$.value||($.value=m):(Fn(m),ne(!1),$.value=m),Oe(j.message),j.status===409&&setTimeout(()=>{Be||As()},800)}}async function dl(){try{const T=(await et(`/api/projects/${encodeURIComponent(r)}/sessions/${encodeURIComponent(o)}/queue`,{method:"POST"})).cleared||{},N=[...T.steering||[],...T.followUp||[]];be(),N.length&&(Ir(N),Oe("已取回"))}catch(m){Oe(m.message)}}function pl(m,T,N){Es(),ye=N,S=!1;const Z=new EventSource(`/api/events?projectId=${encodeURIComponent(m)}&sessionId=${encodeURIComponent(T)}&since=${N}`);re=Z,Z.addEventListener("pi",j=>{let oe;try{oe=JSON.parse(j.data)}catch{return}!oe||oe.seq<=ye||(ye=oe.seq,!(oe.projectId!==m||oe.sessionId!==T)&&(Ie&&(oe.seq<=Ie?k():(Ie=0,clearTimeout(ke),ke=0,Ze(()=>K(!1)))),hl(oe.event,oe.seq)))}),Z.addEventListener("reset",()=>{Pe||(Pe=!0,Oe("正在重新同步…"),ze=setTimeout(()=>{Pe=!1,Be||As()},700))}),Z.onopen=()=>{S=!1},Z.onerror=()=>{S||(S=!0,Oe("连接中断,正在重连…"))}}function Es(){if(clearTimeout(ke),ke=0,!re)return;const m=re;re=null,m.onopen=null,m.onerror=null,m.close()}function hl(m,T){var N,Z;if(m)switch(m.type){case"nook_run_start":{const j=((N=d.value)==null?void 0:N.runId)===m.runId;je=!1,d.value={runId:m.runId,startedAt:m.startedAt,userText:m.userText},j||(Ne=0,be(),h.splice(0),g.value=0,R.value=m.startedAt||Date.now()),(!j||!L(m.userText,m.startedAt))&&Xe(m.userText),ne(!0);break}case"nook_run_end":{if((Z=d.value)!=null&&Z.runId&&m.runId&&d.value.runId!==m.runId)break;const j=[...A.steering,...A.followUp];j.length&&Ir(j),ne(!1),d.value=null,h.splice(0);break}case"nook_error":{ul(m.message);break}case"agent_start":{h.splice(0),R.value=Date.now(),ne(!0);break}case"turn_start":{h.splice(0),R.value=Date.now();break}case"queue_update":{if(T&&T<=Ne)break;le({steering:m.steering,followUp:m.followUp});break}case"message_start":{const j=m.message;(j==null?void 0:j.role)==="assistant"&&(j.timestamp&&ee.has(String(j.timestamp))?(je=!0,q=null):(je=!1,Fe(j.timestamp)));break}case"message_update":{if(je)break;const j=m.assistantMessageEvent;if(!j)break;const oe=rt();if(j.type==="text_start")fn(oe,j.contentIndex);else if(j.type==="text_delta"){const ve=fn(oe,j.contentIndex);ve.text+=j.delta||"",P()}else if(j.type==="thinking_start")dn(oe,j.contentIndex);else if(j.type==="thinking_delta"){const ve=dn(oe,j.contentIndex);ve.text+=j.delta||"",P()}else if(j.type==="toolcall_start"||j.type==="toolcall_delta"||j.type==="toolcall_end"){const ve=j.toolCall||{},Or=ll(oe,j.contentIndex,ve.id,ve.name);ve.arguments!=null&&(Or.args=ve.arguments),Or.phase="args",P()}break}case"message_end":{const j=m.message;if((j==null?void 0:j.role)==="assistant")je?je=!1:al(j);else if((j==null?void 0:j.role)==="toolResult")cl(j);else if((j==null?void 0:j.role)==="user"){const oe=j.timestamp?String(j.timestamp):"";if(oe&&Ae.has(oe))break;Ht(il(j.content)),oe&&Ae.add(oe)}break}case"tool_execution_start":{const j=W.get(m.toolCallId);j&&(j.args=m.args??j.args,j.phase="running",j.isError=!1);const oe=h.find(ve=>ve.id===m.toolCallId);oe?oe.phase="running":h.push({id:m.toolCallId,phase:"running"}),h.some(ve=>ve.id!==m.toolCallId&&ve.phase==="running")||(R.value=Date.now()),P();break}case"tool_execution_end":{const j=W.get(m.toolCallId),oe=(m.result||[]).filter(ve=>(ve==null?void 0:ve.type)==="text").map(ve=>ve.text||"").join(`
38
+ `);j&&(j.phase="done",j.result=oe,j.isError=!!m.isError);for(const ve of h)ve.id===m.toolCallId&&(ve.phase="done");P();break}case"agent_end":{m.willRetry&&Oe("请求失败,正在重试…");break}case"auto_retry_start":{Oe(`请求失败,${Math.max(1,Math.round((m.delayMs||1e3)/1e3))} 秒后重试…`);break}case"auto_retry_end":{m.success||Oe("重试失败");break}case"compaction_start":{Oe("正在压缩上下文…");break}case"compaction_end":{m.aborted&&Oe("已取消压缩");break}case"session_info_changed":{l.value&&(l.value.name=m.name||"",l.value.title=m.name||l.value.title,s("title-change",l.value.name||l.value.title));break}}}async function As(){f.value=!0,Es(),z(),clearTimeout(Ye),clearTimeout(ze),q=null,c.splice(0),W.clear(),ee.clear(),Ae.clear(),Ce.length=0,Te=[],Ne=0,je=!1,Ie=0,clearTimeout(ke),ke=0,u.value=!1,d.value=null,h.splice(0),M.value="steer",A.steering=[],A.followUp=[],$.value="";try{const m=await et(`/api/projects/${encodeURIComponent(r)}/sessions/${encodeURIComponent(o)}`);if(Be)return;i.value=m.project,l.value=m.session;for(const T of m.session.messages||[])T.role==="user"?(c.push(E({role:"user",text:T.text,timestamp:T.timestamp,enter:!1})),T.timestamp&&Ae.add(String(T.timestamp))):T.role==="assistant"&&(c.push(E({role:"assistant",blocks:(T.blocks||[]).map(wd).filter(Boolean),timestamp:T.timestamp,enter:!1})),T.timestamp&&ee.add(String(T.timestamp)));f.value=!1,m.run&&(Ie=m.seq||0,Ne=m.seq||0,le(m.run.queue||{steering:[],followUp:[]}),d.value={runId:m.run.runId,startedAt:m.run.startedAt,userText:m.run.userText},R.value=m.run.startedAt||Date.now(),g.value=0,ne(!0),L(m.run.userText,m.run.startedAt)||Xe(m.run.userText)),pl(r,o,m.run?Math.max(0,m.run.startSeq-1):m.seq),Ie&&k(),Ze(()=>K(!1))}catch(m){if(Be)return;Oe(m.message),s("back")}}return an(()=>{v(),As()}),Un(()=>{Be=!0,w==null||w.disconnect(),Es(),z(),clearTimeout(Ye),clearTimeout(ze),clearTimeout(ke),ke=0,we&&cancelAnimationFrame(we)}),(m,T)=>(H(),Y("div",Sd,[T[4]||(T[4]=C("div",{class:"tg-wall","aria-hidden":"true"},null,-1)),C("button",{class:"tg-circle glass tg-chat-back",type:"button","aria-label":"返回会话列表",onClick:p},[ge(xt,{name:"left"})]),C("div",{ref_key:"scrollEl",ref:x,class:"tg-chatscroll",onScroll:F},[C("div",{class:"tg-chatbody",style:jn(a.value)},[f.value?(H(),Y("div",Ed,[...T[3]||(T[3]=[C("div",{class:"spinner"},null,-1)])])):(H(),Y(_e,{key:1},[c.length?(H(),Y("div",Ad,[C("span",null,ie(B.value),1)])):Ee("",!0),(H(!0),Y(_e,null,un(c,N=>(H(),ct(ud,{key:N.uid,message:N},null,8,["message"]))),128))],64))],4)],544),C("div",{ref_key:"dockEl",ref:D,class:"tg-bottom-dock"},[b.value?(H(),ct(_d,{key:0,queue:A,onDequeue:dl},null,8,["queue"])):Ee("",!0),C("footer",Td,[G.value?(H(),Y("button",{key:0,type:"button",class:"tg-jump","aria-label":"回到底部",onClick:T[0]||(T[0]=N=>K(!0))},[ge(xt,{name:"down"})])):Ee("",!0),ge(gd,{ref_key:"composerRef",ref:I,modelValue:$.value,"onUpdate:modelValue":T[1]||(T[1]=N=>$.value=N),running:u.value,"queue-mode":M.value,onModeChange:T[2]||(T[2]=N=>M.value=N),onSend:fl},null,8,["modelValue","running","queue-mode"])])],512)]))}},kd={class:"tg-console-body"},Id={class:"tg-session-pane"},Od={class:"tg-console-head"},Pd={class:"tg-console-meta"},Md={class:"tg-session-pane-top"},$d={class:"tg-session-search"},Nd={class:"tg-list sessions"},Dd={key:0,class:"tg-loading"},jd=["onClick","onKeydown","onPointerdown","onContextmenu"],Ld={class:"tg-row-main"},Ud={class:"tg-row-title"},Bd={class:"tg-row-end"},Fd={key:0,class:"tg-empty"},Vd={key:1,class:"tg-empty"},Hd={class:"tg-chat-pane"},Po={__name:"ProjectView",setup(e){const t=qu(),n=nl(),s=me(()=>String(t.params.projectId||"")),r=me(()=>String(t.params.sessionId||"")),o=window.matchMedia("(min-width: 900px)"),i=Q(null),l=Q([]),c=Q(!0),f=Q(""),u=Q(null);let d=0,h=0,g=0,R=!1,A=!1,M={x:0,y:0},$=null,x=!1,I=!1;const D=me(()=>{const w=f.value.trim().toLowerCase();return w?l.value.filter(b=>String(b.name||b.title||"新会话").toLowerCase().includes(w)):l.value});async function V(){const w=++d;c.value=!0;const b=s.value;try{const[B,a]=await Promise.all([et(`/api/projects/${encodeURIComponent(b)}`),et(`/api/projects/${encodeURIComponent(b)}/sessions`)]);if(w!==d)return;i.value=B.project,l.value=a.sessions||[],c.value=!1,w===d&&await q()}catch(B){if(w!==d)return;Oe(B.message),n.replace("/")}finally{w===d&&(c.value=!1)}}async function G(){const w=s.value;try{const b=await et(`/api/projects/${encodeURIComponent(w)}/sessions`);if(w!==s.value)return;const B=b.sessions||[],a=r.value;if(a&&!B.some(p=>p.id===a)){const p=l.value.find(v=>v.id===a);p&&B.unshift(p)}l.value=B}catch{}}function U(){clearTimeout(h),h=window.setTimeout(G,800)}sn(s,()=>{f.value="",u.value=null,l.value=[],R=!1,V()},{immediate:!0});async function q(){if(r.value||R||!o.matches){R=!1;return}if(l.value.length){const w=[...l.value].sort((b,B)=>String(B.modified).localeCompare(String(b.modified)))[0];Ce(w.id);return}await Pe()}function W(){n.push("/")}function ee(w){return`/p/${encodeURIComponent(s.value)}/s/${encodeURIComponent(w)}`}function Ae(){return`/p/${encodeURIComponent(s.value)}`}function Ce(w){n.push({path:ee(w),state:{nookFromProject:!0}})}function Te(w){var b;n.replace({path:ee(w),state:{nookFromProject:!!((b=window.history.state)!=null&&b.nookFromProject)}})}function Ne(w){if(I){I=!1;return}u.value||w.id!==r.value&&(r.value?Te(w.id):Ce(w.id))}function je(){var w;R=!0,(w=window.history.state)!=null&&w.nookFromProject?n.back():n.replace(Ae())}function ye(w){const b=r.value,B=l.value.find(a=>a.id===b);B&&(B.running=w),w||U()}function re(w){const b=r.value,B=l.value.find(a=>a.id===b);!B||!w||(B.title=w,B.name=w)}function se(w,b){b.pointerType!=="mouse"&&b.isPrimary!==!1&&(we(),M={x:b.clientX,y:b.clientY},$=w,x=!1,I=!1,g=window.setTimeout(()=>{g=0,x=!0,navigator.vibrate&&navigator.vibrate(10)},500))}function Ye(){if(g&&(clearTimeout(g),g=0),!x||!$)return;const w=$;x=!1,$=null,I=!0,u.value=w}function ze(w){if(!g)return;const b=w.clientX-M.x,B=w.clientY-M.y;b*b+B*B>100&&we()}function we(){g&&(clearTimeout(g),g=0),x=!1,$=null}function Re(w,b){b.preventDefault(),!(g||x)&&(we(),I=!0,u.value=w)}function Ie(){u.value=null,I=!1,we()}async function ke(){const w=u.value;Ie(),w&&await S(w)}async function Be(){await Pe()}async function Pe(){if(A)return;A=!0;const w=s.value;try{const b=await et(`/api/projects/${encodeURIComponent(w)}/sessions`,{method:"POST"});if(w!==s.value)return;const B=new Date().toISOString();l.value=[{id:b.session.id,title:"新会话",name:"",firstMessage:"",created:B,modified:B,messageCount:0,path:"",running:!1},...l.value.filter(a=>a.id!==b.session.id)],f.value="",R=!1,r.value?Te(b.session.id):Ce(b.session.id)}catch(b){Oe(b.message)}finally{A=!1}}async function S(w){if(!confirm(`删除会话「${w.name||w.title||"新会话"}」?`))return;const b=s.value;try{await et(`/api/projects/${encodeURIComponent(b)}/sessions/${encodeURIComponent(w.id)}`,{method:"DELETE"}),l.value=l.value.filter(B=>B.id!==w.id),w.id===r.value&&je(),Oe("已删除")}catch(B){Oe(B.message)}}return Cr(()=>{clearTimeout(g),clearTimeout(h)}),(w,b)=>{var B,a;return H(),Y("div",{class:st(["tg tg-project-console",{"has-session":!!r.value}])},[C("div",kd,[C("aside",Id,[C("header",Od,[C("button",{type:"button",class:"tg-logo-button","aria-label":"返回项目列表",onClick:W},[...b[1]||(b[1]=[C("img",{class:"tg-logo",src:sl,alt:"",draggable:"false"},null,-1)])]),C("div",Pd,[C("h1",null,ie(((B=i.value)==null?void 0:B.name)||""),1),C("p",null,ie(De(Ss)((a=i.value)==null?void 0:a.path)),1)]),C("button",{type:"button",class:"tg-new","aria-label":"新建会话",onClick:Be},"+")]),C("div",Md,[C("div",$d,[b[2]||(b[2]=C("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[C("circle",{cx:"11",cy:"11",r:"7"}),C("path",{d:"M20 20l-3.5-3.5"})],-1)),wr(C("input",{"onUpdate:modelValue":b[0]||(b[0]=p=>f.value=p),type:"search",placeholder:"搜索会话",autocomplete:"off"},null,512),[[Tr,f.value]])])]),C("main",Nd,[c.value?(H(),Y("div",Dd,[...b[3]||(b[3]=[C("div",{class:"spinner"},null,-1)])])):(H(),Y(_e,{key:1},[(H(!0),Y(_e,null,un(D.value,p=>(H(),Y("div",{key:p.id,class:st(["tg-row session",{active:p.id===r.value}]),role:"button",tabindex:"0",onClick:v=>Ne(p),onKeydown:[$n(nt(v=>Ne(p),["prevent"]),["enter"]),$n(nt(v=>Ne(p),["prevent"]),["space"])],onPointerdown:v=>se(p,v),onPointerup:Ye,onPointerleave:we,onPointercancel:we,onPointermove:ze,onContextmenu:nt(v=>Re(p,v),["prevent"])},[C("span",Ld,[C("span",Ud,ie(p.name||p.title||"新会话"),1),C("span",{class:st(["tg-row-sub",{live:p.running}])},[p.running?(H(),Y(_e,{key:0},[is("运行中 · ")],64)):Ee("",!0),is(ie(p.messageCount)+" 条消息 ",1)],2)]),C("span",Bd,ie(De(Qu)(p.modified)),1)],42,jd))),128)),l.value.length?D.value.length?Ee("",!0):(H(),Y("div",Vd,[...b[7]||(b[7]=[C("div",{class:"tg-empty-icon"},"⌕",-1),C("b",null,"没有找到会话",-1),C("span",null,"换个关键词试试",-1)])])):(H(),Y("div",Fd,[b[4]||(b[4]=C("div",{class:"tg-empty-icon"},"+",-1)),b[5]||(b[5]=C("b",null,"还没有会话",-1)),b[6]||(b[6]=C("span",null,"新建会话,开始和 agent 协作",-1)),C("button",{class:"tg-empty-btn",type:"button",onClick:Be},"新建会话")]))],64))])]),C("section",Hd,[r.value?(H(),ct(Rd,{key:`${s.value}:${r.value}`,"project-id":s.value,"session-id":r.value,onBack:je,onRunChange:ye,onTitleChange:re},null,8,["project-id","session-id"])):Ee("",!0)])]),(H(),ct(vs,{to:"body"},[u.value?(H(),Y("div",{key:0,class:"tg-menu-backdrop",onClick:nt(Ie,["self"])},[C("div",{class:"tg-menu",role:"menu"},[C("button",{type:"button",class:"tg-menu-item danger",role:"menuitem",onClick:ke},"删除会话")])])):Ee("",!0)]))],2)}}},qd=Hu({history:xu(),routes:[{path:"/",name:"projects",component:Kf},{path:"/p/:projectId",name:"project",component:Po},{path:"/p/:projectId/s/:sessionId",name:"session",component:Po},{path:"/:pathMatch(.*)*",redirect:"/"}]});Na(Wu).use(qd).mount("#app");for(const e of["gesturestart","gesturechange","gestureend"])document.addEventListener(e,t=>t.preventDefault(),{passive:!1});"serviceWorker"in navigator&&window.isSecureContext&&(navigator.serviceWorker.addEventListener("controllerchange",()=>{sessionStorage.getItem("nook-sw-refreshed")||(sessionStorage.setItem("nook-sw-refreshed","1"),location.reload())}),window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js",{scope:"/"}).catch(()=>{})}));
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
2
+ <rect width="512" height="512" rx="112" fill="#182026"/>
3
+ <g fill="none" stroke-linecap="round">
4
+ <path d="M152 168h208" stroke="#F7FAFF" stroke-width="40"/>
5
+ <path d="M176 168v176" stroke="#E7EFFA" stroke-width="40"/>
6
+ <path d="M336 168v176" stroke="#F7FAFF" stroke-width="40"/>
7
+ </g>
8
+ </svg>
Binary file
Binary file
@@ -0,0 +1,24 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
6
+ <meta name="color-scheme" content="light">
7
+ <meta name="theme-color" content="#F4F6F8">
8
+ <meta name="application-name" content="Nook">
9
+ <meta name="mobile-web-app-capable" content="yes">
10
+ <meta name="apple-mobile-web-app-capable" content="yes">
11
+ <meta name="apple-mobile-web-app-status-bar-style" content="default">
12
+ <meta name="apple-mobile-web-app-title" content="Nook">
13
+ <title>Nook</title>
14
+ <link rel="manifest" href="/manifest.webmanifest">
15
+ <link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-touch-icon.png">
16
+ <link rel="icon" type="image/png" sizes="192x192" href="/icons/icon-192.png">
17
+ <link rel="icon" href="/icon.svg" type="image/svg+xml">
18
+ <script type="module" crossorigin src="/assets/index-Cu74B6FQ.js"></script>
19
+ <link rel="stylesheet" crossorigin href="/assets/index-BjWGt3e9.css">
20
+ </head>
21
+ <body>
22
+ <div id="app"></div>
23
+ </body>
24
+ </html>
@@ -0,0 +1,49 @@
1
+ {
2
+ "id": "/",
3
+ "name": "Nook",
4
+ "short_name": "Nook",
5
+ "description": "Pi coding agent 的轻量 Web 界面",
6
+ "lang": "zh-CN",
7
+ "dir": "ltr",
8
+ "start_url": "/",
9
+ "scope": "/",
10
+ "display": "fullscreen",
11
+ "display_override": ["fullscreen", "standalone"],
12
+ "orientation": "portrait",
13
+ "background_color": "#F4F6F8",
14
+ "theme_color": "#F4F6F8",
15
+ "categories": ["productivity", "developer"],
16
+ "prefer_related_applications": false,
17
+ "icons": [
18
+ {
19
+ "src": "/icons/icon-192.png",
20
+ "sizes": "192x192",
21
+ "type": "image/png",
22
+ "purpose": "any"
23
+ },
24
+ {
25
+ "src": "/icons/icon-512.png",
26
+ "sizes": "512x512",
27
+ "type": "image/png",
28
+ "purpose": "any"
29
+ },
30
+ {
31
+ "src": "/icons/maskable-192.png",
32
+ "sizes": "192x192",
33
+ "type": "image/png",
34
+ "purpose": "maskable"
35
+ },
36
+ {
37
+ "src": "/icons/maskable-512.png",
38
+ "sizes": "512x512",
39
+ "type": "image/png",
40
+ "purpose": "maskable"
41
+ },
42
+ {
43
+ "src": "/icon.svg",
44
+ "sizes": "any",
45
+ "type": "image/svg+xml",
46
+ "purpose": "any"
47
+ }
48
+ ]
49
+ }
@@ -0,0 +1,83 @@
1
+ /* Nook service worker: shell caching only, never API/SSE. */
2
+ const CACHE = 'nook-shell-v3';
3
+ const PRECACHE = [
4
+ '/manifest.webmanifest',
5
+ '/icon.svg',
6
+ '/icons/icon-192.png',
7
+ '/icons/icon-512.png',
8
+ '/icons/maskable-192.png',
9
+ '/icons/maskable-512.png',
10
+ '/icons/apple-touch-icon.png',
11
+ ];
12
+
13
+ self.addEventListener('install', (event) => {
14
+ event.waitUntil((async () => {
15
+ const cache = await caches.open(CACHE);
16
+
17
+ // Cache the current shell and its hashed assets for offline start.
18
+ try {
19
+ const shell = await fetch('/');
20
+ if (shell.ok) {
21
+ await cache.put('/', shell.clone());
22
+ const html = await shell.text();
23
+ const assets = [...html.matchAll(/(?:src|href)="(\/assets\/[^"]+)"/g)].map((match) => match[1]);
24
+ await Promise.allSettled(assets.map((url) => cache.add(url)));
25
+ }
26
+ } catch { }
27
+
28
+ await Promise.allSettled(PRECACHE.map((url) => cache.add(url)));
29
+ await self.skipWaiting();
30
+ })());
31
+ });
32
+
33
+ self.addEventListener('activate', (event) => {
34
+ event.waitUntil((async () => {
35
+ const keys = await caches.keys();
36
+ await Promise.all(keys.filter((key) => key !== CACHE).map((key) => caches.delete(key)));
37
+ await self.clients.claim();
38
+ })());
39
+ });
40
+
41
+ async function networkFirst(request) {
42
+ const cache = await caches.open(CACHE);
43
+ try {
44
+ const response = await fetch(request);
45
+ if (response.ok) cache.put(request, response.clone());
46
+ return response;
47
+ } catch {
48
+ return (await caches.match(request)) || (await caches.match('/'));
49
+ }
50
+ }
51
+
52
+ async function cacheFirst(request) {
53
+ const cached = await caches.match(request);
54
+ if (cached) return cached;
55
+ const response = await fetch(request);
56
+ if (response.ok) {
57
+ const cache = await caches.open(CACHE);
58
+ cache.put(request, response.clone());
59
+ }
60
+ return response;
61
+ }
62
+
63
+ self.addEventListener('fetch', (event) => {
64
+ const { request } = event;
65
+ if (request.method !== 'GET') return;
66
+ const url = new URL(request.url);
67
+ if (url.origin !== self.location.origin) return;
68
+ if (url.pathname.startsWith('/api/')) return;
69
+
70
+ if (request.mode === 'navigate') {
71
+ event.respondWith(networkFirst(request));
72
+ return;
73
+ }
74
+
75
+ if (
76
+ url.pathname.startsWith('/assets/') ||
77
+ url.pathname.startsWith('/icons/') ||
78
+ url.pathname === '/icon.svg' ||
79
+ url.pathname === '/manifest.webmanifest'
80
+ ) {
81
+ event.respondWith(cacheFirst(request));
82
+ }
83
+ });