{const{vnode:o,slots:r}=e;let s=!0,i=v;if(32&o.shapeFlag){const e=t._;e?n&&1===e?s=!1:(k(r,t),n||1!==e||delete r._):(s=!t.$stable,Jo(t,r)),i=t}else t&&(Zo(e,t),i={default:1});if(s)for(const l in r)Ko(l)||l in i||delete r[l]})(e,t.children,n),_e(),nn(),be()},I=(e,t,n,o,r,s,i,l,c=!1)=>{const u=e&&e.children,p=e?e.shapeFlag:0,f=t.children,{patchFlag:d,shapeFlag:h}=t;if(d>0){if(128&d)return void L(u,f,n,o,r,s,i,l,c);if(256&d)return void B(u,f,n,o,r,s,i,l,c)}8&h?(16&p&&q(u,r,s),f!==u&&a(n,f)):16&p?16&h?L(u,f,n,o,r,s,i,l,c):q(u,r,s,!0):(8&p&&a(n,""),16&h&&w(f,n,o,r,s,i,l,c))},B=(e,t,n,o,r,s,i,l,c)=>{const a=(e=e||y).length,u=(t=t||y).length,p=Math.min(a,u);let f;for(f=0;fu?q(e,r,s,!0,!1,p):w(t,n,o,r,s,i,l,c,p)},L=(e,t,n,o,r,s,i,l,c)=>{let a=0;const u=t.length;let p=e.length-1,f=u-1;for(;a<=p&&a<=f;){const o=e[a],u=t[a]=c?jr(t[a]):Lr(t[a]);if(!Ar(o,u))break;h(o,u,n,null,r,s,i,l,c),a++}for(;a<=p&&a<=f;){const o=e[p],a=t[f]=c?jr(t[f]):Lr(t[f]);if(!Ar(o,a))break;h(o,a,n,null,r,s,i,l,c),p--,f--}if(a>p){if(a<=f){const e=f+1,p=ef)for(;a<=p;)D(e[a],r,s,!0),a++;else{const d=a,m=a,g=new Map;for(a=m;a<=f;a++){const e=t[a]=c?jr(t[a]):Lr(t[a]);null!=e.key&&g.set(e.key,a)}let v,_=0;const b=f-m+1;let S=!1,x=0;const C=new Array(b);for(a=0;a=b){D(o,r,s,!0);continue}let u;if(null!=o.key)u=g.get(o.key);else for(v=m;v<=f;v++)if(0===C[v-m]&&Ar(o,t[v])){u=v;break}void 0===u?D(o,r,s,!0):(C[u-m]=a+1,u>=x?x=u:S=!0,h(o,t[u],n,null,r,s,i,l,c),_++)}const k=S?function(e){const t=e.slice(),n=[0];let o,r,s,i,l;const c=e.length;for(o=0;o>1,e[n[l]]0&&(t[o]=n[s-1]),n[s]=o)}}s=n.length,i=n[s-1];for(;s-- >0;)n[s]=i,i=t[i];return n}(C):y;for(v=k.length-1,a=b-1;a>=0;a--){const e=m+a,p=t[e],f=e+1{const{el:i,type:l,transition:c,children:a,shapeFlag:u}=e;if(6&u)return void j(e.component.subTree,t,o,r);if(128&u)return void e.suspense.move(t,o,r);if(64&u)return void l.move(e,t,o,X);if(l===vr){n(i,t,o);for(let e=0;e{let s;for(;e&&e!==t;)s=p(e),n(e,o,r),e=s;n(t,o,r)})(e,t,o);if(2!==r&&1&u&&c)if(0===r)c.beforeEnter(i),n(i,t,o),sr((()=>c.enter(i)),s);else{const{leave:e,delayLeave:r,afterLeave:s}=c,l=()=>n(i,t,o),a=()=>{e(i,(()=>{l(),s&&s()}))};r?r(i,l,a):a()}else n(i,t,o)},D=(e,t,n,o=!1,r=!1)=>{const{type:s,props:i,ref:l,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:p,dirs:f}=e;if(null!=l&&er(l,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const d=1&u&&f,h=!Gn(e);let m;if(h&&(m=i&&i.onVnodeBeforeUnmount)&&Hr(m,t,e),6&u)K(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);d&&vo(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,X,o):a&&(s!==vr||p>0&&64&p)?q(a,t,n,!1,!0):(s===vr&&384&p||!r&&16&u)&&q(c,t,n),o&&H(e)}(h&&(m=i&&i.onVnodeUnmounted)||d)&&sr((()=>{m&&Hr(m,t,e),d&&vo(e,null,t,"unmounted")}),n)},H=e=>{const{type:t,el:n,anchor:r,transition:s}=e;if(t===vr)return void W(n,r);if(t===br)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=p(e),o(e),e=n;o(t)})(e);const i=()=>{o(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:o}=s,r=()=>t(n,i);o?o(e.el,i,r):r()}else i()},W=(e,t)=>{let n;for(;e!==t;)n=p(e),o(e),e=n;o(t)},K=(e,t,n)=>{const{bum:o,scope:r,update:s,subTree:i,um:l}=e;o&&Y(o),r.stop(),s&&(s.active=!1,D(i,e,t,n)),l&&sr(l,t),sr((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},q=(e,t,n,o=!1,r=!1,s=0)=>{for(let i=s;i6&e.shapeFlag?J(e.component.subTree):128&e.shapeFlag?e.suspense.next():p(e.anchor||e.el),Z=(e,t,n)=>{null==e?t._vnode&&D(t._vnode,null,null,!0):h(t._vnode||null,e,t,null,null,null,n),nn(),on(),t._vnode=e},X={p:h,um:D,m:j,r:H,mt:P,mc:w,pc:I,pbc:E,n:J,o:e};let ee,ne;return t&&([ee,ne]=t(X)),{render:Z,hydrate:ee,createApp:Xo(Z,ee)}}function ar({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ur(e,t,n=!1){const o=e.children,r=t.children;if(E(o)&&E(r))for(let s=0;se&&(e.disabled||""===e.disabled),fr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,dr=(e,t)=>{const n=e&&e.to;if(R(n)){if(t){return t(n)}return null}return n};function hr(e,t,n,{o:{insert:o},m:r},s=2){0===s&&o(e.targetAnchor,t,n);const{el:i,anchor:l,shapeFlag:c,children:a,props:u}=e,p=2===s;if(p&&o(i,t,n),(!p||pr(u))&&16&c)for(let f=0;f{16&v&&u(y,e,t,r,s,i,l,c)};g?_(n,a):p&&_(p,f)}else{t.el=e.el;const o=t.anchor=e.anchor,u=t.target=e.target,d=t.targetAnchor=e.targetAnchor,m=pr(e.props),v=m?n:u,y=m?o:d;if(i=i||fr(u),_?(f(e.dynamicChildren,_,v,r,s,i,l),ur(e,t,!0)):c||p(e,t,v,y,r,s,i,l,!1),g)m||hr(t,n,o,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=dr(t.props,h);e&&hr(t,e,null,a,0)}else m&&hr(t,u,d,a,1)}gr(t)},remove(e,t,n,o,{um:r,o:{remove:s}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:u,target:p,props:f}=e;if(p&&s(u),(i||!pr(f))&&(s(a),16&l))for(let d=0;d0?xr||y:null,kr(),wr>0&&xr&&xr.push(e),e}function Er(e,t,n,o,r){return Nr(Mr(e,t,n,o,r,!0))}function Or(e){return!!e&&!0===e.__v_isVNode}function Ar(e,t){return e.type===t.type&&e.key===t.key}const Fr="__vInternal",Pr=({key:e})=>null!=e?e:null,Rr=({ref:e,ref_key:t,ref_for:n})=>null!=e?R(e)||Et(e)||P(e)?{i:fn,r:e,k:t,f:!!n}:e:null;function $r(e,t=null,n=null,o=0,r=null,s=(e===vr?0:1),i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pr(t),ref:t&&Rr(t),scopeId:dn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fn};return l?(Ur(c,n),128&s&&e.normalize(c)):n&&(c.shapeFlag|=R(n)?8:16),wr>0&&!i&&xr&&(c.patchFlag>0||6&s)&&32!==c.patchFlag&&xr.push(c),c}const Mr=function(e,t=null,n=null,r=0,s=null,i=!1){e&&e!==_o||(e=_r);if(Or(e)){const o=Ir(e,t,!0);return n&&Ur(o,n),wr>0&&!i&&xr&&(6&o.shapeFlag?xr[xr.indexOf(e)]=o:xr.push(o)),o.patchFlag|=-2,o}l=e,P(l)&&"__vccOpts"in l&&(e=e.__vccOpts);var l;if(t){t=Vr(t);let{class:e,style:n}=t;e&&!R(e)&&(t.class=c(e)),M(n)&&(St(n)&&!E(n)&&(n=k({},n)),t.style=o(n))}const a=R(e)?1:Sn(e)?128:(e=>e.__isTeleport)(e)?64:M(e)?4:P(e)?2:0;return $r(e,t,n,r,s,a,i,!0)};function Vr(e){return e?St(e)||Fr in e?k({},e):e:null}function Ir(e,t,n=!1){const{props:o,ref:r,patchFlag:s,children:i}=e,l=t?Dr(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Pr(l),ref:t&&t.ref?n&&r?E(r)?r.concat(Rr(t)):[r,Rr(t)]:Rr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==vr?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ir(e.ssContent),ssFallback:e.ssFallback&&Ir(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Br(e=" ",t=0){return Mr(yr,null,e,t)}function Lr(e){return null==e||"boolean"==typeof e?Mr(_r):E(e)?Mr(vr,null,e.slice()):"object"==typeof e?jr(e):Mr(yr,null,String(e))}function jr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Ir(e)}function Ur(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(E(t))n=16;else if("object"==typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),Ur(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||Fr in t?3===o&&fn&&(1===fn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=fn}}else P(t)?(t={default:t,_ctx:fn},n=32):(t=String(t),64&o?(n=16,t=[Br(t)]):n=8);e.children=t,e.shapeFlag|=n}function Dr(...e){const t={};for(let n=0;nKr||fn,qr=e=>{Kr=e,e.scope.on()},Jr=()=>{Kr&&Kr.scope.off(),Kr=null};function Zr(e){return 4&e.vnode.shapeFlag}let Yr,Qr,Xr=!1;function es(e,t,n){P(t)?e.render=t:M(t)&&(e.setupState=$t(t)),ns(e,n)}function ts(e){Yr=e,Qr=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,No))}}function ns(e,t,n){const o=e.type;if(!e.render){if(!t&&Yr&&!o.render){const t=o.template||Po(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:i}=o,l=k(k({isCustomElement:n,delimiters:s},r),i);o.render=Yr(t,l)}}e.render=o.render||_,Qr&&Qr(e)}qr(e),_e(),Oo(e),be(),Jr()}function os(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=function(e){return new Proxy(e.attrs,{get:(t,n)=>(Se(e,0,"$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t}}function rs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy($t(Ct(e.exposed)),{get:(t,n)=>n in t?t[n]:n in ko?ko[n](e):void 0,has:(e,t)=>t in e||t in ko}))}function ss(e,t=!0){return P(e)?e.displayName||e.name:e.name||t&&e.__name}const is=(e,t)=>function(e,t,n=!1){let o,r;const s=P(e);return s?(o=e,r=_):(o=e.get,r=e.set),new Lt(o,r,s||!r,n)}(e,0,Xr);function ls(){const e=Gr();return e.setupContext||(e.setupContext=os(e))}function cs(e,t,n){const o=arguments.length;return 2===o?M(t)&&!E(t)?Or(t)?Mr(e,null,[t]):Mr(e,t):Mr(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&Or(n)&&(n=[n]),Mr(e,t,n))}const as=Symbol("");function us(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let o=0;o0&&xr&&xr.push(e),!0}const ps="3.2.47",fs="undefined"!=typeof document?document:null,ds=fs&&fs.createElement("template"),hs={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?fs.createElementNS("http://www.w3.org/2000/svg",e):fs.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>fs.createTextNode(e),createComment:e=>fs.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fs.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const i=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{ds.innerHTML=o?``:e;const r=ds.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};const ms=/\s*!important$/;function gs(e,t,n){if(E(n))n.forEach((n=>gs(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=ys[t];if(n)return n;let o=z(t);if("filter"!==o&&o in e)return ys[t]=o;o=q(o);for(let r=0;r{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Ut(function(e,t){if(E(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=(()=>Cs||(ks.then((()=>Cs=0)),Cs=Date.now()))(),n}(o,r);bs(e,n,i,l)}else i&&(!function(e,t,n,o){e.removeEventListener(t,n,o)}(e,n,i,l),s[t]=void 0)}}const xs=/(?:Once|Passive|Capture)$/;let Cs=0;const ks=Promise.resolve();const ws=/^on[a-z]/;function Ts(e,t){const n=Kn(e);class o extends Es{constructor(e){super(n,e,t)}}return o.def=n,o}const Ns="undefined"!=typeof HTMLElement?HTMLElement:class{};class Es extends Ns{constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Qt((()=>{this._connected||(wi(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let n=0;n{for(const t of e)this._setAttr(t.attributeName)})).observe(this,{attributes:!0});const e=(e,t=!1)=>{const{props:n,styles:o}=e;let r;if(n&&!E(n))for(const s in n){const e=n[s];(e===Number||e&&e.type===Number)&&(s in this._props&&(this._props[s]=ee(this._props[s])),(r||(r=Object.create(null)))[z(s)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this._applyStyles(o),this._update()},t=this._def.__asyncLoader;t?t().then((t=>e(t,!0))):e(this._def)}_resolveProps(e){const{props:t}=e,n=E(t)?t:Object.keys(t||{});for(const o of Object.keys(this))"_"!==o[0]&&n.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of n.map(z))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(e){this._setProp(o,e)}})}_setAttr(e){let t=this.getAttribute(e);const n=z(e);this._numberProps&&this._numberProps[n]&&(t=ee(t)),this._setProp(n,t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,o=!0){t!==this._props[e]&&(this._props[e]=t,o&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(G(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(G(e),t+""):t||this.removeAttribute(G(e))))}_update(){wi(this._createVNode(),this.shadowRoot)}_createVNode(){const e=Mr(this._def,k({},this._props));return this._instance||(e.ce=e=>{this._instance=e,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};e.emit=(e,...n)=>{t(e,n),G(e)!==e&&t(G(e),n)};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof Es){e.parent=n._instance,e.provides=n._instance.provides;break}}),e}_applyStyles(e){e&&e.forEach((e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)}))}}function Os(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{Os(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)As(e.el,t);else if(e.type===vr)e.children.forEach((e=>Os(e,t)));else if(e.type===br){let{el:n,anchor:o}=e;for(;n&&(As(n,t),n!==o);)n=n.nextSibling}}function As(e,t){if(1===e.nodeType){const n=e.style;for(const e in t)n.setProperty(`--${e}`,t[e])}}const Fs="transition",Ps="animation",Rs=(e,{slots:t})=>cs(Ln,Bs(e),t);Rs.displayName="Transition";const $s={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ms=Rs.props=k({},Ln.props,$s),Vs=(e,t=[])=>{E(e)?e.forEach((e=>e(...t))):e&&e(...t)},Is=e=>!!e&&(E(e)?e.some((e=>e.length>1)):e.length>1);function Bs(e){const t={};for(const k in e)k in $s||(t[k]=e[k]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:a=i,appearToClass:u=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,h=function(e){if(null==e)return null;if(M(e))return[Ls(e.enter),Ls(e.leave)];{const t=Ls(e);return[t,t]}}(r),m=h&&h[0],g=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:_,onLeave:b,onLeaveCancelled:S,onBeforeAppear:x=v,onAppear:C=y,onAppearCancelled:w=_}=t,T=(e,t,n)=>{Us(e,t?u:l),Us(e,t?a:i),n&&n()},N=(e,t)=>{e._isLeaving=!1,Us(e,p),Us(e,d),Us(e,f),t&&t()},E=e=>(t,n)=>{const r=e?C:y,i=()=>T(t,e,n);Vs(r,[t,i]),Ds((()=>{Us(t,e?c:s),js(t,e?u:l),Is(r)||Ws(t,o,m,i)}))};return k(t,{onBeforeEnter(e){Vs(v,[e]),js(e,s),js(e,i)},onBeforeAppear(e){Vs(x,[e]),js(e,c),js(e,a)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>N(e,t);js(e,p),qs(),js(e,f),Ds((()=>{e._isLeaving&&(Us(e,p),js(e,d),Is(b)||Ws(e,o,g,n))})),Vs(b,[e,n])},onEnterCancelled(e){T(e,!1),Vs(_,[e])},onAppearCancelled(e){T(e,!0),Vs(w,[e])},onLeaveCancelled(e){N(e),Vs(S,[e])}})}function Ls(e){return ee(e)}function js(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function Us(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ds(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Hs=0;function Ws(e,t,n,o){const r=e._endId=++Hs,s=()=>{r===e._endId&&o()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:c}=zs(e,t);if(!i)return o();const a=i+"end";let u=0;const p=()=>{e.removeEventListener(a,f),s()},f=t=>{t.target===e&&++u>=c&&p()};setTimeout((()=>{u(n[e]||"").split(", "),r=o("transitionDelay"),s=o("transitionDuration"),i=Ks(r,s),l=o("animationDelay"),c=o("animationDuration"),a=Ks(l,c);let u=null,p=0,f=0;t===Fs?i>0&&(u=Fs,p=i,f=s.length):t===Ps?a>0&&(u=Ps,p=a,f=c.length):(p=Math.max(i,a),u=p>0?i>a?Fs:Ps:null,f=u?u===Fs?s.length:c.length:0);return{type:u,timeout:p,propCount:f,hasTransform:u===Fs&&/\b(transform|all)(,|$)/.test(o("transitionProperty").toString())}}function Ks(e,t){for(;e.lengthGs(t)+Gs(e[n]))))}function Gs(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function qs(){return document.body.offsetHeight}const Js=new WeakMap,Zs=new WeakMap,Ys={name:"TransitionGroup",props:k({},Ms,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Gr(),o=In();let r,s;return ao((()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const o=e.cloneNode();e._vtc&&e._vtc.forEach((e=>{e.split(/\s+/).forEach((e=>e&&o.classList.remove(e)))}));n.split(/\s+/).forEach((e=>e&&o.classList.add(e))),o.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(o);const{hasTransform:s}=zs(o);return r.removeChild(o),s}(r[0].el,n.vnode.el,t))return;r.forEach(Xs),r.forEach(ei);const o=r.filter(ti);qs(),o.forEach((e=>{const n=e.el,o=n.style;js(n,t),o.transform=o.webkitTransform=o.transitionDuration="";const r=n._moveCb=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n._moveCb=null,Us(n,t))};n.addEventListener("transitionend",r)}))})),()=>{const i=xt(e),l=Bs(i);let c=i.tag||vr;r=s,s=t.default?zn(t.default()):[];for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return E(t)?e=>Y(t,e):t};function oi(e){e.target.composing=!0}function ri(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const si={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=ni(r);const s=o||r.props&&"number"===r.props.type;bs(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),s&&(o=X(o)),e._assign(o)})),n&&bs(e,"change",(()=>{e.value=e.value.trim()})),t||(bs(e,"compositionstart",oi),bs(e,"compositionend",ri),bs(e,"change",ri))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},s){if(e._assign=ni(s),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&X(e.value)===t)return}const i=null==t?"":t;e.value!==i&&(e.value=i)}},ii={deep:!0,created(e,t,n){e._assign=ni(n),bs(e,"change",(()=>{const t=e._modelValue,n=pi(e),o=e.checked,r=e._assign;if(E(t)){const e=m(t,n),s=-1!==e;if(o&&!s)r(t.concat(n));else if(!o&&s){const n=[...t];n.splice(e,1),r(n)}}else if(A(t)){const e=new Set(t);o?e.add(n):e.delete(n),r(e)}else r(fi(e,o))}))},mounted:li,beforeUpdate(e,t,n){e._assign=ni(n),li(e,t,n)}};function li(e,{value:t,oldValue:n},o){e._modelValue=t,E(t)?e.checked=m(t,o.props.value)>-1:A(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=h(t,fi(e,!0)))}const ci={created(e,{value:t},n){e.checked=h(t,n.props.value),e._assign=ni(n),bs(e,"change",(()=>{e._assign(pi(e))}))},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=ni(o),t!==n&&(e.checked=h(t,o.props.value))}},ai={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const r=A(t);bs(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?X(pi(e)):pi(e)));e._assign(e.multiple?r?new Set(t):t:t[0])})),e._assign=ni(o)},mounted(e,{value:t}){ui(e,t)},beforeUpdate(e,t,n){e._assign=ni(n)},updated(e,{value:t}){ui(e,t)}};function ui(e,t){const n=e.multiple;if(!n||E(t)||A(t)){for(let o=0,r=e.options.length;o-1:t.has(s);else if(h(pi(r),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function pi(e){return"_value"in e?e._value:e.value}function fi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const di={created(e,t,n){hi(e,t,n,null,"created")},mounted(e,t,n){hi(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){hi(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){hi(e,t,n,o,"updated")}};function hi(e,t,n,o,r){const s=function(e,t){switch(e){case"SELECT":return ai;case"TEXTAREA":return si;default:switch(t){case"checkbox":return ii;case"radio":return ci;default:return si}}}(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,o)}const mi=["ctrl","shift","alt","meta"],gi={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&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>mi.some((n=>e[`${n}Key`]&&!t.includes(n)))},vi={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},yi={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):_i(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),_i(e,!0),o.enter(e)):o.leave(e,(()=>{_i(e,!1)})):_i(e,t))},beforeUnmount(e,{value:t}){_i(e,t)}};function _i(e,t){e.style.display=t?e._vod:"none"}const bi=k({patchProp:(e,t,n,o,r=!1,s,i,l,c)=>{"class"===t?function(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,o,r):"style"===t?function(e,t,n){const o=e.style,r=R(n);if(n&&!r){if(t&&!R(t))for(const e in t)null==n[e]&&gs(o,e,"");for(const e in n)gs(o,e,n[e])}else{const s=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=s)}}(e,n,o):x(t)?C(t)||Ss(e,t,0,o,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&ws.test(t)&&P(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if(ws.test(t)&&R(n))return!1;return t in e}(e,t,o,r))?function(e,t,n,o,r,s,i){if("innerHTML"===t||"textContent"===t)return o&&i(o,r,s),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const o=null==n?"":n;return e.value===o&&"OPTION"!==e.tagName||(e.value=o),void(null==n&&e.removeAttribute(t))}let l=!1;if(""===n||null==n){const o=typeof e[t];"boolean"===o?n=d(n):null==n&&"string"===o?(n="",l=!0):"number"===o&&(n=0,l=!0)}try{e[t]=n}catch(c){}l&&e.removeAttribute(t)}(e,t,o,s,i,l,c):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),function(e,t,n,o,r){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(_s,t.slice(6,t.length)):e.setAttributeNS(_s,t,n);else{const o=f(t);null==n||o&&!d(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,o,r))}},hs);let Si,xi=!1;function Ci(){return Si||(Si=ir(bi))}function ki(){return Si=xi?Si:lr(bi),xi=!0,Si}const wi=(...e)=>{Ci().render(...e)},Ti=(...e)=>{ki().hydrate(...e)};function Ni(e){if(R(e)){return document.querySelector(e)}return e}const Ei=_;function Oi(e){throw e}function Ai(e){}function Fi(e,t,n,o){const r=new SyntaxError(String(e));return r.code=e,r.loc=t,r}const Pi=Symbol(""),Ri=Symbol(""),$i=Symbol(""),Mi=Symbol(""),Vi=Symbol(""),Ii=Symbol(""),Bi=Symbol(""),Li=Symbol(""),ji=Symbol(""),Ui=Symbol(""),Di=Symbol(""),Hi=Symbol(""),Wi=Symbol(""),zi=Symbol(""),Ki=Symbol(""),Gi=Symbol(""),qi=Symbol(""),Ji=Symbol(""),Zi=Symbol(""),Yi=Symbol(""),Qi=Symbol(""),Xi=Symbol(""),el=Symbol(""),tl=Symbol(""),nl=Symbol(""),ol=Symbol(""),rl=Symbol(""),sl=Symbol(""),il=Symbol(""),ll=Symbol(""),cl=Symbol(""),al=Symbol(""),ul=Symbol(""),pl=Symbol(""),fl=Symbol(""),dl=Symbol(""),hl=Symbol(""),ml=Symbol(""),gl=Symbol(""),vl={[Pi]:"Fragment",[Ri]:"Teleport",[$i]:"Suspense",[Mi]:"KeepAlive",[Vi]:"BaseTransition",[Ii]:"openBlock",[Bi]:"createBlock",[Li]:"createElementBlock",[ji]:"createVNode",[Ui]:"createElementVNode",[Di]:"createCommentVNode",[Hi]:"createTextVNode",[Wi]:"createStaticVNode",[zi]:"resolveComponent",[Ki]:"resolveDynamicComponent",[Gi]:"resolveDirective",[qi]:"resolveFilter",[Ji]:"withDirectives",[Zi]:"renderList",[Yi]:"renderSlot",[Qi]:"createSlots",[Xi]:"toDisplayString",[el]:"mergeProps",[tl]:"normalizeClass",[nl]:"normalizeStyle",[ol]:"normalizeProps",[rl]:"guardReactiveProps",[sl]:"toHandlers",[il]:"camelize",[ll]:"capitalize",[cl]:"toHandlerKey",[al]:"setBlockTracking",[ul]:"pushScopeId",[pl]:"popScopeId",[fl]:"withCtx",[dl]:"unref",[hl]:"isRef",[ml]:"withMemo",[gl]:"isMemoSame"};const yl={source:"",start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function _l(e,t,n,o,r,s,i,l=!1,c=!1,a=!1,u=yl){return e&&(l?(e.helper(Ii),e.helper(ql(e.inSSR,a))):e.helper(Gl(e.inSSR,a)),i&&e.helper(Ji)),{type:13,tag:t,props:n,children:o,patchFlag:r,dynamicProps:s,directives:i,isBlock:l,disableTracking:c,isComponent:a,loc:u}}function bl(e,t=yl){return{type:17,loc:t,elements:e}}function Sl(e,t=yl){return{type:15,loc:t,properties:e}}function xl(e,t){return{type:16,loc:yl,key:R(e)?Cl(e,!0):e,value:t}}function Cl(e,t=!1,n=yl,o=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:o}}function kl(e,t=yl){return{type:8,loc:t,children:e}}function wl(e,t=[],n=yl){return{type:14,loc:n,callee:e,arguments:t}}function Tl(e,t,n=!1,o=!1,r=yl){return{type:18,params:e,returns:t,newline:n,isSlot:o,loc:r}}function Nl(e,t,n,o=!0){return{type:19,test:e,consequent:t,alternate:n,newline:o,loc:yl}}const El=e=>4===e.type&&e.isStatic,Ol=(e,t)=>e===t||e===G(t);function Al(e){return Ol(e,"Teleport")?Ri:Ol(e,"Suspense")?$i:Ol(e,"KeepAlive")?Mi:Ol(e,"BaseTransition")?Vi:void 0}const Fl=/^\d|[^\$\w]/,Pl=e=>!Fl.test(e),Rl=/[A-Za-z_$\xA0-\uFFFF]/,$l=/[\.\?\w$\xA0-\uFFFF]/,Ml=/\s+[.[]\s*|\s*[.[]\s+/g,Vl=e=>{e=e.trim().replace(Ml,(e=>e.trim()));let t=0,n=[],o=0,r=0,s=null;for(let i=0;i4===e.key.type&&e.key.content===o))}return n}function Xl(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}function ec(e,{helper:t,removeHelper:n,inSSR:o}){e.isBlock||(e.isBlock=!0,n(Gl(o,e.isComponent)),t(Ii),t(ql(o,e.isComponent)))}const tc=/&(gt|lt|amp|apos|quot);/g,nc={gt:">",lt:"<",amp:"&",apos:"'",quot:'"'},oc={delimiters:["{{","}}"],getNamespace:()=>0,getTextMode:()=>0,isVoidTag:b,isPreTag:b,isCustomElement:b,decodeEntities:e=>e.replace(tc,((e,t)=>nc[t])),onError:Oi,onWarn:Ai,comments:!1};function rc(e,t={}){const n=function(e,t){const n=k({},oc);let o;for(o in t)n[o]=void 0===t[o]?oc[o]:t[o];return{options:n,column:1,line:1,offset:0,originalSource:e,source:e,inPre:!1,inVPre:!1,onWarn:n.onWarn}}(e,t),o=yc(n);return function(e,t=yl){return{type:0,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:t}}(sc(n,0,[]),_c(n,o))}function sc(e,t,n){const o=bc(n),r=o?o.ns:0,s=[];for(;!wc(e,t,n);){const i=e.source;let l;if(0===t||1===t)if(!e.inVPre&&Sc(i,e.options.delimiters[0]))l=mc(e,t);else if(0===t&&"<"===i[0])if(1===i.length);else if("!"===i[1])l=Sc(i,"\x3c!--")?cc(e):Sc(i,""===i[2]){xc(e,3);continue}if(/[a-z]/i.test(i[2])){fc(e,1,o);continue}l=ac(e)}else/[a-z]/i.test(i[1])?l=uc(e,n):"?"===i[1]&&(l=ac(e));if(l||(l=gc(e,t)),E(l))for(let e=0;e/.exec(e.source);if(o){n=e.source.slice(4,o.index);const t=e.source.slice(0,o.index);let r=1,s=0;for(;-1!==(s=t.indexOf("\x3c!--",r));)xc(e,s-r+1),r=s+1;xc(e,o.index+o[0].length-r+1)}else n=e.source.slice(4),xc(e,e.source.length);return{type:3,content:n,loc:_c(e,t)}}function ac(e){const t=yc(e),n="?"===e.source[1]?1:2;let o;const r=e.source.indexOf(">");return-1===r?(o=e.source.slice(n),xc(e,e.source.length)):(o=e.source.slice(n,r),xc(e,r+1)),{type:3,content:o,loc:_c(e,t)}}function uc(e,t){const n=e.inPre,o=e.inVPre,r=bc(t),s=fc(e,0,r),i=e.inPre&&!n,l=e.inVPre&&!o;if(s.isSelfClosing||e.options.isVoidTag(s.tag))return i&&(e.inPre=!1),l&&(e.inVPre=!1),s;t.push(s);const c=e.options.getTextMode(s,r),a=sc(e,c,t);if(t.pop(),s.children=a,Tc(e.source,s.tag))fc(e,1,r);else if(0===e.source.length&&"script"===s.tag.toLowerCase()){const e=a[0];e&&Sc(e.loc.source,"\x3c!--")}return s.loc=_c(e,s.loc.start),i&&(e.inPre=!1),l&&(e.inVPre=!1),s}const pc=t("if,else,else-if,for,slot");function fc(e,t,n){const o=yc(e),r=/^<\/?([a-z][^\t\r\n\f />]*)/i.exec(e.source),s=r[1],i=e.options.getNamespace(s,n);xc(e,r[0].length),Cc(e);const l=yc(e),c=e.source;e.options.isPreTag(s)&&(e.inPre=!0);let a=dc(e,t);0===t&&!e.inVPre&&a.some((e=>7===e.type&&"pre"===e.name))&&(e.inVPre=!0,k(e,l),e.source=c,a=dc(e,t).filter((e=>"v-pre"!==e.name)));let u=!1;if(0===e.source.length||(u=Sc(e.source,"/>"),xc(e,u?2:1)),1===t)return;let p=0;return e.inVPre||("slot"===s?p=2:"template"===s?a.some((e=>7===e.type&&pc(e.name)))&&(p=3):function(e,t,n){const o=n.options;if(o.isCustomElement(e))return!1;if("component"===e||/^[A-Z]/.test(e)||Al(e)||o.isBuiltInComponent&&o.isBuiltInComponent(e)||o.isNativeTag&&!o.isNativeTag(e))return!0;for(let r=0;r0&&!Sc(e.source,">")&&!Sc(e.source,"/>");){if(Sc(e.source,"/")){xc(e,1),Cc(e);continue}const r=hc(e,o);6===r.type&&r.value&&"class"===r.name&&(r.value.content=r.value.content.replace(/\s+/g," ").trim()),0===t&&n.push(r),/^[^\t\r\n\f />]/.test(e.source),Cc(e)}return n}function hc(e,t){const n=yc(e),o=/^[^\t\r\n\f />][^\t\r\n\f />=]*/.exec(e.source)[0];t.has(o),t.add(o);{const e=/["'<]/g;let t;for(;t=e.exec(o););}let r;xc(e,o.length),/^[\t\r\n\f ]*=/.test(e.source)&&(Cc(e),xc(e,1),Cc(e),r=function(e){const t=yc(e);let n;const o=e.source[0],r='"'===o||"'"===o;if(r){xc(e,1);const t=e.source.indexOf(o);-1===t?n=vc(e,e.source.length,4):(n=vc(e,t,4),xc(e,1))}else{const t=/^[^\t\r\n\f >]+/.exec(e.source);if(!t)return;const o=/["'<=`]/g;let r;for(;r=o.exec(t[0]););n=vc(e,t[0].length,4)}return{content:n,isQuoted:r,loc:_c(e,t)}}(e));const s=_c(e,n);if(!e.inVPre&&/^(v-[A-Za-z0-9-]|:|\.|@|#)/.test(o)){const t=/(?:^v-([a-z0-9-]+))?(?:(?::|^\.|^@|^#)(\[[^\]]+\]|[^\.]+))?(.+)?$/i.exec(o);let i,l=Sc(o,"."),c=t[1]||(l||Sc(o,":")?"bind":Sc(o,"@")?"on":"slot");if(t[2]){const r="slot"===c,s=o.lastIndexOf(t[2]),l=_c(e,kc(e,n,s),kc(e,n,s+t[2].length+(r&&t[3]||"").length));let a=t[2],u=!0;a.startsWith("[")?(u=!1,a=a.endsWith("]")?a.slice(1,a.length-1):a.slice(1)):r&&(a+=t[3]||""),i={type:4,content:a,isStatic:u,constType:u?3:0,loc:l}}if(r&&r.isQuoted){const e=r.loc;e.start.offset++,e.start.column++,e.end=Bl(e.start,r.content),e.source=e.source.slice(1,-1)}const a=t[3]?t[3].slice(1).split("."):[];return l&&a.push("prop"),{type:7,name:c,exp:r&&{type:4,content:r.content,isStatic:!1,constType:0,loc:r.loc},arg:i,modifiers:a,loc:s}}return!e.inVPre&&Sc(o,"v-"),{type:6,name:o,value:r&&{type:2,content:r.content,loc:r.loc},loc:s}}function mc(e,t){const[n,o]=e.options.delimiters,r=e.source.indexOf(o,n.length);if(-1===r)return;const s=yc(e);xc(e,n.length);const i=yc(e),l=yc(e),c=r-n.length,a=e.source.slice(0,c),u=vc(e,c,t),p=u.trim(),f=u.indexOf(p);f>0&&Ll(i,a,f);return Ll(l,a,c-(u.length-p.length-f)),xc(e,o.length),{type:5,content:{type:4,isStatic:!1,constType:0,content:p,loc:_c(e,i,l)},loc:_c(e,s)}}function gc(e,t){const n=3===t?["]]>"]:["<",e.options.delimiters[0]];let o=e.source.length;for(let s=0;st&&(o=t)}const r=yc(e);return{type:2,content:vc(e,o,t),loc:_c(e,r)}}function vc(e,t,n){const o=e.source.slice(0,t);return xc(e,t),2!==n&&3!==n&&o.includes("&")?e.options.decodeEntities(o,4===n):o}function yc(e){const{column:t,line:n,offset:o}=e;return{column:t,line:n,offset:o}}function _c(e,t,n){return{start:t,end:n=n||yc(e),source:e.originalSource.slice(t.offset,n.offset)}}function bc(e){return e[e.length-1]}function Sc(e,t){return e.startsWith(t)}function xc(e,t){const{source:n}=e;Ll(e,n,t),e.source=n.slice(t)}function Cc(e){const t=/^[\t\r\n\f ]+/.exec(e.source);t&&xc(e,t[0].length)}function kc(e,t,n){return Bl(t,e.originalSource.slice(t.offset,n),n)}function wc(e,t,n){const o=e.source;switch(t){case 0:if(Sc(o,""))for(let e=n.length-1;e>=0;--e)if(Tc(o,n[e].tag))return!0;break;case 1:case 2:{const e=bc(n);if(e&&Tc(o,e.tag))return!0;break}case 3:if(Sc(o,"]]>"))return!0}return!o}function Tc(e,t){return Sc(e,"")&&e.slice(2,2+t.length).toLowerCase()===t.toLowerCase()&&/[\t\r\n\f />]/.test(e[2+t.length]||">")}function Nc(e,t){Oc(e,t,Ec(e,e.children[0]))}function Ec(e,t){const{children:n}=e;return 1===n.length&&1===t.type&&!Kl(t)}function Oc(e,t,n=!1){const{children:o}=e,r=o.length;let s=0;for(let i=0;i0){if(o>=2){e.codegenNode.patchFlag="-1",e.codegenNode=t.hoist(e.codegenNode),s++;continue}}else{const n=e.codegenNode;if(13===n.type){const o=Mc(n);if((!o||512===o||1===o)&&Rc(e,t)>=2){const o=$c(e);o&&(n.props=t.hoist(o))}n.dynamicProps&&(n.dynamicProps=t.hoist(n.dynamicProps))}}}if(1===e.type){const n=1===e.tagType;n&&t.scopes.vSlot++,Oc(e,t),n&&t.scopes.vSlot--}else if(11===e.type)Oc(e,t,1===e.children.length);else if(9===e.type)for(let n=0;n1)for(let r=0;r`_${vl[w.helper(e)]}`,replaceNode(e){w.parent.children[w.childIndex]=w.currentNode=e},removeNode(e){const t=e?w.parent.children.indexOf(e):w.currentNode?w.childIndex:-1;e&&e!==w.currentNode?w.childIndex>t&&(w.childIndex--,w.onNodeRemoved()):(w.currentNode=null,w.onNodeRemoved()),w.parent.children.splice(t,1)},onNodeRemoved:()=>{},addIdentifiers(e){},removeIdentifiers(e){},hoist(e){R(e)&&(e=Cl(e)),w.hoists.push(e);const t=Cl(`_hoisted_${w.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache:(e,t=!1)=>function(e,t,n=!1){return{type:20,index:e,value:t,isVNode:n,loc:yl}}(w.cached++,e,t)};return w}function Ic(e,t){const n=Vc(e,t);Bc(e,n),t.hoistStatic&&Nc(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:o}=e;if(1===o.length){const n=o[0];if(Ec(e,n)&&n.codegenNode){const o=n.codegenNode;13===o.type&&ec(o,t),e.codegenNode=o}else e.codegenNode=n}else if(o.length>1){let o=64;e.codegenNode=_l(t,n(Pi),void 0,e.children,o+"",void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached}function Bc(e,t){t.currentNode=e;const{nodeTransforms:n}=t,o=[];for(let s=0;s{n--};for(;nt===e:t=>e.test(t);return(e,o)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some(Wl))return;const s=[];for(let i=0;i`${vl[e]}: _${vl[e]}`;function Dc(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:o=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:i=!1,runtimeGlobalName:l="Vue",runtimeModuleName:c="vue",ssrRuntimeModuleName:a="vue/server-renderer",ssr:u=!1,isTS:p=!1,inSSR:f=!1}){const d={mode:t,prefixIdentifiers:n,sourceMap:o,filename:r,scopeId:s,optimizeImports:i,runtimeGlobalName:l,runtimeModuleName:c,ssrRuntimeModuleName:a,ssr:u,isTS:p,inSSR:f,source:e.loc.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${vl[e]}`,push(e,t){d.code+=e},indent(){h(++d.indentLevel)},deindent(e=!1){e?--d.indentLevel:h(--d.indentLevel)},newline(){h(d.indentLevel)}};function h(e){d.push("\n"+" ".repeat(e))}return d}function Hc(e,t={}){const n=Dc(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:o,push:r,prefixIdentifiers:s,indent:i,deindent:l,newline:c,ssr:a}=n,u=Array.from(e.helpers),p=u.length>0,f=!s&&"module"!==o,d=n;!function(e,t){const{push:n,newline:o,runtimeGlobalName:r}=t,s=r,i=Array.from(e.helpers);if(i.length>0&&(n(`const _Vue = ${s}\n`),e.hoists.length)){n(`const { ${[ji,Ui,Di,Hi,Wi].filter((e=>i.includes(e))).map(Uc).join(", ")} } = _Vue\n`)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:o}=t;o();for(let r=0;r0)&&c()),e.directives.length&&(Wc(e.directives,"directive",n),e.temps>0&&c()),e.temps>0){r("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n"),c()),a||r("return "),e.codegenNode?Gc(e.codegenNode,n):r("null"),f&&(l(),r("}")),l(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function Wc(e,t,{helper:n,push:o,newline:r,isTS:s}){const i=n("component"===t?zi:Gi);for(let l=0;l3||!1;t.push("["),n&&t.indent(),Kc(e,t,n),n&&t.deindent(),t.push("]")}function Kc(e,t,n=!1,o=!0){const{push:r,newline:s}=t;for(let i=0;ie||"null"))}([s,i,l,c,a]),t),n(")"),p&&n(")");u&&(n(", "),Gc(u,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:o,pure:r}=t,s=R(e.callee)?e.callee:o(e.callee);r&&n(jc);n(s+"(",e),Kc(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:o,deindent:r,newline:s}=t,{properties:i}=e;if(!i.length)return void n("{}",e);const l=i.length>1||!1;n(l?"{":"{ "),l&&o();for(let c=0;c "),(c||l)&&(n("{"),o());i?(c&&n("return "),E(i)?zc(i,t):Gc(i,t)):l&&Gc(l,t);(c||l)&&(r(),n("}"));a&&n(")")}(e,t);break;case 19:!function(e,t){const{test:n,consequent:o,alternate:r,newline:s}=e,{push:i,indent:l,deindent:c,newline:a}=t;if(4===n.type){const e=!Pl(n.content);e&&i("("),qc(n,t),e&&i(")")}else i("("),Gc(n,t),i(")");s&&l(),t.indentLevel++,s||i(" "),i("? "),Gc(o,t),t.indentLevel--,s&&a(),s||i(" "),i(": ");const u=19===r.type;u||t.indentLevel++;Gc(r,t),u||t.indentLevel--;s&&c(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:o,indent:r,deindent:s,newline:i}=t;n(`_cache[${e.index}] || (`),e.isVNode&&(r(),n(`${o(al)}(-1),`),i());n(`_cache[${e.index}] = `),Gc(e.value,t),e.isVNode&&(n(","),i(),n(`${o(al)}(1),`),i(),n(`_cache[${e.index}]`),s());n(")")}(e,t);break;case 21:Kc(e.body,t,!0,!1)}}function qc(e,t){const{content:n,isStatic:o}=e;t.push(o?JSON.stringify(n):n,e)}function Jc(e,t){for(let n=0;nfunction(e,t,n,o){if(!("else"===t.name||t.exp&&t.exp.content.trim())){t.exp=Cl("true",!1,t.exp?t.exp.loc:e.loc)}if("if"===t.name){const r=Qc(e,t),s={type:9,loc:e.loc,branches:[r]};if(n.replaceNode(s),o)return o(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const i=r[s];if(i&&3===i.type)n.removeNode(i);else{if(!i||2!==i.type||i.content.trim().length){if(i&&9===i.type){n.removeNode();const r=Qc(e,t);i.branches.push(r);const s=o&&o(i,r,!1);Bc(r,n),s&&s(),n.currentNode=null}break}n.removeNode(i)}}}}(e,t,n,((e,t,o)=>{const r=n.parent.children;let s=r.indexOf(e),i=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(i+=e.branches.length)}return()=>{if(o)e.codegenNode=Xc(t,i,n);else{const o=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);o.alternate=Xc(t,i+e.branches.length-1,n)}}}))));function Qc(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!jl(e,"for")?e.children:[e],userKey:Ul(e,"key"),isTemplateIf:n}}function Xc(e,t,n){return e.condition?Nl(e.condition,ea(e,t,n),wl(n.helper(Di),['""',"true"])):ea(e,t,n)}function ea(e,t,n){const{helper:o}=n,r=xl("key",Cl(`${t}`,!1,yl,2)),{children:s}=e,i=s[0];if(1!==s.length||1!==i.type){if(1===s.length&&11===i.type){const e=i.codegenNode;return Yl(e,r,n),e}{let t=64;return _l(n,o(Pi),Sl([r]),s,t+"",void 0,void 0,!0,!1,!1,e.loc)}}{const e=i.codegenNode,t=14===(l=e).type&&l.callee===ml?l.arguments[1].returns:l;return 13===t.type&&ec(t,n),Yl(t,r,n),e}var l}const ta=Lc("for",((e,t,n)=>{const{helper:o,removeHelper:r}=n;return function(e,t,n,o){if(!t.exp)return;const r=sa(t.exp);if(!r)return;const{scopes:s}=n,{source:i,value:l,key:c,index:a}=r,u={type:11,loc:t.loc,source:i,valueAlias:l,keyAlias:c,objectIndexAlias:a,parseResult:r,children:zl(e)?e.children:[e]};n.replaceNode(u),s.vFor++;const p=o&&o(u);return()=>{s.vFor--,p&&p()}}(e,t,n,(t=>{const s=wl(o(Zi),[t.source]),i=zl(e),l=jl(e,"memo"),c=Ul(e,"key"),a=c&&(6===c.type?Cl(c.value.content,!0):c.exp),u=c?xl("key",a):null,p=4===t.source.type&&t.source.constType>0,f=p?64:c?128:256;return t.codegenNode=_l(n,o(Pi),void 0,s,f+"",void 0,void 0,!0,!p,!1,e.loc),()=>{let c;const{children:f}=t,d=1!==f.length||1!==f[0].type,h=Kl(e)?e:i&&1===e.children.length&&Kl(e.children[0])?e.children[0]:null;if(h?(c=h.codegenNode,i&&u&&Yl(c,u,n)):d?c=_l(n,o(Pi),u?Sl([u]):void 0,e.children,"64",void 0,void 0,!0,void 0,!1):(c=f[0].codegenNode,i&&u&&Yl(c,u,n),c.isBlock!==!p&&(c.isBlock?(r(Ii),r(ql(n.inSSR,c.isComponent))):r(Gl(n.inSSR,c.isComponent))),c.isBlock=!p,c.isBlock?(o(Ii),o(ql(n.inSSR,c.isComponent))):o(Gl(n.inSSR,c.isComponent))),l){const e=Tl(la(t.parseResult,[Cl("_cached")]));e.body={type:21,body:[kl(["const _memo = (",l.exp,")"]),kl(["if (_cached",...a?[" && _cached.key === ",a]:[],` && ${n.helperString(gl)}(_cached, _memo)) return _cached`]),kl(["const _item = ",c]),Cl("_item.memo = _memo"),Cl("return _item")],loc:yl},s.arguments.push(e,Cl("_cache"),Cl(String(n.cached++)))}else s.arguments.push(Tl(la(t.parseResult),c,!0))}}))}));const na=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,oa=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ra=/^\(|\)$/g;function sa(e,t){const n=e.loc,o=e.content,r=o.match(na);if(!r)return;const[,s,i]=r,l={source:ia(n,i.trim(),o.indexOf(i,s.length)),value:void 0,key:void 0,index:void 0};let c=s.trim().replace(ra,"").trim();const a=s.indexOf(c),u=c.match(oa);if(u){c=c.replace(oa,"").trim();const e=u[1].trim();let t;if(e&&(t=o.indexOf(e,a+c.length),l.key=ia(n,e,t)),u[2]){const r=u[2].trim();r&&(l.index=ia(n,r,o.indexOf(r,l.key?t+e.length:a+c.length)))}}return c&&(l.value=ia(n,c,a)),l}function ia(e,t,n){return Cl(t,!1,Il(e,n,t.length))}function la({value:e,key:t,index:n},o=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||Cl("_".repeat(t+1),!1)))}([e,t,n,...o])}const ca=Cl("undefined",!1),aa=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=jl(e,"slot");if(n)return t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},ua=(e,t,n)=>Tl(e,t,!1,!0,t.length?t[0].loc:n);function pa(e,t,n=ua){t.helper(fl);const{children:o,loc:r}=e,s=[],i=[];let l=t.scopes.vSlot>0||t.scopes.vFor>0;const c=jl(e,"slot",!0);if(c){const{arg:e,exp:t}=c;e&&!El(e)&&(l=!0),s.push(xl(e||Cl("default",!0),n(t,o,r)))}let a=!1,u=!1;const p=[],f=new Set;let d=0;for(let g=0;gxl("default",n(e,t,r));a?p.length&&p.some((e=>ha(e)))&&(u||s.push(e(void 0,p))):s.push(e(void 0,o))}const h=l?2:da(e.children)?3:1;let m=Sl(s.concat(xl("_",Cl(h+"",!1))),r);return i.length&&(m=wl(t.helper(Qi),[m,bl(i)])),{slots:m,hasDynamicSlots:l}}function fa(e,t,n){const o=[xl("name",e),xl("fn",t)];return null!=n&&o.push(xl("key",Cl(String(n),!0))),Sl(o)}function da(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:o}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:o}=e;const r=ba(o),s=Ul(e,"is");if(s)if(r){const e=6===s.type?s.value&&Cl(s.value.content,!0):s.exp;if(e)return wl(t.helper(Ki),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(o=s.value.content.slice(4));const i=!r&&jl(e,"is");if(i&&i.exp)return wl(t.helper(Ki),[i.exp]);const l=Al(o)||t.isBuiltInComponent(o);if(l)return n||t.helper(l),l;return t.helper(zi),t.components.add(o),Xl(o,"component")}(e,t):`"${n}"`;const i=M(s)&&s.callee===Ki;let l,c,a,u,p,f,d=0,h=i||s===Ri||s===$i||!r&&("svg"===n||"foreignObject"===n);if(o.length>0){const n=va(e,t,void 0,r,i);l=n.props,d=n.patchFlag,p=n.dynamicPropNames;const o=n.directives;f=o&&o.length?bl(o.map((e=>function(e,t){const n=[],o=ma.get(e);o?n.push(t.helperString(o)):(t.helper(Gi),t.directives.add(e.name),n.push(Xl(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=Cl("true",!1,r);n.push(Sl(e.modifiers.map((e=>xl(e,t))),r))}return bl(n,e.loc)}(e,t)))):void 0,n.shouldUseBlock&&(h=!0)}if(e.children.length>0){s===Mi&&(h=!0,d|=1024);if(r&&s!==Ri&&s!==Mi){const{slots:n,hasDynamicSlots:o}=pa(e,t);c=n,o&&(d|=1024)}else if(1===e.children.length&&s!==Ri){const n=e.children[0],o=n.type,r=5===o||8===o;r&&0===Ac(n,t)&&(d|=1),c=r||2===o?n:e.children}else c=e.children}0!==d&&(a=String(d),p&&p.length&&(u=function(e){let t="[";for(let n=0,o=e.length;n0;let d=!1,h=0,m=!1,g=!1,v=!1,y=!1,_=!1,b=!1;const S=[],C=e=>{a.length&&(u.push(Sl(ya(a),l)),a=[]),e&&u.push(e)},k=({key:e,value:n})=>{if(El(e)){const s=e.content,i=x(s);if(!i||o&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||U(s)||(y=!0),i&&U(s)&&(b=!0),20===n.type||(4===n.type||8===n.type)&&Ac(n,t)>0)return;"ref"===s?m=!0:"class"===s?g=!0:"style"===s?v=!0:"key"===s||S.includes(s)||S.push(s),!o||"class"!==s&&"style"!==s||S.includes(s)||S.push(s)}else _=!0};for(let x=0;x0&&a.push(xl(Cl("ref_for",!0),Cl("true")))),"is"===n&&(ba(i)||o&&o.content.startsWith("vue:")))continue;a.push(xl(Cl(n,!0,Il(e,0,n.length)),Cl(o?o.content:"",s,o?o.loc:e)))}else{const{name:n,arg:c,exp:h,loc:m}=r,g="bind"===n,v="on"===n;if("slot"===n)continue;if("once"===n||"memo"===n)continue;if("is"===n||g&&Dl(c,"is")&&ba(i))continue;if(v&&s)continue;if((g&&Dl(c,"key")||v&&f&&Dl(c,"vue:before-update"))&&(d=!0),g&&Dl(c,"ref")&&t.scopes.vFor>0&&a.push(xl(Cl("ref_for",!0),Cl("true"))),!c&&(g||v)){_=!0,h&&(g?(C(),u.push(h)):C({type:14,loc:m,callee:t.helper(sl),arguments:o?[h]:[h,"true"]}));continue}const y=t.directiveTransforms[n];if(y){const{props:n,needRuntime:o}=y(r,e,t);!s&&n.forEach(k),v&&c&&!El(c)?C(Sl(n,l)):a.push(...n),o&&(p.push(r),$(o)&&ma.set(r,o))}else D(n)||(p.push(r),f&&(d=!0))}}let w;if(u.length?(C(),w=u.length>1?wl(t.helper(el),u,l):u[0]):a.length&&(w=Sl(ya(a),l)),_?h|=16:(g&&!o&&(h|=2),v&&!o&&(h|=4),S.length&&(h|=8),y&&(h|=32)),d||0!==h&&32!==h||!(m||b||p.length>0)||(h|=512),!t.inSSR&&w)switch(w.type){case 15:let e=-1,n=-1,o=!1;for(let t=0;t{if(Kl(e)){const{children:n,loc:o}=e,{slotName:r,slotProps:s}=function(e,t){let n,o='"default"';const r=[];for(let s=0;s0){const{props:o,directives:s}=va(e,t,r,!1,!1);n=o}return{slotName:o,slotProps:n}}(e,t),i=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let l=2;s&&(i[2]=s,l=3),n.length&&(i[3]=Tl([],n,!1,!1,o),l=4),t.scopeId&&!t.slotted&&(l=5),i.splice(l),e.codegenNode=wl(t.helper(Yi),i,o)}};const xa=/^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,Ca=(e,t,n,o)=>{const{loc:r,modifiers:s,arg:i}=e;let l;if(4===i.type)if(i.isStatic){let e=i.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);l=Cl(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?J(z(e)):`on:${e}`,!0,i.loc)}else l=kl([`${n.helperString(cl)}(`,i,")"]);else l=i,l.children.unshift(`${n.helperString(cl)}(`),l.children.push(")");let c=e.exp;c&&!c.content.trim()&&(c=void 0);let a=n.cacheHandlers&&!c&&!n.inVOnce;if(c){const e=Vl(c.content),t=!(e||xa.test(c.content)),n=c.content.includes(";");(t||a&&e)&&(c=kl([`${t?"$event":"(...args)"} => ${n?"{":"("}`,c,n?"}":")"]))}let u={props:[xl(l,c||Cl("() => {}",!1,r))]};return o&&(u=o(u)),a&&(u.props[0].value=n.cache(u.props[0].value)),u.props.forEach((e=>e.key.isHandlerKey=!0)),u},ka=(e,t,n)=>{const{exp:o,modifiers:r,loc:s}=e,i=e.arg;return 4!==i.type?(i.children.unshift("("),i.children.push(') || ""')):i.isStatic||(i.content=`${i.content} || ""`),r.includes("camel")&&(4===i.type?i.content=i.isStatic?z(i.content):`${n.helperString(il)}(${i.content})`:(i.children.unshift(`${n.helperString(il)}(`),i.children.push(")"))),n.inSSR||(r.includes("prop")&&wa(i,"."),r.includes("attr")&&wa(i,"^")),!o||4===o.type&&!o.content.trim()?{props:[xl(i,Cl("",!0,s))]}:{props:[xl(i,o)]}},wa=(e,t)=>{4===e.type?e.content=e.isStatic?t+e.content:`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},Ta=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let o,r=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])))))for(let e=0;e{if(1===e.type&&jl(e,"once",!0)){if(Na.has(e)||t.inVOnce)return;return Na.add(e),t.inVOnce=!0,t.helper(al),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}}},Oa=(e,t,n)=>{const{exp:o,arg:r}=e;if(!o)return Aa();const s=o.loc.source,i=4===o.type?o.content:s,l=n.bindingMetadata[s];if("props"===l||"props-aliased"===l)return Aa();if(!i.trim()||!Vl(i))return Aa();const c=r||Cl("modelValue",!0),a=r?El(r)?`onUpdate:${z(r.content)}`:kl(['"onUpdate:" + ',r]):"onUpdate:modelValue";let u;u=kl([`${n.isTS?"($event: any)":"$event"} => ((`,o,") = $event)"]);const p=[xl(c,e.exp),xl(a,u)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map((e=>(Pl(e)?e:JSON.stringify(e))+": true")).join(", "),n=r?El(r)?`${r.content}Modifiers`:kl([r,' + "Modifiers"']):"modelModifiers";p.push(xl(n,Cl(`{ ${t} }`,!1,e.loc,2)))}return Aa(p)};function Aa(e=[]){return{props:e}}const Fa=new WeakSet,Pa=(e,t)=>{if(1===e.type){const n=jl(e,"memo");if(!n||Fa.has(e))return;return Fa.add(e),()=>{const o=e.codegenNode||t.currentNode.codegenNode;o&&13===o.type&&(1!==e.tagType&&ec(o,t),e.codegenNode=wl(t.helper(ml),[n.exp,Tl(void 0,o),"_cache",String(t.cached++)]))}}};function Ra(e,t={}){const n=t.onError||Oi,o="module"===t.mode;!0===t.prefixIdentifiers?n(Fi(47)):o&&n(Fi(48));t.cacheHandlers&&n(Fi(49)),t.scopeId&&!o&&n(Fi(50));const r=R(e)?rc(e,t):e,[s,i]=[[Ea,Yc,Pa,ta,Sa,ga,aa,Ta],{on:Ca,bind:ka,model:Oa}];return Ic(r,k({},t,{prefixIdentifiers:false,nodeTransforms:[...s,...t.nodeTransforms||[]],directiveTransforms:k({},i,t.directiveTransforms||{})})),Hc(r,k({},t,{prefixIdentifiers:false}))}const $a=Symbol(""),Ma=Symbol(""),Va=Symbol(""),Ia=Symbol(""),Ba=Symbol(""),La=Symbol(""),ja=Symbol(""),Ua=Symbol(""),Da=Symbol(""),Ha=Symbol("");var Wa;let za;Wa={[$a]:"vModelRadio",[Ma]:"vModelCheckbox",[Va]:"vModelText",[Ia]:"vModelSelect",[Ba]:"vModelDynamic",[La]:"withModifiers",[ja]:"withKeys",[Ua]:"vShow",[Da]:"Transition",[Ha]:"TransitionGroup"},Object.getOwnPropertySymbols(Wa).forEach((e=>{vl[e]=Wa[e]}));const Ka=t("style,iframe,script,noscript",!0),Ga={isVoidTag:p,isNativeTag:e=>a(e)||u(e),isPreTag:e=>"pre"===e,decodeEntities:function(e,t=!1){return za||(za=document.createElement("div")),t?(za.innerHTML=``,za.children[0].getAttribute("foo")):(za.innerHTML=e,za.textContent)},isBuiltInComponent:e=>Ol(e,"Transition")?Da:Ol(e,"TransitionGroup")?Ha:void 0,getNamespace(e,t){let n=t?t.ns:0;if(t&&2===n)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(n=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(n=0);else t&&1===n&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(n=0));if(0===n){if("svg"===e)return 1;if("math"===e)return 2}return n},getTextMode({tag:e,ns:t}){if(0===t){if("textarea"===e||"title"===e)return 1;if(Ka(e))return 2}return 0}},qa=(e,t)=>{const n=l(e);return Cl(JSON.stringify(n),!1,t,3)};const Ja=t("passive,once,capture"),Za=t("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),Ya=t("left,right"),Qa=t("onkeyup,onkeydown,onkeypress",!0),Xa=(e,t)=>El(e)&&"onclick"===e.content.toLowerCase()?Cl(t,!0):4!==e.type?kl(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,eu=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()},tu=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:Cl("style",!0,t.loc),exp:qa(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],nu={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:o,loc:r}=e;return t.children.length&&(t.children.length=0),{props:[xl(Cl("innerHTML",!0,r),o||Cl("",!0))]}},text:(e,t,n)=>{const{exp:o,loc:r}=e;return t.children.length&&(t.children.length=0),{props:[xl(Cl("textContent",!0),o?Ac(o,n)>0?o:wl(n.helperString(Xi),[o],r):Cl("",!0))]}},model:(e,t,n)=>{const o=Oa(e,t,n);if(!o.props.length||1===t.tagType)return o;const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let e=Va,i=!1;if("input"===r||s){const n=Ul(t,"type");if(n){if(7===n.type)e=Ba;else if(n.value)switch(n.value.content){case"radio":e=$a;break;case"checkbox":e=Ma;break;case"file":i=!0}}else(function(e){return e.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))})(t)&&(e=Ba)}else"select"===r&&(e=Ia);i||(o.needRuntime=n.helper(e))}return o.props=o.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),o},on:(e,t,n)=>Ca(e,t,n,(t=>{const{modifiers:o}=e;if(!o.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:i,nonKeyModifiers:l,eventOptionModifiers:c}=((e,t,n,o)=>{const r=[],s=[],i=[];for(let l=0;l
({props:[],needRuntime:n.helper(Ua)})};const ou=Object.create(null);function ru(e,t){if(!R(e)){if(!e.nodeType)return _;e=e.innerHTML}const n=e,o=ou[n];if(o)return o;if("#"===e[0]){const t=document.querySelector(e);e=t?t.innerHTML:""}const r=k({hoistStatic:!0,onError:void 0,onWarn:_},t);r.isCustomElement||"undefined"==typeof customElements||(r.isCustomElement=e=>!!customElements.get(e));const{code:s}=function(e,t={}){return Ra(e,k({},Ga,t,{nodeTransforms:[eu,...tu,...t.nodeTransforms||[]],directiveTransforms:k({},nu,t.directiveTransforms||{}),transformHoist:null}))}(e,r),i=new Function(s)();return i._rc=!0,ou[n]=i}return ts(ru),e.BaseTransition=Ln,e.Comment=_r,e.EffectScope=oe,e.Fragment=vr,e.KeepAlive=Zn,e.ReactiveEffect=me,e.Static=br,e.Suspense=xn,e.Teleport=mr,e.Text=yr,e.Transition=Rs,e.TransitionGroup=Qs,e.VueElement=Es,e.assertNumber=function(e,t){},e.callWithAsyncErrorHandling=Ut,e.callWithErrorHandling=jt,e.camelize=z,e.capitalize=q,e.cloneVNode=Ir,e.compatUtils=null,e.compile=ru,e.computed=is,e.createApp=(...e)=>{const t=Ci().createApp(...e),{mount:n}=t;return t.mount=e=>{const o=Ni(e);if(!o)return;const r=t._component;P(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t},e.createBlock=Er,e.createCommentVNode=function(e="",t=!1){return t?(Cr(),Er(_r,null,e)):Mr(_r,null,e)},e.createElementBlock=function(e,t,n,o,r,s){return Nr($r(e,t,n,o,r,s,!0))},e.createElementVNode=$r,e.createHydrationRenderer=lr,e.createPropsRestProxy=function(e,t){const n={};for(const o in e)t.includes(o)||Object.defineProperty(n,o,{enumerable:!0,get:()=>e[o]});return n},e.createRenderer=ir,e.createSSRApp=(...e)=>{const t=ki().createApp(...e),{mount:n}=t;return t.mount=e=>{const t=Ni(e);if(t)return n(t,!0,t instanceof SVGElement)},t},e.createSlots=function(e,t){for(let n=0;n{const t=o.fn(...e);return t&&(t.key=o.key),t}:o.fn)}return e},e.createStaticVNode=function(e,t){const n=Mr(br,null,e);return n.staticCount=t,n},e.createTextVNode=Br,e.createVNode=Mr,e.customRef=function(e){return new Mt(e)},e.defineAsyncComponent=function(e){P(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:i=!0,onError:l}=e;let c,a=null,u=0;const p=()=>{let e;return a||(e=a=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise(((t,n)=>{l(e,(()=>t((u++,a=null,p()))),(()=>n(e)),u+1)}));throw e})).then((t=>e!==a&&a?a:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),c=t,t))))};return Kn({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const e=Kr;if(c)return()=>qn(c,e);const t=t=>{a=null,Dt(t,e,13,!o)};if(i&&e.suspense)return p().then((t=>()=>qn(t,e))).catch((e=>(t(e),()=>o?Mr(o,{error:e}):null)));const l=Ot(!1),u=Ot(),f=Ot(!!r);return r&&setTimeout((()=>{f.value=!1}),r),null!=s&&setTimeout((()=>{if(!l.value&&!u.value){const e=new Error(`Async component timed out after ${s}ms.`);t(e),u.value=e}}),s),p().then((()=>{l.value=!0,e.parent&&Jn(e.parent.vnode)&&Xt(e.parent.update)})).catch((e=>{t(e),u.value=e})),()=>l.value&&c?qn(c,e):u.value&&o?Mr(o,{error:u.value}):n&&!f.value?Mr(n):void 0}})},e.defineComponent=Kn,e.defineCustomElement=Ts,e.defineEmits=function(){return null},e.defineExpose=function(e){},e.defineProps=function(){return null},e.defineSSRCustomElement=e=>Ts(e,Ti),e.effect=function(e,t){e.effect&&(e=e.effect.fn);const n=new me(e);t&&(k(n,t),t.scope&&re(n,t.scope)),t&&t.lazy||n.run();const o=n.run.bind(n);return o.effect=n,o},e.effectScope=function(e){return new oe(e)},e.getCurrentInstance=Gr,e.getCurrentScope=se,e.getTransitionRawChildren=zn,e.guardReactiveProps=Vr,e.h=cs,e.handleError=Dt,e.hydrate=Ti,e.initCustomFormatter=function(){},e.initDirectivesForSSR=Ei,e.inject=On,e.isMemoSame=us,e.isProxy=St,e.isReactive=yt,e.isReadonly=_t,e.isRef=Et,e.isRuntimeOnly=()=>!Yr,e.isShallow=bt,e.isVNode=Or,e.markRaw=Ct,e.mergeDefaults=function(e,t){const n=E(e)?e.reduce(((e,t)=>(e[t]={},e)),{}):e;for(const o in t){const e=n[o];e?E(e)||P(e)?n[o]={type:e,default:t[o]}:e.default=t[o]:null===e&&(n[o]={default:t[o]})}return n},e.mergeProps=Dr,e.nextTick=Qt,e.normalizeClass=c,e.normalizeProps=function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!R(t)&&(e.class=c(t)),n&&(e.style=o(n)),e},e.normalizeStyle=o,e.onActivated=Qn,e.onBeforeMount=io,e.onBeforeUnmount=uo,e.onBeforeUpdate=co,e.onDeactivated=Xn,e.onErrorCaptured=go,e.onMounted=lo,e.onRenderTracked=mo,e.onRenderTriggered=ho,e.onScopeDispose=function(e){ne&&ne.cleanups.push(e)},e.onServerPrefetch=fo,e.onUnmounted=po,e.onUpdated=ao,e.openBlock=Cr,e.popScopeId=function(){dn=null},e.provide=En,e.proxyRefs=$t,e.pushScopeId=function(e){dn=e},e.queuePostFlushCb=tn,e.reactive=ht,e.readonly=gt,e.ref=Ot,e.registerRuntimeCompiler=ts,e.render=wi,e.renderList=function(e,t,n,o){let r;const s=n&&n[o];if(E(e)||R(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,i=n.length;oe.devtools.emit(t,...n))),cn=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null===(s=null===(r=window.navigator)||void 0===r?void 0:r.userAgent)||void 0===s?void 0:s.includes("jsdom"))){(o.__VUE_DEVTOOLS_HOOK_REPLAY__=o.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((e=>{t(e,o)})),setTimeout((()=>{e.devtools||(o.__VUE_DEVTOOLS_HOOK_REPLAY__=null,cn=[])}),3e3)}else cn=[]},e.setTransitionHooks=Wn,e.shallowReactive=mt,e.shallowReadonly=function(e){return vt(e,!0,je,ct,ft)},e.shallowRef=function(e){return At(e,!0)},e.ssrContextKey=as,e.ssrUtils=null,e.stop=function(e){e.effect.stop()},e.toDisplayString=e=>R(e)?e:null==e?"":E(e)||M(e)&&(e.toString===I||!P(e.toString))?JSON.stringify(e,g,2):String(e),e.toHandlerKey=J,e.toHandlers=function(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:J(o)]=e[o];return n},e.toRaw=xt,e.toRef=It,e.toRefs=function(e){const t=E(e)?new Array(e.length):{};for(const n in e)t[n]=It(e,n);return t},e.transformVNodeArgs=function(e){},e.triggerRef=function(e){Nt(e)},e.unref=Pt,e.useAttrs=function(){return ls().attrs},e.useCssModule=function(e="$style"){return v},e.useCssVars=function(e){const t=Gr();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>As(e,n)))},o=()=>{const o=e(t.proxy);Os(t.subTree,o),n(o)};An(o),lo((()=>{const e=new MutationObserver(o);e.observe(t.subTree.el.parentNode,{childList:!0}),po((()=>e.disconnect()))}))},e.useSSRContext=()=>{},e.useSlots=function(){return ls().slots},e.useTransitionState=In,e.vModelCheckbox=ii,e.vModelDynamic=di,e.vModelRadio=ci,e.vModelSelect=ai,e.vModelText=si,e.vShow=yi,e.version=ps,e.warn=function(e,...t){},e.watch=Pn,e.watchEffect=function(e,t){return Rn(e,null,t)},e.watchPostEffect=An,e.watchSyncEffect=function(e,t){return Rn(e,null,{flush:"sync"})},e.withAsyncContext=function(e){const t=Gr();let n=e();return Jr(),V(n)&&(n=n.catch((e=>{throw qr(t),e}))),[n,()=>qr(t)]},e.withCtx=mn,e.withDefaults=function(e,t){return null},e.withDirectives=function(e,t){const n=fn;if(null===n)return e;const o=rs(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;sn=>{if(!("key"in n))return;const o=G(n.key);return t.some((e=>e===o||vi[e]===o))?e(n):void 0},e.withMemo=function(e,t,n,o){const r=n[o];if(r&&us(r,e))return r;const s=t();return s.memo=e.slice(),n[o]=s},e.withModifiers=(e,t)=>(n,...o)=>{for(let e=0;emn,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
diff --git a/assets/js/vue.runtime.global.prod.js b/assets/js/vue.runtime.global.prod.js
new file mode 100644
index 0000000..e48dee6
--- /dev/null
+++ b/assets/js/vue.runtime.global.prod.js
@@ -0,0 +1 @@
+var Vue=function(e){"use strict";function t(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[e.toLowerCase()]:e=>!!n[e]}const n=t("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function o(e){if(k(e)){const t={};for(let n=0;n{if(e){const n=e.split(s);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function c(e){let t="";if(R(e))t=e;else if(k(e))for(let n=0;nf(e,t)))}const d=(e,t)=>t&&t.__v_isRef?d(e,t.value):E(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:A(t)?{[`Set(${t.size})`]:[...t.values()]}:!P(t)||k(t)||V(t)?t:String(t),h={},v=[],m=()=>{},g=()=>!1,_=/^on[^a-z]/,y=e=>_.test(e),b=e=>e.startsWith("onUpdate:"),C=Object.assign,x=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},w=Object.prototype.hasOwnProperty,S=(e,t)=>w.call(e,t),k=Array.isArray,E=e=>"[object Map]"===L(e),A=e=>"[object Set]"===L(e),T=e=>"[object Date]"===L(e),F=e=>"function"==typeof e,R=e=>"string"==typeof e,O=e=>"symbol"==typeof e,P=e=>null!==e&&"object"==typeof e,M=e=>P(e)&&F(e.then)&&F(e.catch),N=Object.prototype.toString,L=e=>N.call(e),V=e=>"[object Object]"===L(e),B=e=>R(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,I=t(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),j=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},U=/-(\w)/g,$=j((e=>e.replace(U,((e,t)=>t?t.toUpperCase():"")))),D=/\B([A-Z])/g,H=j((e=>e.replace(D,"-$1").toLowerCase())),z=j((e=>e.charAt(0).toUpperCase()+e.slice(1))),W=j((e=>e?`on${z(e)}`:"")),K=(e,t)=>!Object.is(e,t),q=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Y=e=>{const t=parseFloat(e);return isNaN(t)?e:t},J=e=>{const t=R(e)?Number(e):NaN;return isNaN(t)?e:t};let X;let Z;class Q{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Z,!e&&Z&&(this.index=(Z.scopes||(Z.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Z;try{return Z=this,e()}finally{Z=t}}}on(){Z=this}off(){Z=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},oe=e=>(e.w&le)>0,re=e=>(e.n&le)>0,se=new WeakMap;let ie=0,le=1;let ce;const ae=Symbol(""),ue=Symbol("");class fe{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,ee(this,n)}run(){if(!this.active)return this.fn();let e=ce,t=de;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=ce,ce=this,de=!0,le=1<<++ie,ie<=30?(({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{("length"===n||n>=e)&&l.push(t)}))}else switch(void 0!==n&&l.push(i.get(n)),t){case"add":k(e)?B(n)&&l.push(i.get("length")):(l.push(i.get(ae)),E(e)&&l.push(i.get(ue)));break;case"delete":k(e)||(l.push(i.get(ae)),E(e)&&l.push(i.get(ue)));break;case"set":E(e)&&l.push(i.get(ae))}if(1===l.length)l[0]&&be(l[0]);else{const e=[];for(const t of l)t&&e.push(...t);be(ne(e))}}function be(e,t){const n=k(e)?e:[...e];for(const o of n)o.computed&&Ce(o);for(const o of n)o.computed||Ce(o)}function Ce(e,t){(e!==ce||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const xe=t("__proto__,__v_isRef,__isVue"),we=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(O)),Se=Oe(),ke=Oe(!1,!0),Ee=Oe(!0),Ae=Oe(!0,!0),Te=Fe();function Fe(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=_t(this);for(let t=0,r=this.length;t{e[t]=function(...e){ve();const n=_t(this)[t].apply(this,e);return me(),n}})),e}function Re(e){const t=_t(this);return ge(t,0,e),t.hasOwnProperty(e)}function Oe(e=!1,t=!1){return function(n,o,r){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&r===(e?t?ct:lt:t?it:st).get(n))return n;const s=k(n);if(!e){if(s&&S(Te,o))return Reflect.get(Te,o,r);if("hasOwnProperty"===o)return Re}const i=Reflect.get(n,o,r);return(O(o)?we.has(o):xe(o))?i:(e||ge(n,0,o),t?i:St(i)?s&&B(o)?i:i.value:P(i)?e?pt(i):ut(i):i)}}function Pe(e=!1){return function(t,n,o,r){let s=t[n];if(vt(s)&&St(s)&&!St(o))return!1;if(!e&&(mt(o)||vt(o)||(s=_t(s),o=_t(o)),!k(t)&&St(s)&&!St(o)))return s.value=o,!0;const i=k(t)&&B(n)?Number(n)!0,deleteProperty:(e,t)=>!0},Le=C({},Me,{get:ke,set:Pe(!0)}),Ve=C({},Ne,{get:Ae}),Be=e=>e,Ie=e=>Reflect.getPrototypeOf(e);function je(e,t,n=!1,o=!1){const r=_t(e=e.__v_raw),s=_t(t);n||(t!==s&&ge(r,0,t),ge(r,0,s));const{has:i}=Ie(r),l=o?Be:n?Ct:bt;return i.call(r,t)?l(e.get(t)):i.call(r,s)?l(e.get(s)):void(e!==r&&e.get(t))}function Ue(e,t=!1){const n=this.__v_raw,o=_t(n),r=_t(e);return t||(e!==r&&ge(o,0,e),ge(o,0,r)),e===r?n.has(e):n.has(e)||n.has(r)}function $e(e,t=!1){return e=e.__v_raw,!t&&ge(_t(e),0,ae),Reflect.get(e,"size",e)}function De(e){e=_t(e);const t=_t(this);return Ie(t).has.call(t,e)||(t.add(e),ye(t,"add",e,e)),this}function He(e,t){t=_t(t);const n=_t(this),{has:o,get:r}=Ie(n);let s=o.call(n,e);s||(e=_t(e),s=o.call(n,e));const i=r.call(n,e);return n.set(e,t),s?K(t,i)&&ye(n,"set",e,t):ye(n,"add",e,t),this}function ze(e){const t=_t(this),{has:n,get:o}=Ie(t);let r=n.call(t,e);r||(e=_t(e),r=n.call(t,e)),o&&o.call(t,e);const s=t.delete(e);return r&&ye(t,"delete",e,void 0),s}function We(){const e=_t(this),t=0!==e.size,n=e.clear();return t&&ye(e,"clear",void 0,void 0),n}function Ke(e,t){return function(n,o){const r=this,s=r.__v_raw,i=_t(s),l=t?Be:e?Ct:bt;return!e&&ge(i,0,ae),s.forEach(((e,t)=>n.call(o,l(e),l(t),r)))}}function qe(e,t,n){return function(...o){const r=this.__v_raw,s=_t(r),i=E(s),l="entries"===e||e===Symbol.iterator&&i,c="keys"===e&&i,a=r[e](...o),u=n?Be:t?Ct:bt;return!t&&ge(s,0,c?ue:ae),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:l?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Ge(e){return function(...t){return"delete"!==e&&this}}function Ye(){const e={get(e){return je(this,e)},get size(){return $e(this)},has:Ue,add:De,set:He,delete:ze,clear:We,forEach:Ke(!1,!1)},t={get(e){return je(this,e,!1,!0)},get size(){return $e(this)},has:Ue,add:De,set:He,delete:ze,clear:We,forEach:Ke(!1,!0)},n={get(e){return je(this,e,!0)},get size(){return $e(this,!0)},has(e){return Ue.call(this,e,!0)},add:Ge("add"),set:Ge("set"),delete:Ge("delete"),clear:Ge("clear"),forEach:Ke(!0,!1)},o={get(e){return je(this,e,!0,!0)},get size(){return $e(this,!0)},has(e){return Ue.call(this,e,!0)},add:Ge("add"),set:Ge("set"),delete:Ge("delete"),clear:Ge("clear"),forEach:Ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=qe(r,!1,!1),n[r]=qe(r,!0,!1),t[r]=qe(r,!1,!0),o[r]=qe(r,!0,!0)})),[e,n,t,o]}const[Je,Xe,Ze,Qe]=Ye();function et(e,t){const n=t?e?Qe:Ze:e?Xe:Je;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(S(n,o)&&o in t?n:t,o,r)}const tt={get:et(!1,!1)},nt={get:et(!1,!0)},ot={get:et(!0,!1)},rt={get:et(!0,!0)},st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap;function at(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>L(e).slice(8,-1))(e))}function ut(e){return vt(e)?e:dt(e,!1,Me,tt,st)}function ft(e){return dt(e,!1,Le,nt,it)}function pt(e){return dt(e,!0,Ne,ot,lt)}function dt(e,t,n,o,r){if(!P(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const i=at(e);if(0===i)return e;const l=new Proxy(e,2===i?o:n);return r.set(e,l),l}function ht(e){return vt(e)?ht(e.__v_raw):!(!e||!e.__v_isReactive)}function vt(e){return!(!e||!e.__v_isReadonly)}function mt(e){return!(!e||!e.__v_isShallow)}function gt(e){return ht(e)||vt(e)}function _t(e){const t=e&&e.__v_raw;return t?_t(t):e}function yt(e){return G(e,"__v_skip",!0),e}const bt=e=>P(e)?ut(e):e,Ct=e=>P(e)?pt(e):e;function xt(e){de&&ce&&_e((e=_t(e)).dep||(e.dep=ne()))}function wt(e,t){const n=(e=_t(e)).dep;n&&be(n)}function St(e){return!(!e||!0!==e.__v_isRef)}function kt(e){return Et(e,!1)}function Et(e,t){return St(e)?e:new At(e,t)}class At{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:_t(e),this._value=t?e:bt(e)}get value(){return xt(this),this._value}set value(e){const t=this.__v_isShallow||mt(e)||vt(e);e=t?e:_t(e),K(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:bt(e),wt(this))}}function Tt(e){return St(e)?e.value:e}const Ft={get:(e,t,n)=>Tt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return St(r)&&!St(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function Rt(e){return ht(e)?e:new Proxy(e,Ft)}class Ot{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:n}=e((()=>xt(this)),(()=>wt(this)));this._get=t,this._set=n}get value(){return this._get()}set value(e){this._set(e)}}class Pt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){var n;return null===(n=se.get(e))||void 0===n?void 0:n.get(t)}(_t(this._object),this._key)}}function Mt(e,t,n){const o=e[t];return St(o)?o:new Pt(e,t,n)}var Nt;class Lt{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this[Nt]=!1,this._dirty=!0,this.effect=new fe(e,(()=>{this._dirty||(this._dirty=!0,wt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=_t(this);return xt(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Vt(e,t,n,o){let r;try{r=o?e(...o):e()}catch(s){It(s,t,n)}return r}function Bt(e,t,n,o){if(F(e)){const r=Vt(e,t,n,o);return r&&M(r)&&r.catch((e=>{It(e,t,n)})),r}const r=[];for(let s=0;s>>1;en($t[o])en(e)-en(t))),Wt=0;Wtnull==e.id?1/0:e.id,tn=(e,t)=>{const n=en(e)-en(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function nn(e){Ut=!1,jt=!0,$t.sort(tn);try{for(Dt=0;Dt<$t.length;Dt++){const e=$t[Dt];e&&!1!==e.active&&Vt(e,null,14)}}finally{Dt=0,$t.length=0,Qt(),jt=!1,qt=null,($t.length||Ht.length)&&nn()}}e.devtools=void 0;let on=[];function rn(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||h;let r=n;const s=t.startsWith("update:"),i=s&&t.slice(7);if(i&&i in o){const e=`${"modelValue"===i?"model":i}Modifiers`,{number:t,trim:s}=o[e]||h;s&&(r=n.map((e=>R(e)?e.trim():e))),t&&(r=n.map(Y))}let l,c=o[l=W(t)]||o[l=W($(t))];!c&&s&&(c=o[l=W(H(t))]),c&&Bt(c,e,6,r);const a=o[l+"Once"];if(a){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,Bt(a,e,6,r)}}function sn(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const s=e.emits;let i={},l=!1;if(!F(e)){const o=e=>{const n=sn(e,t,!0);n&&(l=!0,C(i,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return s||l?(k(s)?s.forEach((e=>i[e]=null)):C(i,s),P(e)&&o.set(e,i),i):(P(e)&&o.set(e,null),null)}function ln(e,t){return!(!e||!y(t))&&(t=t.slice(2).replace(/Once$/,""),S(e,t[0].toLowerCase()+t.slice(1))||S(e,H(t))||S(e,t))}let cn=null,an=null;function un(e){const t=cn;return cn=e,an=e&&e.type.__scopeId||null,t}function fn(e,t=cn,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&xr(-1);const r=un(t);let s;try{s=e(...n)}finally{un(r),o._d&&xr(1)}return s};return o._n=!0,o._c=!0,o._d=!0,o}function pn(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:s,propsOptions:[i],slots:l,attrs:c,emit:a,render:u,renderCache:f,data:p,setupState:d,ctx:h,inheritAttrs:v}=e;let m,g;const _=un(e);try{if(4&n.shapeFlag){const e=r||o;m=Lr(u.call(e,e,f,s,d,p,h)),g=c}else{const e=t;0,m=Lr(e(s,e.length>1?{attrs:c,slots:l,emit:a}:null)),g=t.props?c:dn(c)}}catch(C){gr.length=0,It(C,e,1),m=Or(vr)}let y=m;if(g&&!1!==v){const e=Object.keys(g),{shapeFlag:t}=y;e.length&&7&t&&(i&&e.some(b)&&(g=hn(g,i)),y=Mr(y,g))}return n.dirs&&(y=Mr(y),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(y.transition=n.transition),m=y,un(_),m}const dn=e=>{let t;for(const n in e)("class"===n||"style"===n||y(n))&&((t||(t={}))[n]=e[n]);return t},hn=(e,t)=>{const n={};for(const o in e)b(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function vn(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense,_n={name:"Suspense",__isSuspense:!0,process(e,t,n,o,r,s,i,l,c,a){null==e?function(e,t,n,o,r,s,i,l,c){const{p:a,o:{createElement:u}}=c,f=u("div"),p=e.suspense=bn(e,r,o,t,f,n,s,i,l,c);a(null,p.pendingBranch=e.ssContent,f,null,o,p,s,i),p.deps>0?(yn(e,"onPending"),yn(e,"onFallback"),a(null,e.ssFallback,t,n,o,null,s,i),wn(p,e.ssFallback)):p.resolve()}(t,n,o,r,s,i,l,c,a):function(e,t,n,o,r,s,i,l,{p:c,um:a,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const p=t.ssContent,d=t.ssFallback,{activeBranch:h,pendingBranch:v,isInFallback:m,isHydrating:g}=f;if(v)f.pendingBranch=p,Er(p,v)?(c(v,p,f.hiddenContainer,null,r,f,s,i,l),f.deps<=0?f.resolve():m&&(c(h,d,n,o,r,null,s,i,l),wn(f,d))):(f.pendingId++,g?(f.isHydrating=!1,f.activeBranch=v):a(v,r,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),m?(c(null,p,f.hiddenContainer,null,r,f,s,i,l),f.deps<=0?f.resolve():(c(h,d,n,o,r,null,s,i,l),wn(f,d))):h&&Er(p,h)?(c(h,p,n,o,r,f,s,i,l),f.resolve(!0)):(c(null,p,f.hiddenContainer,null,r,f,s,i,l),f.deps<=0&&f.resolve()));else if(h&&Er(p,h))c(h,p,n,o,r,f,s,i,l),wn(f,p);else if(yn(t,"onPending"),f.pendingBranch=p,f.pendingId++,c(null,p,f.hiddenContainer,null,r,f,s,i,l),f.deps<=0)f.resolve();else{const{timeout:e,pendingId:t}=f;e>0?setTimeout((()=>{f.pendingId===t&&f.fallback(d)}),e):0===e&&f.fallback(d)}}(e,t,n,o,r,i,l,c,a)},hydrate:function(e,t,n,o,r,s,i,l,c){const a=t.suspense=bn(t,o,n,e.parentNode,document.createElement("div"),null,r,s,i,l,!0),u=c(e,a.pendingBranch=t.ssContent,n,a,s,i);0===a.deps&&a.resolve();return u},create:bn,normalize:function(e){const{shapeFlag:t,children:n}=e,o=32&t;e.ssContent=Cn(o?n.default:n),e.ssFallback=o?Cn(n.fallback):Or(vr)}};function yn(e,t){const n=e.props&&e.props[t];F(n)&&n()}function bn(e,t,n,o,r,s,i,l,c,a,u=!1){const{p:f,m:p,um:d,n:h,o:{parentNode:v,remove:m}}=a,g=e.props?J(e.props.timeout):void 0,_={vnode:e,parent:t,parentComponent:n,isSVG:i,container:o,hiddenContainer:r,anchor:s,deps:0,pendingId:0,timeout:"number"==typeof g?g:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1){const{vnode:t,activeBranch:n,pendingBranch:o,pendingId:r,effects:s,parentComponent:i,container:l}=_;if(_.isHydrating)_.isHydrating=!1;else if(!e){const e=n&&o.transition&&"out-in"===o.transition.mode;e&&(n.transition.afterLeave=()=>{r===_.pendingId&&p(o,l,t,0)});let{anchor:t}=_;n&&(t=h(n),d(n,i,_,!0)),e||p(o,l,t,0)}wn(_,o),_.pendingBranch=null,_.isInFallback=!1;let c=_.parent,a=!1;for(;c;){if(c.pendingBranch){c.effects.push(...s),a=!0;break}c=c.parent}a||Xt(s),_.effects=[],yn(t,"onResolve")},fallback(e){if(!_.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:o,container:r,isSVG:s}=_;yn(t,"onFallback");const i=h(n),a=()=>{_.isInFallback&&(f(null,e,r,i,o,null,s,l,c),wn(_,e))},u=e.transition&&"out-in"===e.transition.mode;u&&(n.transition.afterLeave=a),_.isInFallback=!0,d(n,o,null,!0),u||a()},move(e,t,n){_.activeBranch&&p(_.activeBranch,e,t,n),_.container=e},next:()=>_.activeBranch&&h(_.activeBranch),registerDep(e,t){const n=!!_.pendingBranch;n&&_.deps++;const o=e.vnode.el;e.asyncDep.catch((t=>{It(t,e,0)})).then((r=>{if(e.isUnmounted||_.isUnmounted||_.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:s}=e;Jr(e,r,!1),o&&(s.el=o);const l=!o&&e.subTree.el;t(e,s,v(o||e.subTree.el),o?null:h(e.subTree),_,i,c),l&&m(l),mn(e,s.el),n&&0==--_.deps&&_.resolve()}))},unmount(e,t){_.isUnmounted=!0,_.activeBranch&&d(_.activeBranch,n,e,t),_.pendingBranch&&d(_.pendingBranch,n,e,t)}};return _}function Cn(e){let t;if(F(e)){const n=Cr&&e._c;n&&(e._d=!1,yr()),e=e(),n&&(e._d=!0,t=_r,br())}if(k(e)){const t=function(e){let t;for(let n=0;nt!==e))),e}function xn(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):Xt(e)}function wn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e,r=n.el=t.el;o&&o.subTree===n&&(o.vnode.el=r,mn(o,r))}function Sn(e,t){if(Dr){let n=Dr.provides;const o=Dr.parent&&Dr.parent.provides;o===n&&(n=Dr.provides=Object.create(o)),n[e]=t}else;}function kn(e,t,n=!1){const o=Dr||cn;if(o){const r=null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&F(t)?t.call(o.proxy):t}}function En(e,t){return Fn(e,null,{flush:"post"})}const An={};function Tn(e,t,n){return Fn(e,t,n)}function Fn(e,t,{immediate:n,deep:o,flush:r}=h){const s=te()===(null==Dr?void 0:Dr.scope)?Dr:null;let i,l,c=!1,a=!1;if(St(e)?(i=()=>e.value,c=mt(e)):ht(e)?(i=()=>e,o=!0):k(e)?(a=!0,c=e.some((e=>ht(e)||mt(e))),i=()=>e.map((e=>St(e)?e.value:ht(e)?Pn(e):F(e)?Vt(e,s,2):void 0))):i=F(e)?t?()=>Vt(e,s,2):()=>{if(!s||!s.isUnmounted)return l&&l(),Bt(e,s,3,[u])}:m,t&&o){const e=i;i=()=>Pn(e())}let u=e=>{l=v.onStop=()=>{Vt(e,s,4)}},f=a?new Array(e.length).fill(An):An;const p=()=>{if(v.active)if(t){const e=v.run();(o||c||(a?e.some(((e,t)=>K(e,f[t]))):K(e,f)))&&(l&&l(),Bt(t,s,3,[e,f===An?void 0:a&&f[0]===An?[]:f,u]),f=e)}else v.run()};let d;p.allowRecurse=!!t,"sync"===r?d=p:"post"===r?d=()=>tr(p,s&&s.suspense):(p.pre=!0,s&&(p.id=s.uid),d=()=>Yt(p));const v=new fe(i,d);t?n?p():f=v.run():"post"===r?tr(v.run.bind(v),s&&s.suspense):v.run();return()=>{v.stop(),s&&s.scope&&x(s.scope.effects,v)}}function Rn(e,t,n){const o=this.proxy,r=R(e)?e.includes(".")?On(o,e):()=>o[e]:e.bind(o,o);let s;F(t)?s=t:(s=t.handler,n=t);const i=Dr;zr(this);const l=Fn(r,s.bind(o),n);return i?zr(i):Wr(),l}function On(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{Pn(e,t)}));else if(V(e))for(const n in e)Pn(e[n],t);return e}function Mn(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return oo((()=>{e.isMounted=!0})),io((()=>{e.isUnmounting=!0})),e}const Nn=[Function,Array],Ln={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Nn,onEnter:Nn,onAfterEnter:Nn,onEnterCancelled:Nn,onBeforeLeave:Nn,onLeave:Nn,onAfterLeave:Nn,onLeaveCancelled:Nn,onBeforeAppear:Nn,onAppear:Nn,onAfterAppear:Nn,onAppearCancelled:Nn},setup(e,{slots:t}){const n=Hr(),o=Mn();let r;return()=>{const s=t.default&&$n(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1)for(const e of s)if(e.type!==vr){i=e;break}const l=_t(e),{mode:c}=l;if(o.isLeaving)return In(i);const a=jn(i);if(!a)return In(i);const u=Bn(a,l,o,n);Un(a,u);const f=n.subTree,p=f&&jn(f);let d=!1;const{getTransitionKey:h}=a.type;if(h){const e=h();void 0===r?r=e:e!==r&&(r=e,d=!0)}if(p&&p.type!==vr&&(!Er(a,p)||d)){const e=Bn(p,l,o,n);if(Un(p,e),"out-in"===c)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},In(i);"in-out"===c&&a.type!==vr&&(e.delayLeave=(e,t,n)=>{Vn(o,p)[String(p.key)]=p,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return i}}};function Vn(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Bn(e,t,n,o){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:u,onBeforeLeave:f,onLeave:p,onAfterLeave:d,onLeaveCancelled:h,onBeforeAppear:v,onAppear:m,onAfterAppear:g,onAppearCancelled:_}=t,y=String(e.key),b=Vn(n,e),C=(e,t)=>{e&&Bt(e,o,9,t)},x=(e,t)=>{const n=t[1];C(e,t),k(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},w={mode:s,persisted:i,beforeEnter(t){let o=l;if(!n.isMounted){if(!r)return;o=v||l}t._leaveCb&&t._leaveCb(!0);const s=b[y];s&&Er(e,s)&&s.el._leaveCb&&s.el._leaveCb(),C(o,[t])},enter(e){let t=c,o=a,s=u;if(!n.isMounted){if(!r)return;t=m||c,o=g||a,s=_||u}let i=!1;const l=e._enterCb=t=>{i||(i=!0,C(t?s:o,[e]),w.delayedLeave&&w.delayedLeave(),e._enterCb=void 0)};t?x(t,[e,l]):l()},leave(t,o){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return o();C(f,[t]);let s=!1;const i=t._leaveCb=n=>{s||(s=!0,o(),C(n?h:d,[t]),t._leaveCb=void 0,b[r]===e&&delete b[r])};b[r]=e,p?x(p,[t,i]):i()},clone:e=>Bn(e,t,n,o)};return w}function In(e){if(Wn(e))return(e=Mr(e)).children=null,e}function jn(e){return Wn(e)?e.children?e.children[0]:void 0:e}function Un(e,t){6&e.shapeFlag&&e.component?Un(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function $n(e,t=!1,n){let o=[],r=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;function zn(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,i=Or(e,o,r);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Wn=e=>e.type.__isKeepAlive,Kn={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Hr(),o=n.ctx,r=new Map,s=new Set;let i=null;const l=n.suspense,{renderer:{p:c,m:a,um:u,o:{createElement:f}}}=o,p=f("div");function d(e){Zn(e),u(e,n,l,!0)}function h(e){r.forEach(((t,n)=>{const o=es(t.type);!o||e&&e(o)||v(n)}))}function v(e){const t=r.get(e);i&&Er(t,i)?i&&Zn(i):d(t),r.delete(e),s.delete(e)}o.activate=(e,t,n,o,r)=>{const s=e.component;a(e,t,n,0,l),c(s.vnode,e,t,n,s,l,o,e.slotScopeIds,r),tr((()=>{s.isDeactivated=!1,s.a&&q(s.a);const t=e.props&&e.props.onVnodeMounted;t&&jr(t,s.parent,e)}),l)},o.deactivate=e=>{const t=e.component;a(e,p,null,1,l),tr((()=>{t.da&&q(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&jr(n,t.parent,e),t.isDeactivated=!0}),l)},Tn((()=>[e.include,e.exclude]),(([e,t])=>{e&&h((t=>qn(e,t))),t&&h((e=>!qn(t,e)))}),{flush:"post",deep:!0});let m=null;const g=()=>{null!=m&&r.set(m,Qn(n.subTree))};return oo(g),so(g),io((()=>{r.forEach((e=>{const{subTree:t,suspense:o}=n,r=Qn(t);if(e.type!==r.type||e.key!==r.key)d(e);else{Zn(r);const e=r.component.da;e&&tr(e,o)}}))})),()=>{if(m=null,!t.default)return null;const n=t.default(),o=n[0];if(n.length>1)return i=null,n;if(!(kr(o)&&(4&o.shapeFlag||128&o.shapeFlag)))return i=null,o;let l=Qn(o);const c=l.type,a=es(Hn(l)?l.type.__asyncResolved||{}:c),{include:u,exclude:f,max:p}=e;if(u&&(!a||!qn(u,a))||f&&a&&qn(f,a))return i=l,o;const d=null==l.key?c:l.key,h=r.get(d);return l.el&&(l=Mr(l),128&o.shapeFlag&&(o.ssContent=l)),m=d,h?(l.el=h.el,l.component=h.component,l.transition&&Un(l,l.transition),l.shapeFlag|=512,s.delete(d),s.add(d)):(s.add(d),p&&s.size>parseInt(p,10)&&v(s.values().next().value)),l.shapeFlag|=256,i=l,gn(o.type)?o:l}}};function qn(e,t){return k(e)?e.some((e=>qn(e,t))):R(e)?e.split(",").includes(t):"[object RegExp]"===L(e)&&e.test(t)}function Gn(e,t){Jn(e,"a",t)}function Yn(e,t){Jn(e,"da",t)}function Jn(e,t,n=Dr){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(eo(t,o,n),n){let e=n.parent;for(;e&&e.parent;)Wn(e.parent.vnode)&&Xn(o,t,n,e),e=e.parent}}function Xn(e,t,n,o){const r=eo(t,e,o,!0);lo((()=>{x(o[t],r)}),n)}function Zn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Qn(e){return 128&e.shapeFlag?e.ssContent:e}function eo(e,t,n=Dr,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;ve(),zr(n);const r=Bt(t,n,e,o);return Wr(),me(),r});return o?r.unshift(s):r.push(s),s}}const to=e=>(t,n=Dr)=>(!Yr||"sp"===e)&&eo(e,((...e)=>t(...e)),n),no=to("bm"),oo=to("m"),ro=to("bu"),so=to("u"),io=to("bum"),lo=to("um"),co=to("sp"),ao=to("rtg"),uo=to("rtc");function fo(e,t=Dr){eo("ec",e,t)}function po(e,t,n,o){const r=e.dirs,s=t&&t.dirs;for(let i=0;i!kr(e)||e.type!==vr&&!(e.type===dr&&!_o(e.children))))?e:null}const yo=e=>e?Kr(e)?Qr(e)||e.proxy:yo(e.parent):null,bo=C(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=>yo(e.parent),$root:e=>yo(e.root),$emit:e=>e.emit,$options:e=>To(e),$forceUpdate:e=>e.f||(e.f=()=>Yt(e.update)),$nextTick:e=>e.n||(e.n=Gt.bind(e.proxy)),$watch:e=>Rn.bind(e)}),Co=(e,t)=>e!==h&&!e.__isScriptSetup&&S(e,t),xo={get({_:e},t){const{ctx:n,setupState:o,data:r,props:s,accessCache:i,type:l,appContext:c}=e;let a;if("$"!==t[0]){const l=i[t];if(void 0!==l)switch(l){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(Co(o,t))return i[t]=1,o[t];if(r!==h&&S(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&S(a,t))return i[t]=3,s[t];if(n!==h&&S(n,t))return i[t]=4,n[t];So&&(i[t]=0)}}const u=bo[t];let f,p;return u?("$attrs"===t&&ge(e,0,t),u(e)):(f=l.__cssModules)&&(f=f[t])?f:n!==h&&S(n,t)?(i[t]=4,n[t]):(p=c.config.globalProperties,S(p,t)?p[t]:void 0)},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return Co(r,t)?(r[t]=n,!0):o!==h&&S(o,t)?(o[t]=n,!0):!S(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:s}},i){let l;return!!n[i]||e!==h&&S(e,i)||Co(t,i)||(l=s[0])&&S(l,i)||S(o,i)||S(bo,i)||S(r.config.globalProperties,i)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:S(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},wo=C({},xo,{get(e,t){if(t!==Symbol.unscopables)return xo.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!n(t)});let So=!0;function ko(e){const t=To(e),n=e.proxy,o=e.ctx;So=!1,t.beforeCreate&&Eo(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:i,watch:l,provide:c,inject:a,created:u,beforeMount:f,mounted:p,beforeUpdate:d,updated:h,activated:v,deactivated:g,beforeUnmount:_,unmounted:y,render:b,renderTracked:C,renderTriggered:x,errorCaptured:w,serverPrefetch:S,expose:E,inheritAttrs:A,components:T,directives:R}=t;if(a&&function(e,t,n=m,o=!1){k(e)&&(e=Po(e));for(const r in e){const n=e[r];let s;s=P(n)?"default"in n?kn(n.from||r,n.default,!0):kn(n.from||r):kn(n),St(s)&&o?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e}):t[r]=s}}(a,o,null,e.appContext.config.unwrapInjectedRef),i)for(const m in i){const e=i[m];F(e)&&(o[m]=e.bind(n))}if(r){const t=r.call(n,n);P(t)&&(e.data=ut(t))}if(So=!0,s)for(const k in s){const e=s[k],t=F(e)?e.bind(n,n):F(e.get)?e.get.bind(n,n):m,r=!F(e)&&F(e.set)?e.set.bind(n):m,i=ts({get:t,set:r});Object.defineProperty(o,k,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(l)for(const m in l)Ao(l[m],o,n,m);if(c){const e=F(c)?c.call(n):c;Reflect.ownKeys(e).forEach((t=>{Sn(t,e[t])}))}function O(e,t){k(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(u&&Eo(u,e,"c"),O(no,f),O(oo,p),O(ro,d),O(so,h),O(Gn,v),O(Yn,g),O(fo,w),O(uo,C),O(ao,x),O(io,_),O(lo,y),O(co,S),k(E))if(E.length){const t=e.exposed||(e.exposed={});E.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});b&&e.render===m&&(e.render=b),null!=A&&(e.inheritAttrs=A),T&&(e.components=T),R&&(e.directives=R)}function Eo(e,t,n){Bt(k(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ao(e,t,n,o){const r=o.includes(".")?On(n,o):()=>n[o];if(R(e)){const n=t[e];F(n)&&Tn(r,n)}else if(F(e))Tn(r,e.bind(n));else if(P(e))if(k(e))e.forEach((e=>Ao(e,t,n,o)));else{const o=F(e.handler)?e.handler.bind(n):t[e.handler];F(o)&&Tn(r,o,e)}}function To(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let c;return l?c=l:r.length||n||o?(c={},r.length&&r.forEach((e=>Fo(c,e,i,!0))),Fo(c,t,i)):c=t,P(t)&&s.set(t,c),c}function Fo(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Fo(e,s,n,!0),r&&r.forEach((t=>Fo(e,t,n,!0)));for(const i in t)if(o&&"expose"===i);else{const o=Ro[i]||n&&n[i];e[i]=o?o(e[i],t[i]):t[i]}return e}const Ro={data:Oo,props:No,emits:No,methods:No,computed:No,beforeCreate:Mo,created:Mo,beforeMount:Mo,mounted:Mo,beforeUpdate:Mo,updated:Mo,beforeDestroy:Mo,beforeUnmount:Mo,destroyed:Mo,unmounted:Mo,activated:Mo,deactivated:Mo,errorCaptured:Mo,serverPrefetch:Mo,components:No,directives:No,watch:function(e,t){if(!e)return t;if(!t)return e;const n=C(Object.create(null),e);for(const o in t)n[o]=Mo(e[o],t[o]);return n},provide:Oo,inject:function(e,t){return No(Po(e),Po(t))}};function Oo(e,t){return t?e?function(){return C(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function Po(e){if(k(e)){const t={};for(let n=0;n{c=!0;const[n,o]=Bo(e,t,!0);C(i,n),o&&l.push(...o)};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}if(!s&&!c)return P(e)&&o.set(e,v),v;if(k(s))for(let u=0;u-1,n[1]=o<0||t-1||S(n,"default"))&&l.push(e)}}}const a=[i,l];return P(e)&&o.set(e,a),a}function Io(e){return"$"!==e[0]}function jo(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function Uo(e,t){return jo(e)===jo(t)}function $o(e,t){return k(t)?t.findIndex((t=>Uo(t,e))):F(t)&&Uo(t,e)?0:-1}const Do=e=>"_"===e[0]||"$stable"===e,Ho=e=>k(e)?e.map(Lr):[Lr(e)],zo=(e,t,n)=>{if(t._n)return t;const o=fn(((...e)=>Ho(t(...e))),n);return o._c=!1,o},Wo=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Do(r))continue;const n=e[r];if(F(n))t[r]=zo(0,n,o);else if(null!=n){const e=Ho(n);t[r]=()=>e}}},Ko=(e,t)=>{const n=Ho(t);e.slots.default=()=>n};function qo(){return{app:null,config:{isNativeTag:g,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 Go=0;function Yo(e,t){return function(n,o=null){F(n)||(n=Object.assign({},n)),null==o||P(o)||(o=null);const r=qo(),s=new Set;let i=!1;const l=r.app={_uid:Go++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:is,get config(){return r.config},set config(e){},use:(e,...t)=>(s.has(e)||(e&&F(e.install)?(s.add(e),e.install(l,...t)):F(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,c,a){if(!i){const u=Or(n,o);return u.appContext=r,c&&t?t(u,s):e(u,s,a),i=!0,l._container=s,s.__vue_app__=l,Qr(u.component)||u.component.proxy}},unmount(){i&&(e(null,l._container),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l)};return l}}function Jo(e,t,n,o,r=!1){if(k(e))return void e.forEach(((e,s)=>Jo(e,t&&(k(t)?t[s]:t),n,o,r)));if(Hn(o)&&!r)return;const s=4&o.shapeFlag?Qr(o.component)||o.component.proxy:o.el,i=r?null:s,{i:l,r:c}=e,a=t&&t.r,u=l.refs===h?l.refs={}:l.refs,f=l.setupState;if(null!=a&&a!==c&&(R(a)?(u[a]=null,S(f,a)&&(f[a]=null)):St(a)&&(a.value=null)),F(c))Vt(c,l,12,[i,u]);else{const t=R(c),o=St(c);if(t||o){const l=()=>{if(e.f){const n=t?S(f,c)?f[c]:u[c]:c.value;r?k(n)&&x(n,s):k(n)?n.includes(s)||n.push(s):t?(u[c]=[s],S(f,c)&&(f[c]=u[c])):(c.value=[s],e.k&&(u[e.k]=c.value))}else t?(u[c]=i,S(f,c)&&(f[c]=i)):o&&(c.value=i,e.k&&(u[e.k]=i))};i?(l.id=-1,tr(l,n)):l()}}}let Xo=!1;const Zo=e=>/svg/.test(e.namespaceURI)&&"foreignObject"!==e.tagName,Qo=e=>8===e.nodeType;function er(e){const{mt:t,p:n,o:{patchProp:o,createText:r,nextSibling:s,parentNode:i,remove:l,insert:c,createComment:a}}=e,u=(n,o,l,a,m,g=!1)=>{const _=Qo(n)&&"["===n.data,y=()=>h(n,o,l,a,m,_),{type:b,ref:C,shapeFlag:x,patchFlag:w}=o;let S=n.nodeType;o.el=n,-2===w&&(g=!1,o.dynamicChildren=null);let k=null;switch(b){case hr:3!==S?""===o.children?(c(o.el=r(""),i(n),n),k=n):k=y():(n.data!==o.children&&(Xo=!0,n.data=o.children),k=s(n));break;case vr:k=8!==S||_?y():s(n);break;case mr:if(_&&(S=(n=s(n)).nodeType),1===S||3===S){k=n;const e=!o.children.length;for(let t=0;t{i=i||!!t.dynamicChildren;const{type:c,props:a,patchFlag:u,shapeFlag:f,dirs:d}=t,h="input"===c&&d||"option"===c;if(h||-1!==u){if(d&&po(t,null,n,"created"),a)if(h||!i||48&u)for(const t in a)(h&&t.endsWith("value")||y(t)&&!I(t))&&o(e,t,null,a[t],!1,void 0,n);else a.onClick&&o(e,"onClick",null,a.onClick,!1,void 0,n);let c;if((c=a&&a.onVnodeBeforeMount)&&jr(c,n,t),d&&po(t,null,n,"beforeMount"),((c=a&&a.onVnodeMounted)||d)&&xn((()=>{c&&jr(c,n,t),d&&po(t,null,n,"mounted")}),r),16&f&&(!a||!a.innerHTML&&!a.textContent)){let o=p(e.firstChild,t,e,n,r,s,i);for(;o;){Xo=!0;const e=o;o=o.nextSibling,l(e)}}else 8&f&&e.textContent!==t.children&&(Xo=!0,e.textContent=t.children)}return e.nextSibling},p=(e,t,o,r,s,i,l)=>{l=l||!!t.dynamicChildren;const c=t.children,a=c.length;for(let f=0;f{const{slotScopeIds:u}=t;u&&(r=r?r.concat(u):u);const f=i(e),d=p(s(e),t,f,n,o,r,l);return d&&Qo(d)&&"]"===d.data?s(t.anchor=d):(Xo=!0,c(t.anchor=a("]"),f,d),d)},h=(e,t,o,r,c,a)=>{if(Xo=!0,t.el=null,a){const t=v(e);for(;;){const n=s(e);if(!n||n===t)break;l(n)}}const u=s(e),f=i(e);return l(e),n(null,t,f,u,o,r,Zo(f),c),u},v=e=>{let t=0;for(;e;)if((e=s(e))&&Qo(e)&&("["===e.data&&t++,"]"===e.data)){if(0===t)return s(e);t--}return e};return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),Qt(),void(t._vnode=e);Xo=!1,u(t.firstChild,e,null,null,null),Qt(),t._vnode=e,Xo&&console.error("Hydration completed but contains mismatches.")},u]}const tr=xn;function nr(e){return rr(e)}function or(e){return rr(e,er)}function rr(e,t){(X||(X="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})).__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:a,parentNode:u,nextSibling:f,setScopeId:p=m,insertStaticContent:d}=e,g=(e,t,n,o=null,r=null,s=null,i=!1,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Er(e,t)&&(o=Z(e),z(e,r,s,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:f}=t;switch(a){case hr:_(e,t,n,o);break;case vr:y(e,t,n,o);break;case mr:null==e&&b(t,n,o,i);break;case dr:R(e,t,n,o,r,s,i,l,c);break;default:1&f?x(e,t,n,o,r,s,i,l,c):6&f?O(e,t,n,o,r,s,i,l,c):(64&f||128&f)&&a.process(e,t,n,o,r,s,i,l,c,te)}null!=u&&r&&Jo(u,e&&e.ref,s,t||e,!t)},_=(e,t,o,r)=>{if(null==e)n(t.el=i(t.children),o,r);else{const n=t.el=e.el;t.children!==e.children&&c(n,t.children)}},y=(e,t,o,r)=>{null==e?n(t.el=l(t.children||""),o,r):t.el=e.el},b=(e,t,n,o)=>{[e.el,e.anchor]=d(e.children,t,n,o,e.el,e.anchor)},x=(e,t,n,o,r,s,i,l,c)=>{i=i||"svg"===t.type,null==e?w(t,n,o,r,s,i,l,c):A(e,t,r,s,i,l,c)},w=(e,t,o,i,l,c,u,f)=>{let p,d;const{type:h,props:v,shapeFlag:m,transition:g,dirs:_}=e;if(p=e.el=s(e.type,c,v&&v.is,v),8&m?a(p,e.children):16&m&&E(e.children,p,null,i,l,c&&"foreignObject"!==h,u,f),_&&po(e,null,i,"created"),k(p,e,e.scopeId,u,i),v){for(const t in v)"value"===t||I(t)||r(p,t,null,v[t],c,e.children,i,l,J);"value"in v&&r(p,"value",null,v.value),(d=v.onVnodeBeforeMount)&&jr(d,i,e)}_&&po(e,null,i,"beforeMount");const y=(!l||l&&!l.pendingBranch)&&g&&!g.persisted;y&&g.beforeEnter(p),n(p,t,o),((d=v&&v.onVnodeMounted)||y||_)&&tr((()=>{d&&jr(d,i,e),y&&g.enter(p),_&&po(e,null,i,"mounted")}),l)},k=(e,t,n,o,r)=>{if(n&&p(e,n),o)for(let s=0;s{for(let a=c;a{const c=t.el=e.el;let{patchFlag:u,dynamicChildren:f,dirs:p}=t;u|=16&e.patchFlag;const d=e.props||h,v=t.props||h;let m;n&&sr(n,!1),(m=v.onVnodeBeforeUpdate)&&jr(m,n,t,e),p&&po(t,e,n,"beforeUpdate"),n&&sr(n,!0);const g=s&&"foreignObject"!==t.type;if(f?T(e.dynamicChildren,f,c,n,o,g,i):l||B(e,t,c,null,n,o,g,i,!1),u>0){if(16&u)F(c,t,d,v,n,o,s);else if(2&u&&d.class!==v.class&&r(c,"class",null,v.class,s),4&u&&r(c,"style",d.style,v.style,s),8&u){const i=t.dynamicProps;for(let t=0;t{m&&jr(m,n,t,e),p&&po(t,e,n,"updated")}),o)},T=(e,t,n,o,r,s,i)=>{for(let l=0;l{if(n!==o){if(n!==h)for(const c in n)I(c)||c in o||r(e,c,n[c],null,l,t.children,s,i,J);for(const c in o){if(I(c))continue;const a=o[c],u=n[c];a!==u&&"value"!==c&&r(e,c,u,a,l,t.children,s,i,J)}"value"in o&&r(e,"value",n.value,o.value)}},R=(e,t,o,r,s,l,c,a,u)=>{const f=t.el=e?e.el:i(""),p=t.anchor=e?e.anchor:i("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=t;v&&(a=a?a.concat(v):v),null==e?(n(f,o,r),n(p,o,r),E(t.children,o,p,s,l,c,a,u)):d>0&&64&d&&h&&e.dynamicChildren?(T(e.dynamicChildren,h,o,s,l,c,a),(null!=t.key||s&&t===s.subTree)&&ir(e,t,!0)):B(e,t,o,p,s,l,c,a,u)},O=(e,t,n,o,r,s,i,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?r.ctx.activate(t,n,o,i,c):P(t,n,o,r,s,i,c):N(e,t,c)},P=(e,t,n,o,r,s,i)=>{const l=e.component=function(e,t,n){const o=e.type,r=(t?t.appContext:e.appContext)||Ur,s={uid:$r++,vnode:e,type:o,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new Q(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Bo(o,r),emitsOptions:sn(o,r),emit:null,emitted:null,propsDefaults:h,inheritAttrs:o.inheritAttrs,ctx:h,data:h,props:h,attrs:h,slots:h,refs:h,setupState:h,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};s.ctx={_:s},s.root=t?t.root:s,s.emit=rn.bind(null,s),e.ce&&e.ce(s);return s}(e,o,r);if(Wn(e)&&(l.ctx.renderer=te),function(e,t=!1){Yr=t;const{props:n,children:o}=e.vnode,r=Kr(e);(function(e,t,n,o=!1){const r={},s={};G(s,Ar,1),e.propsDefaults=Object.create(null),Lo(e,t,r,s);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);e.props=n?o?r:ft(r):e.type.props?r:s,e.attrs=s})(e,n,r,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=_t(t),G(t,"_",n)):Wo(t,e.slots={})}else e.slots={},t&&Ko(e,t);G(e.slots,Ar,1)})(e,o);const s=r?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=yt(new Proxy(e.ctx,xo));const{setup:o}=n;if(o){const n=e.setupContext=o.length>1?Zr(e):null;zr(e),ve();const r=Vt(o,e,0,[e.props,n]);if(me(),Wr(),M(r)){if(r.then(Wr,Wr),t)return r.then((n=>{Jr(e,n,t)})).catch((t=>{It(t,e,0)}));e.asyncDep=r}else Jr(e,r,t)}else Xr(e,t)}(e,t):void 0;Yr=!1}(l),l.asyncDep){if(r&&r.registerDep(l,L),!e.el){const e=l.subTree=Or(vr);y(null,e,t,n)}}else L(l,e,t,n,r,s,i)},N=(e,t,n)=>{const o=t.component=e.component;if(function(e,t,n){const{props:o,children:r,component:s}=e,{props:i,children:l,patchFlag:c}=t,a=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!r&&!l||l&&l.$stable)||o!==i&&(o?!i||vn(o,i,a):!!i);if(1024&c)return!0;if(16&c)return o?vn(o,i,a):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;tDt&&$t.splice(t,1)}(o.update),o.update()}else t.el=e.el,o.vnode=t},L=(e,t,n,o,r,s,i)=>{const l=e.effect=new fe((()=>{if(e.isMounted){let t,{next:n,bu:o,u:l,parent:c,vnode:a}=e,f=n;sr(e,!1),n?(n.el=a.el,V(e,n,i)):n=a,o&&q(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&jr(t,c,n,a),sr(e,!0);const p=pn(e),d=e.subTree;e.subTree=p,g(d,p,u(d.el),Z(d),e,r,s),n.el=p.el,null===f&&mn(e,p.el),l&&tr(l,r),(t=n.props&&n.props.onVnodeUpdated)&&tr((()=>jr(t,c,n,a)),r)}else{let i;const{el:l,props:c}=t,{bm:a,m:u,parent:f}=e,p=Hn(t);if(sr(e,!1),a&&q(a),!p&&(i=c&&c.onVnodeBeforeMount)&&jr(i,f,t),sr(e,!0),l&&oe){const n=()=>{e.subTree=pn(e),oe(l,e.subTree,e,r,null)};p?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const i=e.subTree=pn(e);g(null,i,n,o,e,r,s),t.el=i.el}if(u&&tr(u,r),!p&&(i=c&&c.onVnodeMounted)){const e=t;tr((()=>jr(i,f,e)),r)}(256&t.shapeFlag||f&&Hn(f.vnode)&&256&f.vnode.shapeFlag)&&e.a&&tr(e.a,r),e.isMounted=!0,t=n=o=null}}),(()=>Yt(c)),e.scope),c=e.update=()=>l.run();c.id=e.uid,sr(e,!0),c()},V=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:i}}=e,l=_t(r),[c]=e.propsOptions;let a=!1;if(!(o||i>0)||16&i){let o;Lo(e,t,r,s)&&(a=!0);for(const s in l)t&&(S(t,s)||(o=H(s))!==s&&S(t,o))||(c?!n||void 0===n[s]&&void 0===n[o]||(r[s]=Vo(c,l,s,void 0,e,!0)):delete r[s]);if(s!==l)for(const e in s)t&&S(t,e)||(delete s[e],a=!0)}else if(8&i){const n=e.vnode.dynamicProps;for(let o=0;o{const{vnode:o,slots:r}=e;let s=!0,i=h;if(32&o.shapeFlag){const e=t._;e?n&&1===e?s=!1:(C(r,t),n||1!==e||delete r._):(s=!t.$stable,Wo(t,r)),i=t}else t&&(Ko(e,t),i={default:1});if(s)for(const l in r)Do(l)||l in i||delete r[l]})(e,t.children,n),ve(),Zt(),me()},B=(e,t,n,o,r,s,i,l,c=!1)=>{const u=e&&e.children,f=e?e.shapeFlag:0,p=t.children,{patchFlag:d,shapeFlag:h}=t;if(d>0){if(128&d)return void U(u,p,n,o,r,s,i,l,c);if(256&d)return void j(u,p,n,o,r,s,i,l,c)}8&h?(16&f&&J(u,r,s),p!==u&&a(n,p)):16&f?16&h?U(u,p,n,o,r,s,i,l,c):J(u,r,s,!0):(8&f&&a(n,""),16&h&&E(p,n,o,r,s,i,l,c))},j=(e,t,n,o,r,s,i,l,c)=>{const a=(e=e||v).length,u=(t=t||v).length,f=Math.min(a,u);let p;for(p=0;pu?J(e,r,s,!0,!1,f):E(t,n,o,r,s,i,l,c,f)},U=(e,t,n,o,r,s,i,l,c)=>{let a=0;const u=t.length;let f=e.length-1,p=u-1;for(;a<=f&&a<=p;){const o=e[a],u=t[a]=c?Vr(t[a]):Lr(t[a]);if(!Er(o,u))break;g(o,u,n,null,r,s,i,l,c),a++}for(;a<=f&&a<=p;){const o=e[f],a=t[p]=c?Vr(t[p]):Lr(t[p]);if(!Er(o,a))break;g(o,a,n,null,r,s,i,l,c),f--,p--}if(a>f){if(a<=p){const e=p+1,f=ep)for(;a<=f;)z(e[a],r,s,!0),a++;else{const d=a,h=a,m=new Map;for(a=h;a<=p;a++){const e=t[a]=c?Vr(t[a]):Lr(t[a]);null!=e.key&&m.set(e.key,a)}let _,y=0;const b=p-h+1;let C=!1,x=0;const w=new Array(b);for(a=0;a=b){z(o,r,s,!0);continue}let u;if(null!=o.key)u=m.get(o.key);else for(_=h;_<=p;_++)if(0===w[_-h]&&Er(o,t[_])){u=_;break}void 0===u?z(o,r,s,!0):(w[u-h]=a+1,u>=x?x=u:C=!0,g(o,t[u],n,null,r,s,i,l,c),y++)}const S=C?function(e){const t=e.slice(),n=[0];let o,r,s,i,l;const c=e.length;for(o=0;o>1,e[n[l]]0&&(t[o]=n[s-1]),n[s]=o)}}s=n.length,i=n[s-1];for(;s-- >0;)n[s]=i,i=t[i];return n}(w):v;for(_=S.length-1,a=b-1;a>=0;a--){const e=h+a,f=t[e],p=e+1{const{el:i,type:l,transition:c,children:a,shapeFlag:u}=e;if(6&u)return void D(e.component.subTree,t,o,r);if(128&u)return void e.suspense.move(t,o,r);if(64&u)return void l.move(e,t,o,te);if(l===dr){n(i,t,o);for(let e=0;e{let s;for(;e&&e!==t;)s=f(e),n(e,o,r),e=s;n(t,o,r)})(e,t,o);if(2!==r&&1&u&&c)if(0===r)c.beforeEnter(i),n(i,t,o),tr((()=>c.enter(i)),s);else{const{leave:e,delayLeave:r,afterLeave:s}=c,l=()=>n(i,t,o),a=()=>{e(i,(()=>{l(),s&&s()}))};r?r(i,l,a):a()}else n(i,t,o)},z=(e,t,n,o=!1,r=!1)=>{const{type:s,props:i,ref:l,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:f,dirs:p}=e;if(null!=l&&Jo(l,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const d=1&u&&p,h=!Hn(e);let v;if(h&&(v=i&&i.onVnodeBeforeUnmount)&&jr(v,t,e),6&u)Y(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);d&&po(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,te,o):a&&(s!==dr||f>0&&64&f)?J(a,t,n,!1,!0):(s===dr&&384&f||!r&&16&u)&&J(c,t,n),o&&W(e)}(h&&(v=i&&i.onVnodeUnmounted)||d)&&tr((()=>{v&&jr(v,t,e),d&&po(e,null,t,"unmounted")}),n)},W=e=>{const{type:t,el:n,anchor:r,transition:s}=e;if(t===dr)return void K(n,r);if(t===mr)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=f(e),o(e),e=n;o(t)})(e);const i=()=>{o(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:o}=s,r=()=>t(n,i);o?o(e.el,i,r):r()}else i()},K=(e,t)=>{let n;for(;e!==t;)n=f(e),o(e),e=n;o(t)},Y=(e,t,n)=>{const{bum:o,scope:r,update:s,subTree:i,um:l}=e;o&&q(o),r.stop(),s&&(s.active=!1,z(i,e,t,n)),l&&tr(l,t),tr((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},J=(e,t,n,o=!1,r=!1,s=0)=>{for(let i=s;i6&e.shapeFlag?Z(e.component.subTree):128&e.shapeFlag?e.suspense.next():f(e.anchor||e.el),ee=(e,t,n)=>{null==e?t._vnode&&z(t._vnode,null,null,!0):g(t._vnode||null,e,t,null,null,null,n),Zt(),Qt(),t._vnode=e},te={p:g,um:z,m:D,r:W,mt:P,mc:E,pc:B,pbc:T,n:Z,o:e};let ne,oe;return t&&([ne,oe]=t(te)),{render:ee,hydrate:ne,createApp:Yo(ee,ne)}}function sr({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ir(e,t,n=!1){const o=e.children,r=t.children;if(k(o)&&k(r))for(let s=0;se&&(e.disabled||""===e.disabled),cr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,ar=(e,t)=>{const n=e&&e.to;if(R(n)){if(t){return t(n)}return null}return n};function ur(e,t,n,{o:{insert:o},m:r},s=2){0===s&&o(e.targetAnchor,t,n);const{el:i,anchor:l,shapeFlag:c,children:a,props:u}=e,f=2===s;if(f&&o(i,t,n),(!f||lr(u))&&16&c)for(let p=0;p{16&g&&u(_,e,t,r,s,i,l,c)};m?y(n,a):f&&y(f,p)}else{t.el=e.el;const o=t.anchor=e.anchor,u=t.target=e.target,d=t.targetAnchor=e.targetAnchor,v=lr(e.props),g=v?n:u,_=v?o:d;if(i=i||cr(u),y?(p(e.dynamicChildren,y,g,r,s,i,l),ir(e,t,!0)):c||f(e,t,g,_,r,s,i,l,!1),m)v||ur(t,n,o,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=ar(t.props,h);e&&ur(t,e,null,a,0)}else v&&ur(t,u,d,a,1)}pr(t)},remove(e,t,n,o,{um:r,o:{remove:s}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:u,target:f,props:p}=e;if(f&&s(u),(i||!lr(p))&&(s(a),16&l))for(let d=0;d0?_r||v:null,br(),Cr>0&&_r&&_r.push(e),e}function Sr(e,t,n,o,r){return wr(Or(e,t,n,o,r,!0))}function kr(e){return!!e&&!0===e.__v_isVNode}function Er(e,t){return e.type===t.type&&e.key===t.key}const Ar="__vInternal",Tr=({key:e})=>null!=e?e:null,Fr=({ref:e,ref_key:t,ref_for:n})=>null!=e?R(e)||St(e)||F(e)?{i:cn,r:e,k:t,f:!!n}:e:null;function Rr(e,t=null,n=null,o=0,r=null,s=(e===dr?0:1),i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Tr(t),ref:t&&Fr(t),scopeId:an,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:cn};return l?(Br(c,n),128&s&&e.normalize(c)):n&&(c.shapeFlag|=R(n)?8:16),Cr>0&&!i&&_r&&(c.patchFlag>0||6&s)&&32!==c.patchFlag&&_r.push(c),c}const Or=function(e,t=null,n=null,r=0,s=null,i=!1){e&&e!==vo||(e=vr);if(kr(e)){const o=Mr(e,t,!0);return n&&Br(o,n),Cr>0&&!i&&_r&&(6&o.shapeFlag?_r[_r.indexOf(e)]=o:_r.push(o)),o.patchFlag|=-2,o}l=e,F(l)&&"__vccOpts"in l&&(e=e.__vccOpts);var l;if(t){t=Pr(t);let{class:e,style:n}=t;e&&!R(e)&&(t.class=c(e)),P(n)&&(gt(n)&&!k(n)&&(n=C({},n)),t.style=o(n))}const a=R(e)?1:gn(e)?128:(e=>e.__isTeleport)(e)?64:P(e)?4:F(e)?2:0;return Rr(e,t,n,r,s,a,i,!0)};function Pr(e){return e?gt(e)||Ar in e?C({},e):e:null}function Mr(e,t,n=!1){const{props:o,ref:r,patchFlag:s,children:i}=e,l=t?Ir(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Tr(l),ref:t&&t.ref?n&&r?k(r)?r.concat(Fr(t)):[r,Fr(t)]:Fr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==dr?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Mr(e.ssContent),ssFallback:e.ssFallback&&Mr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Nr(e=" ",t=0){return Or(hr,null,e,t)}function Lr(e){return null==e||"boolean"==typeof e?Or(vr):k(e)?Or(dr,null,e.slice()):"object"==typeof e?Vr(e):Or(hr,null,String(e))}function Vr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Mr(e)}function Br(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(k(t))n=16;else if("object"==typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),Br(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||Ar in t?3===o&&cn&&(1===cn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=cn}}else F(t)?(t={default:t,_ctx:cn},n=32):(t=String(t),64&o?(n=16,t=[Nr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ir(...e){const t={};for(let n=0;nDr||cn,zr=e=>{Dr=e,e.scope.on()},Wr=()=>{Dr&&Dr.scope.off(),Dr=null};function Kr(e){return 4&e.vnode.shapeFlag}let qr,Gr,Yr=!1;function Jr(e,t,n){F(t)?e.render=t:P(t)&&(e.setupState=Rt(t)),Xr(e,n)}function Xr(e,t,n){const o=e.type;if(!e.render){if(!t&&qr&&!o.render){const t=o.template||To(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:i}=o,l=C(C({isCustomElement:n,delimiters:s},r),i);o.render=qr(t,l)}}e.render=o.render||m,Gr&&Gr(e)}zr(e),ve(),ko(e),me(),Wr()}function Zr(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=function(e){return new Proxy(e.attrs,{get:(t,n)=>(ge(e,0,"$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t}}function Qr(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Rt(yt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in bo?bo[n](e):void 0,has:(e,t)=>t in e||t in bo}))}function es(e,t=!0){return F(e)?e.displayName||e.name:e.name||t&&e.__name}const ts=(e,t)=>function(e,t,n=!1){let o,r;const s=F(e);return s?(o=e,r=m):(o=e.get,r=e.set),new Lt(o,r,s||!r,n)}(e,0,Yr);function ns(){const e=Hr();return e.setupContext||(e.setupContext=Zr(e))}function os(e,t,n){const o=arguments.length;return 2===o?P(t)&&!k(t)?kr(t)?Or(e,null,[t]):Or(e,t):Or(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&kr(n)&&(n=[n]),Or(e,t,n))}const rs=Symbol("");function ss(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let o=0;o0&&_r&&_r.push(e),!0}const is="3.2.47",ls="undefined"!=typeof document?document:null,cs=ls&&ls.createElement("template"),as={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?ls.createElementNS("http://www.w3.org/2000/svg",e):ls.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>ls.createTextNode(e),createComment:e=>ls.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ls.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const i=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{cs.innerHTML=o?``:e;const r=cs.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};const us=/\s*!important$/;function fs(e,t,n){if(k(n))n.forEach((n=>fs(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=ds[t];if(n)return n;let o=$(t);if("filter"!==o&&o in e)return ds[t]=o;o=z(o);for(let r=0;r{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Bt(function(e,t){if(k(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=(()=>_s||(ys.then((()=>_s=0)),_s=Date.now()))(),n}(o,r);vs(e,n,i,l)}else i&&(!function(e,t,n,o){e.removeEventListener(t,n,o)}(e,n,i,l),s[t]=void 0)}}const gs=/(?:Once|Passive|Capture)$/;let _s=0;const ys=Promise.resolve();const bs=/^on[a-z]/;function Cs(e,t){const n=Dn(e);class o extends ws{constructor(e){super(n,e,t)}}return o.def=n,o}const xs="undefined"!=typeof HTMLElement?HTMLElement:class{};class ws extends xs{constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Gt((()=>{this._connected||(bi(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let n=0;n{for(const t of e)this._setAttr(t.attributeName)})).observe(this,{attributes:!0});const e=(e,t=!1)=>{const{props:n,styles:o}=e;let r;if(n&&!k(n))for(const s in n){const e=n[s];(e===Number||e&&e.type===Number)&&(s in this._props&&(this._props[s]=J(this._props[s])),(r||(r=Object.create(null)))[$(s)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this._applyStyles(o),this._update()},t=this._def.__asyncLoader;t?t().then((t=>e(t,!0))):e(this._def)}_resolveProps(e){const{props:t}=e,n=k(t)?t:Object.keys(t||{});for(const o of Object.keys(this))"_"!==o[0]&&n.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of n.map($))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(e){this._setProp(o,e)}})}_setAttr(e){let t=this.getAttribute(e);const n=$(e);this._numberProps&&this._numberProps[n]&&(t=J(t)),this._setProp(n,t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,o=!0){t!==this._props[e]&&(this._props[e]=t,o&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(H(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(H(e),t+""):t||this.removeAttribute(H(e))))}_update(){bi(this._createVNode(),this.shadowRoot)}_createVNode(){const e=Or(this._def,C({},this._props));return this._instance||(e.ce=e=>{this._instance=e,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};e.emit=(e,...n)=>{t(e,n),H(e)!==e&&t(H(e),n)};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof ws){e.parent=n._instance,e.provides=n._instance.provides;break}}),e}_applyStyles(e){e&&e.forEach((e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)}))}}function Ss(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{Ss(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)ks(e.el,t);else if(e.type===dr)e.children.forEach((e=>Ss(e,t)));else if(e.type===mr){let{el:n,anchor:o}=e;for(;n&&(ks(n,t),n!==o);)n=n.nextSibling}}function ks(e,t){if(1===e.nodeType){const n=e.style;for(const e in t)n.setProperty(`--${e}`,t[e])}}const Es="transition",As="animation",Ts=(e,{slots:t})=>os(Ln,Ms(e),t);Ts.displayName="Transition";const Fs={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Rs=Ts.props=C({},Ln.props,Fs),Os=(e,t=[])=>{k(e)?e.forEach((e=>e(...t))):e&&e(...t)},Ps=e=>!!e&&(k(e)?e.some((e=>e.length>1)):e.length>1);function Ms(e){const t={};for(const C in e)C in Fs||(t[C]=e[C]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:a=i,appearToClass:u=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,h=function(e){if(null==e)return null;if(P(e))return[Ns(e.enter),Ns(e.leave)];{const t=Ns(e);return[t,t]}}(r),v=h&&h[0],m=h&&h[1],{onBeforeEnter:g,onEnter:_,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:w=g,onAppear:S=_,onAppearCancelled:k=y}=t,E=(e,t,n)=>{Vs(e,t?u:l),Vs(e,t?a:i),n&&n()},A=(e,t)=>{e._isLeaving=!1,Vs(e,f),Vs(e,d),Vs(e,p),t&&t()},T=e=>(t,n)=>{const r=e?S:_,i=()=>E(t,e,n);Os(r,[t,i]),Bs((()=>{Vs(t,e?c:s),Ls(t,e?u:l),Ps(r)||js(t,o,v,i)}))};return C(t,{onBeforeEnter(e){Os(g,[e]),Ls(e,s),Ls(e,i)},onBeforeAppear(e){Os(w,[e]),Ls(e,c),Ls(e,a)},onEnter:T(!1),onAppear:T(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t);Ls(e,f),Hs(),Ls(e,p),Bs((()=>{e._isLeaving&&(Vs(e,f),Ls(e,d),Ps(b)||js(e,o,m,n))})),Os(b,[e,n])},onEnterCancelled(e){E(e,!1),Os(y,[e])},onAppearCancelled(e){E(e,!0),Os(k,[e])},onLeaveCancelled(e){A(e),Os(x,[e])}})}function Ns(e){return J(e)}function Ls(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function Vs(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Bs(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Is=0;function js(e,t,n,o){const r=e._endId=++Is,s=()=>{r===e._endId&&o()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:c}=Us(e,t);if(!i)return o();const a=i+"end";let u=0;const f=()=>{e.removeEventListener(a,p),s()},p=t=>{t.target===e&&++u>=c&&f()};setTimeout((()=>{u(n[e]||"").split(", "),r=o("transitionDelay"),s=o("transitionDuration"),i=$s(r,s),l=o("animationDelay"),c=o("animationDuration"),a=$s(l,c);let u=null,f=0,p=0;t===Es?i>0&&(u=Es,f=i,p=s.length):t===As?a>0&&(u=As,f=a,p=c.length):(f=Math.max(i,a),u=f>0?i>a?Es:As:null,p=u?u===Es?s.length:c.length:0);return{type:u,timeout:f,propCount:p,hasTransform:u===Es&&/\b(transform|all)(,|$)/.test(o("transitionProperty").toString())}}function $s(e,t){for(;e.lengthDs(t)+Ds(e[n]))))}function Ds(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Hs(){return document.body.offsetHeight}const zs=new WeakMap,Ws=new WeakMap,Ks={name:"TransitionGroup",props:C({},Rs,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Hr(),o=Mn();let r,s;return so((()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const o=e.cloneNode();e._vtc&&e._vtc.forEach((e=>{e.split(/\s+/).forEach((e=>e&&o.classList.remove(e)))}));n.split(/\s+/).forEach((e=>e&&o.classList.add(e))),o.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(o);const{hasTransform:s}=Us(o);return r.removeChild(o),s}(r[0].el,n.vnode.el,t))return;r.forEach(Gs),r.forEach(Ys);const o=r.filter(Js);Hs(),o.forEach((e=>{const n=e.el,o=n.style;Ls(n,t),o.transform=o.webkitTransform=o.transitionDuration="";const r=n._moveCb=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n._moveCb=null,Vs(n,t))};n.addEventListener("transitionend",r)}))})),()=>{const i=_t(e),l=Ms(i);let c=i.tag||dr;r=s,s=t.default?$n(t.default()):[];for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return k(t)?e=>q(t,e):t};function Zs(e){e.target.composing=!0}function Qs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ei={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=Xs(r);const s=o||r.props&&"number"===r.props.type;vs(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),s&&(o=Y(o)),e._assign(o)})),n&&vs(e,"change",(()=>{e.value=e.value.trim()})),t||(vs(e,"compositionstart",Zs),vs(e,"compositionend",Qs),vs(e,"change",Qs))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},s){if(e._assign=Xs(s),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&Y(e.value)===t)return}const i=null==t?"":t;e.value!==i&&(e.value=i)}},ti={deep:!0,created(e,t,n){e._assign=Xs(n),vs(e,"change",(()=>{const t=e._modelValue,n=ii(e),o=e.checked,r=e._assign;if(k(t)){const e=p(t,n),s=-1!==e;if(o&&!s)r(t.concat(n));else if(!o&&s){const n=[...t];n.splice(e,1),r(n)}}else if(A(t)){const e=new Set(t);o?e.add(n):e.delete(n),r(e)}else r(li(e,o))}))},mounted:ni,beforeUpdate(e,t,n){e._assign=Xs(n),ni(e,t,n)}};function ni(e,{value:t,oldValue:n},o){e._modelValue=t,k(t)?e.checked=p(t,o.props.value)>-1:A(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=f(t,li(e,!0)))}const oi={created(e,{value:t},n){e.checked=f(t,n.props.value),e._assign=Xs(n),vs(e,"change",(()=>{e._assign(ii(e))}))},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=Xs(o),t!==n&&(e.checked=f(t,o.props.value))}},ri={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const r=A(t);vs(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?Y(ii(e)):ii(e)));e._assign(e.multiple?r?new Set(t):t:t[0])})),e._assign=Xs(o)},mounted(e,{value:t}){si(e,t)},beforeUpdate(e,t,n){e._assign=Xs(n)},updated(e,{value:t}){si(e,t)}};function si(e,t){const n=e.multiple;if(!n||k(t)||A(t)){for(let o=0,r=e.options.length;o-1:t.has(s);else if(f(ii(r),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function ii(e){return"_value"in e?e._value:e.value}function li(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const ci={created(e,t,n){ai(e,t,n,null,"created")},mounted(e,t,n){ai(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){ai(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){ai(e,t,n,o,"updated")}};function ai(e,t,n,o,r){const s=function(e,t){switch(e){case"SELECT":return ri;case"TEXTAREA":return ei;default:switch(t){case"checkbox":return ti;case"radio":return oi;default:return ei}}}(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,o)}const ui=["ctrl","shift","alt","meta"],fi={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&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ui.some((n=>e[`${n}Key`]&&!t.includes(n)))},pi={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},di={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):hi(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),hi(e,!0),o.enter(e)):o.leave(e,(()=>{hi(e,!1)})):hi(e,t))},beforeUnmount(e,{value:t}){hi(e,t)}};function hi(e,t){e.style.display=t?e._vod:"none"}const vi=C({patchProp:(e,t,n,o,r=!1,s,i,l,c)=>{"class"===t?function(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,o,r):"style"===t?function(e,t,n){const o=e.style,r=R(n);if(n&&!r){if(t&&!R(t))for(const e in t)null==n[e]&&fs(o,e,"");for(const e in n)fs(o,e,n[e])}else{const s=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=s)}}(e,n,o):y(t)?b(t)||ms(e,t,0,o,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&bs.test(t)&&F(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if(bs.test(t)&&R(n))return!1;return t in e}(e,t,o,r))?function(e,t,n,o,r,s,i){if("innerHTML"===t||"textContent"===t)return o&&i(o,r,s),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const o=null==n?"":n;return e.value===o&&"OPTION"!==e.tagName||(e.value=o),void(null==n&&e.removeAttribute(t))}let l=!1;if(""===n||null==n){const o=typeof e[t];"boolean"===o?n=u(n):null==n&&"string"===o?(n="",l=!0):"number"===o&&(n=0,l=!0)}try{e[t]=n}catch(c){}l&&e.removeAttribute(t)}(e,t,o,s,i,l,c):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),function(e,t,n,o,r){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(hs,t.slice(6,t.length)):e.setAttributeNS(hs,t,n);else{const o=a(t);null==n||o&&!u(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,o,r))}},as);let mi,gi=!1;function _i(){return mi||(mi=nr(vi))}function yi(){return mi=gi?mi:or(vi),gi=!0,mi}const bi=(...e)=>{_i().render(...e)},Ci=(...e)=>{yi().hydrate(...e)};function xi(e){if(R(e)){return document.querySelector(e)}return e}const wi=m;return e.BaseTransition=Ln,e.Comment=vr,e.EffectScope=Q,e.Fragment=dr,e.KeepAlive=Kn,e.ReactiveEffect=fe,e.Static=mr,e.Suspense=_n,e.Teleport=fr,e.Text=hr,e.Transition=Ts,e.TransitionGroup=qs,e.VueElement=ws,e.assertNumber=function(e,t){},e.callWithAsyncErrorHandling=Bt,e.callWithErrorHandling=Vt,e.camelize=$,e.capitalize=z,e.cloneVNode=Mr,e.compatUtils=null,e.compile=()=>{},e.computed=ts,e.createApp=(...e)=>{const t=_i().createApp(...e),{mount:n}=t;return t.mount=e=>{const o=xi(e);if(!o)return;const r=t._component;F(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t},e.createBlock=Sr,e.createCommentVNode=function(e="",t=!1){return t?(yr(),Sr(vr,null,e)):Or(vr,null,e)},e.createElementBlock=function(e,t,n,o,r,s){return wr(Rr(e,t,n,o,r,s,!0))},e.createElementVNode=Rr,e.createHydrationRenderer=or,e.createPropsRestProxy=function(e,t){const n={};for(const o in e)t.includes(o)||Object.defineProperty(n,o,{enumerable:!0,get:()=>e[o]});return n},e.createRenderer=nr,e.createSSRApp=(...e)=>{const t=yi().createApp(...e),{mount:n}=t;return t.mount=e=>{const t=xi(e);if(t)return n(t,!0,t instanceof SVGElement)},t},e.createSlots=function(e,t){for(let n=0;n{const t=o.fn(...e);return t&&(t.key=o.key),t}:o.fn)}return e},e.createStaticVNode=function(e,t){const n=Or(mr,null,e);return n.staticCount=t,n},e.createTextVNode=Nr,e.createVNode=Or,e.customRef=function(e){return new Ot(e)},e.defineAsyncComponent=function(e){F(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:i=!0,onError:l}=e;let c,a=null,u=0;const f=()=>{let e;return a||(e=a=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise(((t,n)=>{l(e,(()=>t((u++,a=null,f()))),(()=>n(e)),u+1)}));throw e})).then((t=>e!==a&&a?a:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),c=t,t))))};return Dn({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return c},setup(){const e=Dr;if(c)return()=>zn(c,e);const t=t=>{a=null,It(t,e,13,!o)};if(i&&e.suspense)return f().then((t=>()=>zn(t,e))).catch((e=>(t(e),()=>o?Or(o,{error:e}):null)));const l=kt(!1),u=kt(),p=kt(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!l.value&&!u.value){const e=new Error(`Async component timed out after ${s}ms.`);t(e),u.value=e}}),s),f().then((()=>{l.value=!0,e.parent&&Wn(e.parent.vnode)&&Yt(e.parent.update)})).catch((e=>{t(e),u.value=e})),()=>l.value&&c?zn(c,e):u.value&&o?Or(o,{error:u.value}):n&&!p.value?Or(n):void 0}})},e.defineComponent=Dn,e.defineCustomElement=Cs,e.defineEmits=function(){return null},e.defineExpose=function(e){},e.defineProps=function(){return null},e.defineSSRCustomElement=e=>Cs(e,Ci),e.effect=function(e,t){e.effect&&(e=e.effect.fn);const n=new fe(e);t&&(C(n,t),t.scope&&ee(n,t.scope)),t&&t.lazy||n.run();const o=n.run.bind(n);return o.effect=n,o},e.effectScope=function(e){return new Q(e)},e.getCurrentInstance=Hr,e.getCurrentScope=te,e.getTransitionRawChildren=$n,e.guardReactiveProps=Pr,e.h=os,e.handleError=It,e.hydrate=Ci,e.initCustomFormatter=function(){},e.initDirectivesForSSR=wi,e.inject=kn,e.isMemoSame=ss,e.isProxy=gt,e.isReactive=ht,e.isReadonly=vt,e.isRef=St,e.isRuntimeOnly=()=>!qr,e.isShallow=mt,e.isVNode=kr,e.markRaw=yt,e.mergeDefaults=function(e,t){const n=k(e)?e.reduce(((e,t)=>(e[t]={},e)),{}):e;for(const o in t){const e=n[o];e?k(e)||F(e)?n[o]={type:e,default:t[o]}:e.default=t[o]:null===e&&(n[o]={default:t[o]})}return n},e.mergeProps=Ir,e.nextTick=Gt,e.normalizeClass=c,e.normalizeProps=function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!R(t)&&(e.class=c(t)),n&&(e.style=o(n)),e},e.normalizeStyle=o,e.onActivated=Gn,e.onBeforeMount=no,e.onBeforeUnmount=io,e.onBeforeUpdate=ro,e.onDeactivated=Yn,e.onErrorCaptured=fo,e.onMounted=oo,e.onRenderTracked=uo,e.onRenderTriggered=ao,e.onScopeDispose=function(e){Z&&Z.cleanups.push(e)},e.onServerPrefetch=co,e.onUnmounted=lo,e.onUpdated=so,e.openBlock=yr,e.popScopeId=function(){an=null},e.provide=Sn,e.proxyRefs=Rt,e.pushScopeId=function(e){an=e},e.queuePostFlushCb=Xt,e.reactive=ut,e.readonly=pt,e.ref=kt,e.registerRuntimeCompiler=function(e){qr=e,Gr=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,wo))}},e.render=bi,e.renderList=function(e,t,n,o){let r;const s=n&&n[o];if(k(e)||R(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,i=n.length;oe.devtools.emit(t,...n))),on=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null===(s=null===(r=window.navigator)||void 0===r?void 0:r.userAgent)||void 0===s?void 0:s.includes("jsdom"))){(o.__VUE_DEVTOOLS_HOOK_REPLAY__=o.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((e=>{t(e,o)})),setTimeout((()=>{e.devtools||(o.__VUE_DEVTOOLS_HOOK_REPLAY__=null,on=[])}),3e3)}else on=[]},e.setTransitionHooks=Un,e.shallowReactive=ft,e.shallowReadonly=function(e){return dt(e,!0,Ve,rt,ct)},e.shallowRef=function(e){return Et(e,!0)},e.ssrContextKey=rs,e.ssrUtils=null,e.stop=function(e){e.effect.stop()},e.toDisplayString=e=>R(e)?e:null==e?"":k(e)||P(e)&&(e.toString===N||!F(e.toString))?JSON.stringify(e,d,2):String(e),e.toHandlerKey=W,e.toHandlers=function(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:W(o)]=e[o];return n},e.toRaw=_t,e.toRef=Mt,e.toRefs=function(e){const t=k(e)?new Array(e.length):{};for(const n in e)t[n]=Mt(e,n);return t},e.transformVNodeArgs=function(e){},e.triggerRef=function(e){wt(e)},e.unref=Tt,e.useAttrs=function(){return ns().attrs},e.useCssModule=function(e="$style"){return h},e.useCssVars=function(e){const t=Hr();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>ks(e,n)))},o=()=>{const o=e(t.proxy);Ss(t.subTree,o),n(o)};En(o),oo((()=>{const e=new MutationObserver(o);e.observe(t.subTree.el.parentNode,{childList:!0}),lo((()=>e.disconnect()))}))},e.useSSRContext=()=>{},e.useSlots=function(){return ns().slots},e.useTransitionState=Mn,e.vModelCheckbox=ti,e.vModelDynamic=ci,e.vModelRadio=oi,e.vModelSelect=ri,e.vModelText=ei,e.vShow=di,e.version=is,e.warn=function(e,...t){},e.watch=Tn,e.watchEffect=function(e,t){return Fn(e,null,t)},e.watchPostEffect=En,e.watchSyncEffect=function(e,t){return Fn(e,null,{flush:"sync"})},e.withAsyncContext=function(e){const t=Hr();let n=e();return Wr(),M(n)&&(n=n.catch((e=>{throw zr(t),e}))),[n,()=>zr(t)]},e.withCtx=fn,e.withDefaults=function(e,t){return null},e.withDirectives=function(e,t){const n=cn;if(null===n)return e;const o=Qr(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;sn=>{if(!("key"in n))return;const o=H(n.key);return t.some((e=>e===o||pi[e]===o))?e(n):void 0},e.withMemo=function(e,t,n,o){const r=n[o];if(r&&ss(r,e))return r;const s=t();return s.memo=e.slice(),n[o]=s},e.withModifiers=(e,t)=>(n,...o)=>{for(let e=0;efn,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
diff --git a/config.yaml b/config.yaml
new file mode 100644
index 0000000..37c184d
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1,9 @@
+application:
+ name: Identity Manager
+ logo:
+ dark: /img/logo-dark.png
+ light: /img/logo-light.png
+ port: 3000
+mfa:
+ otp:
+ issuer: example.com
\ No newline at end of file
diff --git a/lib/config.mjs b/lib/config.mjs
new file mode 100644
index 0000000..154e045
--- /dev/null
+++ b/lib/config.mjs
@@ -0,0 +1,15 @@
+
+import {
+ parse as parseYaml
+} from 'yaml';
+
+import {
+ readFileSync
+} from "node:fs";
+
+
+export async function getConfig() {
+ return parseYaml(
+ readFileSync('config.yaml', 'utf-8')
+ );
+}
\ No newline at end of file
diff --git a/lib/mysql.mjs b/lib/mysql.mjs
new file mode 100644
index 0000000..2216398
--- /dev/null
+++ b/lib/mysql.mjs
@@ -0,0 +1,107 @@
+
+import mysql from "mysql2/promise";
+
+import {
+ generateOTPSecret
+} from "./otp.mjs";
+
+// Create the connection to database
+const connection = await mysql.createConnection({
+ host: '10.0.0.31',
+ port: 33063,
+ database: 'glauth',
+ user: 'glauth',
+ password: 'b848dc7aa44b66bbcc1e5991a6ae45ce'
+});
+
+export async function login(username, password) {
+ try {
+ const [rows] = await connection.execute('SELECT id, uidnumber, name, otpsecret FROM `users` WHERE `name` = ? AND `passsha256` = ? AND `disabled` = 0', [username, password]);
+
+ if (rows.length == 0) {
+ throw new Error(`user ${username} not found.`);
+ }
+ if (rows.length > 1) {
+ throw new Error("more than 1 user found.");
+ }
+
+ console.log(`user ${rows[0].name} logged in.`);
+ return rows[0];
+ } catch (error) {
+ console.log(`login failed: ${error.message}`);
+ return null;
+ }
+}
+
+export async function getUser(userid) {
+ try {
+ const [rows] = await connection.execute('SELECT uidnumber, name, givenname, sn, mail, custattr FROM `users` WHERE `id` = ?', [userid]);
+
+ if (rows.length == 0) {
+ throw new Error("no user found.");
+ }
+
+ return rows[0];
+ } catch (error) {
+ return null;
+ }
+}
+
+export async function getUserMFA(userid) {
+ try {
+ const [rows] = await connection.execute('SELECT otpsecret, yubikey FROM `users` WHERE `id` = ?', [userid]);
+
+ if (rows.length == 0) {
+ throw new Error("no user found.");
+ }
+
+ return rows[0];
+ } catch (error) {
+ return null;
+ }
+}
+
+export async function setOTPSecret(userid, otpsecret) {
+ try {
+ await connection.execute('UPDATE `users` SET `otpsecret` = ? WHERE `id` = ?', [otpsecret, userid]);
+ return true;
+ } catch (error) {
+ return false;
+ }
+}
+
+
+
+export async function getUsers() {
+ let [mysqlUsers] = await connection.execute('SELECT id, name, uidnumber, mail, disabled FROM `users`', []);
+ return mysqlUsers;
+}
+
+export async function getGroups() {
+ let [mysqlGroups] = await connection.execute('SELECT * FROM `ldapgroups`', []);
+ return mysqlGroups;
+}
+
+export async function getUserGroups(userid) {
+ try {
+ let [mysqlUsers] = await connection.execute('SELECT primarygroup, othergroups FROM `users` WHERE `id` = ?', [userid]);
+ let [mysqlGroups] = await connection.execute('SELECT * FROM `ldapgroups`', []);
+
+ mysqlGroups = mysqlGroups.map((mysqlGroup) => {
+ return {
+ id: mysqlGroup.id,
+ name: mysqlGroup.name
+ }
+ });
+
+ let result = [];
+
+ if (mysqlUsers[0].primarygroup != '') {
+
+ }
+
+ return true;
+ } catch (error) {
+ return false;
+ }
+}
diff --git a/lib/otp.mjs b/lib/otp.mjs
new file mode 100644
index 0000000..5ec690c
--- /dev/null
+++ b/lib/otp.mjs
@@ -0,0 +1,59 @@
+import qrcode from "qrcode";
+
+import {
+ Secret,
+ TOTP
+} from "otpauth";
+
+import {
+ getConfig
+} from "./config.mjs";
+
+import {
+ setOTPSecret
+} from "./mysql.mjs";
+
+let appConfig = await getConfig();
+
+export function generateOTPSecret() {
+ return new Promise((resolve, reject) => {
+ let otpSecret = new Secret({ length: 20 });
+ resolve(otpSecret.base32);
+ })
+}
+
+export function generateOTPQRCode(account, otpsecret) {
+ return new Promise(async (resolve, reject) => {
+ let totp = new TOTP({
+ issuer: appConfig.mfa.otp.issuer,
+ label: account,
+ algorithm: "SHA1",
+ digits: 6,
+ period: 30,
+ secret: otpsecret
+ });
+
+ qrcode.toDataURL(totp.toString(), (error, url) => {
+ resolve(url)
+ })
+ })
+}
+
+export function validateOTPCode(account, otpsecret, token) {
+ return new Promise((resolve, reject) => {
+ let totp = new TOTP({
+ issuer: appConfig.mfa.otp.issuer,
+ label: account,
+ algorithm: "SHA1",
+ digits: 6,
+ period: 30,
+ secret: otpsecret
+ });
+
+ resolve(totp.validate({ token, window: 2 }));
+ });
+}
+
+export async function saveOTPSecret(userid, otpsecret) {
+ setOTPSecret(userid, otpsecret)
+}
\ No newline at end of file
diff --git a/master.mjs b/master.mjs
new file mode 100644
index 0000000..32ff01b
--- /dev/null
+++ b/master.mjs
@@ -0,0 +1,69 @@
+
+// Load WebServer
+import {
+ default as express
+} from "express";
+
+// Load Templating Engine
+import {
+ default as nunjucks
+} from "nunjucks";
+
+import {
+ router
+} from "express-file-routing"
+
+import sessions from "express-session";
+
+// Initialize WebServer
+const expressApp = express();
+const expressPort = 3000;
+
+// Configure Templating Engine
+nunjucks.configure('./', {
+ autoescape: false,
+ express: expressApp,
+ noCache: true
+});
+
+// Enable Express Sessions
+expressApp.use(sessions({
+ secret: 'keyboard cat',
+ resave: false,
+ rolling: true,
+ saveUninitialized: false,
+ cookie: {
+ secure: false,
+ maxAge: 1800 * 1000,
+ httpOnly: true
+ }
+}))
+
+// Enable Cross Origins
+expressApp.use((req, res, next) => {
+ res.header("Access-Control-Allow-Origin", "*");
+ res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
+ res.header("Access-Control-Allow-Headers", "Content-Type, Authorization");
+ next();
+});
+
+// Mount Middlewares to WebServer
+expressApp.use(express.urlencoded());
+expressApp.use(express.json());
+expressApp.use(express.static('./assets/'))
+expressApp.use((request, response, next) => {
+ request.isLoginCompleted = () => {
+ if (typeof request.session.login == 'object' && request.session.login.completed) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ next();
+})
+expressApp.use("/", await router())
+
+// Server starten
+expressApp.listen(expressPort, () => {
+ console.log(`Server is listening on port ${expressPort}`);
+});
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..7c0983c
--- /dev/null
+++ b/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "formassist",
+ "version": "1.0.0",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "description": "",
+ "dependencies": {
+ "express": "^4.21.1",
+ "express-file-routing": "^3.0.3",
+ "express-session": "^1.18.1",
+ "ldapjs-client": "^0.1.2",
+ "mysql2": "^3.12.0",
+ "nunjucks": "^3.2.4",
+ "otpauth": "^9.3.6",
+ "qrcode": "^1.5.4",
+ "yaml": "^2.6.1"
+ }
+}
diff --git a/routes/admin/[page].mjs b/routes/admin/[page].mjs
new file mode 100644
index 0000000..e210c6b
--- /dev/null
+++ b/routes/admin/[page].mjs
@@ -0,0 +1,36 @@
+
+import {
+ getUsers,
+ getGroups
+} from "../../lib/mysql.mjs";
+
+
+export const get = async function (request, response) {
+ // if (!request.isLoginCompleted()) {
+ // response.redirect('/login');
+ // return;
+ // }
+
+ switch (request.params.page) {
+ case 'users':
+ response.render(`ui/admin.njk`, {
+ page: 'users',
+ users: await getUsers()
+ });
+ break;
+ case 'groups':
+ response.render(`ui/admin.njk`, {
+ page: 'groups',
+ groups: await getGroups()
+ });
+ break;
+ default:
+ response.redirect('/admin/users');
+ break;
+ }
+}
+
+export const post = async function (request, response) {
+ console.log(request.body);
+ response.redirect("/login");
+}
\ No newline at end of file
diff --git a/routes/admin/index.mjs b/routes/admin/index.mjs
new file mode 100644
index 0000000..210abc6
--- /dev/null
+++ b/routes/admin/index.mjs
@@ -0,0 +1,4 @@
+
+export const get = async function (request, response) {
+ response.redirect('/admin/users');
+}
\ No newline at end of file
diff --git a/routes/login.mjs b/routes/login.mjs
new file mode 100644
index 0000000..6922bd6
--- /dev/null
+++ b/routes/login.mjs
@@ -0,0 +1,78 @@
+
+import crypto from "crypto";
+
+import {
+ login,
+ getUser,
+ getUserMFA
+} from "../lib/mysql.mjs";
+
+import {
+ validateOTPCode
+} from "../lib/otp.mjs";
+
+export const get = async function(request, response) {
+ if (typeof request.session.userid != 'string') {
+ response.render(`ui/login.njk`, {
+ step: 'login'
+ });
+ return;
+ }
+ if (request.session.otpVerified != true) {
+ response.render(`ui/login.njk`, {
+ step: 'otp'
+ });
+ return;
+ }
+}
+
+export const post = async function(request, response) {
+ if (typeof request.body.username == 'string' && typeof request.body.password == 'string') {
+ let username = request.body.username;
+ let password = crypto.createHash('sha256').update(request.body.password).digest('hex')
+
+ let loginResult = await login(username, password)
+
+ if (loginResult == null) {
+ response.render(`ui/login.njk`, {
+ step: 'login',
+ error: 'login failed'
+ });
+ return;
+ }
+
+ request.session.userid = loginResult.id;
+ request.session.login = {
+ completed: false,
+ otpVerified: false
+ }
+ request.session.save();
+
+ if (loginResult.otpsecret != '' && loginResult.yubikey != '') {
+ response.render(`ui/login.njk`, {
+ step: 'otp'
+ });
+ return;
+ } else {
+ request.session.login.completed = true;
+ response.redirect('/profile')
+ }
+ } else if (typeof request.body.otpToken == 'string') {
+ let otpToken = request.body.otpToken;
+ let userData = await getUser(request.session.userid);
+ let mfaData = await getUserMFA(request.session.userid);
+
+ let validationResult = await validateOTPCode(userData.mail, mfaData.otpsecret, otpToken);
+
+ if (validationResult != null) {
+ request.session.login.completed = true;
+ response.redirect('/profile');
+ } else {
+ request.session.destroy();
+ response.render(`ui/login.njk`, {
+ step: 'login',
+ error: 'otp failed'
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/routes/logout.mjs b/routes/logout.mjs
new file mode 100644
index 0000000..89d69e7
--- /dev/null
+++ b/routes/logout.mjs
@@ -0,0 +1,5 @@
+
+export const get = async function(request, response) {
+ request.session.destroy();
+ response.render(`ui/logout.njk`);
+}
diff --git a/routes/profile/[page].mjs b/routes/profile/[page].mjs
new file mode 100644
index 0000000..abf068b
--- /dev/null
+++ b/routes/profile/[page].mjs
@@ -0,0 +1,59 @@
+
+import {
+ getUser,
+ getUserMFA
+} from "../../lib/mysql.mjs";
+
+import {
+ generateOTPQRCode
+} from "../../lib/otp.mjs";
+
+
+export const get = async function(request, response) {
+ if (!request.isLoginCompleted()) {
+ response.redirect('/login');
+ return;
+ }
+
+ let userData = await getUser(request.session.userid);
+ let mfaData = await getUserMFA(request.session.userid);
+
+ switch (request.params.page) {
+ case 'personal':
+ response.render(`ui/profile.njk`, {
+ page: 'profile/personal',
+ data: {
+ firstName: userData.givenname,
+ lastName: userData.sn,
+ mail: userData.mail,
+ }
+ });
+ break;
+ case 'security':
+ response.render(`ui/profile.njk`, {
+ page: 'profile/security',
+ otp: {
+ active: mfaData.otpsecret != '' ? true : false,
+ qrcode: await generateOTPQRCode(userData.mail, mfaData.otpsecret)
+ }
+ });
+ break;
+ case 'createOTPSecret':
+ response.render(`ui/profile.njk`, {
+ page: 'profile/createOTPSecret',
+ otp: {
+ active: mfaData.otpsecret != '' ? true : false,
+ qrcode: await generateOTPQRCode(userData.mail, mfaData.otpsecret)
+ }
+ });
+ break;
+ default:
+ response.redirect('/page/personal');
+ break;
+ }
+}
+
+export const post = async function(request, response) {
+ console.log(request.body);
+ response.redirect("/login");
+}
diff --git a/routes/profile/index.mjs b/routes/profile/index.mjs
new file mode 100644
index 0000000..106942b
--- /dev/null
+++ b/routes/profile/index.mjs
@@ -0,0 +1,9 @@
+
+export const get = async function (request, response) {
+ if (!request.isLoginCompleted()) {
+ response.redirect('/login');
+ return;
+ }
+
+ response.redirect('/profile/personal');
+}
\ No newline at end of file
diff --git a/routes/profile/otp/create.mjs b/routes/profile/otp/create.mjs
new file mode 100644
index 0000000..91279f6
--- /dev/null
+++ b/routes/profile/otp/create.mjs
@@ -0,0 +1,62 @@
+import {
+ generateOTPQRCode,
+ generateOTPSecret,
+ validateOTPCode,
+ saveOTPSecret
+} from "../../../lib/otp.mjs";
+
+import {
+ getUser,
+ getUserMFA
+} from "../../../lib/mysql.mjs";
+
+export const get = async function (request, response) {
+ if (!request.isLoginCompleted()) {
+ response.redirect('/login');
+ return;
+ }
+
+ if (typeof request.session.otpConfig != 'object') {
+ request.session.otpConfig = {
+ completed: false,
+ otpSecret: await generateOTPSecret()
+ }
+ }
+
+ let userData = await getUser(request.session.userid);
+ let otpsecret = request.session.otpConfig.otpSecret;
+
+ response.render(`ui/profile.njk`, {
+ page: 'otp/create',
+ otp: {
+ active: request.session.otpConfig.completed != '' ? true : false,
+ qrcode: await generateOTPQRCode(userData.name, otpsecret),
+ otpsecret: request.session.otpConfig.otpSecret
+ }
+ });
+}
+
+
+export const post = async function (request, response) {
+ if (!request.isLoginCompleted()) {
+ response.redirect('/login');
+ return;
+ }
+
+ let userData = await getUser(request.session.userid);
+
+ if (validateOTPCode(userData.name, request.body.otpsecret, request.body.otpcode)) {
+ saveOTPSecret(request.session.userid, request.body.otpsecret)
+
+ response.render(`ui/messages/success.njk`, {
+ message: {
+ title: 'OTP Secret created!',
+ text: 'Your new OTP-Secret was successfull generated',
+ link: '/profile/security'
+ }
+ });
+ } else {
+ response.redirect('/profile/otp/create')
+ }
+
+}
\ No newline at end of file
diff --git a/routes/profile/otp/delete.mjs b/routes/profile/otp/delete.mjs
new file mode 100644
index 0000000..91279f6
--- /dev/null
+++ b/routes/profile/otp/delete.mjs
@@ -0,0 +1,62 @@
+import {
+ generateOTPQRCode,
+ generateOTPSecret,
+ validateOTPCode,
+ saveOTPSecret
+} from "../../../lib/otp.mjs";
+
+import {
+ getUser,
+ getUserMFA
+} from "../../../lib/mysql.mjs";
+
+export const get = async function (request, response) {
+ if (!request.isLoginCompleted()) {
+ response.redirect('/login');
+ return;
+ }
+
+ if (typeof request.session.otpConfig != 'object') {
+ request.session.otpConfig = {
+ completed: false,
+ otpSecret: await generateOTPSecret()
+ }
+ }
+
+ let userData = await getUser(request.session.userid);
+ let otpsecret = request.session.otpConfig.otpSecret;
+
+ response.render(`ui/profile.njk`, {
+ page: 'otp/create',
+ otp: {
+ active: request.session.otpConfig.completed != '' ? true : false,
+ qrcode: await generateOTPQRCode(userData.name, otpsecret),
+ otpsecret: request.session.otpConfig.otpSecret
+ }
+ });
+}
+
+
+export const post = async function (request, response) {
+ if (!request.isLoginCompleted()) {
+ response.redirect('/login');
+ return;
+ }
+
+ let userData = await getUser(request.session.userid);
+
+ if (validateOTPCode(userData.name, request.body.otpsecret, request.body.otpcode)) {
+ saveOTPSecret(request.session.userid, request.body.otpsecret)
+
+ response.render(`ui/messages/success.njk`, {
+ message: {
+ title: 'OTP Secret created!',
+ text: 'Your new OTP-Secret was successfull generated',
+ link: '/profile/security'
+ }
+ });
+ } else {
+ response.redirect('/profile/otp/create')
+ }
+
+}
\ No newline at end of file
diff --git a/ui/admin.njk b/ui/admin.njk
new file mode 100644
index 0000000..6e05696
--- /dev/null
+++ b/ui/admin.njk
@@ -0,0 +1,127 @@
+{% extends "./master.njk" %}
+
+{% block content %}
+
+ {% include "./components/navbar.njk" %}
+
+
+
+
+
+ {% if page == 'users' %}
+
+
+
+
+ Users
+
+ Manage the users in the user directory
+
+
+
+
+ |
+ Name
+ |
+
+ Mail
+ |
+
+ Enabled
+ |
+
+
+ |
+
+
+
+ {% for user in users %}
+
+ |
+ {{user.name}}
+ |
+
+ {{user.mail}}
+ |
+ {% if user.disabled == 1 %}
+
+
+ |
+ {% else %}
+
+
+ |
+ {% endif %}
+
+ Edit
+ |
+
+ {% endfor %}
+
+
+
+ {% endif %}
+ {% if page == 'groups' %}
+
+
+
+
+ Groups
+
+ Manage the groups in the user directory
+
+
+
+
+ |
+ Name
+ |
+
+
+ |
+
+
+
+ {% for group in groups %}
+
+ |
+ {{group.name}}
+ |
+
+ Edit
+ |
+
+ {% endfor %}
+
+
+
+ {% endif %}
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/ui/components/meta.njk b/ui/components/meta.njk
new file mode 100644
index 0000000..0e15f8a
--- /dev/null
+++ b/ui/components/meta.njk
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/components/navbar.njk b/ui/components/navbar.njk
new file mode 100644
index 0000000..9d8ef53
--- /dev/null
+++ b/ui/components/navbar.njk
@@ -0,0 +1,27 @@
+
+
+
+
diff --git a/ui/components/widgets.njk b/ui/components/widgets.njk
new file mode 100644
index 0000000..bd0518d
--- /dev/null
+++ b/ui/components/widgets.njk
@@ -0,0 +1,37 @@
+
+{% macro jumbotron(id='', title='', text='') %}
+
+
+
+
+ {{ text }}
+
+ {{ caller() }}
+
+
+{% endmacro %}
+
+{% macro container(id='', width='w-full', flow='row', vAlign='center', hAlign='center') %}
+
+ {{ caller() }}
+
+{% endmacro %}
+
+{% macro grid(id='', title='', columns=3) %}
+
+ {{ caller() }}
+
+{% endmacro %}
+
+{% macro link(id='', link='#', title='New Link', description='Description') %}
+
+
+ {{ title }}
+
+
+ {{ description }}
+
+
+{% endmacro %}
\ No newline at end of file
diff --git a/ui/login.njk b/ui/login.njk
new file mode 100644
index 0000000..7cfb84f
--- /dev/null
+++ b/ui/login.njk
@@ -0,0 +1,81 @@
+{% extends "./master.njk" %}
+
+{% block content %}
+
+
+ {% if error == "login failed" %}
+
+
+
+
+ Login failed. Username or password is incorrect.
+
+
+ {% endif %}
+ {% if error == "otp failed" %}
+
+
+
+
+ Login failed. OTP token is incorrect.
+
+
+ {% endif %}
+ {% if step == "login" %}
+
+
+
+
+

+
+ Identity Manager
+
+
+
+
+
+ {% endif %}
+ {% if step == "otp" %}
+
+
+
+
+

+
+ Identity Manager
+
+
+
+
+
+
+ {% endif %}
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/ui/logout.njk b/ui/logout.njk
new file mode 100644
index 0000000..98d5347
--- /dev/null
+++ b/ui/logout.njk
@@ -0,0 +1,21 @@
+{% extends "./master.njk" %}
+
+{% block content %}
+
+
+
+
+
+
+
+ You have been logged out
+
+
+
+
Sign in
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/ui/master.njk b/ui/master.njk
new file mode 100644
index 0000000..dd18f01
--- /dev/null
+++ b/ui/master.njk
@@ -0,0 +1,56 @@
+
+
+
+
+ Shell Script Hub
+ {% include "./components/meta.njk" %}
+
+
+
+
+
+ {% block content %}{% endblock %}
+
+
+
\ No newline at end of file
diff --git a/ui/messages/404.njk b/ui/messages/404.njk
new file mode 100644
index 0000000..176120c
--- /dev/null
+++ b/ui/messages/404.njk
@@ -0,0 +1,17 @@
+{% extends "./master.njk" %}
+
+{% block content %}
+
+
+
+
{{ Error.Code }}
+
Opps! {{ Error.Title }}
+
+ {{ Error.Message }}
+
+
Go Back
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/ui/messages/success.njk b/ui/messages/success.njk
new file mode 100644
index 0000000..bfbae4f
--- /dev/null
+++ b/ui/messages/success.njk
@@ -0,0 +1,20 @@
+{% extends "../master.njk" %}
+
+{% block content %}
+
+
+
+ {{ message.title }}
+
+
+ {{ message.text }}
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/ui/profile.njk b/ui/profile.njk
new file mode 100644
index 0000000..a2839de
--- /dev/null
+++ b/ui/profile.njk
@@ -0,0 +1,229 @@
+{% extends "./master.njk" %}
+
+{% block content %}
+
+ {% include "./components/navbar.njk" %}
+
+
+
+
+
+
+ {% if page == 'profile/personal' %}
+
+
+
+
+ Personal Data
+
+
+
+
+
+
+
+
+ {% endif %}
+ {% if page == 'profile/security' %}
+
+
+
+
+
+ Change Password
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Two-Factor Authentication
+
+
+ {% if otp.active != true %}
+
+
+
+
+ You have not yet configured 2-factor authentication.
+
+
+
+ {% endif %}
+
+ {% if otp.active == true %}
+
+

+
+
+
+
+
+
+
+
+
+
+ {% endif %}
+
+
+
+
+
+
+
+
Each time you authenticate, you must add your current 2FA code at the end of your password.
+
+
+
+
+
You can use any Google Authenticator compatible app. Keepass and Passbolt need the specific settings.
+
+
+
+
+
+ {% endif %}
+ {% if page == 'profile/otp/create' %}
+
+
+
+
+
+ Two-Factor Authentication
+
+
+
+
+
+ next steps:
+
+
+ - scan the QR-Code with your authenticator app or add your secret manually
+ - enter the generated one-time password in the input field for confirmation
+ - validate the code from your authenticator app
+
+
+
+
+
+
+ {% endif %}
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file