P?ie(u,y,v,!0,!1,F):te(a,p,m,y,v,S,x,w,F)},Ke=(u,a,p,m,y,v,S,x,w)=>{let E=0;const P=a.length;let F=u.length-1,I=P-1;for(;E<=F&&E<=I;){const H=u[E],k=a[E]=w?De(a[E]):Ie(a[E]);if(Pt(H,k))M(H,k,p,null,y,v,S,x,w);else break;E++}for(;E<=F&&E<=I;){const H=u[F],k=a[I]=w?De(a[I]):Ie(a[I]);if(Pt(H,k))M(H,k,p,null,y,v,S,x,w);else break;F--,I--}if(E>F){if(E<=I){const H=I+1,k=HI)for(;E<=F;)he(u[E],y,v,!0),E++;else{const H=E,k=E,z=new Map;for(E=k;E<=I;E++){const ye=a[E]=w?De(a[E]):Ie(a[E]);ye.key!=null&&z.set(ye.key,E)}let ee,ue=0;const Ee=I-k+1;let ft=!1,Ss=0;const Ct=new Array(Ee);for(E=0;E=Ee){he(ye,y,v,!0);continue}let Te;if(ye.key!=null)Te=z.get(ye.key);else for(ee=k;ee<=I;ee++)if(Ct[ee-k]===0&&Pt(ye,a[ee])){Te=ee;break}Te===void 0?he(ye,y,v,!0):(Ct[Te-k]=E+1,Te>=Ss?Ss=Te:ft=!0,M(ye,a[Te],p,null,y,v,S,x,w),ue++)}const Cs=ft?wl(Ct):pt;for(ee=Cs.length-1,E=Ee-1;E>=0;E--){const ye=k+E,Te=a[ye],Ps=ye+1{const{el:v,type:S,transition:x,children:w,shapeFlag:E}=u;if(E&6){Oe(u.component.subTree,a,p,m);return}if(E&128){u.suspense.move(a,p,m);return}if(E&64){S.move(u,a,p,T);return}if(S===we){s(v,a,p);for(let F=0;Fx.enter(v),y);else{const{leave:F,delayLeave:I,afterLeave:H}=x,k=()=>s(v,a,p),z=()=>{F(v,()=>{k(),H&&H()})};I?I(v,k,z):z()}else s(v,a,p)},he=(u,a,p,m=!1,y=!1)=>{const{type:v,props:S,ref:x,children:w,dynamicChildren:E,shapeFlag:P,patchFlag:F,dirs:I}=u;if(x!=null&&Qn(x,null,p,u,!0),P&256){a.ctx.deactivate(u);return}const H=P&1&&I,k=!Mt(u);let z;if(k&&(z=S&&S.onVnodeBeforeUnmount)&&Me(z,a,u),P&6)Dt(u.component,p,m);else{if(P&128){u.suspense.unmount(p,m);return}H&&Ze(u,null,a,"beforeUnmount"),P&64?u.type.remove(u,a,p,y,T,m):E&&(v!==we||F>0&&F&64)?ie(E,a,p,!1,!0):(v===we&&F&384||!y&&P&16)&&ie(w,a,p),m&&ct(u)}(k&&(z=S&&S.onVnodeUnmounted)||H)&&pe(()=>{z&&Me(z,a,u),H&&Ze(u,null,a,"unmounted")},p)},ct=u=>{const{type:a,el:p,anchor:m,transition:y}=u;if(a===we){ut(p,m);return}if(a===Ln){B(u);return}const v=()=>{r(p),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(u.shapeFlag&1&&y&&!y.persisted){const{leave:S,delayLeave:x}=y,w=()=>S(p,v);x?x(u.el,v,w):w()}else v()},ut=(u,a)=>{let p;for(;u!==a;)p=g(u),r(u),u=p;r(a)},Dt=(u,a,p)=>{const{bum:m,scope:y,update:v,subTree:S,um:x}=u;m&&Zt(m),y.stop(),v&&(v.active=!1,he(S,u,a,p)),x&&pe(x,a),pe(()=>{u.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},ie=(u,a,p,m=!1,y=!1,v=0)=>{for(let S=v;Su.shapeFlag&6?_(u.component.subTree):u.shapeFlag&128?u.suspense.next():g(u.anchor||u.el);let C=!1;const R=(u,a,p)=>{u==null?a._vnode&&he(a._vnode,null,null,!0):M(a._vnode||null,u,a,null,null,null,p),C||(C=!0,js(),io(),C=!1),a._vnode=u},T={p:M,um:he,m:Oe,r:ct,mt:St,mc:te,pc:W,pbc:de,n:_,o:e};return{render:R,hydrate:void 0,createApp:pl(R)}}function In({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function et({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bs(e,t,n=!1){const s=e.children,r=t.children;if($(s)&&$(r))for(let o=0;o>1,e[n[c]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function So(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:So(t)}const Rl=e=>e.__isTeleport,Lt=e=>e&&(e.disabled||e.disabled===""),Ys=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Js=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Yn=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},Sl={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,c,l,d){const{mc:f,pc:h,pbc:g,o:{insert:b,querySelector:A,createText:M,createComment:L}}=d,O=Lt(t.props);let{shapeFlag:j,children:V,dynamicChildren:B}=t;if(e==null){const J=t.el=M(""),N=t.anchor=M("");b(J,n,s),b(N,n,s);const X=t.target=Yn(t.props,A),te=t.targetAnchor=M("");X&&(b(te,X),i==="svg"||Ys(X)?i="svg":(i==="mathml"||Js(X))&&(i="mathml"));const be=(de,_e)=>{j&16&&f(V,de,_e,r,o,i,c,l)};O?be(n,N):X&&be(X,te)}else{t.el=e.el;const J=t.anchor=e.anchor,N=t.target=e.target,X=t.targetAnchor=e.targetAnchor,te=Lt(e.props),be=te?n:N,de=te?J:X;if(i==="svg"||Ys(N)?i="svg":(i==="mathml"||Js(N))&&(i="mathml"),B?(g(e.dynamicChildren,B,be,r,o,i,c),bs(e,t,!0)):l||h(e,t,be,de,r,o,i,c,!1),O)te?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Jt(t,n,J,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const _e=t.target=Yn(t.props,A);_e&&Jt(t,_e,null,d,0)}else te&&Jt(t,N,X,d,1)}Co(t)},remove(e,t,n,s,{um:r,o:{remove:o}},i){const{shapeFlag:c,children:l,anchor:d,targetAnchor:f,target:h,props:g}=e;if(h&&o(f),i&&o(d),c&16){const b=i||!Lt(g);for(let A=0;A0?Se||pt:null,Pl(),Kt>0&&Se&&Se.push(e),e}function Al(e,t,n,s,r,o){return Po(bt(e,t,n,s,r,o,!0))}function Ao(e,t,n,s,r){return Po(ne(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function Pt(e,t){return e.type===t.type&&e.key===t.key}const Sn="__vInternal",Oo=({key:e})=>e??null,sn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||me(e)||K(e)?{i:oe,r:e,k:t,f:!!n}:e:null);function bt(e,t=null,n=null,s=0,r=null,o=e===we?0:1,i=!1,c=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Oo(t),ref:t&&sn(t),scopeId:xn,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:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:oe};return c?(Es(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=se(n)?8:16),Kt>0&&!i&&Se&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Se.push(l),l}const ne=Ol;function Ol(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Bi)&&(e=Je),fn(e)){const c=Et(e,t,!0);return n&&Es(c,n),Kt>0&&!o&&Se&&(c.shapeFlag&6?Se[Se.indexOf(e)]=c:Se.push(c)),c.patchFlag|=-2,c}if(Kl(e)&&(e=e.__vccOpts),t){t=Tl(t);let{class:c,style:l}=t;c&&!se(c)&&(t.class=ls(c)),Y(l)&&(Jr(l)&&!$(l)&&(l=ae({},l)),t.style=is(l))}const i=se(e)?1:Di(e)?128:Rl(e)?64:Y(e)?4:K(e)?2:0;return bt(e,t,n,s,r,i,o,!0)}function Tl(e){return e?Jr(e)||Sn in e?ae({},e):e:null}function Et(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,c=t?Ml(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Oo(c),ref:t&&t.ref?n&&r?$(r)?r.concat(sn(t)):[r,sn(t)]:sn(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!==we?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Et(e.ssContent),ssFallback:e.ssFallback&&Et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function dt(e=" ",t=0){return ne(Rn,null,e,t)}function Vu(e="",t=!1){return t?(vs(),Ao(Je,null,e)):ne(Je,null,e)}function Ie(e){return e==null||typeof e=="boolean"?ne(Je):$(e)?ne(we,null,e.slice()):typeof e=="object"?De(e):ne(Rn,null,String(e))}function De(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Et(e)}function Es(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if($(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Es(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Sn in t)?t._ctx=oe:r===3&&oe&&(oe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:oe},n=32):(t=String(t),s&64?(n=16,t=[dt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ml(...e){const t={};for(let n=0;n{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};an=t("__VUE_INSTANCE_SETTERS__",n=>ce=n),Jn=t("__VUE_SSR_SETTERS__",n=>Cn=n)}const Ut=e=>{const t=ce;return an(e),e.scope.on(),()=>{e.scope.off(),an(t)}},Zs=()=>{ce&&ce.scope.off(),an(null)};function To(e){return e.vnode.shapeFlag&4}let Cn=!1;function Fl(e,t=!1){t&&Jn(t);const{props:n,children:s}=e.vnode,r=To(e);gl(e,n,r,t),yl(e,s);const o=r?$l(e,t):void 0;return t&&Jn(!1),o}function $l(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=ps(new Proxy(e.ctx,ll));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Hl(e):null,o=Ut(e);ot();const i=ze(s,e,0,[e.props,r]);if(it(),o(),Or(i)){if(i.then(Zs,Zs),t)return i.then(c=>{er(e,c)}).catch(c=>{vn(c,e,0)});e.asyncDep=i}else er(e,i)}else Mo(e)}function er(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Y(t)&&(e.setupState=no(t)),Mo(e)}function Mo(e,t,n){const s=e.type;e.render||(e.render=s.render||ve);{const r=Ut(e);ot();try{cl(e)}finally{it(),r()}}}function jl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ge(e,"get","$attrs"),t[n]}}))}function Hl(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return jl(e)},slots:e.slots,emit:e.emit,expose:t}}function Pn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(no(ps(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in It)return It[n](e)},has(t,n){return n in t||n in It}}))}function Vl(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Kl(e){return K(e)&&"__vccOpts"in e}const Re=(e,t)=>Pi(e,t,Cn);function Io(e,t,n){const s=arguments.length;return s===2?Y(t)&&!$(t)?fn(t)?ne(e,null,[t]):ne(e,t):ne(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),ne(e,t,n))}const kl="3.4.15";/**
+* @vue/runtime-dom v3.4.15
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/const Bl="http://www.w3.org/2000/svg",Ul="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,tr=We&&We.createElement("template"),Dl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?We.createElementNS(Bl,e):t==="mathml"?We.createElementNS(Ul,e):We.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{tr.innerHTML=s==="svg"?``:s==="mathml"?``:e;const c=tr.content;if(s==="svg"||s==="mathml"){const l=c.firstChild;for(;l.firstChild;)c.appendChild(l.firstChild);c.removeChild(l)}t.insertBefore(c,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Wl=Symbol("_vtc");function ql(e,t,n){const s=e[Wl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Gl=Symbol("_vod"),zl=Symbol("");function Ql(e,t,n){const s=e.style,r=s.display,o=se(n);if(n&&!o){if(t&&!se(t))for(const i in t)n[i]==null&&Xn(s,i,"");for(const i in n)Xn(s,i,n[i])}else if(o){if(t!==n){const i=s[zl];i&&(n+=";"+i),s.cssText=n}}else t&&e.removeAttribute("style");Gl in e&&(s.display=r)}const nr=/\s*!important$/;function Xn(e,t,n){if($(n))n.forEach(s=>Xn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Yl(e,t);nr.test(n)?e.setProperty(Rt(s),n.replace(nr,""),"important"):e[s]=n}}const sr=["Webkit","Moz","ms"],Nn={};function Yl(e,t){const n=Nn[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return Nn[t]=s;s=mn(s);for(let r=0;rFn||(nc.then(()=>Fn=0),Fn=Date.now());function rc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ce(oc(s,n.value),t,5,[s])};return n.value=e,n.attached=sc(),n}function oc(e,t){if($(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ic=(e,t,n,s,r,o,i,c,l)=>{const d=r==="svg";t==="class"?ql(e,s,d):t==="style"?Ql(e,n,s):hn(t)?ss(t)||ec(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):lc(e,t,s,d))?Xl(e,t,s,o,i,c,l):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Jl(e,t,s,d))};function lc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&lr(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return lr(t)&&se(n)?!1:t in e}const cr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return $(t)?n=>Zt(t,n):t},$n=Symbol("_assign"),Ku={deep:!0,created(e,t,n){e[$n]=cr(n),Lo(e,"change",()=>{const s=e._modelValue,r=cc(e),o=e.checked,i=e[$n];if($(s)){const c=Nr(s,r),l=c!==-1;if(o&&!l)i(s.concat(r));else if(!o&&l){const d=[...s];d.splice(c,1),i(d)}}else if(pn(s)){const c=new Set(s);o?c.add(r):c.delete(r),i(c)}else i(No(e,o))})},mounted:ur,beforeUpdate(e,t,n){e[$n]=cr(n),ur(e,t,n)}};function ur(e,{value:t,oldValue:n},s){e._modelValue=t,$(t)?e.checked=Nr(t,s.props.value)>-1:pn(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=_n(t,No(e,!0)))}function cc(e){return"_value"in e?e._value:e.value}function No(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const uc=["ctrl","shift","alt","meta"],fc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>uc.some(n=>e[`${n}Key`]&&!t.includes(n))},ku=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i{const t=dc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=gc(s);if(!r)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,pc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function pc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function gc(e){return se(e)?document.querySelector(e):e}/*!
+ * pinia v2.1.7
+ * (c) 2023 Eduardo San Martin Morote
+ * @license MIT
+ */const mc=Symbol();var ar;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ar||(ar={}));function _c(){const e=oi(!0),t=e.run(()=>eo({}));let n=[],s=[];const r=ps({install(o){r._a=o,o.provide(mc,r),o.config.globalProperties.$pinia=r,s.forEach(i=>n.push(i)),s=[]},use(o){return this._a?n.push(o):s.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const yc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},bc={},vc={id:"app"},Ec={class:"header"},xc=bt("h1",null,"📊 LogHunter",-1),wc={class:"main"};function Rc(e,t){const n=Ks("router-link"),s=Ks("router-view");return vs(),Al("div",vc,[bt("header",Ec,[xc,bt("nav",null,[ne(n,{to:"/"},{default:at(()=>[dt("대시보드")]),_:1}),ne(n,{to:"/errors"},{default:at(()=>[dt("에러 이력")]),_:1}),ne(n,{to:"/servers"},{default:at(()=>[dt("서버 관리")]),_:1}),ne(n,{to:"/patterns"},{default:at(()=>[dt("패턴 관리")]),_:1}),ne(n,{to:"/settings"},{default:at(()=>[dt("설정")]),_:1})])]),bt("main",wc,[ne(s)])])}const Sc=yc(bc,[["render",Rc]]),Cc="modulepreload",Pc=function(e){return"/"+e},dr={},At=function(t,n,s){let r=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),r=Promise.all(n.map(o=>{if(o=Pc(o),o in dr)return;dr[o]=!0;const i=o.endsWith(".css"),c=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${c}`))return;const l=document.createElement("link");if(l.rel=i?"stylesheet":Cc,i||(l.as="script",l.crossOrigin=""),l.href=o,document.head.appendChild(l),i)return new Promise((d,f)=>{l.addEventListener("load",d),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})}))),r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})};/*!
+ * vue-router v4.2.5
+ * (c) 2023 Eduardo San Martin Morote
+ * @license MIT
+ */const ht=typeof window<"u";function Ac(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const q=Object.assign;function jn(e,t){const n={};for(const s in t){const r=t[s];n[s]=Pe(r)?r.map(e):e(r)}return n}const Ft=()=>{},Pe=Array.isArray,Oc=/\/$/,Tc=e=>e.replace(Oc,"");function Hn(e,t,n="/"){let s,r={},o="",i="";const c=t.indexOf("#");let l=t.indexOf("?");return c=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,c>-1?c:t.length),r=e(o)),c>-1&&(s=s||t.slice(0,c),i=t.slice(c,t.length)),s=Nc(s??t,n),{fullPath:s+(o&&"?")+o+i,path:s,query:r,hash:i}}function Mc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function hr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ic(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&xt(t.matched[s],n.matched[r])&&Fo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function xt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Fo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Lc(e[n],t[n]))return!1;return!0}function Lc(e,t){return Pe(e)?pr(e,t):Pe(t)?pr(t,e):e===t}function pr(e,t){return Pe(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Nc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,c;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i-(i===s.length?1:0)).join("/")}var kt;(function(e){e.pop="pop",e.push="push"})(kt||(kt={}));var $t;(function(e){e.back="back",e.forward="forward",e.unknown=""})($t||($t={}));function Fc(e){if(!e)if(ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Tc(e)}const $c=/^[^#]+#/;function jc(e,t){return e.replace($c,"#")+t}function Hc(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const An=()=>({left:window.pageXOffset,top:window.pageYOffset});function Vc(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Hc(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function gr(e,t){return(history.state?history.state.position-t:-1)+e}const Zn=new Map;function Kc(e,t){Zn.set(e,t)}function kc(e){const t=Zn.get(e);return Zn.delete(e),t}let Bc=()=>location.protocol+"//"+location.host;function $o(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let c=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(c);return l[0]!=="/"&&(l="/"+l),hr(l,"")}return hr(n,e)+s+r}function Uc(e,t,n,s){let r=[],o=[],i=null;const c=({state:g})=>{const b=$o(e,location),A=n.value,M=t.value;let L=0;if(g){if(n.value=b,t.value=g,i&&i===A){i=null;return}L=M?g.position-M.position:0}else s(b);r.forEach(O=>{O(n.value,A,{delta:L,type:kt.pop,direction:L?L>0?$t.forward:$t.back:$t.unknown})})};function l(){i=n.value}function d(g){r.push(g);const b=()=>{const A=r.indexOf(g);A>-1&&r.splice(A,1)};return o.push(b),b}function f(){const{history:g}=window;g.state&&g.replaceState(q({},g.state,{scroll:An()}),"")}function h(){for(const g of o)g();o=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:l,listen:d,destroy:h}}function mr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?An():null}}function Dc(e){const{history:t,location:n}=window,s={value:$o(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,d,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+l:Bc()+e+l;try{t[f?"replaceState":"pushState"](d,"",g),r.value=d}catch(b){console.error(b),n[f?"replace":"assign"](g)}}function i(l,d){const f=q({},t.state,mr(r.value.back,l,r.value.forward,!0),d,{position:r.value.position});o(l,f,!0),s.value=l}function c(l,d){const f=q({},r.value,t.state,{forward:l,scroll:An()});o(f.current,f,!0);const h=q({},mr(s.value,l,null),{position:f.position+1},d);o(l,h,!1),s.value=l}return{location:s,state:r,push:c,replace:i}}function Wc(e){e=Fc(e);const t=Dc(e),n=Uc(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=q({location:"",base:e,go:s,createHref:jc.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function qc(e){return typeof e=="string"||e&&typeof e=="object"}function jo(e){return typeof e=="string"||typeof e=="symbol"}const Be={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Ho=Symbol("");var _r;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(_r||(_r={}));function wt(e,t){return q(new Error,{type:e,[Ho]:!0},t)}function $e(e,t){return e instanceof Error&&Ho in e&&(t==null||!!(e.type&t))}const yr="[^/]+?",Gc={sensitive:!1,strict:!1,start:!0,end:!0},zc=/[.+*?^${}()[\]/\\]/g;function Qc(e,t){const n=q({},Gc,t),s=[];let r=n.start?"^":"";const o=[];for(const d of e){const f=d.length?[]:[90];n.strict&&!d.length&&(r+="/");for(let h=0;ht.length?t.length===1&&t[0]===80?1:-1:0}function Jc(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Xc={type:0,value:""},Zc=/[a-zA-Z0-9_]/;function eu(e){if(!e)return[[]];if(e==="/")return[[Xc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(b){throw new Error(`ERR (${n})/"${d}": ${b}`)}let n=0,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let c=0,l,d="",f="";function h(){d&&(n===0?o.push({type:0,value:d}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:d,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),d="")}function g(){d+=l}for(;c{i(j)}:Ft}function i(f){if(jo(f)){const h=s.get(f);h&&(s.delete(f),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(f);h>-1&&(n.splice(h,1),f.record.name&&s.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function c(){return n}function l(f){let h=0;for(;h=0&&(f.record.path!==n[h].record.path||!Vo(f,n[h]));)h++;n.splice(h,0,f),f.record.name&&!Er(f)&&s.set(f.record.name,f)}function d(f,h){let g,b={},A,M;if("name"in f&&f.name){if(g=s.get(f.name),!g)throw wt(1,{location:f});M=g.record.name,b=q(vr(h.params,g.keys.filter(j=>!j.optional).map(j=>j.name)),f.params&&vr(f.params,g.keys.map(j=>j.name))),A=g.stringify(b)}else if("path"in f)A=f.path,g=n.find(j=>j.re.test(A)),g&&(b=g.parse(A),M=g.record.name);else{if(g=h.name?s.get(h.name):n.find(j=>j.re.test(h.path)),!g)throw wt(1,{location:f,currentLocation:h});M=g.record.name,b=q({},h.params,f.params),A=g.stringify(b)}const L=[];let O=g;for(;O;)L.unshift(O.record),O=O.parent;return{name:M,path:A,params:b,matched:L,meta:ou(L)}}return e.forEach(f=>o(f)),{addRoute:o,resolve:d,removeRoute:i,getRoutes:c,getRecordMatcher:r}}function vr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function su(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ru(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function ru(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Er(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ou(e){return e.reduce((t,n)=>q(t,n.meta),{})}function xr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function Vo(e,t){return t.children.some(n=>n===e||Vo(e,n))}const Ko=/#/g,iu=/&/g,lu=/\//g,cu=/=/g,uu=/\?/g,ko=/\+/g,fu=/%5B/g,au=/%5D/g,Bo=/%5E/g,du=/%60/g,Uo=/%7B/g,hu=/%7C/g,Do=/%7D/g,pu=/%20/g;function xs(e){return encodeURI(""+e).replace(hu,"|").replace(fu,"[").replace(au,"]")}function gu(e){return xs(e).replace(Uo,"{").replace(Do,"}").replace(Bo,"^")}function es(e){return xs(e).replace(ko,"%2B").replace(pu,"+").replace(Ko,"%23").replace(iu,"%26").replace(du,"`").replace(Uo,"{").replace(Do,"}").replace(Bo,"^")}function mu(e){return es(e).replace(cu,"%3D")}function _u(e){return xs(e).replace(Ko,"%23").replace(uu,"%3F")}function yu(e){return e==null?"":_u(e).replace(lu,"%2F")}function dn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function bu(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&es(o)):[s&&es(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function vu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Pe(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Eu=Symbol(""),Rr=Symbol(""),ws=Symbol(""),Wo=Symbol(""),ts=Symbol("");function Ot(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function qe(e,t,n,s,r){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((i,c)=>{const l=h=>{h===!1?c(wt(4,{from:n,to:t})):h instanceof Error?c(h):qc(h)?c(wt(2,{from:t,to:h})):(o&&s.enterCallbacks[r]===o&&typeof h=="function"&&o.push(h),i())},d=e.call(s&&s.instances[r],t,n,l);let f=Promise.resolve(d);e.length<3&&(f=f.then(l)),f.catch(h=>c(h))})}function Vn(e,t,n,s){const r=[];for(const o of e)for(const i in o.components){let c=o.components[i];if(!(t!=="beforeRouteEnter"&&!o.instances[i]))if(xu(c)){const d=(c.__vccOpts||c)[t];d&&r.push(qe(d,n,s,o,i))}else{let l=c();r.push(()=>l.then(d=>{if(!d)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${o.path}"`));const f=Ac(d)?d.default:d;o.components[i]=f;const g=(f.__vccOpts||f)[t];return g&&qe(g,n,s,o,i)()}))}}return r}function xu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Sr(e){const t=He(ws),n=He(Wo),s=Re(()=>t.resolve(_t(e.to))),r=Re(()=>{const{matched:l}=s.value,{length:d}=l,f=l[d-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(xt.bind(null,f));if(g>-1)return g;const b=Cr(l[d-2]);return d>1&&Cr(f)===b&&h[h.length-1].path!==b?h.findIndex(xt.bind(null,l[d-2])):g}),o=Re(()=>r.value>-1&&Cu(n.params,s.value.params)),i=Re(()=>r.value>-1&&r.value===n.matched.length-1&&Fo(n.params,s.value.params));function c(l={}){return Su(l)?t[_t(e.replace)?"replace":"push"](_t(e.to)).catch(Ft):Promise.resolve()}return{route:s,href:Re(()=>s.value.href),isActive:o,isExactActive:i,navigate:c}}const wu=ao({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Sr,setup(e,{slots:t}){const n=bn(Sr(e)),{options:s}=He(ws),r=Re(()=>({[Pr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Pr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Io("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Ru=wu;function Su(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Cu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Pe(r)||r.length!==s.length||s.some((o,i)=>o!==r[i]))return!1}return!0}function Cr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Pr=(e,t,n)=>e??t??n,Pu=ao({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=He(ts),r=Re(()=>e.route||s.value),o=He(Rr,0),i=Re(()=>{let d=_t(o);const{matched:f}=r.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),c=Re(()=>r.value.matched[i.value]);nn(Rr,Re(()=>i.value+1)),nn(Eu,c),nn(ts,r);const l=eo();return tn(()=>[l.value,c.value,e.name],([d,f,h],[g,b,A])=>{f&&(f.instances[h]=d,b&&b!==f&&d&&d===g&&(f.leaveGuards.size||(f.leaveGuards=b.leaveGuards),f.updateGuards.size||(f.updateGuards=b.updateGuards))),d&&f&&(!b||!xt(f,b)||!g)&&(f.enterCallbacks[h]||[]).forEach(M=>M(d))},{flush:"post"}),()=>{const d=r.value,f=e.name,h=c.value,g=h&&h.components[f];if(!g)return Ar(n.default,{Component:g,route:d});const b=h.props[f],A=b?b===!0?d.params:typeof b=="function"?b(d):b:null,L=Io(g,q({},A,t,{onVnodeUnmounted:O=>{O.component.isUnmounted&&(h.instances[f]=null)},ref:l}));return Ar(n.default,{Component:L,route:d})||L}}});function Ar(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Au=Pu;function Ou(e){const t=nu(e.routes,e),n=e.parseQuery||bu,s=e.stringifyQuery||wr,r=e.history,o=Ot(),i=Ot(),c=Ot(),l=Ai(Be);let d=Be;ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=jn.bind(null,_=>""+_),h=jn.bind(null,yu),g=jn.bind(null,dn);function b(_,C){let R,T;return jo(_)?(R=t.getRecordMatcher(_),T=C):T=_,t.addRoute(T,R)}function A(_){const C=t.getRecordMatcher(_);C&&t.removeRoute(C)}function M(){return t.getRoutes().map(_=>_.record)}function L(_){return!!t.getRecordMatcher(_)}function O(_,C){if(C=q({},C||l.value),typeof _=="string"){const p=Hn(n,_,C.path),m=t.resolve({path:p.path},C),y=r.createHref(p.fullPath);return q(p,m,{params:g(m.params),hash:dn(p.hash),redirectedFrom:void 0,href:y})}let R;if("path"in _)R=q({},_,{path:Hn(n,_.path,C.path).path});else{const p=q({},_.params);for(const m in p)p[m]==null&&delete p[m];R=q({},_,{params:h(p)}),C.params=h(C.params)}const T=t.resolve(R,C),Q=_.hash||"";T.params=f(g(T.params));const u=Mc(s,q({},_,{hash:gu(Q),path:T.path})),a=r.createHref(u);return q({fullPath:u,hash:Q,query:s===wr?vu(_.query):_.query||{}},T,{redirectedFrom:void 0,href:a})}function j(_){return typeof _=="string"?Hn(n,_,l.value.path):q({},_)}function V(_,C){if(d!==_)return wt(8,{from:C,to:_})}function B(_){return X(_)}function J(_){return B(q(j(_),{replace:!0}))}function N(_){const C=_.matched[_.matched.length-1];if(C&&C.redirect){const{redirect:R}=C;let T=typeof R=="function"?R(_):R;return typeof T=="string"&&(T=T.includes("?")||T.includes("#")?T=j(T):{path:T},T.params={}),q({query:_.query,hash:_.hash,params:"path"in T?{}:_.params},T)}}function X(_,C){const R=d=O(_),T=l.value,Q=_.state,u=_.force,a=_.replace===!0,p=N(R);if(p)return X(q(j(p),{state:typeof p=="object"?q({},Q,p.state):Q,force:u,replace:a}),C||R);const m=R;m.redirectedFrom=C;let y;return!u&&Ic(s,T,R)&&(y=wt(16,{to:m,from:T}),Oe(T,T,!0,!1)),(y?Promise.resolve(y):de(m,T)).catch(v=>$e(v)?$e(v,2)?v:Ke(v):W(v,m,T)).then(v=>{if(v){if($e(v,2))return X(q({replace:a},j(v.to),{state:typeof v.to=="object"?q({},Q,v.to.state):Q,force:u}),C||m)}else v=Xe(m,T,!0,a,Q);return _e(m,T,v),v})}function te(_,C){const R=V(_,C);return R?Promise.reject(R):Promise.resolve()}function be(_){const C=ut.values().next().value;return C&&typeof C.runWithContext=="function"?C.runWithContext(_):_()}function de(_,C){let R;const[T,Q,u]=Tu(_,C);R=Vn(T.reverse(),"beforeRouteLeave",_,C);for(const p of T)p.leaveGuards.forEach(m=>{R.push(qe(m,_,C))});const a=te.bind(null,_,C);return R.push(a),ie(R).then(()=>{R=[];for(const p of o.list())R.push(qe(p,_,C));return R.push(a),ie(R)}).then(()=>{R=Vn(Q,"beforeRouteUpdate",_,C);for(const p of Q)p.updateGuards.forEach(m=>{R.push(qe(m,_,C))});return R.push(a),ie(R)}).then(()=>{R=[];for(const p of u)if(p.beforeEnter)if(Pe(p.beforeEnter))for(const m of p.beforeEnter)R.push(qe(m,_,C));else R.push(qe(p.beforeEnter,_,C));return R.push(a),ie(R)}).then(()=>(_.matched.forEach(p=>p.enterCallbacks={}),R=Vn(u,"beforeRouteEnter",_,C),R.push(a),ie(R))).then(()=>{R=[];for(const p of i.list())R.push(qe(p,_,C));return R.push(a),ie(R)}).catch(p=>$e(p,8)?p:Promise.reject(p))}function _e(_,C,R){c.list().forEach(T=>be(()=>T(_,C,R)))}function Xe(_,C,R,T,Q){const u=V(_,C);if(u)return u;const a=C===Be,p=ht?history.state:{};R&&(T||a?r.replace(_.fullPath,q({scroll:a&&p&&p.scroll},Q)):r.push(_.fullPath,Q)),l.value=_,Oe(_,C,R,a),Ke()}let Ae;function St(){Ae||(Ae=r.listen((_,C,R)=>{if(!Dt.listening)return;const T=O(_),Q=N(T);if(Q){X(q(Q,{replace:!0}),T).catch(Ft);return}d=T;const u=l.value;ht&&Kc(gr(u.fullPath,R.delta),An()),de(T,u).catch(a=>$e(a,12)?a:$e(a,2)?(X(a.to,T).then(p=>{$e(p,20)&&!R.delta&&R.type===kt.pop&&r.go(-1,!1)}).catch(Ft),Promise.reject()):(R.delta&&r.go(-R.delta,!1),W(a,T,u))).then(a=>{a=a||Xe(T,u,!1),a&&(R.delta&&!$e(a,8)?r.go(-R.delta,!1):R.type===kt.pop&&$e(a,20)&&r.go(-1,!1)),_e(T,u,a)}).catch(Ft)}))}let lt=Ot(),re=Ot(),G;function W(_,C,R){Ke(_);const T=re.list();return T.length?T.forEach(Q=>Q(_,C,R)):console.error(_),Promise.reject(_)}function Fe(){return G&&l.value!==Be?Promise.resolve():new Promise((_,C)=>{lt.add([_,C])})}function Ke(_){return G||(G=!_,St(),lt.list().forEach(([C,R])=>_?R(_):C()),lt.reset()),_}function Oe(_,C,R,T){const{scrollBehavior:Q}=e;if(!ht||!Q)return Promise.resolve();const u=!R&&kc(gr(_.fullPath,0))||(T||!R)&&history.state&&history.state.scroll||null;return ro().then(()=>Q(_,C,u)).then(a=>a&&Vc(a)).catch(a=>W(a,_,C))}const he=_=>r.go(_);let ct;const ut=new Set,Dt={currentRoute:l,listening:!0,addRoute:b,removeRoute:A,hasRoute:L,getRoutes:M,resolve:O,options:e,push:B,replace:J,go:he,back:()=>he(-1),forward:()=>he(1),beforeEach:o.add,beforeResolve:i.add,afterEach:c.add,onError:re.add,isReady:Fe,install(_){const C=this;_.component("RouterLink",Ru),_.component("RouterView",Au),_.config.globalProperties.$router=C,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>_t(l)}),ht&&!ct&&l.value===Be&&(ct=!0,B(r.location).catch(Q=>{}));const R={};for(const Q in Be)Object.defineProperty(R,Q,{get:()=>l.value[Q],enumerable:!0});_.provide(ws,C),_.provide(Wo,Qr(R)),_.provide(ts,l);const T=_.unmount;ut.add(_),_.unmount=function(){ut.delete(_),ut.size<1&&(d=Be,Ae&&Ae(),Ae=null,l.value=Be,ct=!1,G=!1),T()}}};function ie(_){return _.reduce((C,R)=>C.then(()=>be(R)),Promise.resolve())}return Dt}function Tu(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;ixt(d,c))?s.push(c):n.push(c));const l=e.matched[i];l&&(t.matched.find(d=>xt(d,l))||r.push(l))}return[n,s,r]}const Mu=Ou({history:Wc(),routes:[{path:"/",name:"dashboard",component:()=>At(()=>import("./Dashboard-Cl3L5M8K.js"),__vite__mapDeps([0,1,2,3,4]))},{path:"/errors",name:"errors",component:()=>At(()=>import("./ErrorLogs-DJwTSi5x.js"),__vite__mapDeps([5,1,2,3,6,7]))},{path:"/servers",name:"servers",component:()=>At(()=>import("./ServerManage-BSN4bufB.js"),__vite__mapDeps([8,9,1,2,3,6,10]))},{path:"/patterns",name:"patterns",component:()=>At(()=>import("./PatternManage-C1QxmHby.js"),__vite__mapDeps([11,9,1,2,3,6,12]))},{path:"/settings",name:"settings",component:()=>At(()=>import("./Settings-Dq2hc7rp.js"),__vite__mapDeps([13,1,2,6,14]))}]}),Rs=hc(Sc);Rs.use(_c());Rs.use(Mu);Rs.mount("#app");export{we as F,Hu as T,yc as _,Al as a,bt as b,Re as c,Ao as d,Vu as e,ne as f,$u as g,Nu as h,vs as i,dt as j,is as k,bn as l,ku as m,ls as n,Zi as o,Lu as p,Fu as q,eo as r,ju as s,Iu as t,_t as u,Ku as v,at as w};
+function __vite__mapDeps(indexes) {
+ if (!__vite__mapDeps.viteFileDeps) {
+ __vite__mapDeps.viteFileDeps = ["assets/Dashboard-Cl3L5M8K.js","assets/index-jV6SX453.js","assets/index-D2qTZo40.css","assets/Badge-CipWR1K7.js","assets/Dashboard-DNECAX78.css","assets/ErrorLogs-DJwTSi5x.js","assets/FormInput-C3OYA9sE.js","assets/ErrorLogs-C9EE68c2.css","assets/ServerManage-BSN4bufB.js","assets/DataTable-C9ofeIbS.js","assets/ServerManage-CQQ1t08B.css","assets/PatternManage-C1QxmHby.js","assets/PatternManage-CMmtCEgB.css","assets/Settings-Dq2hc7rp.js","assets/Settings-DBvWE7fX.css"]
+ }
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
diff --git a/src/main/resources/static/assets/index-D2qTZo40.css b/src/main/resources/static/assets/index-D2qTZo40.css
new file mode 100644
index 0000000..5ad5487
--- /dev/null
+++ b/src/main/resources/static/assets/index-D2qTZo40.css
@@ -0,0 +1 @@
+.data-table-wrapper[data-v-db5e24a9]{overflow-x:auto}.data-table[data-v-db5e24a9]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th[data-v-db5e24a9],.data-table td[data-v-db5e24a9]{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-db5e24a9]{background:#f8f9fa;font-weight:600;color:#495057}.data-table tbody tr[data-v-db5e24a9]:hover{background:#f8f9fa}.data-table tbody tr:last-child td[data-v-db5e24a9]{border-bottom:none}.actions-col[data-v-db5e24a9]{width:120px;text-align:center}.loading-cell[data-v-db5e24a9],.empty-cell[data-v-db5e24a9]{text-align:center;color:#6c757d;padding:40px!important}.modal-overlay[data-v-90993dd3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-90993dd3]{background:#fff;border-radius:8px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.modal-header[data-v-90993dd3]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-90993dd3]{margin:0;font-size:1.1rem}.close-btn[data-v-90993dd3]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;line-height:1}.close-btn[data-v-90993dd3]:hover{color:#333}.modal-body[data-v-90993dd3]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-90993dd3]{padding:16px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:8px}.form-group[data-v-45f49038]{margin-bottom:16px}label[data-v-45f49038]{display:block;margin-bottom:6px;font-weight:500;color:#333}.required[data-v-45f49038]{color:#e74c3c}.form-input[data-v-45f49038]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.form-input[data-v-45f49038]:focus{outline:none;border-color:#3498db}.form-input[data-v-45f49038]:disabled{background:#f5f5f5;cursor:not-allowed}textarea.form-input[data-v-45f49038]{resize:vertical}select.form-input[data-v-45f49038]{cursor:pointer}.error-text[data-v-45f49038]{display:block;margin-top:4px;font-size:12px;color:#e74c3c}.hint-text[data-v-45f49038]{display:block;margin-top:4px;font-size:12px;color:#6c757d}.btn[data-v-e5da414f]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-e5da414f]:disabled{opacity:.6;cursor:not-allowed}.btn-sm[data-v-e5da414f]{padding:6px 12px;font-size:12px}.btn-lg[data-v-e5da414f]{padding:12px 24px;font-size:16px}.btn-primary[data-v-e5da414f]{background:#3498db;color:#fff}.btn-primary[data-v-e5da414f]:hover:not(:disabled){background:#2980b9}.btn-secondary[data-v-e5da414f]{background:#6c757d;color:#fff}.btn-secondary[data-v-e5da414f]:hover:not(:disabled){background:#5a6268}.btn-danger[data-v-e5da414f]{background:#e74c3c;color:#fff}.btn-danger[data-v-e5da414f]:hover:not(:disabled){background:#c0392b}.btn-success[data-v-e5da414f]{background:#27ae60;color:#fff}.btn-success[data-v-e5da414f]:hover:not(:disabled){background:#1e8449}.btn-warning[data-v-e5da414f]{background:#f39c12;color:#fff}.btn-warning[data-v-e5da414f]:hover:not(:disabled){background:#d68910}.spinner[data-v-e5da414f]{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin-e5da414f .8s linear infinite}@keyframes spin-e5da414f{to{transform:rotate(360deg)}}.badge[data-v-b7bd2350]{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px}.badge-default[data-v-b7bd2350]{background:#e9ecef;color:#495057}.badge-critical[data-v-b7bd2350],.badge-error[data-v-b7bd2350]{background:#e74c3c;color:#fff}.badge-warn[data-v-b7bd2350]{background:#f39c12;color:#fff}.badge-success[data-v-b7bd2350]{background:#27ae60;color:#fff}.badge-info[data-v-b7bd2350]{background:#3498db;color:#fff}.card[data-v-2f260fa2]{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header[data-v-2f260fa2]{padding:16px 20px;border-bottom:1px solid #eee}.card-header h3[data-v-2f260fa2]{margin:0;font-size:1.1rem;color:#333}.card-body[data-v-2f260fa2]{padding:20px}.card-footer[data-v-2f260fa2]{padding:16px 20px;border-top:1px solid #eee;background:#f8f9fa}
diff --git a/src/main/resources/static/assets/index-Dy1O9dj-.css b/src/main/resources/static/assets/index-Dy1O9dj-.css
new file mode 100644
index 0000000..4f0708d
--- /dev/null
+++ b/src/main/resources/static/assets/index-Dy1O9dj-.css
@@ -0,0 +1 @@
+*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{min-height:100vh;background:#f5f5f5}.header{background:#2c3e50;color:#fff;padding:1rem 2rem;display:flex;align-items:center;gap:2rem}.header h1{font-size:1.5rem;margin:0}.header nav{display:flex;gap:1rem}.header nav a{color:#ecf0f1;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background .2s}.header nav a:hover{background:#34495e}.header nav a.router-link-active{background:#3498db}.main{padding:2rem;max-width:1400px;margin:0 auto}
diff --git a/src/main/resources/static/assets/index-jV6SX453.js b/src/main/resources/static/assets/index-jV6SX453.js
new file mode 100644
index 0000000..b006e2e
--- /dev/null
+++ b/src/main/resources/static/assets/index-jV6SX453.js
@@ -0,0 +1,5 @@
+import{_ as Ee,a as L,e as X,s as I,n as ve,i as D,b as oe,t as qe}from"./index-CZ3IEKgR.js";const Me=["type","disabled"],ze={key:0,class:"spinner"},Je={__name:"Button",props:{type:{type:String,default:"button"},variant:{type:String,default:"primary"},size:{type:String,default:"md"},disabled:Boolean,loading:Boolean},emits:["click"],setup(e){return(t,n)=>(D(),L("button",{type:e.type,class:ve(["btn",`btn-${e.variant}`,{"btn-sm":e.size==="sm","btn-lg":e.size==="lg"}]),disabled:e.disabled||e.loading,onClick:n[0]||(n[0]=r=>t.$emit("click",r))},[e.loading?(D(),L("span",ze)):X("",!0),I(t.$slots,"default",{},void 0)],10,Me))}},hn=Ee(Je,[["__scopeId","data-v-e5da414f"]]),Ve={class:"card"},We={key:0,class:"card-header"},Ke={class:"card-body"},Ge={key:1,class:"card-footer"},Xe={__name:"Card",props:{title:String},setup(e){return(t,n)=>(D(),L("div",Ve,[e.title||t.$slots.header?(D(),L("div",We,[I(t.$slots,"header",{},()=>[oe("h3",null,qe(e.title),1)])])):X("",!0),oe("div",Ke,[I(t.$slots,"default",{},void 0)]),t.$slots.footer?(D(),L("div",Ge,[I(t.$slots,"footer",{},void 0)])):X("",!0)]))}},mn=Ee(Xe,[["__scopeId","data-v-2f260fa2"]]);function be(e,t){return function(){return e.apply(t,arguments)}}const{toString:Qe}=Object.prototype,{getPrototypeOf:ne}=Object,q=(e=>t=>{const n=Qe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),T=e=>(e=e.toLowerCase(),t=>q(t)===e),M=e=>t=>typeof t===e,{isArray:_}=Array,U=M("undefined");function Ze(e){return e!==null&&!U(e)&&e.constructor!==null&&!U(e.constructor)&&A(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const we=T("ArrayBuffer");function Ye(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&we(e.buffer),t}const et=M("string"),A=M("function"),ge=M("number"),z=e=>e!==null&&typeof e=="object",tt=e=>e===!0||e===!1,H=e=>{if(q(e)!=="object")return!1;const t=ne(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},nt=T("Date"),rt=T("File"),st=T("Blob"),ot=T("FileList"),it=e=>z(e)&&A(e.pipe),at=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||A(e.append)&&((t=q(e))==="formdata"||t==="object"&&A(e.toString)&&e.toString()==="[object FormData]"))},ct=T("URLSearchParams"),lt=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function k(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),_(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Ae=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Oe=e=>!U(e)&&e!==Ae;function Q(){const{caseless:e}=Oe(this)&&this||{},t={},n=(r,s)=>{const o=e&&Se(t,s)||s;H(t[o])&&H(r)?t[o]=Q(t[o],r):H(r)?t[o]=Q({},r):_(r)?t[o]=r.slice():t[o]=r};for(let r=0,s=arguments.length;r(k(t,(s,o)=>{n&&A(s)?e[o]=be(s,n):e[o]=s},{allOwnKeys:r}),e),ft=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),dt=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},pt=(e,t,n,r)=>{let s,o,i;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!c[i]&&(t[i]=e[i],c[i]=!0);e=n!==!1&&ne(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},ht=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},mt=e=>{if(!e)return null;if(_(e))return e;let t=e.length;if(!ge(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},yt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&ne(Uint8Array)),Et=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},bt=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},wt=T("HTMLFormElement"),gt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ie=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),St=T("RegExp"),Re=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};k(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},At=e=>{Re(e,(t,n)=>{if(A(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(A(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Ot=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return _(e)?r(e):r(String(e).split(t)),n},Rt=()=>{},Tt=(e,t)=>(e=+e,Number.isFinite(e)?e:t),V="abcdefghijklmnopqrstuvwxyz",ae="0123456789",Te={DIGIT:ae,ALPHA:V,ALPHA_DIGIT:V+V.toUpperCase()+ae},Nt=(e=16,t=Te.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function xt(e){return!!(e&&A(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Ct=e=>{const t=new Array(10),n=(r,s)=>{if(z(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[s]=r;const o=_(r)?[]:{};return k(r,(i,c)=>{const p=n(i,s+1);!U(p)&&(o[c]=p)}),t[s]=void 0,o}}return r};return n(e,0)},Pt=T("AsyncFunction"),Bt=e=>e&&(z(e)||A(e))&&A(e.then)&&A(e.catch),a={isArray:_,isArrayBuffer:we,isBuffer:Ze,isFormData:at,isArrayBufferView:Ye,isString:et,isNumber:ge,isBoolean:tt,isObject:z,isPlainObject:H,isUndefined:U,isDate:nt,isFile:rt,isBlob:st,isRegExp:St,isFunction:A,isStream:it,isURLSearchParams:ct,isTypedArray:yt,isFileList:ot,forEach:k,merge:Q,extend:ut,trim:lt,stripBOM:ft,inherits:dt,toFlatObject:pt,kindOf:q,kindOfTest:T,endsWith:ht,toArray:mt,forEachEntry:Et,matchAll:bt,isHTMLForm:wt,hasOwnProperty:ie,hasOwnProp:ie,reduceDescriptors:Re,freezeMethods:At,toObjectSet:Ot,toCamelCase:gt,noop:Rt,toFiniteNumber:Tt,findKey:Se,global:Ae,isContextDefined:Oe,ALPHABET:Te,generateString:Nt,isSpecCompliantForm:xt,toJSONObject:Ct,isAsyncFn:Pt,isThenable:Bt};function m(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s)}a.inherits(m,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Ne=m.prototype,xe={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{xe[e]={value:e}});Object.defineProperties(m,xe);Object.defineProperty(Ne,"isAxiosError",{value:!0});m.from=(e,t,n,r,s,o)=>{const i=Object.create(Ne);return a.toFlatObject(e,i,function(p){return p!==Error.prototype},c=>c!=="isAxiosError"),m.call(i,e.message,t,n,r,s),i.cause=e,i.name=e.name,o&&Object.assign(i,o),i};const _t=null;function Z(e){return a.isPlainObject(e)||a.isArray(e)}function Ce(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function ce(e,t,n){return e?e.concat(t).map(function(s,o){return s=Ce(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function Ft(e){return a.isArray(e)&&!e.some(Z)}const Lt=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function J(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(d,w){return!a.isUndefined(w[d])});const r=n.metaTokens,s=n.visitor||u,o=n.dots,i=n.indexes,p=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function h(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(!p&&a.isBlob(f))throw new m("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?p&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function u(f,d,w){let g=f;if(f&&!w&&typeof f=="object"){if(a.endsWith(d,"{}"))d=r?d:d.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&Ft(f)||(a.isFileList(f)||a.endsWith(d,"[]"))&&(g=a.toArray(f)))return d=Ce(d),g.forEach(function(x,He){!(a.isUndefined(x)||x===null)&&t.append(i===!0?ce([d],He,o):i===null?d:d+"[]",h(x))}),!1}return Z(f)?!0:(t.append(ce(w,d,o),h(f)),!1)}const l=[],b=Object.assign(Lt,{defaultVisitor:u,convertValue:h,isVisitable:Z});function S(f,d){if(!a.isUndefined(f)){if(l.indexOf(f)!==-1)throw Error("Circular reference detected in "+d.join("."));l.push(f),a.forEach(f,function(g,N){(!(a.isUndefined(g)||g===null)&&s.call(t,g,a.isString(N)?N.trim():N,d,b))===!0&&S(g,d?d.concat(N):[N])}),l.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return S(e),t}function le(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function re(e,t){this._pairs=[],e&&J(e,this,t)}const Pe=re.prototype;Pe.append=function(t,n){this._pairs.push([t,n])};Pe.toString=function(t){const n=t?function(r){return t.call(this,r,le)}:le;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function Dt(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Be(e,t,n){if(!t)return e;const r=n&&n.encode||Dt,s=n&&n.serialize;let o;if(s?o=s(t,n):o=a.isURLSearchParams(t)?t.toString():new re(t,n).toString(r),o){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class ue{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const _e={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ut=typeof URLSearchParams<"u"?URLSearchParams:re,kt=typeof FormData<"u"?FormData:null,jt=typeof Blob<"u"?Blob:null,$t={isBrowser:!0,classes:{URLSearchParams:Ut,FormData:kt,Blob:jt},protocols:["http","https","file","blob","url","data"]},Fe=typeof window<"u"&&typeof document<"u",It=(e=>Fe&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),Ht=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",vt=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Fe,hasStandardBrowserEnv:It,hasStandardBrowserWebWorkerEnv:Ht},Symbol.toStringTag,{value:"Module"})),R={...vt,...$t};function qt(e,t){return J(e,new R.classes.URLSearchParams,Object.assign({visitor:function(n,r,s,o){return R.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function Mt(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function zt(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&a.isArray(s)?s.length:i,p?(a.hasOwnProp(s,i)?s[i]=[s[i],r]:s[i]=r,!c):((!s[i]||!a.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=zt(s[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(Mt(r),s,n,0)}),n}return null}function Jt(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const j={transitional:_e,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=a.isObject(t);if(o&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s&&s?JSON.stringify(Le(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return qt(t,this.formSerializer).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return J(c?{"files[]":t}:t,p&&new p,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),Jt(t)):t}],transformResponse:[function(t){const n=this.transitional||j.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(t&&a.isString(t)&&(r&&!this.responseType||s)){const i=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(c){if(i)throw c.name==="SyntaxError"?m.from(c,m.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:R.classes.FormData,Blob:R.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{j.headers[e]={}});const Vt=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Wt=e=>{const t={};let n,r,s;return e&&e.split(`
+`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&Vt[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},fe=Symbol("internals");function F(e){return e&&String(e).trim().toLowerCase()}function v(e){return e===!1||e==null?e:a.isArray(e)?e.map(v):String(e)}function Kt(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Gt=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function W(e,t,n,r,s){if(a.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function Xt(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Qt(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let O=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(c,p,h){const u=F(p);if(!u)throw new Error("header name must be a non-empty string");const l=a.findKey(s,u);(!l||s[l]===void 0||h===!0||h===void 0&&s[l]!==!1)&&(s[l||p]=v(c))}const i=(c,p)=>a.forEach(c,(h,u)=>o(h,u,p));return a.isPlainObject(t)||t instanceof this.constructor?i(t,n):a.isString(t)&&(t=t.trim())&&!Gt(t)?i(Wt(t),n):t!=null&&o(n,t,r),this}get(t,n){if(t=F(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Kt(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=F(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||W(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=F(i),i){const c=a.findKey(r,i);c&&(!n||W(r,r[c],c,n))&&(delete r[c],s=!0)}}return a.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||W(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return a.forEach(this,(s,o)=>{const i=a.findKey(r,o);if(i){n[i]=v(s),delete n[o];return}const c=t?Xt(o):String(o).trim();c!==o&&delete n[o],n[c]=v(s),r[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&a.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
+`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[fe]=this[fe]={accessors:{}}).accessors,s=this.prototype;function o(i){const c=F(i);r[c]||(Qt(s,i),r[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};O.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(O.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(O);function K(e,t){const n=this||j,r=t||n,s=O.from(r.headers);let o=r.data;return a.forEach(e,function(c){o=c.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function De(e){return!!(e&&e.__CANCEL__)}function $(e,t,n){m.call(this,e??"canceled",m.ERR_CANCELED,t,n),this.name="CanceledError"}a.inherits($,m,{__CANCEL__:!0});function Zt(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new m("Request failed with status code "+n.status,[m.ERR_BAD_REQUEST,m.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const Yt=R.hasStandardBrowserEnv?{write(e,t,n,r,s,o){const i=[e+"="+encodeURIComponent(t)];a.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),a.isString(r)&&i.push("path="+r),a.isString(s)&&i.push("domain="+s),o===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function en(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function tn(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ue(e,t){return e&&!en(t)?tn(e,t):t}const nn=R.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function s(o){let i=o;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=s(window.location.href),function(i){const c=a.isString(i)?s(i):i;return c.protocol===r.protocol&&c.host===r.host}}():function(){return function(){return!0}}();function rn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function sn(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(p){const h=Date.now(),u=r[o];i||(i=h),n[s]=p,r[s]=h;let l=o,b=0;for(;l!==s;)b+=n[l++],l=l%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),h-i{const o=s.loaded,i=s.lengthComputable?s.total:void 0,c=o-n,p=r(c),h=o<=i;n=o;const u={loaded:o,total:i,progress:i?o/i:void 0,bytes:c,rate:p||void 0,estimated:p&&i&&h?(i-o)/p:void 0,event:s};u[t?"download":"upload"]=!0,e(u)}}const on=typeof XMLHttpRequest<"u",an=on&&function(e){return new Promise(function(n,r){let s=e.data;const o=O.from(e.headers).normalize();let{responseType:i,withXSRFToken:c}=e,p;function h(){e.cancelToken&&e.cancelToken.unsubscribe(p),e.signal&&e.signal.removeEventListener("abort",p)}let u;if(a.isFormData(s)){if(R.hasStandardBrowserEnv||R.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if((u=o.getContentType())!==!1){const[d,...w]=u?u.split(";").map(g=>g.trim()).filter(Boolean):[];o.setContentType([d||"multipart/form-data",...w].join("; "))}}let l=new XMLHttpRequest;if(e.auth){const d=e.auth.username||"",w=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(d+":"+w))}const b=Ue(e.baseURL,e.url);l.open(e.method.toUpperCase(),Be(b,e.params,e.paramsSerializer),!0),l.timeout=e.timeout;function S(){if(!l)return;const d=O.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),g={data:!i||i==="text"||i==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:d,config:e,request:l};Zt(function(x){n(x),h()},function(x){r(x),h()},g),l=null}if("onloadend"in l?l.onloadend=S:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(S)},l.onabort=function(){l&&(r(new m("Request aborted",m.ECONNABORTED,e,l)),l=null)},l.onerror=function(){r(new m("Network Error",m.ERR_NETWORK,e,l)),l=null},l.ontimeout=function(){let w=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const g=e.transitional||_e;e.timeoutErrorMessage&&(w=e.timeoutErrorMessage),r(new m(w,g.clarifyTimeoutError?m.ETIMEDOUT:m.ECONNABORTED,e,l)),l=null},R.hasStandardBrowserEnv&&(c&&a.isFunction(c)&&(c=c(e)),c||c!==!1&&nn(b))){const d=e.xsrfHeaderName&&e.xsrfCookieName&&Yt.read(e.xsrfCookieName);d&&o.set(e.xsrfHeaderName,d)}s===void 0&&o.setContentType(null),"setRequestHeader"in l&&a.forEach(o.toJSON(),function(w,g){l.setRequestHeader(g,w)}),a.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),i&&i!=="json"&&(l.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&l.addEventListener("progress",de(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&l.upload&&l.upload.addEventListener("progress",de(e.onUploadProgress)),(e.cancelToken||e.signal)&&(p=d=>{l&&(r(!d||d.type?new $(null,e,l):d),l.abort(),l=null)},e.cancelToken&&e.cancelToken.subscribe(p),e.signal&&(e.signal.aborted?p():e.signal.addEventListener("abort",p)));const f=rn(b);if(f&&R.protocols.indexOf(f)===-1){r(new m("Unsupported protocol "+f+":",m.ERR_BAD_REQUEST,e));return}l.send(s||null)})},Y={http:_t,xhr:an};a.forEach(Y,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const pe=e=>`- ${e}`,cn=e=>a.isFunction(e)||e===null||e===!1,ke={getAdapter:e=>{e=a.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let o=0;o`adapter ${c} `+(p===!1?"is not supported by the environment":"is not available in the build"));let i=t?o.length>1?`since :
+`+o.map(pe).join(`
+`):" "+pe(o[0]):"as no adapter specified";throw new m("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return r},adapters:Y};function G(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new $(null,e)}function he(e){return G(e),e.headers=O.from(e.headers),e.data=K.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),ke.getAdapter(e.adapter||j.adapter)(e).then(function(r){return G(e),r.data=K.call(e,e.transformResponse,r),r.headers=O.from(r.headers),r},function(r){return De(r)||(G(e),r&&r.response&&(r.response.data=K.call(e,e.transformResponse,r.response),r.response.headers=O.from(r.response.headers))),Promise.reject(r)})}const me=e=>e instanceof O?e.toJSON():e;function B(e,t){t=t||{};const n={};function r(h,u,l){return a.isPlainObject(h)&&a.isPlainObject(u)?a.merge.call({caseless:l},h,u):a.isPlainObject(u)?a.merge({},u):a.isArray(u)?u.slice():u}function s(h,u,l){if(a.isUndefined(u)){if(!a.isUndefined(h))return r(void 0,h,l)}else return r(h,u,l)}function o(h,u){if(!a.isUndefined(u))return r(void 0,u)}function i(h,u){if(a.isUndefined(u)){if(!a.isUndefined(h))return r(void 0,h)}else return r(void 0,u)}function c(h,u,l){if(l in t)return r(h,u);if(l in e)return r(void 0,h)}const p={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(h,u)=>s(me(h),me(u),!0)};return a.forEach(Object.keys(Object.assign({},e,t)),function(u){const l=p[u]||s,b=l(e[u],t[u],u);a.isUndefined(b)&&l!==c||(n[u]=b)}),n}const je="1.6.5",se={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{se[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const ye={};se.transitional=function(t,n,r){function s(o,i){return"[Axios v"+je+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,c)=>{if(t===!1)throw new m(s(i," has been removed"+(n?" in "+n:"")),m.ERR_DEPRECATED);return n&&!ye[i]&&(ye[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,c):!0}};function ln(e,t,n){if(typeof e!="object")throw new m("options must be an object",m.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=t[o];if(i){const c=e[o],p=c===void 0||i(c,o,e);if(p!==!0)throw new m("option "+o+" must be "+p,m.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new m("Unknown option "+o,m.ERR_BAD_OPTION)}}const ee={assertOptions:ln,validators:se},C=ee.validators;let P=class{constructor(t){this.defaults=t,this.interceptors={request:new ue,response:new ue}}request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=B(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&ee.assertOptions(r,{silentJSONParsing:C.transitional(C.boolean),forcedJSONParsing:C.transitional(C.boolean),clarifyTimeoutError:C.transitional(C.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:ee.assertOptions(s,{encode:C.function,serialize:C.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[n.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],f=>{delete o[f]}),n.headers=O.concat(i,o);const c=[];let p=!0;this.interceptors.request.forEach(function(d){typeof d.runWhen=="function"&&d.runWhen(n)===!1||(p=p&&d.synchronous,c.unshift(d.fulfilled,d.rejected))});const h=[];this.interceptors.response.forEach(function(d){h.push(d.fulfilled,d.rejected)});let u,l=0,b;if(!p){const f=[he.bind(this),void 0];for(f.unshift.apply(f,c),f.push.apply(f,h),b=f.length,u=Promise.resolve(n);l{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(c=>{r.subscribe(c),o=c}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,c){r.reason||(r.reason=new $(o,i,c),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new $e(function(s){t=s}),cancel:t}}};function fn(e){return function(n){return e.apply(null,n)}}function dn(e){return a.isObject(e)&&e.isAxiosError===!0}const te={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(te).forEach(([e,t])=>{te[t]=e});function Ie(e){const t=new P(e),n=be(P.prototype.request,t);return a.extend(n,P.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Ie(B(e,s))},n}const E=Ie(j);E.Axios=P;E.CanceledError=$;E.CancelToken=un;E.isCancel=De;E.VERSION=je;E.toFormData=J;E.AxiosError=m;E.Cancel=E.CanceledError;E.all=function(t){return Promise.all(t)};E.spread=fn;E.isAxiosError=dn;E.mergeConfig=B;E.AxiosHeaders=O;E.formToJSON=e=>Le(a.isHTMLForm(e)?new FormData(e):e);E.getAdapter=ke.getAdapter;E.HttpStatusCode=te;E.default=E;const{Axios:bn,AxiosError:wn,CanceledError:gn,isCancel:Sn,CancelToken:An,VERSION:On,all:Rn,Cancel:Tn,isAxiosError:Nn,spread:xn,toFormData:Cn,AxiosHeaders:Pn,HttpStatusCode:Bn,formToJSON:_n,getAdapter:Fn,mergeConfig:Ln}=E,y=E.create({baseURL:"/api",timeout:3e4,headers:{"Content-Type":"application/json"}});y.interceptors.request.use(e=>e,e=>Promise.reject(e));y.interceptors.response.use(e=>e.data,e=>(console.error("API Error:",e),Promise.reject(e)));const Dn={getAll:()=>y.get("/servers"),getAllActive:()=>y.get("/servers/active"),getById:e=>y.get(`/servers/${e}`),create:e=>y.post("/servers",e),update:(e,t)=>y.put(`/servers/${e}`,t),delete:e=>y.delete(`/servers/${e}`),testConnection:e=>y.post(`/servers/${e}/test-connection`)},Un={getByServerId:e=>y.get(`/log-paths/server/${e}`),getActiveByServerId:e=>y.get(`/log-paths/server/${e}/active`),getById:e=>y.get(`/log-paths/${e}`),create:e=>y.post("/log-paths",e),update:(e,t)=>y.put(`/log-paths/${e}`,t),delete:e=>y.delete(`/log-paths/${e}`)},kn={getAll:()=>y.get("/patterns"),getAllActive:()=>y.get("/patterns/active"),getById:e=>y.get(`/patterns/${e}`),create:e=>y.post("/patterns",e),update:(e,t)=>y.put(`/patterns/${e}`,t),delete:e=>y.delete(`/patterns/${e}`),test:(e,t)=>y.post("/patterns/test",null,{params:{regex:e,sampleText:t}})},jn={getAll:()=>y.get("/settings"),getAllAsMap:()=>y.get("/settings/map"),getValue:e=>y.get(`/settings/${e}`),save:e=>y.post("/settings",e),saveAll:e=>y.put("/settings",e),delete:e=>y.delete(`/settings/${e}`)},$n={startWithProgress:(e,t,n,r)=>{const s=new EventSource(`/api/scan/start/${e}`);return s.addEventListener("progress",o=>{const i=JSON.parse(o.data);t&&t(i)}),s.addEventListener("complete",o=>{const i=JSON.parse(o.data);n&&n(i),s.close()}),s.addEventListener("error",o=>{o.data&&r&&r(o.data),s.close()}),s.onerror=()=>{s.close()},s},startAllWithProgress:(e,t,n)=>{const r=new EventSource("/api/scan/start-all");return r.addEventListener("progress",s=>{const o=JSON.parse(s.data);e&&e(o)}),r.addEventListener("complete",s=>{const o=JSON.parse(s.data);t&&t(o),r.close()}),r.addEventListener("error",s=>{s.data&&n&&n(s.data),r.close()}),r.onerror=()=>{r.close()},r},execute:e=>y.post(`/scan/execute/${e}`),getProgress:e=>y.get(`/scan/progress/${e}`),getHistory:e=>y.get(`/scan/history/${e}`)},In={search:e=>y.get("/error-logs",{params:e}),getById:e=>y.get(`/error-logs/${e}`),getByServer:(e,t)=>y.get(`/error-logs/server/${e}`,{params:t})};export{hn as B,mn as C,$n as a,jn as b,In as e,Un as l,kn as p,Dn as s};
diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html
new file mode 100644
index 0000000..0a0885d
--- /dev/null
+++ b/src/main/resources/static/index.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+ LogHunter
+
+
+
+
+
+
+
+
diff --git a/src/test/java/research/loghunter/LogHunterApplicationTests.java b/src/test/java/research/loghunter/LogHunterApplicationTests.java
new file mode 100644
index 0000000..0f10d63
--- /dev/null
+++ b/src/test/java/research/loghunter/LogHunterApplicationTests.java
@@ -0,0 +1,13 @@
+package research.loghunter;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class LogHunterApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}