workers-sentinel 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -1
- package/dist/durable-objects/auth-state.d.ts +10 -0
- package/dist/durable-objects/auth-state.d.ts.map +1 -1
- package/dist/durable-objects/project-state.d.ts +40 -0
- package/dist/durable-objects/project-state.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/webhook.d.ts +27 -0
- package/dist/lib/webhook.d.ts.map +1 -0
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/routes/admin.d.ts +11 -0
- package/dist/routes/admin.d.ts.map +1 -0
- package/dist/routes/auth.d.ts +9 -1
- package/dist/routes/auth.d.ts.map +1 -1
- package/dist/routes/filters.d.ts +11 -0
- package/dist/routes/filters.d.ts.map +1 -0
- package/dist/routes/ingestion.d.ts.map +1 -1
- package/dist/routes/members.d.ts +11 -0
- package/dist/routes/members.d.ts.map +1 -0
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/releases.d.ts +11 -0
- package/dist/routes/releases.d.ts.map +1 -0
- package/dist/routes/sourcemaps.d.ts +11 -0
- package/dist/routes/sourcemaps.d.ts.map +1 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/types.d.ts +66 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +61 -59
- package/dist/README.md +0 -1
- package/dist/dashboard/assets/EventDetail-DgqYLyiF.js +0 -1
- package/dist/dashboard/assets/IssueDetail-CjG-J6cD.js +0 -1
- package/dist/dashboard/assets/Issues-Cfnqb_a0.js +0 -33
- package/dist/dashboard/assets/Layout-Edli6x7p.js +0 -1
- package/dist/dashboard/assets/Login-DHYJjZXJ.js +0 -1
- package/dist/dashboard/assets/ProjectCreate-D5GeKxHe.js +0 -33
- package/dist/dashboard/assets/ProjectSettings-6OwGPcir.js +0 -1
- package/dist/dashboard/assets/Projects-Bth0OyBs.js +0 -1
- package/dist/dashboard/assets/Register-C3zVYtDV.js +0 -1
- package/dist/dashboard/assets/index-7dRN2NZv.js +0 -30
- package/dist/dashboard/assets/index-JMAa_1Q2.css +0 -1
- package/dist/dashboard/assets/projects-BUj8O17i.js +0 -1
- package/dist/dashboard/index.html +0 -14
- package/dist/index.js +0 -4774
- package/dist/index.js.map +0 -8
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import{d as N,k as h,l as R,r as i,x as E,m as b,c as a,a as s,h as c,i as I,A as P,t as n,z as S,F as C,p as T,y as k,n as U,w as B,q as F,g as z,f as A,R as V,o as r}from"./index-7dRN2NZv.js";import{u as W}from"./projects-BUj8O17i.js";const H={class:"flex items-center space-x-4 mb-6"},K={key:0,class:"text-center py-12"},Q={key:1,class:"bg-error-50 dark:bg-error-900/20 text-error-700 dark:text-error-400 px-4 py-3 rounded-lg"},G={key:2,class:"max-w-2xl mx-auto"},J={class:"bg-gray-50 dark:bg-gray-700 rounded-lg p-6 mt-6"},O={class:"font-medium text-gray-900 dark:text-white mb-4"},X={class:"text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto"},Y={key:1,class:"text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto"},Z={key:3,class:"card divide-y divide-gray-200 dark:divide-gray-700"},tt={class:"flex items-start justify-between"},et={class:"flex-1 min-w-0"},st={class:"flex items-center space-x-2"},ot={class:"text-sm font-medium text-gray-900 dark:text-white truncate"},rt={class:"mt-1 text-sm text-gray-600 dark:text-gray-300 truncate"},at={key:0,class:"mt-1 text-xs text-gray-400 truncate"},nt={class:"ml-4 flex flex-col items-end text-sm"},lt={class:"flex items-center space-x-4 text-gray-500"},it={title:"Events"},ut={key:0,title:"Users"},dt={class:"text-xs text-gray-400 mt-1"},ct=["onClick"],gt=["onClick"],vt=["onClick"],pt={key:4,class:"mt-4 text-center"},xt=["disabled"],yt={key:0},mt={key:1},_t=N({__name:"Issues",setup(ft){const q=R(),$=W(),u=h(()=>q.params.slug),j=h(()=>$.projects.find(o=>o.slug===u.value)),_=h(()=>{var o;return((o=j.value)==null?void 0:o.platform)==="cloudflare-workers"}),d=i([]),g=i(!0),p=i(null),v=i("unresolved"),w=i(!1),m=i(),x=i("");async function y(o=!1){o||(g.value=!0),p.value=null;try{const e=new URLSearchParams;v.value&&e.set("status",v.value),o&&m.value&&e.set("cursor",m.value);const t=await k.get(`/api/projects/${u.value}/issues?${e}`);o?d.value=[...d.value,...t.issues]:d.value=t.issues,w.value=t.hasMore,m.value=t.nextCursor,t.issues.length===0&&!x.value&&L()}catch(e){p.value=e instanceof Error?e.message:"Failed to load issues"}finally{g.value=!1}}async function L(){try{const o=await k.get(`/api/projects/${u.value}`);x.value=o.dsn}catch{}}async function f(o,e){try{await k.patch(`/api/projects/${u.value}/issues/${o.id}`,{status:e}),o.status=e}catch(t){console.error("Failed to update status:",t)}}function D(o){const e=new Date(o),l=Math.floor((new Date().getTime()-e.getTime())/1e3);return l<60?"just now":l<3600?`${Math.floor(l/60)}m ago`:l<86400?`${Math.floor(l/3600)}h ago`:l<604800?`${Math.floor(l/86400)}d ago`:e.toLocaleDateString()}function M(o){switch(o){case"fatal":case"error":return"badge-error";case"warning":return"badge-warning";default:return"badge-info"}}return E(()=>y()),b(v,()=>y()),b(u,()=>y()),(o,e)=>(r(),a("div",null,[s("div",H,[I(s("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>v.value=t),class:"input w-auto"},[...e[3]||(e[3]=[s("option",{value:""},"All Issues",-1),s("option",{value:"unresolved"},"Unresolved",-1),s("option",{value:"resolved"},"Resolved",-1),s("option",{value:"ignored"},"Ignored",-1)])],512),[[P,v.value]])]),g.value&&d.value.length===0?(r(),a("div",K,[...e[4]||(e[4]=[s("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600 mx-auto"},null,-1),s("p",{class:"mt-4 text-gray-500"},"Loading issues...",-1)])])):p.value?(r(),a("div",Q,n(p.value),1)):d.value.length===0?(r(),a("div",G,[e[7]||(e[7]=S('<div class="text-center py-8"><svg class="mx-auto h-12 w-12 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg><h3 class="mt-2 text-lg font-medium text-gray-900 dark:text-white">No issues yet</h3><p class="mt-1 text-sm text-gray-500"> Configure your SDK to start capturing errors. </p></div>',1)),s("div",J,[s("h3",O,n(_.value?"Quick Setup (Cloudflare Workers)":"Quick Setup"),1),_.value?(r(),a(C,{key:0},[e[5]||(e[5]=S(`<p class="text-sm text-gray-600 dark:text-gray-400 mb-3"> 1. Install the SDK: </p><pre class="text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto mb-4"><code>npm install @sentry/cloudflare --save</code></pre><p class="text-sm text-gray-600 dark:text-gray-400 mb-3"> 2. Add a service binding to Sentinel and the compatibility flag in <code class="text-xs bg-gray-200 dark:bg-gray-600 px-1 rounded">wrangler.jsonc</code>: </p><pre class="text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto mb-4"><code>{
|
|
2
|
-
"compatibility_flags": ["nodejs_als"],
|
|
3
|
-
"services": [
|
|
4
|
-
{ "binding": "SENTINEL", "service": "workers-sentinel", "entrypoint": "SentinelRpc" }
|
|
5
|
-
]
|
|
6
|
-
}</code></pre><p class="text-sm text-gray-600 dark:text-gray-400 mb-3"> 3. Initialize Sentry with the RPC transport: </p>`,5)),s("pre",X,[s("code",null,`import * as Sentry from "@sentry/cloudflare";
|
|
7
|
-
import { waitUntil } from "cloudflare:workers";
|
|
8
|
-
|
|
9
|
-
const DSN = "`+n(x.value)+`";
|
|
10
|
-
|
|
11
|
-
export default Sentry.withSentry(
|
|
12
|
-
(env: Env) => ({
|
|
13
|
-
dsn: DSN,
|
|
14
|
-
transport: () => ({
|
|
15
|
-
send: async (envelope) => {
|
|
16
|
-
const rpcPromise = env.SENTINEL.captureEnvelope(DSN, envelope);
|
|
17
|
-
waitUntil(rpcPromise);
|
|
18
|
-
const result = await rpcPromise;
|
|
19
|
-
return { statusCode: result.status };
|
|
20
|
-
},
|
|
21
|
-
flush: async () => true,
|
|
22
|
-
}),
|
|
23
|
-
}),
|
|
24
|
-
{
|
|
25
|
-
async fetch(request, env, ctx) {
|
|
26
|
-
return new Response("Hello World!");
|
|
27
|
-
},
|
|
28
|
-
}
|
|
29
|
-
);`,1)]),e[6]||(e[6]=s("p",{class:"text-xs text-gray-500 dark:text-gray-400 mt-3"}," Using a service binding with RPC routes requests internally within Cloudflare's network, avoiding external HTTP roundtrips and reducing latency. ",-1))],64)):(r(),a("pre",Y,[s("code",null,`import * as Sentry from '@sentry/browser';
|
|
30
|
-
|
|
31
|
-
Sentry.init({
|
|
32
|
-
dsn: '`+n(x.value)+`',
|
|
33
|
-
});`,1)]))])])):(r(),a("div",Z,[(r(!0),a(C,null,T(d.value,t=>(r(),U(A(V),{key:t.id,to:`/projects/${u.value}/issues/${t.id}`,class:"block p-4 hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors"},{default:B(()=>[s("div",tt,[s("div",et,[s("div",st,[s("span",{class:F(["badge",M(t.level)])},n(t.level),3),s("h3",ot,n(t.metadata.type),1)]),s("p",rt,n(t.metadata.value||t.title),1),t.culprit?(r(),a("p",at,n(t.culprit),1)):c("",!0)]),s("div",nt,[s("div",lt,[s("span",it,n(t.count.toLocaleString()),1),t.userCount>0?(r(),a("span",ut,n(t.userCount.toLocaleString())+" users ",1)):c("",!0)]),s("p",dt,n(D(t.lastSeen)),1)])]),s("div",{class:"mt-3 flex items-center space-x-2",onClick:e[1]||(e[1]=z(()=>{},["prevent"]))},[t.status!=="resolved"?(r(),a("button",{key:0,class:"text-xs text-gray-500 hover:text-gray-700 dark:hover:text-gray-300",onClick:l=>f(t,"resolved")}," Resolve ",8,ct)):c("",!0),t.status!=="ignored"?(r(),a("button",{key:1,class:"text-xs text-gray-500 hover:text-gray-700 dark:hover:text-gray-300",onClick:l=>f(t,"ignored")}," Ignore ",8,gt)):c("",!0),t.status!=="unresolved"?(r(),a("button",{key:2,class:"text-xs text-gray-500 hover:text-gray-700 dark:hover:text-gray-300",onClick:l=>f(t,"unresolved")}," Reopen ",8,vt)):c("",!0)])]),_:2},1032,["to"]))),128))])),w.value?(r(),a("div",pt,[s("button",{class:"btn btn-secondary",disabled:g.value,onClick:e[2]||(e[2]=t=>y(!0))},[g.value?(r(),a("span",yt,"Loading...")):(r(),a("span",mt,"Load More"))],8,xt)])):c("",!0)]))}});export{_t as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as S,u as B,k as w,l as V,m as L,c as a,a as e,e as n,w as l,f as t,R as i,n as R,h as k,F as N,p as P,t as d,q as p,s as A,j as H,b as y,o as r}from"./index-7dRN2NZv.js";import{u as $}from"./projects-BUj8O17i.js";const z={class:"flex h-screen"},F={class:"w-64 bg-gray-900 text-white flex flex-col"},M={class:"p-4 border-b border-gray-800"},q={class:"flex-1 overflow-y-auto p-4"},D={class:"flex items-center justify-between mb-4"},E={key:0,class:"text-gray-400 text-sm"},I={key:1,class:"space-y-1"},T={class:"truncate"},U={class:"p-4 border-t border-gray-800"},G={class:"flex items-center justify-between"},J={class:"flex items-center min-w-0"},K={class:"w-8 h-8 bg-gray-700 rounded-full flex items-center justify-center text-sm font-medium"},O={class:"ml-3 min-w-0"},Q={class:"text-sm font-medium truncate"},W={class:"text-xs text-gray-400 truncate"},X={class:"flex-1 overflow-y-auto"},Y={key:0,class:"bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-6 py-4"},Z={class:"flex items-center justify-between"},ee={class:"flex items-center space-x-4"},te={class:"text-xl font-semibold text-gray-900 dark:text-white"},se={class:"badge badge-info"},oe={class:"flex items-center space-x-2"},re={class:"p-6"},ie=S({__name:"Layout",setup(ae){const m=V(),j=H(),c=B(),o=$(),h=w(()=>m.params.slug),u=w(()=>o.projects.find(g=>g.slug===h.value));async function C(){await c.logout(),o.reset(),j.push("/login")}return L(()=>c.isAuthenticated,g=>{g&&!o.initialized&&o.loadProjects()},{immediate:!0}),(g,s)=>{var f,_,v,b;return r(),a("div",z,[e("aside",F,[e("div",M,[n(t(i),{to:"/",class:"flex items-center space-x-2"},{default:l(()=>[...s[0]||(s[0]=[e("div",{class:"w-8 h-8 bg-primary-500 rounded-lg flex items-center justify-center"},[e("span",{class:"text-lg font-bold"},"S")],-1),e("span",{class:"font-semibold"},"Sentinel",-1)])]),_:1})]),e("nav",q,[e("div",D,[s[2]||(s[2]=e("h2",{class:"text-xs font-semibold text-gray-400 uppercase tracking-wider"},"Projects",-1)),n(t(i),{to:"/projects/new",class:"text-gray-400 hover:text-white"},{default:l(()=>[...s[1]||(s[1]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])]),_:1})]),t(o).loading?(r(),a("div",E,"Loading...")):(r(),a("ul",I,[(r(!0),a(N,null,P(t(o).projects,x=>(r(),a("li",{key:x.id},[n(t(i),{to:`/projects/${x.slug}/issues`,class:p(["flex items-center px-3 py-2 rounded-lg text-sm",h.value===x.slug?"bg-gray-800 text-white":"text-gray-300 hover:bg-gray-800 hover:text-white"])},{default:l(()=>[e("span",T,d(x.name),1)]),_:2},1032,["to","class"])]))),128))])),!t(o).loading&&t(o).projects.length===0?(r(),R(t(i),{key:2,to:"/projects/new",class:"block text-center py-8 text-gray-400 hover:text-white"},{default:l(()=>[...s[3]||(s[3]=[y(" Create your first project ",-1)])]),_:1})):k("",!0)]),e("div",U,[e("div",G,[e("div",J,[e("div",K,d((_=(f=t(c).user)==null?void 0:f.name)==null?void 0:_.charAt(0).toUpperCase()),1),e("div",O,[e("p",Q,d((v=t(c).user)==null?void 0:v.name),1),e("p",W,d((b=t(c).user)==null?void 0:b.email),1)])]),e("button",{onClick:C,class:"text-gray-400 hover:text-white",title:"Logout"},[...s[4]||(s[4]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1)])])])])]),e("main",X,[u.value?(r(),a("header",Y,[e("div",Z,[e("div",ee,[e("h1",te,d(u.value.name),1),e("span",se,d(u.value.platform),1)]),e("div",oe,[n(t(i),{to:`/projects/${u.value.slug}/issues`,class:p(["px-3 py-1.5 text-sm rounded-lg",t(m).name==="issues"?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"])},{default:l(()=>[...s[5]||(s[5]=[y(" Issues ",-1)])]),_:1},8,["to","class"]),n(t(i),{to:`/projects/${u.value.slug}/settings`,class:p(["px-3 py-1.5 text-sm rounded-lg",t(m).name==="project-settings"?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"])},{default:l(()=>[...s[6]||(s[6]=[y(" Settings ",-1)])]),_:1},8,["to","class"])])])])):k("",!0),e("div",re,[n(t(A))])])])}}});export{ie as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as f,u as g,r as d,c as r,a as t,b as u,e as b,w as v,f as a,R as w,g as k,h as S,t as h,i as p,v as m,j as _,o}from"./index-7dRN2NZv.js";const V={class:"min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900 py-12 px-4 sm:px-6 lg:px-8"},N={class:"max-w-md w-full space-y-8"},j={class:"mt-2 text-center text-sm text-gray-600 dark:text-gray-400"},B={key:0,class:"bg-error-50 dark:bg-error-900/20 text-error-700 dark:text-error-400 px-4 py-3 rounded-lg text-sm"},C={class:"space-y-4"},R=["disabled"],q={key:0},D={key:1},M=f({__name:"Login",setup(E){const c=_(),s=g(),l=d(""),n=d("");async function x(){await s.login(l.value,n.value)&&c.push("/")}return(y,e)=>(o(),r("div",V,[t("div",N,[t("div",null,[e[4]||(e[4]=t("div",{class:"mx-auto w-12 h-12 bg-primary-500 rounded-xl flex items-center justify-center"},[t("span",{class:"text-2xl font-bold text-white"},"S")],-1)),e[5]||(e[5]=t("h2",{class:"mt-6 text-center text-3xl font-extrabold text-gray-900 dark:text-white"}," Sign in to Sentinel ",-1)),t("p",j,[e[3]||(e[3]=u(" Or ",-1)),b(a(w),{to:"/register",class:"font-medium text-primary-600 hover:text-primary-500"},{default:v(()=>[...e[2]||(e[2]=[u(" create a new account ",-1)])]),_:1})])]),t("form",{class:"mt-8 space-y-6",onSubmit:k(x,["prevent"])},[a(s).error?(o(),r("div",B,h(a(s).error),1)):S("",!0),t("div",C,[t("div",null,[e[6]||(e[6]=t("label",{for:"email",class:"label"},"Email address",-1)),p(t("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=i=>l.value=i),type:"email",autocomplete:"email",required:"",class:"input",placeholder:"you@example.com"},null,512),[[m,l.value]])]),t("div",null,[e[7]||(e[7]=t("label",{for:"password",class:"label"},"Password",-1)),p(t("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=i=>n.value=i),type:"password",autocomplete:"current-password",required:"",class:"input",placeholder:"••••••••"},null,512),[[m,n.value]])])]),t("button",{type:"submit",disabled:a(s).loading,class:"btn btn-primary w-full"},[a(s).loading?(o(),r("span",q,"Signing in...")):(o(),r("span",D,"Sign in"))],8,R)],32)])]))}});export{M as default};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import{d as S,r as u,k as j,c as o,a as e,t as n,F as y,z as q,g as C,h as P,i as g,v as _,A as N,p as D,f as E,j as T,y as R,o as a}from"./index-7dRN2NZv.js";import{u as M}from"./projects-BUj8O17i.js";const U={class:"max-w-2xl mx-auto"},V={key:0,class:"card p-6"},B={class:"text-center mb-6"},A={class:"text-gray-500 mt-1"},H={class:"mb-6"},I={class:"flex items-center space-x-2"},L={class:"flex-1 bg-gray-100 dark:bg-gray-700 px-3 py-2 rounded-lg text-sm font-mono break-all text-gray-900 dark:text-gray-100"},z={class:"bg-gray-50 dark:bg-gray-700 rounded-lg p-4 mb-6"},F={class:"font-medium text-gray-900 dark:text-white mb-2"},J={class:"text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto"},W={key:1,class:"text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto"},G={key:0,class:"mb-4 bg-error-50 dark:bg-error-900/20 text-error-700 dark:text-error-400 px-4 py-3 rounded-lg text-sm"},K={class:"space-y-4"},Q=["value"],$={class:"mt-6 flex justify-end space-x-3"},O=["disabled"],Y={key:0},X={key:1},re=S({__name:"ProjectCreate",setup(Z){const m=T(),b=M(),p=u(""),i=u("cloudflare-workers"),v=u("cloudflare-workers"),d=u(!1),c=u(null),r=u(null),x=[{value:"cloudflare-workers",label:"Cloudflare Workers"},{value:"javascript",label:"JavaScript"},{value:"node",label:"Node.js"},{value:"python",label:"Python"},{value:"go",label:"Go"},{value:"rust",label:"Rust"},{value:"java",label:"Java"},{value:"php",label:"PHP"},{value:"ruby",label:"Ruby"},{value:"other",label:"Other"}];async function f(){d.value=!0,c.value=null;try{v.value=i.value;const s=await R.post("/api/projects",{name:p.value,platform:i.value});r.value=s,b.addProject({id:s.project.id,name:s.project.name,slug:s.project.slug,platform:i.value})}catch(s){c.value=s instanceof Error?s.message:"Failed to create project"}finally{d.value=!1}}const k=j(()=>v.value==="cloudflare-workers"?"Quick Setup (Cloudflare Workers)":"Quick Setup (JavaScript)");function w(){r.value&&navigator.clipboard.writeText(r.value.dsn)}function h(){r.value&&m.push(`/projects/${r.value.project.slug}/issues`)}return(s,t)=>(a(),o("div",U,[t[12]||(t[12]=e("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white mb-6"},"Create New Project",-1)),r.value?(a(),o("div",V,[e("div",B,[t[3]||(t[3]=e("div",{class:"mx-auto w-12 h-12 bg-green-100 dark:bg-green-900 rounded-full flex items-center justify-center mb-4"},[e("svg",{class:"w-6 h-6 text-green-600 dark:text-green-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})])],-1)),t[4]||(t[4]=e("h2",{class:"text-xl font-semibold text-gray-900 dark:text-white"},"Project Created!",-1)),e("p",A,n(r.value.project.name),1)]),e("div",H,[t[6]||(t[6]=e("label",{class:"label"},"Your DSN",-1)),e("div",I,[e("code",L,n(r.value.dsn),1),e("button",{onClick:w,class:"btn btn-secondary",title:"Copy to clipboard"},[...t[5]||(t[5]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])])]),t[7]||(t[7]=e("p",{class:"mt-2 text-sm text-gray-500"}," Use this DSN to configure your Sentry SDK. ",-1))]),e("div",z,[e("h3",F,n(k.value),1),v.value==="cloudflare-workers"?(a(),o(y,{key:0},[t[8]||(t[8]=q(`<p class="text-sm text-gray-600 dark:text-gray-400 mb-3"> 1. Install the SDK: </p><pre class="text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto mb-4"><code>npm install @sentry/cloudflare --save</code></pre><p class="text-sm text-gray-600 dark:text-gray-400 mb-3"> 2. Add a service binding to Sentinel and the compatibility flag in <code class="text-xs bg-gray-200 dark:bg-gray-600 px-1 rounded">wrangler.jsonc</code>: </p><pre class="text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto mb-4"><code>{
|
|
2
|
-
"compatibility_flags": ["nodejs_als"],
|
|
3
|
-
"services": [
|
|
4
|
-
{ "binding": "SENTINEL", "service": "workers-sentinel", "entrypoint": "SentinelRpc" }
|
|
5
|
-
]
|
|
6
|
-
}</code></pre><p class="text-sm text-gray-600 dark:text-gray-400 mb-3"> 3. Initialize Sentry with the RPC transport: </p>`,5)),e("pre",J,[e("code",null,`import * as Sentry from "@sentry/cloudflare";
|
|
7
|
-
import { waitUntil } from "cloudflare:workers";
|
|
8
|
-
|
|
9
|
-
const DSN = "`+n(r.value.dsn)+`";
|
|
10
|
-
|
|
11
|
-
export default Sentry.withSentry(
|
|
12
|
-
(env: Env) => ({
|
|
13
|
-
dsn: DSN,
|
|
14
|
-
transport: () => ({
|
|
15
|
-
send: async (envelope) => {
|
|
16
|
-
const rpcPromise = env.SENTINEL.captureEnvelope(DSN, envelope);
|
|
17
|
-
waitUntil(rpcPromise);
|
|
18
|
-
const result = await rpcPromise;
|
|
19
|
-
return { statusCode: result.status };
|
|
20
|
-
},
|
|
21
|
-
flush: async () => true,
|
|
22
|
-
}),
|
|
23
|
-
}),
|
|
24
|
-
{
|
|
25
|
-
async fetch(request, env, ctx) {
|
|
26
|
-
return new Response("Hello World!");
|
|
27
|
-
},
|
|
28
|
-
}
|
|
29
|
-
);`,1)]),t[9]||(t[9]=e("p",{class:"text-xs text-gray-500 dark:text-gray-400 mt-3"}," Using a service binding with RPC routes requests internally within Cloudflare's network, avoiding external HTTP roundtrips and reducing latency. ",-1))],64)):(a(),o("pre",W,[e("code",null,`import * as Sentry from '@sentry/browser';
|
|
30
|
-
|
|
31
|
-
Sentry.init({
|
|
32
|
-
dsn: '`+n(r.value.dsn)+`',
|
|
33
|
-
});`,1)]))]),e("button",{onClick:h,class:"btn btn-primary w-full"}," Go to Project ")])):(a(),o("form",{key:1,class:"card p-6",onSubmit:C(f,["prevent"])},[c.value?(a(),o("div",G,n(c.value),1)):P("",!0),e("div",K,[e("div",null,[t[10]||(t[10]=e("label",{for:"name",class:"label"},"Project Name",-1)),g(e("input",{id:"name","onUpdate:modelValue":t[0]||(t[0]=l=>p.value=l),type:"text",required:"",class:"input",placeholder:"My Application"},null,512),[[_,p.value]])]),e("div",null,[t[11]||(t[11]=e("label",{for:"platform",class:"label"},"Platform",-1)),g(e("select",{id:"platform","onUpdate:modelValue":t[1]||(t[1]=l=>i.value=l),class:"input"},[(a(),o(y,null,D(x,l=>e("option",{key:l.value,value:l.value},n(l.label),9,Q)),64))],512),[[N,i.value]])])]),e("div",$,[e("button",{type:"button",class:"btn btn-secondary",onClick:t[2]||(t[2]=l=>E(m).back())}," Cancel "),e("button",{type:"submit",disabled:d.value,class:"btn btn-primary"},[d.value?(a(),o("span",Y,"Creating...")):(a(),o("span",X,"Create Project"))],8,O)])],32))]))}});export{re as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as _,k as D,l as C,r as n,x as S,c as a,h as v,a as t,t as r,g as P,y as p,j as N,o as l}from"./index-7dRN2NZv.js";import{u as $}from"./projects-BUj8O17i.js";const B={class:"max-w-2xl"},A={key:0,class:"text-center py-12"},E={key:1,class:"bg-error-50 dark:bg-error-900/20 text-error-700 dark:text-error-400 px-4 py-3 rounded-lg"},M={key:2,class:"space-y-6"},V={class:"card p-6"},z={class:"flex items-center space-x-2"},F={class:"flex-1 bg-gray-100 dark:bg-gray-700 px-3 py-2 rounded-lg text-sm font-mono break-all text-gray-900 dark:text-gray-100"},I={class:"card p-6"},K={class:"space-y-4"},R={class:"text-gray-900 dark:text-white"},T={class:"text-gray-900 dark:text-white font-mono"},U={class:"text-gray-900 dark:text-white"},H={class:"text-gray-900 dark:text-white"},L={class:"text-gray-900 dark:text-white font-mono text-sm"},O={class:"card border-error-200 dark:border-error-800"},Z={class:"p-6"},q={class:"flex items-center justify-between"},G={class:"bg-white dark:bg-gray-800 rounded-lg p-6 max-w-md mx-4"},J={class:"text-lg font-semibold text-gray-900 dark:text-white mb-2"},Q={class:"flex justify-end space-x-3"},W=["disabled"],X={key:0},Y={key:1},ot=_({__name:"ProjectSettings",setup(tt){const y=C(),b=N(),f=$(),c=D(()=>y.params.slug),o=n(null),x=n(""),m=n(!0),d=n(null),i=n(!1),u=n(!1);async function k(){m.value=!0,d.value=null;try{const s=await p.get(`/api/projects/${c.value}`);o.value=s.project,x.value=s.dsn}catch(s){d.value=s instanceof Error?s.message:"Failed to load project"}finally{m.value=!1}}async function h(){if(o.value){i.value=!0;try{await p.delete(`/api/projects/${c.value}`),f.removeProject(c.value),b.push("/projects")}catch(s){d.value=s instanceof Error?s.message:"Failed to delete project",i.value=!1}}}function j(){navigator.clipboard.writeText(x.value)}function w(s){return new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}return S(()=>k()),(s,e)=>(l(),a("div",B,[m.value?(l(),a("div",A,[...e[3]||(e[3]=[t("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600 mx-auto"},null,-1)])])):d.value?(l(),a("div",E,r(d.value),1)):o.value?(l(),a("div",M,[e[16]||(e[16]=t("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"},"Project Settings",-1)),t("div",V,[e[5]||(e[5]=t("h2",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-4"},"Client Keys (DSN)",-1)),e[6]||(e[6]=t("p",{class:"text-sm text-gray-500 mb-4"}," Use this DSN to configure your Sentry SDK. ",-1)),t("div",z,[t("code",F,r(x.value),1),t("button",{onClick:j,class:"btn btn-secondary",title:"Copy to clipboard"},[...e[4]||(e[4]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])])])]),t("div",I,[e[12]||(e[12]=t("h2",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-4"},"Project Information",-1)),t("dl",K,[t("div",null,[e[7]||(e[7]=t("dt",{class:"text-sm text-gray-500"},"Name",-1)),t("dd",R,r(o.value.name),1)]),t("div",null,[e[8]||(e[8]=t("dt",{class:"text-sm text-gray-500"},"Slug",-1)),t("dd",T,r(o.value.slug),1)]),t("div",null,[e[9]||(e[9]=t("dt",{class:"text-sm text-gray-500"},"Platform",-1)),t("dd",U,r(o.value.platform),1)]),t("div",null,[e[10]||(e[10]=t("dt",{class:"text-sm text-gray-500"},"Created",-1)),t("dd",H,r(w(o.value.createdAt)),1)]),t("div",null,[e[11]||(e[11]=t("dt",{class:"text-sm text-gray-500"},"Project ID",-1)),t("dd",L,r(o.value.id),1)])])]),t("div",O,[e[14]||(e[14]=t("div",{class:"p-6 border-b border-error-200 dark:border-error-800"},[t("h2",{class:"text-lg font-semibold text-error-600 dark:text-error-400"},"Danger Zone")],-1)),t("div",Z,[t("div",q,[e[13]||(e[13]=t("div",null,[t("h3",{class:"text-sm font-medium text-gray-900 dark:text-white"},"Delete this project"),t("p",{class:"text-sm text-gray-500"}," Once you delete a project, there is no going back. All data will be permanently deleted. ")],-1)),t("button",{class:"btn btn-danger",onClick:e[0]||(e[0]=g=>u.value=!0)}," Delete Project ")])])]),u.value?(l(),a("div",{key:0,class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e[2]||(e[2]=P(g=>u.value=!1,["self"]))},[t("div",G,[t("h3",J,' Delete "'+r(o.value.name)+'"? ',1),e[15]||(e[15]=t("p",{class:"text-sm text-gray-500 mb-6"}," This action cannot be undone. All issues, events, and settings for this project will be permanently deleted. ",-1)),t("div",Q,[t("button",{class:"btn btn-secondary",onClick:e[1]||(e[1]=g=>u.value=!1)}," Cancel "),t("button",{class:"btn btn-danger",disabled:i.value,onClick:h},[i.value?(l(),a("span",X,"Deleting...")):(l(),a("span",Y,"Delete Project"))],8,W)])])])):v("",!0)])):v("",!0)]))}});export{ot as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as y,r as d,x as f,y as k,c as a,a as t,e as x,w as c,f as u,R as m,t as n,F as w,p as h,b as g,o as r,n as _}from"./index-7dRN2NZv.js";const b={class:"flex items-center justify-between mb-6"},j={key:0,class:"text-center py-12"},B={key:1,class:"bg-error-50 dark:bg-error-900/20 text-error-700 dark:text-error-400 px-4 py-3 rounded-lg"},C={key:2,class:"text-center py-12"},M={class:"mt-6"},N={key:3,class:"grid gap-4 md:grid-cols-2 lg:grid-cols-3"},V={class:"flex items-start justify-between"},D={class:"font-semibold text-gray-900 dark:text-white"},H={class:"text-sm text-gray-500 mt-1"},L={class:"badge badge-info"},P={class:"text-xs text-gray-400 mt-4"},E=y({__name:"Projects",setup(F){const l=d([]),p=d(!0),i=d(null);f(async()=>{try{const s=await k.get("/api/projects");l.value=s.projects}catch(s){i.value=s instanceof Error?s.message:"Failed to load projects"}finally{p.value=!1}});function v(s){return new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}return(s,e)=>(r(),a("div",null,[t("div",b,[e[1]||(e[1]=t("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"},"Projects",-1)),x(u(m),{to:"/projects/new",class:"btn btn-primary"},{default:c(()=>[...e[0]||(e[0]=[t("svg",{class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),g(" New Project ",-1)])]),_:1})]),p.value?(r(),a("div",j,[...e[2]||(e[2]=[t("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600 mx-auto"},null,-1),t("p",{class:"mt-4 text-gray-500"},"Loading projects...",-1)])])):i.value?(r(),a("div",B,n(i.value),1)):l.value.length===0?(r(),a("div",C,[e[4]||(e[4]=t("svg",{class:"mx-auto h-12 w-12 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})],-1)),e[5]||(e[5]=t("h3",{class:"mt-2 text-sm font-medium text-gray-900 dark:text-white"},"No projects",-1)),e[6]||(e[6]=t("p",{class:"mt-1 text-sm text-gray-500"},"Get started by creating a new project.",-1)),t("div",M,[x(u(m),{to:"/projects/new",class:"btn btn-primary"},{default:c(()=>[...e[3]||(e[3]=[t("svg",{class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),g(" New Project ",-1)])]),_:1})])])):(r(),a("div",N,[(r(!0),a(w,null,h(l.value,o=>(r(),_(u(m),{key:o.id,to:`/projects/${o.slug}/issues`,class:"card p-6 hover:shadow-md transition-shadow"},{default:c(()=>[t("div",V,[t("div",null,[t("h3",D,n(o.name),1),t("p",H,n(o.slug),1)]),t("span",L,n(o.platform),1)]),t("p",P,"Created "+n(v(o.createdAt)),1)]),_:2},1032,["to"]))),128))]))]))}});export{E as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as v,u as g,r as u,c as l,a as t,b as x,e as b,w,f as r,R as k,g as h,h as S,t as V,i as p,v as m,j as C,o}from"./index-7dRN2NZv.js";const N={class:"min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900 py-12 px-4 sm:px-6 lg:px-8"},R={class:"max-w-md w-full space-y-8"},j={class:"mt-2 text-center text-sm text-gray-600 dark:text-gray-400"},q={key:0,class:"bg-error-50 dark:bg-error-900/20 text-error-700 dark:text-error-400 px-4 py-3 rounded-lg text-sm"},A={class:"space-y-4"},B=["disabled"],D={key:0},U={key:1},M=v({__name:"Register",setup(_){const c=C(),s=g(),n=u(""),i=u(""),d=u("");async function y(){await s.register(i.value,d.value,n.value)&&c.push("/")}return(f,e)=>(o(),l("div",N,[t("div",R,[t("div",null,[e[5]||(e[5]=t("div",{class:"mx-auto w-12 h-12 bg-primary-500 rounded-xl flex items-center justify-center"},[t("span",{class:"text-2xl font-bold text-white"},"S")],-1)),e[6]||(e[6]=t("h2",{class:"mt-6 text-center text-3xl font-extrabold text-gray-900 dark:text-white"}," Create your account ",-1)),t("p",j,[e[4]||(e[4]=x(" Already have an account? ",-1)),b(r(k),{to:"/login",class:"font-medium text-primary-600 hover:text-primary-500"},{default:w(()=>[...e[3]||(e[3]=[x(" Sign in ",-1)])]),_:1})])]),t("form",{class:"mt-8 space-y-6",onSubmit:h(y,["prevent"])},[r(s).error?(o(),l("div",q,V(r(s).error),1)):S("",!0),t("div",A,[t("div",null,[e[7]||(e[7]=t("label",{for:"name",class:"label"},"Name",-1)),p(t("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>n.value=a),type:"text",autocomplete:"name",required:"",class:"input",placeholder:"John Doe"},null,512),[[m,n.value]])]),t("div",null,[e[8]||(e[8]=t("label",{for:"email",class:"label"},"Email address",-1)),p(t("input",{id:"email","onUpdate:modelValue":e[1]||(e[1]=a=>i.value=a),type:"email",autocomplete:"email",required:"",class:"input",placeholder:"you@example.com"},null,512),[[m,i.value]])]),t("div",null,[e[9]||(e[9]=t("label",{for:"password",class:"label"},"Password",-1)),p(t("input",{id:"password","onUpdate:modelValue":e[2]||(e[2]=a=>d.value=a),type:"password",autocomplete:"new-password",required:"",minlength:"8",class:"input",placeholder:"••••••••"},null,512),[[m,d.value]]),e[10]||(e[10]=t("p",{class:"mt-1 text-xs text-gray-500"},"At least 8 characters",-1))])]),t("button",{type:"submit",disabled:r(s).loading,class:"btn btn-primary w-full"},[r(s).loading?(o(),l("span",D,"Creating account...")):(o(),l("span",U,"Create account"))],8,B)],32)])]))}});export{M as default};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Layout-Edli6x7p.js","assets/projects-BUj8O17i.js","assets/ProjectCreate-D5GeKxHe.js","assets/Issues-Cfnqb_a0.js","assets/ProjectSettings-6OwGPcir.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();/**
|
|
3
|
-
* @vue/shared v3.5.26
|
|
4
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
5
|
-
* @license MIT
|
|
6
|
-
**/function Os(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Z={},Dt=[],ke=()=>{},zr=()=>!1,Mn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ps=e=>e.startsWith("onUpdate:"),he=Object.assign,Is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},wo=Object.prototype.hasOwnProperty,Q=(e,t)=>wo.call(e,t),F=Array.isArray,Mt=e=>un(e)==="[object Map]",Ln=e=>un(e)==="[object Set]",Xs=e=>un(e)==="[object Date]",B=e=>typeof e=="function",le=e=>typeof e=="string",Ge=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Jr=e=>(ee(e)||B(e))&&B(e.then)&&B(e.catch),Qr=Object.prototype.toString,un=e=>Qr.call(e),Co=e=>un(e).slice(8,-1),Yr=e=>un(e)==="[object Object]",jn=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,qt=Os(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Oo=/-\w/g,gt=Fn(e=>e.replace(Oo,t=>t.slice(1).toUpperCase())),Po=/\B([A-Z])/g,wt=Fn(e=>e.replace(Po,"-$1").toLowerCase()),Xr=Fn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Xn=Fn(e=>e?`on${Xr(e)}`:""),dt=(e,t)=>!Object.is(e,t),yn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Zr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Vn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Hn=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ts(e){if(F(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=le(s)?Do(s):Ts(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(le(e)||ee(e))return e}const Io=/;(?![^(]*\))/g,To=/:([^]+)/,No=/\/\*[^]*?\*\//g;function Do(e){const t={};return e.replace(No,"").split(Io).forEach(n=>{if(n){const s=n.split(To);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ns(e){let t="";if(le(e))t=e;else if(F(e))for(let n=0;n<e.length;n++){const s=Ns(e[n]);s&&(t+=s+" ")}else if(ee(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Mo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Lo=Os(Mo);function ei(e){return!!e||e===""}function jo(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Bn(e[s],t[s]);return n}function Bn(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Ge(e),s=Ge(t),n||s)return e===t;if(n=F(e),s=F(t),n||s)return n&&s?jo(e,t):!1;if(n=ee(e),s=ee(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Bn(e[o],t[o]))return!1}}return String(e)===String(t)}function Fo(e,t){return e.findIndex(n=>Bn(n,t))}const ti=e=>!!(e&&e.__v_isRef===!0),Vo=e=>le(e)?e:e==null?"":F(e)||ee(e)&&(e.toString===Qr||!B(e.toString))?ti(e)?Vo(e.value):JSON.stringify(e,ni,2):String(e),ni=(e,t)=>ti(t)?ni(e,t.value):Mt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Zn(s,i)+" =>"]=r,n),{})}:Ln(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Zn(n))}:Ge(t)?Zn(t):ee(t)&&!F(t)&&!Yr(t)?String(t):t,Zn=(e,t="")=>{var n;return Ge(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
7
|
-
* @vue/reactivity v3.5.26
|
|
8
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
9
|
-
* @license MIT
|
|
10
|
-
**/let fe;class si{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=fe,!t&&fe&&(this.index=(fe.scopes||(fe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=fe;try{return fe=this,t()}finally{fe=n}}}on(){++this._on===1&&(this.prevScope=fe,fe=this)}off(){this._on>0&&--this._on===0&&(fe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function ri(e){return new si(e)}function ii(){return fe}function Ho(e,t=!1){fe&&fe.cleanups.push(e)}let ne;const es=new WeakSet;class oi{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,fe&&fe.active&&fe.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,es.has(this)&&(es.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ci(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,er(this),ui(this);const t=ne,n=Ne;ne=this,Ne=!0;try{return this.fn()}finally{fi(this),ne=t,Ne=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ls(t);this.deps=this.depsTail=void 0,er(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?es.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let li=0,$t,zt;function ci(e,t=!1){if(e.flags|=8,t){e.next=zt,zt=e;return}e.next=$t,$t=e}function Ds(){li++}function Ms(){if(--li>0)return;if(zt){let t=zt;for(zt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$t;){let t=$t;for($t=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function ui(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function fi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),Bo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ai(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ai(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===nn)||(e.globalVersion=nn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=ne,s=Ne;ne=e,Ne=!0;try{ui(e);const r=e.fn(e._value);(t.version===0||dt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ne=n,Ne=s,fi(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Bo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ne=!0;const hi=[];function et(){hi.push(Ne),Ne=!1}function tt(){const e=hi.pop();Ne=e===void 0?!0:e}function er(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ne;ne=void 0;try{t()}finally{ne=n}}}let nn=0;class Uo{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class js{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ne||!Ne||ne===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ne)n=this.activeLink=new Uo(ne,this),ne.deps?(n.prevDep=ne.depsTail,ne.depsTail.nextDep=n,ne.depsTail=n):ne.deps=ne.depsTail=n,di(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ne.depsTail,n.nextDep=void 0,ne.depsTail.nextDep=n,ne.depsTail=n,ne.deps===n&&(ne.deps=s)}return n}trigger(t){this.version++,nn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ms()}}}function di(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)di(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Rn=new WeakMap,xt=Symbol(""),ds=Symbol(""),sn=Symbol("");function ae(e,t,n){if(Ne&&ne){let s=Rn.get(e);s||Rn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new js),r.map=s,r.key=n),r.track()}}function Ye(e,t,n,s,r,i){const o=Rn.get(e);if(!o){nn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=F(e),d=c&&jn(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,p)=>{(p==="length"||p===sn||!Ge(p)&&p>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(sn)),t){case"add":c?d&&l(o.get("length")):(l(o.get(xt)),Mt(e)&&l(o.get(ds)));break;case"delete":c||(l(o.get(xt)),Mt(e)&&l(o.get(ds)));break;case"set":Mt(e)&&l(o.get(xt));break}}Ms()}function Ko(e,t){const n=Rn.get(e);return n&&n.get(t)}function Pt(e){const t=$(e);return t===e?t:(ae(t,"iterate",sn),Oe(e)?t:t.map(De))}function Un(e){return ae(e=$(e),"iterate",sn),e}function ct(e,t){return nt(e)?Ze(e)?Ft(De(t)):Ft(t):De(t)}const ko={__proto__:null,[Symbol.iterator](){return ts(this,Symbol.iterator,e=>ct(this,e))},concat(...e){return Pt(this).concat(...e.map(t=>F(t)?Pt(t):t))},entries(){return ts(this,"entries",e=>(e[1]=ct(this,e[1]),e))},every(e,t){return $e(this,"every",e,t,void 0,arguments)},filter(e,t){return $e(this,"filter",e,t,n=>n.map(s=>ct(this,s)),arguments)},find(e,t){return $e(this,"find",e,t,n=>ct(this,n),arguments)},findIndex(e,t){return $e(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return $e(this,"findLast",e,t,n=>ct(this,n),arguments)},findLastIndex(e,t){return $e(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return $e(this,"forEach",e,t,void 0,arguments)},includes(...e){return ns(this,"includes",e)},indexOf(...e){return ns(this,"indexOf",e)},join(e){return Pt(this).join(e)},lastIndexOf(...e){return ns(this,"lastIndexOf",e)},map(e,t){return $e(this,"map",e,t,void 0,arguments)},pop(){return Kt(this,"pop")},push(...e){return Kt(this,"push",e)},reduce(e,...t){return tr(this,"reduce",e,t)},reduceRight(e,...t){return tr(this,"reduceRight",e,t)},shift(){return Kt(this,"shift")},some(e,t){return $e(this,"some",e,t,void 0,arguments)},splice(...e){return Kt(this,"splice",e)},toReversed(){return Pt(this).toReversed()},toSorted(e){return Pt(this).toSorted(e)},toSpliced(...e){return Pt(this).toSpliced(...e)},unshift(...e){return Kt(this,"unshift",e)},values(){return ts(this,"values",e=>ct(this,e))}};function ts(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Oe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Go=Array.prototype;function $e(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Oe(e),c=o[t];if(c!==Go[t]){const h=c.apply(e,i);return l?De(h):h}let d=n;o!==e&&(l?d=function(h,p){return n.call(this,ct(e,h),p,e)}:n.length>2&&(d=function(h,p){return n.call(this,h,p,e)}));const f=c.call(o,d,s);return l&&r?r(f):f}function tr(e,t,n,s){const r=Un(e);let i=n;return r!==e&&(Oe(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,ct(e,l),c,e)}),r[t](i,...s)}function ns(e,t,n){const s=$(e);ae(s,"iterate",sn);const r=s[t](...n);return(r===-1||r===!1)&&Kn(n[0])?(n[0]=$(n[0]),s[t](...n)):r}function Kt(e,t,n=[]){et(),Ds();const s=$(e)[t].apply(e,n);return Ms(),tt(),s}const Wo=Os("__proto__,__v_isRef,__isVue"),pi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ge));function qo(e){Ge(e)||(e=String(e));const t=$(this);return ae(t,"has",e),t.hasOwnProperty(e)}class gi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?nl:vi:i?yi:_i).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=F(t);if(!r){let c;if(o&&(c=ko[n]))return c;if(n==="hasOwnProperty")return qo}const l=Reflect.get(t,n,oe(t)?t:s);if((Ge(n)?pi.has(n):Wo(n))||(r||ae(t,"get",n),i))return l;if(oe(l)){const c=o&&jn(n)?l:l.value;return r&&ee(c)?gs(c):c}return ee(l)?r?gs(l):fn(l):l}}class mi extends gi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=F(t)&&jn(n);if(!this._isShallow){const d=nt(i);if(!Oe(s)&&!nt(s)&&(i=$(i),s=$(s)),!o&&oe(i)&&!oe(s))return d||(i.value=s),!0}const l=o?Number(n)<t.length:Q(t,n),c=Reflect.set(t,n,s,oe(t)?t:r);return t===$(r)&&(l?dt(s,i)&&Ye(t,"set",n,s):Ye(t,"add",n,s)),c}deleteProperty(t,n){const s=Q(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&Ye(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Ge(n)||!pi.has(n))&&ae(t,"has",n),s}ownKeys(t){return ae(t,"iterate",F(t)?"length":xt),Reflect.ownKeys(t)}}class $o extends gi{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const zo=new mi,Jo=new $o,Qo=new mi(!0);const ps=e=>e,dn=e=>Reflect.getPrototypeOf(e);function Yo(e,t,n){return function(...s){const r=this.__v_raw,i=$(r),o=Mt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,d=r[e](...s),f=n?ps:t?Ft:De;return!t&&ae(i,"iterate",c?ds:xt),{next(){const{value:h,done:p}=d.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function pn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xo(e,t){const n={get(r){const i=this.__v_raw,o=$(i),l=$(r);e||(dt(r,l)&&ae(o,"get",r),ae(o,"get",l));const{has:c}=dn(o),d=t?ps:e?Ft:De;if(c.call(o,r))return d(i.get(r));if(c.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ae($(r),"iterate",xt),r.size},has(r){const i=this.__v_raw,o=$(i),l=$(r);return e||(dt(r,l)&&ae(o,"has",r),ae(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=$(l),d=t?ps:e?Ft:De;return!e&&ae(c,"iterate",xt),l.forEach((f,h)=>r.call(i,d(f),d(h),o))}};return he(n,e?{add:pn("add"),set:pn("set"),delete:pn("delete"),clear:pn("clear")}:{add(r){!t&&!Oe(r)&&!nt(r)&&(r=$(r));const i=$(this);return dn(i).has.call(i,r)||(i.add(r),Ye(i,"add",r,r)),this},set(r,i){!t&&!Oe(i)&&!nt(i)&&(i=$(i));const o=$(this),{has:l,get:c}=dn(o);let d=l.call(o,r);d||(r=$(r),d=l.call(o,r));const f=c.call(o,r);return o.set(r,i),d?dt(i,f)&&Ye(o,"set",r,i):Ye(o,"add",r,i),this},delete(r){const i=$(this),{has:o,get:l}=dn(i);let c=o.call(i,r);c||(r=$(r),c=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return c&&Ye(i,"delete",r,void 0),d},clear(){const r=$(this),i=r.size!==0,o=r.clear();return i&&Ye(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Yo(r,e,t)}),n}function Fs(e,t){const n=Xo(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Q(n,r)&&r in s?n:s,r,i)}const Zo={get:Fs(!1,!1)},el={get:Fs(!1,!0)},tl={get:Fs(!0,!1)};const _i=new WeakMap,yi=new WeakMap,vi=new WeakMap,nl=new WeakMap;function sl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function rl(e){return e.__v_skip||!Object.isExtensible(e)?0:sl(Co(e))}function fn(e){return nt(e)?e:Vs(e,!1,zo,Zo,_i)}function bi(e){return Vs(e,!1,Qo,el,yi)}function gs(e){return Vs(e,!0,Jo,tl,vi)}function Vs(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=rl(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function Ze(e){return nt(e)?Ze(e.__v_raw):!!(e&&e.__v_isReactive)}function nt(e){return!!(e&&e.__v_isReadonly)}function Oe(e){return!!(e&&e.__v_isShallow)}function Kn(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function Hs(e){return!Q(e,"__v_skip")&&Object.isExtensible(e)&&Zr(e,"__v_skip",!0),e}const De=e=>ee(e)?fn(e):e,Ft=e=>ee(e)?gs(e):e;function oe(e){return e?e.__v_isRef===!0:!1}function ht(e){return Ei(e,!1)}function il(e){return Ei(e,!0)}function Ei(e,t){return oe(e)?e:new ol(e,t)}class ol{constructor(t,n){this.dep=new js,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:$(t),this._value=n?t:De(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Oe(t)||nt(t);t=s?t:$(t),dt(t,n)&&(this._rawValue=t,this._value=s?t:De(t),this.dep.trigger())}}function pt(e){return oe(e)?e.value:e}const ll={get:(e,t,n)=>t==="__v_raw"?e:pt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return oe(r)&&!oe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Si(e){return Ze(e)?e:new Proxy(e,ll)}function cl(e){const t=F(e)?new Array(e.length):{};for(const n in e)t[n]=fl(e,n);return t}class ul{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._raw=$(t);let r=!0,i=t;if(!F(t)||!jn(String(n)))do r=!Kn(i)||Oe(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=pt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&oe(this._raw[this._key])){const n=this._object[this._key];if(oe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ko(this._raw,this._key)}}function fl(e,t,n){return new ul(e,t,n)}class al{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new js(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=nn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ne!==this)return ci(this,!0),!0}get value(){const t=this.dep.track();return ai(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new al(s,r,n)}const gn={},xn=new WeakMap;let Et;function dl(e,t=!1,n=Et){if(n){let s=xn.get(n);s||xn.set(n,s=[]),s.push(e)}}function pl(e,t,n=Z){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,d=T=>r?T:Oe(T)||r===!1||r===0?Xe(T,1):Xe(T);let f,h,p,m,S=!1,O=!1;if(oe(e)?(h=()=>e.value,S=Oe(e)):Ze(e)?(h=()=>d(e),S=!0):F(e)?(O=!0,S=e.some(T=>Ze(T)||Oe(T)),h=()=>e.map(T=>{if(oe(T))return T.value;if(Ze(T))return d(T);if(B(T))return c?c(T,2):T()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){et();try{p()}finally{tt()}}const T=Et;Et=f;try{return c?c(e,3,[m]):e(m)}finally{Et=T}}:h=ke,t&&r){const T=h,K=r===!0?1/0:r;h=()=>Xe(T(),K)}const H=ii(),N=()=>{f.stop(),H&&H.active&&Is(H.effects,f)};if(i&&t){const T=t;t=(...K)=>{T(...K),N()}}let I=O?new Array(e.length).fill(gn):gn;const D=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const K=f.run();if(r||S||(O?K.some((ue,Y)=>dt(ue,I[Y])):dt(K,I))){p&&p();const ue=Et;Et=f;try{const Y=[K,I===gn?void 0:O&&I[0]===gn?[]:I,m];I=K,c?c(t,3,Y):t(...Y)}finally{Et=ue}}}else f.run()};return l&&l(D),f=new oi(h),f.scheduler=o?()=>o(D,!1):D,m=T=>dl(T,!1,f),p=f.onStop=()=>{const T=xn.get(f);if(T){if(c)c(T,4);else for(const K of T)K();xn.delete(f)}},t?s?D(!0):I=f.run():o?o(D.bind(null,!0),!0):f.run(),N.pause=f.pause.bind(f),N.resume=f.resume.bind(f),N.stop=N,N}function Xe(e,t=1/0,n){if(t<=0||!ee(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,oe(e))Xe(e.value,t,n);else if(F(e))for(let s=0;s<e.length;s++)Xe(e[s],t,n);else if(Ln(e)||Mt(e))e.forEach(s=>{Xe(s,t,n)});else if(Yr(e)){for(const s in e)Xe(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Xe(e[s],t,n)}return e}/**
|
|
11
|
-
* @vue/runtime-core v3.5.26
|
|
12
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
13
|
-
* @license MIT
|
|
14
|
-
**/function an(e,t,n,s){try{return s?e(...s):e()}catch(r){kn(r,t,n)}}function We(e,t,n,s){if(B(e)){const r=an(e,t,n,s);return r&&Jr(r)&&r.catch(i=>{kn(i,t,n)}),r}if(F(e)){const r=[];for(let i=0;i<e.length;i++)r.push(We(e[i],t,n,s));return r}}function kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||Z;if(t){let l=t.parent;const c=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,d)===!1)return}l=l.parent}if(i){et(),an(i,null,10,[e,c,d]),tt();return}}gl(e,n,r,s,o)}function gl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const me=[];let Be=-1;const Lt=[];let ut=null,Tt=0;const Ri=Promise.resolve();let An=null;function Gn(e){const t=An||Ri;return e?t.then(this?e.bind(this):e):t}function ml(e){let t=Be+1,n=me.length;for(;t<n;){const s=t+n>>>1,r=me[s],i=rn(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Bs(e){if(!(e.flags&1)){const t=rn(e),n=me[me.length-1];!n||!(e.flags&2)&&t>=rn(n)?me.push(e):me.splice(ml(t),0,e),e.flags|=1,xi()}}function xi(){An||(An=Ri.then(wi))}function _l(e){F(e)?Lt.push(...e):ut&&e.id===-1?ut.splice(Tt+1,0,e):e.flags&1||(Lt.push(e),e.flags|=1),xi()}function nr(e,t,n=Be+1){for(;n<me.length;n++){const s=me[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;me.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ai(e){if(Lt.length){const t=[...new Set(Lt)].sort((n,s)=>rn(n)-rn(s));if(Lt.length=0,ut){ut.push(...t);return}for(ut=t,Tt=0;Tt<ut.length;Tt++){const n=ut[Tt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ut=null,Tt=0}}const rn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function wi(e){try{for(Be=0;Be<me.length;Be++){const t=me[Be];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),an(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Be<me.length;Be++){const t=me[Be];t&&(t.flags&=-2)}Be=-1,me.length=0,Ai(),An=null,(me.length||Lt.length)&&wi()}}let Ie=null,Ci=null;function wn(e){const t=Ie;return Ie=e,Ci=e&&e.type.__scopeId||null,t}function yl(e,t=Ie,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Pn(-1);const i=wn(t);let o;try{o=e(...r)}finally{wn(i),s._d&&Pn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function yf(e,t){if(Ie===null)return e;const n=zn(Ie),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=Z]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&Xe(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function vt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(et(),We(c,n,8,[e.el,l,e,t]),tt())}}function vn(e,t){if(_e){let n=_e.provides;const s=_e.parent&&_e.parent.provides;s===n&&(n=_e.provides=Object.create(s)),n[e]=t}}function Te(e,t,n=!1){const s=to();if(s||At){let r=At?At._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}function vl(){return!!(to()||At)}const bl=Symbol.for("v-scx"),El=()=>Te(bl);function Jt(e,t,n){return Oi(e,t,n)}function Oi(e,t,n=Z){const{immediate:s,deep:r,flush:i,once:o}=n,l=he({},n),c=t&&s||!t&&i!=="post";let d;if(ln){if(i==="sync"){const m=El();d=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=ke,m.resume=ke,m.pause=ke,m}}const f=_e;l.call=(m,S,O)=>We(m,f,S,O);let h=!1;i==="post"?l.scheduler=m=>{we(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,S)=>{S?m():Bs(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const p=pl(e,t,l);return ln&&(d?d.push(p):c&&p()),p}function Sl(e,t,n){const s=this.proxy,r=le(e)?e.includes(".")?Pi(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=hn(this),l=Oi(r,i.bind(s),n);return o(),l}function Pi(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const Rl=Symbol("_vte"),xl=e=>e.__isTeleport,Al=Symbol("_leaveCb");function Us(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Us(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ks(e,t){return B(e)?he({name:e.name},t,{setup:e}):e}function Ii(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Cn=new WeakMap;function Qt(e,t,n,s,r=!1){if(F(e)){e.forEach((S,O)=>Qt(S,t&&(F(t)?t[O]:t),n,s,r));return}if(Yt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Qt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?zn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,d=t&&t.r,f=l.refs===Z?l.refs={}:l.refs,h=l.setupState,p=$(h),m=h===Z?zr:S=>Q(p,S);if(d!=null&&d!==c){if(sr(t),le(d))f[d]=null,m(d)&&(h[d]=null);else if(oe(d)){d.value=null;const S=t;S.k&&(f[S.k]=null)}}if(B(c))an(c,l,12,[o,f]);else{const S=le(c),O=oe(c);if(S||O){const H=()=>{if(e.f){const N=S?m(c)?h[c]:f[c]:c.value;if(r)F(N)&&Is(N,i);else if(F(N))N.includes(i)||N.push(i);else if(S)f[c]=[i],m(c)&&(h[c]=f[c]);else{const I=[i];c.value=I,e.k&&(f[e.k]=I)}}else S?(f[c]=o,m(c)&&(h[c]=o)):O&&(c.value=o,e.k&&(f[e.k]=o))};if(o){const N=()=>{H(),Cn.delete(e)};N.id=-1,Cn.set(e,N),we(N,n)}else sr(e),H()}}}function sr(e){const t=Cn.get(e);t&&(t.flags|=8,Cn.delete(e))}Hn().requestIdleCallback;Hn().cancelIdleCallback;const Yt=e=>!!e.type.__asyncLoader,Ti=e=>e.type.__isKeepAlive;function wl(e,t){Ni(e,"a",t)}function Cl(e,t){Ni(e,"da",t)}function Ni(e,t,n=_e){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Wn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Ti(r.parent.vnode)&&Ol(s,t,n,r),r=r.parent}}function Ol(e,t,n,s){const r=Wn(t,e,s,!0);Mi(()=>{Is(s[t],r)},n)}function Wn(e,t,n=_e,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{et();const l=hn(n),c=We(t,n,e,o);return l(),tt(),c});return s?r.unshift(i):r.push(i),i}}const st=e=>(t,n=_e)=>{(!ln||e==="sp")&&Wn(e,(...s)=>t(...s),n)},Pl=st("bm"),Di=st("m"),Il=st("bu"),Tl=st("u"),Nl=st("bum"),Mi=st("um"),Dl=st("sp"),Ml=st("rtg"),Ll=st("rtc");function jl(e,t=_e){Wn("ec",e,t)}const Fl=Symbol.for("v-ndc");function vf(e,t,n,s){let r;const i=n,o=F(e);if(o||le(e)){const l=o&&Ze(e);let c=!1,d=!1;l&&(c=!Oe(e),d=nt(e),e=Un(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?d?Ft(De(e[f])):De(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(ee(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,d=l.length;c<d;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const ms=e=>e?no(e)?zn(e):ms(e.parent):null,Xt=he(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=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ji(e),$forceUpdate:e=>e.f||(e.f=()=>{Bs(e.update)}),$nextTick:e=>e.n||(e.n=Gn.bind(e.proxy)),$watch:e=>Sl.bind(e)}),ss=(e,t)=>e!==Z&&!e.__isScriptSetup&&Q(e,t),Vl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ss(s,t))return o[t]=1,s[t];if(r!==Z&&Q(r,t))return o[t]=2,r[t];if(Q(i,t))return o[t]=3,i[t];if(n!==Z&&Q(n,t))return o[t]=4,n[t];_s&&(o[t]=0)}}const d=Xt[t];let f,h;if(d)return t==="$attrs"&&ae(e.attrs,"get",""),d(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==Z&&Q(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,Q(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ss(r,t)?(r[t]=n,!0):s!==Z&&Q(s,t)?(s[t]=n,!0):Q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==Z&&l[0]!=="$"&&Q(e,l)||ss(t,l)||Q(i,l)||Q(s,l)||Q(Xt,l)||Q(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rr(e){return F(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let _s=!0;function Hl(e){const t=ji(e),n=e.proxy,s=e.ctx;_s=!1,t.beforeCreate&&ir(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:p,beforeUpdate:m,updated:S,activated:O,deactivated:H,beforeDestroy:N,beforeUnmount:I,destroyed:D,unmounted:T,render:K,renderTracked:ue,renderTriggered:Y,errorCaptured:k,serverPrefetch:G,expose:re,inheritAttrs:de,components:xe,directives:ve,filters:_t}=t;if(d&&Bl(d,s,null),o)for(const U in o){const z=o[U];B(z)&&(s[U]=z.bind(n))}if(r){const U=r.call(n,n);ee(U)&&(e.data=fn(U))}if(_s=!0,i)for(const U in i){const z=i[U],qe=B(z)?z.bind(n,n):B(z.get)?z.get.bind(n,n):ke,it=!B(z)&&B(z.set)?z.set.bind(n):ke,Le=Re({get:qe,set:it});Object.defineProperty(s,U,{enumerable:!0,configurable:!0,get:()=>Le.value,set:be=>Le.value=be})}if(l)for(const U in l)Li(l[U],s,n,U);if(c){const U=B(c)?c.call(n):c;Reflect.ownKeys(U).forEach(z=>{vn(z,U[z])})}f&&ir(f,e,"c");function se(U,z){F(z)?z.forEach(qe=>U(qe.bind(n))):z&&U(z.bind(n))}if(se(Pl,h),se(Di,p),se(Il,m),se(Tl,S),se(wl,O),se(Cl,H),se(jl,k),se(Ll,ue),se(Ml,Y),se(Nl,I),se(Mi,T),se(Dl,G),F(re))if(re.length){const U=e.exposed||(e.exposed={});re.forEach(z=>{Object.defineProperty(U,z,{get:()=>n[z],set:qe=>n[z]=qe,enumerable:!0})})}else e.exposed||(e.exposed={});K&&e.render===ke&&(e.render=K),de!=null&&(e.inheritAttrs=de),xe&&(e.components=xe),ve&&(e.directives=ve),G&&Ii(e)}function Bl(e,t,n=ke){F(e)&&(e=ys(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=Te(r.from||s,r.default,!0):i=Te(r.from||s):i=Te(r),oe(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function ir(e,t,n){We(F(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Li(e,t,n,s){let r=s.includes(".")?Pi(n,s):()=>n[s];if(le(e)){const i=t[e];B(i)&&Jt(r,i)}else if(B(e))Jt(r,e.bind(n));else if(ee(e))if(F(e))e.forEach(i=>Li(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&Jt(r,i,e)}}function ji(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(d=>On(c,d,o,!0)),On(c,t,o)),ee(t)&&i.set(t,c),c}function On(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&On(e,i,n,!0),r&&r.forEach(o=>On(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ul[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ul={data:or,props:lr,emits:lr,methods:Wt,computed:Wt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:Wt,directives:Wt,watch:kl,provide:or,inject:Kl};function or(e,t){return t?e?function(){return he(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Kl(e,t){return Wt(ys(e),ys(t))}function ys(e){if(F(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function pe(e,t){return e?[...new Set([].concat(e,t))]:t}function Wt(e,t){return e?he(Object.create(null),e,t):t}function lr(e,t){return e?F(e)&&F(t)?[...new Set([...e,...t])]:he(Object.create(null),rr(e),rr(t??{})):t}function kl(e,t){if(!e)return t;if(!t)return e;const n=he(Object.create(null),e);for(const s in t)n[s]=pe(e[s],t[s]);return n}function Fi(){return{app:null,config:{isNativeTag:zr,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 Gl=0;function Wl(e,t){return function(s,r=null){B(s)||(s=he({},s)),r!=null&&!ee(r)&&(r=null);const i=Fi(),o=new WeakSet,l=[];let c=!1;const d=i.app={_uid:Gl++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Ac,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(d,...h)):B(f)&&(o.add(f),f(d,...h))),d},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),d},component(f,h){return h?(i.components[f]=h,d):i.components[f]},directive(f,h){return h?(i.directives[f]=h,d):i.directives[f]},mount(f,h,p){if(!c){const m=d._ceVNode||ye(s,r);return m.appContext=i,p===!0?p="svg":p===!1&&(p=void 0),e(m,f,p),c=!0,d._container=f,f.__vue_app__=d,zn(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(We(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(f,h){return i.provides[f]=h,d},runWithContext(f){const h=At;At=d;try{return f()}finally{At=h}}};return d}}let At=null;const ql=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${gt(t)}Modifiers`]||e[`${wt(t)}Modifiers`];function $l(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Z;let r=n;const i=t.startsWith("update:"),o=i&&ql(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>le(f)?f.trim():f)),o.number&&(r=n.map(Vn)));let l,c=s[l=Xn(t)]||s[l=Xn(gt(t))];!c&&i&&(c=s[l=Xn(wt(t))]),c&&We(c,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,We(d,e,6,r)}}const zl=new WeakMap;function Vi(e,t,n=!1){const s=n?zl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=d=>{const f=Vi(d,t,!0);f&&(l=!0,he(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(F(i)?i.forEach(c=>o[c]=null):he(o,i),ee(e)&&s.set(e,o),o)}function qn(e,t){return!e||!Mn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Q(e,t[0].toLowerCase()+t.slice(1))||Q(e,wt(t))||Q(e,t))}function cr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:d,renderCache:f,props:h,data:p,setupState:m,ctx:S,inheritAttrs:O}=e,H=wn(e);let N,I;try{if(n.shapeFlag&4){const T=r||s,K=T;N=Ke(d.call(K,T,f,h,m,p,S)),I=l}else{const T=t;N=Ke(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),I=t.props?l:Jl(l)}}catch(T){Zt.length=0,kn(T,e,1),N=ye(mt)}let D=N;if(I&&O!==!1){const T=Object.keys(I),{shapeFlag:K}=D;T.length&&K&7&&(i&&T.some(Ps)&&(I=Ql(I,i)),D=Vt(D,I,!1,!0))}return n.dirs&&(D=Vt(D,null,!1,!0),D.dirs=D.dirs?D.dirs.concat(n.dirs):n.dirs),n.transition&&Us(D,n.transition),N=D,wn(H),N}const Jl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Mn(n))&&((t||(t={}))[n]=e[n]);return t},Ql=(e,t)=>{const n={};for(const s in e)(!Ps(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Yl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?ur(s,o,d):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const p=f[h];if(o[p]!==s[p]&&!qn(d,p))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?ur(s,o,d):!0:!!o;return!1}function ur(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(t[i]!==e[i]&&!qn(n,i))return!0}return!1}function Xl({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const Hi={},Bi=()=>Object.create(Hi),Ui=e=>Object.getPrototypeOf(e)===Hi;function Zl(e,t,n,s=!1){const r={},i=Bi();e.propsDefaults=Object.create(null),Ki(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:bi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function ec(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=$(r),[c]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let p=f[h];if(qn(e.emitsOptions,p))continue;const m=t[p];if(c)if(Q(i,p))m!==i[p]&&(i[p]=m,d=!0);else{const S=gt(p);r[S]=vs(c,l,S,m,e,!1)}else m!==i[p]&&(i[p]=m,d=!0)}}}else{Ki(e,t,r,i)&&(d=!0);let f;for(const h in l)(!t||!Q(t,h)&&((f=wt(h))===h||!Q(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=vs(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!Q(t,h))&&(delete i[h],d=!0)}d&&Ye(e.attrs,"set","")}function Ki(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(qt(c))continue;const d=t[c];let f;r&&Q(r,f=gt(c))?!i||!i.includes(f)?n[f]=d:(l||(l={}))[f]=d:qn(e.emitsOptions,c)||(!(c in s)||d!==s[c])&&(s[c]=d,o=!0)}if(i){const c=$(n),d=l||Z;for(let f=0;f<i.length;f++){const h=i[f];n[h]=vs(r,c,h,d[h],e,!Q(d,h))}}return o}function vs(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=Q(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:d}=r;if(n in d)s=d[n];else{const f=hn(r);s=d[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===wt(n))&&(s=!0))}return s}const tc=new WeakMap;function ki(e,t,n=!1){const s=n?tc:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[p,m]=ki(h,t,!0);he(o,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return ee(e)&&s.set(e,Dt),Dt;if(F(i))for(let f=0;f<i.length;f++){const h=gt(i[f]);fr(h)&&(o[h]=Z)}else if(i)for(const f in i){const h=gt(f);if(fr(h)){const p=i[f],m=o[h]=F(p)||B(p)?{type:p}:he({},p),S=m.type;let O=!1,H=!0;if(F(S))for(let N=0;N<S.length;++N){const I=S[N],D=B(I)&&I.name;if(D==="Boolean"){O=!0;break}else D==="String"&&(H=!1)}else O=B(S)&&S.name==="Boolean";m[0]=O,m[1]=H,(O||Q(m,"default"))&&l.push(h)}}const d=[o,l];return ee(e)&&s.set(e,d),d}function fr(e){return e[0]!=="$"&&!qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Gs=e=>F(e)?e.map(Ke):[Ke(e)],nc=(e,t,n)=>{if(t._n)return t;const s=yl((...r)=>Gs(t(...r)),n);return s._c=!1,s},Gi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=nc(r,i,s);else if(i!=null){const o=Gs(i);t[r]=()=>o}}},Wi=(e,t)=>{const n=Gs(t);e.slots.default=()=>n},qi=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},sc=(e,t,n)=>{const s=e.slots=Bi();if(e.vnode.shapeFlag&32){const r=t._;r?(qi(s,t,n),n&&Zr(s,"_",r,!0)):Gi(t,s)}else t&&Wi(e,t)},rc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:qi(r,t,n):(i=!t.$stable,Gi(t,r)),o=t}else t&&(Wi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},we=uc;function ic(e){return oc(e)}function oc(e,t){const n=Hn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:p,setScopeId:m=ke,insertStaticContent:S}=e,O=(u,a,g,_=null,b=null,y=null,A=void 0,x=null,R=!!a.dynamicChildren)=>{if(u===a)return;u&&!kt(u,a)&&(_=v(u),be(u,b,y,!0),u=null),a.patchFlag===-2&&(R=!1,a.dynamicChildren=null);const{type:E,ref:j,shapeFlag:C}=a;switch(E){case $n:H(u,a,g,_);break;case mt:N(u,a,g,_);break;case bn:u==null&&I(a,g,_,A);break;case Ue:xe(u,a,g,_,b,y,A,x,R);break;default:C&1?K(u,a,g,_,b,y,A,x,R):C&6?ve(u,a,g,_,b,y,A,x,R):(C&64||C&128)&&E.process(u,a,g,_,b,y,A,x,R,M)}j!=null&&b?Qt(j,u&&u.ref,y,a||u,!a):j==null&&u&&u.ref!=null&&Qt(u.ref,null,y,u,!0)},H=(u,a,g,_)=>{if(u==null)s(a.el=l(a.children),g,_);else{const b=a.el=u.el;a.children!==u.children&&d(b,a.children)}},N=(u,a,g,_)=>{u==null?s(a.el=c(a.children||""),g,_):a.el=u.el},I=(u,a,g,_)=>{[u.el,u.anchor]=S(u.children,a,g,_,u.el,u.anchor)},D=({el:u,anchor:a},g,_)=>{let b;for(;u&&u!==a;)b=p(u),s(u,g,_),u=b;s(a,g,_)},T=({el:u,anchor:a})=>{let g;for(;u&&u!==a;)g=p(u),r(u),u=g;r(a)},K=(u,a,g,_,b,y,A,x,R)=>{if(a.type==="svg"?A="svg":a.type==="math"&&(A="mathml"),u==null)ue(a,g,_,b,y,A,x,R);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),G(u,a,b,y,A,x,R)}finally{E&&E._endPatch()}}},ue=(u,a,g,_,b,y,A,x)=>{let R,E;const{props:j,shapeFlag:C,transition:L,dirs:V}=u;if(R=u.el=o(u.type,y,j&&j.is,j),C&8?f(R,u.children):C&16&&k(u.children,R,null,_,b,rs(u,y),A,x),V&&vt(u,null,_,"created"),Y(R,u,u.scopeId,A,_),j){for(const te in j)te!=="value"&&!qt(te)&&i(R,te,null,j[te],y,_);"value"in j&&i(R,"value",null,j.value,y),(E=j.onVnodeBeforeMount)&&He(E,_,u)}V&&vt(u,null,_,"beforeMount");const q=lc(b,L);q&&L.beforeEnter(R),s(R,a,g),((E=j&&j.onVnodeMounted)||q||V)&&we(()=>{E&&He(E,_,u),q&&L.enter(R),V&&vt(u,null,_,"mounted")},b)},Y=(u,a,g,_,b)=>{if(g&&m(u,g),_)for(let y=0;y<_.length;y++)m(u,_[y]);if(b){let y=b.subTree;if(a===y||Qi(y.type)&&(y.ssContent===a||y.ssFallback===a)){const A=b.vnode;Y(u,A,A.scopeId,A.slotScopeIds,b.parent)}}},k=(u,a,g,_,b,y,A,x,R=0)=>{for(let E=R;E<u.length;E++){const j=u[E]=x?ft(u[E]):Ke(u[E]);O(null,j,a,g,_,b,y,A,x)}},G=(u,a,g,_,b,y,A)=>{const x=a.el=u.el;let{patchFlag:R,dynamicChildren:E,dirs:j}=a;R|=u.patchFlag&16;const C=u.props||Z,L=a.props||Z;let V;if(g&&bt(g,!1),(V=L.onVnodeBeforeUpdate)&&He(V,g,a,u),j&&vt(a,u,g,"beforeUpdate"),g&&bt(g,!0),(C.innerHTML&&L.innerHTML==null||C.textContent&&L.textContent==null)&&f(x,""),E?re(u.dynamicChildren,E,x,g,_,rs(a,b),y):A||z(u,a,x,null,g,_,rs(a,b),y,!1),R>0){if(R&16)de(x,C,L,g,b);else if(R&2&&C.class!==L.class&&i(x,"class",null,L.class,b),R&4&&i(x,"style",C.style,L.style,b),R&8){const q=a.dynamicProps;for(let te=0;te<q.length;te++){const X=q[te],Ee=C[X],Se=L[X];(Se!==Ee||X==="value")&&i(x,X,Ee,Se,b,g)}}R&1&&u.children!==a.children&&f(x,a.children)}else!A&&E==null&&de(x,C,L,g,b);((V=L.onVnodeUpdated)||j)&&we(()=>{V&&He(V,g,a,u),j&&vt(a,u,g,"updated")},_)},re=(u,a,g,_,b,y,A)=>{for(let x=0;x<a.length;x++){const R=u[x],E=a[x],j=R.el&&(R.type===Ue||!kt(R,E)||R.shapeFlag&198)?h(R.el):g;O(R,E,j,null,_,b,y,A,!0)}},de=(u,a,g,_,b)=>{if(a!==g){if(a!==Z)for(const y in a)!qt(y)&&!(y in g)&&i(u,y,a[y],null,b,_);for(const y in g){if(qt(y))continue;const A=g[y],x=a[y];A!==x&&y!=="value"&&i(u,y,x,A,b,_)}"value"in g&&i(u,"value",a.value,g.value,b)}},xe=(u,a,g,_,b,y,A,x,R)=>{const E=a.el=u?u.el:l(""),j=a.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:L,slotScopeIds:V}=a;V&&(x=x?x.concat(V):V),u==null?(s(E,g,_),s(j,g,_),k(a.children||[],g,j,b,y,A,x,R)):C>0&&C&64&&L&&u.dynamicChildren&&u.dynamicChildren.length===L.length?(re(u.dynamicChildren,L,g,b,y,A,x),(a.key!=null||b&&a===b.subTree)&&$i(u,a,!0)):z(u,a,g,j,b,y,A,x,R)},ve=(u,a,g,_,b,y,A,x,R)=>{a.slotScopeIds=x,u==null?a.shapeFlag&512?b.ctx.activate(a,g,_,A,R):_t(a,g,_,b,y,A,R):rt(u,a,R)},_t=(u,a,g,_,b,y,A)=>{const x=u.component=vc(u,_,b);if(Ti(u)&&(x.ctx.renderer=M),bc(x,!1,A),x.asyncDep){if(b&&b.registerDep(x,se,A),!u.el){const R=x.subTree=ye(mt);N(null,R,a,g),u.placeholder=R.el}}else se(x,u,a,g,b,y,A)},rt=(u,a,g)=>{const _=a.component=u.component;if(Yl(u,a,g))if(_.asyncDep&&!_.asyncResolved){U(_,a,g);return}else _.next=a,_.update();else a.el=u.el,_.vnode=a},se=(u,a,g,_,b,y,A)=>{const x=()=>{if(u.isMounted){let{next:C,bu:L,u:V,parent:q,vnode:te}=u;{const Fe=zi(u);if(Fe){C&&(C.el=te.el,U(u,C,A)),Fe.asyncDep.then(()=>{u.isUnmounted||x()});return}}let X=C,Ee;bt(u,!1),C?(C.el=te.el,U(u,C,A)):C=te,L&&yn(L),(Ee=C.props&&C.props.onVnodeBeforeUpdate)&&He(Ee,q,C,te),bt(u,!0);const Se=cr(u),je=u.subTree;u.subTree=Se,O(je,Se,h(je.el),v(je),u,b,y),C.el=Se.el,X===null&&Xl(u,Se.el),V&&we(V,b),(Ee=C.props&&C.props.onVnodeUpdated)&&we(()=>He(Ee,q,C,te),b)}else{let C;const{el:L,props:V}=a,{bm:q,m:te,parent:X,root:Ee,type:Se}=u,je=Yt(a);bt(u,!1),q&&yn(q),!je&&(C=V&&V.onVnodeBeforeMount)&&He(C,X,a),bt(u,!0);{Ee.ce&&Ee.ce._def.shadowRoot!==!1&&Ee.ce._injectChildStyle(Se);const Fe=u.subTree=cr(u);O(null,Fe,g,_,u,b,y),a.el=Fe.el}if(te&&we(te,b),!je&&(C=V&&V.onVnodeMounted)){const Fe=a;we(()=>He(C,X,Fe),b)}(a.shapeFlag&256||X&&Yt(X.vnode)&&X.vnode.shapeFlag&256)&&u.a&&we(u.a,b),u.isMounted=!0,a=g=_=null}};u.scope.on();const R=u.effect=new oi(x);u.scope.off();const E=u.update=R.run.bind(R),j=u.job=R.runIfDirty.bind(R);j.i=u,j.id=u.uid,R.scheduler=()=>Bs(j),bt(u,!0),E()},U=(u,a,g)=>{a.component=u;const _=u.vnode.props;u.vnode=a,u.next=null,ec(u,a.props,_,g),rc(u,a.children,g),et(),nr(u),tt()},z=(u,a,g,_,b,y,A,x,R=!1)=>{const E=u&&u.children,j=u?u.shapeFlag:0,C=a.children,{patchFlag:L,shapeFlag:V}=a;if(L>0){if(L&128){it(E,C,g,_,b,y,A,x,R);return}else if(L&256){qe(E,C,g,_,b,y,A,x,R);return}}V&8?(j&16&&Pe(E,b,y),C!==E&&f(g,C)):j&16?V&16?it(E,C,g,_,b,y,A,x,R):Pe(E,b,y,!0):(j&8&&f(g,""),V&16&&k(C,g,_,b,y,A,x,R))},qe=(u,a,g,_,b,y,A,x,R)=>{u=u||Dt,a=a||Dt;const E=u.length,j=a.length,C=Math.min(E,j);let L;for(L=0;L<C;L++){const V=a[L]=R?ft(a[L]):Ke(a[L]);O(u[L],V,g,null,b,y,A,x,R)}E>j?Pe(u,b,y,!0,!1,C):k(a,g,_,b,y,A,x,R,C)},it=(u,a,g,_,b,y,A,x,R)=>{let E=0;const j=a.length;let C=u.length-1,L=j-1;for(;E<=C&&E<=L;){const V=u[E],q=a[E]=R?ft(a[E]):Ke(a[E]);if(kt(V,q))O(V,q,g,null,b,y,A,x,R);else break;E++}for(;E<=C&&E<=L;){const V=u[C],q=a[L]=R?ft(a[L]):Ke(a[L]);if(kt(V,q))O(V,q,g,null,b,y,A,x,R);else break;C--,L--}if(E>C){if(E<=L){const V=L+1,q=V<j?a[V].el:_;for(;E<=L;)O(null,a[E]=R?ft(a[E]):Ke(a[E]),g,q,b,y,A,x,R),E++}}else if(E>L)for(;E<=C;)be(u[E],b,y,!0),E++;else{const V=E,q=E,te=new Map;for(E=q;E<=L;E++){const Ae=a[E]=R?ft(a[E]):Ke(a[E]);Ae.key!=null&&te.set(Ae.key,E)}let X,Ee=0;const Se=L-q+1;let je=!1,Fe=0;const Ut=new Array(Se);for(E=0;E<Se;E++)Ut[E]=0;for(E=V;E<=C;E++){const Ae=u[E];if(Ee>=Se){be(Ae,b,y,!0);continue}let Ve;if(Ae.key!=null)Ve=te.get(Ae.key);else for(X=q;X<=L;X++)if(Ut[X-q]===0&&kt(Ae,a[X])){Ve=X;break}Ve===void 0?be(Ae,b,y,!0):(Ut[Ve-q]=E+1,Ve>=Fe?Fe=Ve:je=!0,O(Ae,a[Ve],g,null,b,y,A,x,R),Ee++)}const Js=je?cc(Ut):Dt;for(X=Js.length-1,E=Se-1;E>=0;E--){const Ae=q+E,Ve=a[Ae],Qs=a[Ae+1],Ys=Ae+1<j?Qs.el||Ji(Qs):_;Ut[E]===0?O(null,Ve,g,Ys,b,y,A,x,R):je&&(X<0||E!==Js[X]?Le(Ve,g,Ys,2):X--)}}},Le=(u,a,g,_,b=null)=>{const{el:y,type:A,transition:x,children:R,shapeFlag:E}=u;if(E&6){Le(u.component.subTree,a,g,_);return}if(E&128){u.suspense.move(a,g,_);return}if(E&64){A.move(u,a,g,M);return}if(A===Ue){s(y,a,g);for(let C=0;C<R.length;C++)Le(R[C],a,g,_);s(u.anchor,a,g);return}if(A===bn){D(u,a,g);return}if(_!==2&&E&1&&x)if(_===0)x.beforeEnter(y),s(y,a,g),we(()=>x.enter(y),b);else{const{leave:C,delayLeave:L,afterLeave:V}=x,q=()=>{u.ctx.isUnmounted?r(y):s(y,a,g)},te=()=>{y._isLeaving&&y[Al](!0),C(y,()=>{q(),V&&V()})};L?L(y,q,te):te()}else s(y,a,g)},be=(u,a,g,_=!1,b=!1)=>{const{type:y,props:A,ref:x,children:R,dynamicChildren:E,shapeFlag:j,patchFlag:C,dirs:L,cacheIndex:V}=u;if(C===-2&&(b=!1),x!=null&&(et(),Qt(x,null,g,u,!0),tt()),V!=null&&(a.renderCache[V]=void 0),j&256){a.ctx.deactivate(u);return}const q=j&1&&L,te=!Yt(u);let X;if(te&&(X=A&&A.onVnodeBeforeUnmount)&&He(X,a,u),j&6)yt(u.component,g,_);else{if(j&128){u.suspense.unmount(g,_);return}q&&vt(u,null,a,"beforeUnmount"),j&64?u.type.remove(u,a,g,M,_):E&&!E.hasOnce&&(y!==Ue||C>0&&C&64)?Pe(E,a,g,!1,!0):(y===Ue&&C&384||!b&&j&16)&&Pe(R,a,g),_&&Ct(u)}(te&&(X=A&&A.onVnodeUnmounted)||q)&&we(()=>{X&&He(X,a,u),q&&vt(u,null,a,"unmounted")},g)},Ct=u=>{const{type:a,el:g,anchor:_,transition:b}=u;if(a===Ue){Ot(g,_);return}if(a===bn){T(u);return}const y=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:A,delayLeave:x}=b,R=()=>A(g,y);x?x(u.el,y,R):R()}else y()},Ot=(u,a)=>{let g;for(;u!==a;)g=p(u),r(u),u=g;r(a)},yt=(u,a,g)=>{const{bum:_,scope:b,job:y,subTree:A,um:x,m:R,a:E}=u;ar(R),ar(E),_&&yn(_),b.stop(),y&&(y.flags|=8,be(A,u,a,g)),x&&we(x,a),we(()=>{u.isUnmounted=!0},a)},Pe=(u,a,g,_=!1,b=!1,y=0)=>{for(let A=y;A<u.length;A++)be(u[A],a,g,_,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const a=p(u.anchor||u.el),g=a&&a[Rl];return g?p(g):a};let P=!1;const w=(u,a,g)=>{let _;u==null?a._vnode&&(be(a._vnode,null,null,!0),_=a._vnode.component):O(a._vnode||null,u,a,null,null,null,g),a._vnode=u,P||(P=!0,nr(_),Ai(),P=!1)},M={p:O,um:be,m:Le,r:Ct,mt:_t,mc:k,pc:z,pbc:re,n:v,o:e};return{render:w,hydrate:void 0,createApp:Wl(w)}}function rs({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 bt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function lc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $i(e,t,n=!1){const s=e.children,r=t.children;if(F(s)&&F(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=ft(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&$i(o,l)),l.type===$n&&(l.patchFlag!==-1?l.el=o.el:l.__elIndex=i+(e.type===Ue?1:0)),l.type===mt&&!l.el&&(l.el=o.el)}}function cc(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const d=e[s];if(d!==0){if(r=n[n.length-1],e[r]<d){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<d?i=l+1:o=l;d<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function zi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zi(t)}function ar(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ji(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Ji(t.subTree):null}const Qi=e=>e.__isSuspense;function uc(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):_l(e)}const Ue=Symbol.for("v-fgt"),$n=Symbol.for("v-txt"),mt=Symbol.for("v-cmt"),bn=Symbol.for("v-stc"),Zt=[];let Ce=null;function Yi(e=!1){Zt.push(Ce=e?null:[])}function fc(){Zt.pop(),Ce=Zt[Zt.length-1]||null}let on=1;function Pn(e,t=!1){on+=e,e<0&&Ce&&t&&(Ce.hasOnce=!0)}function Xi(e){return e.dynamicChildren=on>0?Ce||Dt:null,fc(),on>0&&Ce&&Ce.push(e),e}function ac(e,t,n,s,r,i){return Xi(eo(e,t,n,s,r,i,!0))}function hc(e,t,n,s,r){return Xi(ye(e,t,n,s,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function kt(e,t){return e.type===t.type&&e.key===t.key}const Zi=({key:e})=>e??null,En=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?le(e)||oe(e)||B(e)?{i:Ie,r:e,k:t,f:!!n}:e:null);function eo(e,t=null,n=null,s=0,r=null,i=e===Ue?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zi(t),ref:t&&En(t),scopeId:Ci,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ie};return l?(Ws(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=le(n)?8:16),on>0&&!o&&Ce&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ce.push(c),c}const ye=dc;function dc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Fl)&&(e=mt),In(e)){const l=Vt(e,t,!0);return n&&Ws(l,n),on>0&&!i&&Ce&&(l.shapeFlag&6?Ce[Ce.indexOf(e)]=l:Ce.push(l)),l.patchFlag=-2,l}if(xc(e)&&(e=e.__vccOpts),t){t=pc(t);let{class:l,style:c}=t;l&&!le(l)&&(t.class=Ns(l)),ee(c)&&(Kn(c)&&!F(c)&&(c=he({},c)),t.style=Ts(c))}const o=le(e)?1:Qi(e)?128:xl(e)?64:ee(e)?4:B(e)?2:0;return eo(e,t,n,s,r,o,i,!0)}function pc(e){return e?Kn(e)||Ui(e)?he({},e):e:null}function Vt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,d=t?mc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Zi(d),ref:t&&t.ref?n&&i?F(i)?i.concat(En(t)):[i,En(t)]:En(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Vt(e.ssContent),ssFallback:e.ssFallback&&Vt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Us(f,c.clone(f)),f}function gc(e=" ",t=0){return ye($n,null,e,t)}function bf(e,t){const n=ye(bn,null,e);return n.staticCount=t,n}function Ef(e="",t=!1){return t?(Yi(),hc(mt,null,e)):ye(mt,null,e)}function Ke(e){return e==null||typeof e=="boolean"?ye(mt):F(e)?ye(Ue,null,e.slice()):In(e)?ft(e):ye($n,null,String(e))}function ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Vt(e)}function Ws(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(F(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Ws(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Ui(t)?t._ctx=Ie:r===3&&Ie&&(Ie.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else B(t)?(t={default:t,_ctx:Ie},n=32):(t=String(t),s&64?(n=16,t=[gc(t)]):n=8);e.children=t,e.shapeFlag|=n}function mc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Ns([t.class,s.class]));else if(r==="style")t.style=Ts([t.style,s.style]);else if(Mn(r)){const i=t[r],o=s[r];o&&i!==o&&!(F(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=s[r])}return t}function He(e,t,n,s=null){We(e,t,7,[n,s])}const _c=Fi();let yc=0;function vc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||_c,i={uid:yc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new si(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ki(s,r),emitsOptions:Vi(s,r),emit:null,emitted:null,propsDefaults:Z,inheritAttrs:s.inheritAttrs,ctx:Z,data:Z,props:Z,attrs:Z,slots:Z,refs:Z,setupState:Z,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=$l.bind(null,i),e.ce&&e.ce(i),i}let _e=null;const to=()=>_e||Ie;let Tn,bs;{const e=Hn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Tn=t("__VUE_INSTANCE_SETTERS__",n=>_e=n),bs=t("__VUE_SSR_SETTERS__",n=>ln=n)}const hn=e=>{const t=_e;return Tn(e),e.scope.on(),()=>{e.scope.off(),Tn(t)}},hr=()=>{_e&&_e.scope.off(),Tn(null)};function no(e){return e.vnode.shapeFlag&4}let ln=!1;function bc(e,t=!1,n=!1){t&&bs(t);const{props:s,children:r}=e.vnode,i=no(e);Zl(e,s,i,t),sc(e,r,n||t);const o=i?Ec(e,t):void 0;return t&&bs(!1),o}function Ec(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vl);const{setup:s}=n;if(s){et();const r=e.setupContext=s.length>1?Rc(e):null,i=hn(e),o=an(s,e,0,[e.props,r]),l=Jr(o);if(tt(),i(),(l||e.sp)&&!Yt(e)&&Ii(e),l){if(o.then(hr,hr),t)return o.then(c=>{dr(e,c)}).catch(c=>{kn(c,e,0)});e.asyncDep=o}else dr(e,o)}else so(e)}function dr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Si(t)),so(e)}function so(e,t,n){const s=e.type;e.render||(e.render=s.render||ke);{const r=hn(e);et();try{Hl(e)}finally{tt(),r()}}}const Sc={get(e,t){return ae(e,"get",""),e[t]}};function Rc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Sc),slots:e.slots,emit:e.emit,expose:t}}function zn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Si(Hs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Xt)return Xt[n](e)},has(t,n){return n in t||n in Xt}})):e.proxy}function xc(e){return B(e)&&"__vccOpts"in e}const Re=(e,t)=>hl(e,t,ln);function ro(e,t,n){try{Pn(-1);const s=arguments.length;return s===2?ee(t)&&!F(t)?In(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&In(n)&&(n=[n]),ye(e,t,n))}finally{Pn(1)}}const Ac="3.5.26";/**
|
|
15
|
-
* @vue/runtime-dom v3.5.26
|
|
16
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
17
|
-
* @license MIT
|
|
18
|
-
**/let Es;const pr=typeof window<"u"&&window.trustedTypes;if(pr)try{Es=pr.createPolicy("vue",{createHTML:e=>e})}catch{}const io=Es?e=>Es.createHTML(e):e=>e,wc="http://www.w3.org/2000/svg",Cc="http://www.w3.org/1998/Math/MathML",Qe=typeof document<"u"?document:null,gr=Qe&&Qe.createElement("template"),Oc={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"?Qe.createElementNS(wc,e):t==="mathml"?Qe.createElementNS(Cc,e):n?Qe.createElement(e,{is:n}):Qe.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Qe.createTextNode(e),createComment:e=>Qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{gr.innerHTML=io(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=gr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Pc=Symbol("_vtc");function Ic(e,t,n){const s=e[Pc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const mr=Symbol("_vod"),Tc=Symbol("_vsh"),Nc=Symbol(""),Dc=/(?:^|;)\s*display\s*:/;function Mc(e,t,n){const s=e.style,r=le(n);let i=!1;if(n&&!r){if(t)if(le(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Sn(s,l,"")}else for(const o in t)n[o]==null&&Sn(s,o,"");for(const o in n)o==="display"&&(i=!0),Sn(s,o,n[o])}else if(r){if(t!==n){const o=s[Nc];o&&(n+=";"+o),s.cssText=n,i=Dc.test(n)}}else t&&e.removeAttribute("style");mr in e&&(e[mr]=i?s.display:"",e[Tc]&&(s.display="none"))}const _r=/\s*!important$/;function Sn(e,t,n){if(F(n))n.forEach(s=>Sn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Lc(e,t);_r.test(n)?e.setProperty(wt(s),n.replace(_r,""),"important"):e[s]=n}}const yr=["Webkit","Moz","ms"],is={};function Lc(e,t){const n=is[t];if(n)return n;let s=gt(t);if(s!=="filter"&&s in e)return is[t]=s;s=Xr(s);for(let r=0;r<yr.length;r++){const i=yr[r]+s;if(i in e)return is[t]=i}return t}const vr="http://www.w3.org/1999/xlink";function br(e,t,n,s,r,i=Lo(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(vr,t.slice(6,t.length)):e.setAttributeNS(vr,t,n):n==null||i&&!ei(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Ge(n)?String(n):n)}function Er(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?io(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=ei(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function St(e,t,n,s){e.addEventListener(t,n,s)}function jc(e,t,n,s){e.removeEventListener(t,n,s)}const Sr=Symbol("_vei");function Fc(e,t,n,s,r=null){const i=e[Sr]||(e[Sr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Vc(t);if(s){const d=i[t]=Uc(s,r);St(e,l,d,c)}else o&&(jc(e,l,o,c),i[t]=void 0)}}const Rr=/(?:Once|Passive|Capture)$/;function Vc(e){let t;if(Rr.test(e)){t={};let s;for(;s=e.match(Rr);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):wt(e.slice(2)),t]}let os=0;const Hc=Promise.resolve(),Bc=()=>os||(Hc.then(()=>os=0),os=Date.now());function Uc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;We(Kc(s,n.value),t,5,[s])};return n.value=e,n.attached=Bc(),n}function Kc(e,t){if(F(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 xr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,kc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Ic(e,s,o):t==="style"?Mc(e,n,s):Mn(t)?Ps(t)||Fc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Gc(e,t,s,o))?(Er(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&br(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!le(s))?Er(e,gt(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),br(e,t,s,o))};function Gc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&xr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return xr(t)&&le(n)?!1:t in e}const Nn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return F(t)?n=>yn(t,n):t};function Wc(e){e.target.composing=!0}function Ar(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const jt=Symbol("_assign");function wr(e,t,n){return t&&(e=e.trim()),n&&(e=Vn(e)),e}const Sf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[jt]=Nn(r);const i=s||r.props&&r.props.type==="number";St(e,t?"change":"input",o=>{o.target.composing||e[jt](wr(e.value,n,i))}),(n||i)&&St(e,"change",()=>{e.value=wr(e.value,n,i)}),t||(St(e,"compositionstart",Wc),St(e,"compositionend",Ar),St(e,"change",Ar))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[jt]=Nn(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Vn(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},Rf={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=Ln(t);St(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?Vn(Dn(o)):Dn(o));e[jt](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,Gn(()=>{e._assigning=!1})}),e[jt]=Nn(s)},mounted(e,{value:t}){Cr(e,t)},beforeUpdate(e,t,n){e[jt]=Nn(n)},updated(e,{value:t}){e._assigning||Cr(e,t)}};function Cr(e,t){const n=e.multiple,s=F(t);if(!(n&&!s&&!Ln(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Dn(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=Fo(t,l)>-1}else o.selected=t.has(l);else if(Bn(Dn(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Dn(e){return"_value"in e?e._value:e.value}const qc=["ctrl","shift","alt","meta"],$c={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)=>qc.some(n=>e[`${n}Key`]&&!t.includes(n))},xf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...i)=>{for(let o=0;o<t.length;o++){const l=$c[t[o]];if(l&&l(r,t))return}return e(r,...i)}))},zc=he({patchProp:kc},Oc);let Or;function Jc(){return Or||(Or=ic(zc))}const Qc=((...e)=>{const t=Jc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Xc(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Yc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Yc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xc(e){return le(e)?document.querySelector(e):e}/*!
|
|
19
|
-
* pinia v2.3.1
|
|
20
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
21
|
-
* @license MIT
|
|
22
|
-
*/let oo;const Jn=e=>oo=e,lo=Symbol();function Ss(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var en;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(en||(en={}));function Zc(){const e=ri(!0),t=e.run(()=>ht({}));let n=[],s=[];const r=Hs({install(i){Jn(r),r._a=i,i.provide(lo,r),i.config.globalProperties.$pinia=r,s.forEach(o=>n.push(o)),s=[]},use(i){return this._a?n.push(i):s.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const co=()=>{};function Pr(e,t,n,s=co){e.push(t);const r=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),s())};return!n&&ii()&&Ho(r),r}function It(e,...t){e.slice().forEach(n=>{n(...t)})}const eu=e=>e(),Ir=Symbol(),ls=Symbol();function Rs(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];Ss(r)&&Ss(s)&&e.hasOwnProperty(n)&&!oe(s)&&!Ze(s)?e[n]=Rs(r,s):e[n]=s}return e}const tu=Symbol();function nu(e){return!Ss(e)||!e.hasOwnProperty(tu)}const{assign:lt}=Object;function su(e){return!!(oe(e)&&e.effect)}function ru(e,t,n,s){const{state:r,actions:i,getters:o}=t,l=n.state.value[e];let c;function d(){l||(n.state.value[e]=r?r():{});const f=cl(n.state.value[e]);return lt(f,i,Object.keys(o||{}).reduce((h,p)=>(h[p]=Hs(Re(()=>{Jn(n);const m=n._s.get(e);return o[p].call(m,m)})),h),{}))}return c=uo(e,d,t,n,s,!0),c}function uo(e,t,n={},s,r,i){let o;const l=lt({actions:{}},n),c={deep:!0};let d,f,h=[],p=[],m;const S=s.state.value[e];!i&&!S&&(s.state.value[e]={}),ht({});let O;function H(k){let G;d=f=!1,typeof k=="function"?(k(s.state.value[e]),G={type:en.patchFunction,storeId:e,events:m}):(Rs(s.state.value[e],k),G={type:en.patchObject,payload:k,storeId:e,events:m});const re=O=Symbol();Gn().then(()=>{O===re&&(d=!0)}),f=!0,It(h,G,s.state.value[e])}const N=i?function(){const{state:G}=n,re=G?G():{};this.$patch(de=>{lt(de,re)})}:co;function I(){o.stop(),h=[],p=[],s._s.delete(e)}const D=(k,G="")=>{if(Ir in k)return k[ls]=G,k;const re=function(){Jn(s);const de=Array.from(arguments),xe=[],ve=[];function _t(U){xe.push(U)}function rt(U){ve.push(U)}It(p,{args:de,name:re[ls],store:K,after:_t,onError:rt});let se;try{se=k.apply(this&&this.$id===e?this:K,de)}catch(U){throw It(ve,U),U}return se instanceof Promise?se.then(U=>(It(xe,U),U)).catch(U=>(It(ve,U),Promise.reject(U))):(It(xe,se),se)};return re[Ir]=!0,re[ls]=G,re},T={_p:s,$id:e,$onAction:Pr.bind(null,p),$patch:H,$reset:N,$subscribe(k,G={}){const re=Pr(h,k,G.detached,()=>de()),de=o.run(()=>Jt(()=>s.state.value[e],xe=>{(G.flush==="sync"?f:d)&&k({storeId:e,type:en.direct,events:m},xe)},lt({},c,G)));return re},$dispose:I},K=fn(T);s._s.set(e,K);const Y=(s._a&&s._a.runWithContext||eu)(()=>s._e.run(()=>(o=ri()).run(()=>t({action:D}))));for(const k in Y){const G=Y[k];if(oe(G)&&!su(G)||Ze(G))i||(S&&nu(G)&&(oe(G)?G.value=S[k]:Rs(G,S[k])),s.state.value[e][k]=G);else if(typeof G=="function"){const re=D(G,k);Y[k]=re,l.actions[k]=G}}return lt(K,Y),lt($(K),Y),Object.defineProperty(K,"$state",{get:()=>s.state.value[e],set:k=>{H(G=>{lt(G,k)})}}),s._p.forEach(k=>{lt(K,o.run(()=>k({store:K,app:s._a,pinia:s,options:l})))}),S&&i&&n.hydrate&&n.hydrate(K.$state,S),d=!0,f=!0,K}/*! #__NO_SIDE_EFFECTS__ */function iu(e,t,n){let s,r;const i=typeof t=="function";typeof e=="string"?(s=e,r=i?n:t):(r=e,s=e.id);function o(l,c){const d=vl();return l=l||(d?Te(lo,null):null),l&&Jn(l),l=oo,l._s.has(s)||(i?uo(s,t,r,l):ru(s,r,l)),l._s.get(s)}return o.$id=s,o}/*!
|
|
23
|
-
* vue-router v4.6.4
|
|
24
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
25
|
-
* @license MIT
|
|
26
|
-
*/const Nt=typeof document<"u";function fo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ou(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&fo(e.default)}const J=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=Me(r)?r.map(e):e(r)}return n}const tn=()=>{},Me=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ao=/#/g,lu=/&/g,cu=/\//g,uu=/=/g,fu=/\?/g,ho=/\+/g,au=/%5B/g,hu=/%5D/g,po=/%5E/g,du=/%60/g,go=/%7B/g,pu=/%7C/g,mo=/%7D/g,gu=/%20/g;function qs(e){return e==null?"":encodeURI(""+e).replace(pu,"|").replace(au,"[").replace(hu,"]")}function mu(e){return qs(e).replace(go,"{").replace(mo,"}").replace(po,"^")}function xs(e){return qs(e).replace(ho,"%2B").replace(gu,"+").replace(ao,"%23").replace(lu,"%26").replace(du,"`").replace(go,"{").replace(mo,"}").replace(po,"^")}function _u(e){return xs(e).replace(uu,"%3D")}function yu(e){return qs(e).replace(ao,"%23").replace(fu,"%3F")}function vu(e){return yu(e).replace(cu,"%2F")}function cn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const bu=/\/$/,Eu=e=>e.replace(bu,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Au(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:cn(o)}}function Su(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Nr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ru(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Ht(t.matched[s],n.matched[r])&&_o(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ht(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function _o(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!xu(e[n],t[n]))return!1;return!0}function xu(e,t){return Me(e)?Dr(e,t):Me(t)?Dr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Dr(e,t){return Me(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Au(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 i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const ot={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let As=(function(e){return e.pop="pop",e.push="push",e})({}),fs=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function wu(e){if(!e)if(Nt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Eu(e)}const Cu=/^[^#]+#/;function Ou(e,t){return e.replace(Cu,"#")+t}function Pu(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 Qn=()=>({left:window.scrollX,top:window.scrollY});function Iu(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=Pu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Mr(e,t){return(history.state?history.state.position-t:-1)+e}const ws=new Map;function Tu(e,t){ws.set(e,t)}function Nu(e){const t=ws.get(e);return ws.delete(e),t}function Du(e){return typeof e=="string"||e&&typeof e=="object"}function yo(e){return typeof e=="string"||typeof e=="symbol"}let ie=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const vo=Symbol("");ie.MATCHER_NOT_FOUND+"",ie.NAVIGATION_GUARD_REDIRECT+"",ie.NAVIGATION_ABORTED+"",ie.NAVIGATION_CANCELLED+"",ie.NAVIGATION_DUPLICATED+"";function Bt(e,t){return J(new Error,{type:e,[vo]:!0},t)}function ze(e,t){return e instanceof Error&&vo in e&&(t==null||!!(e.type&t))}const Mu=["params","query","hash"];function Lu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Mu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function ju(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(ho," "),i=r.indexOf("="),o=cn(i<0?r:r.slice(0,i)),l=i<0?null:cn(r.slice(i+1));if(o in t){let c=t[o];Me(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Lr(e){let t="";for(let n in e){const s=e[n];if(n=_u(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Me(s)?s.map(r=>r&&xs(r)):[s&&xs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Fu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Me(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Vu=Symbol(""),jr=Symbol(""),Yn=Symbol(""),$s=Symbol(""),Cs=Symbol("");function Gt(){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 at(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(Bt(ie.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):Du(p)?c(Bt(ie.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&s.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),l())},f=i(()=>e.call(s&&s.instances[r],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(p=>c(p))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(fo(c)){const d=(c.__vccOpts||c)[t];d&&i.push(at(d,n,s,o,l,r))}else{let d=c();i.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=ou(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&at(p,n,s,o,l,r)()}))}}return i}function Hu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(d=>Ht(d,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(d=>Ht(d,c))||r.push(c))}return[n,s,r]}/*!
|
|
27
|
-
* vue-router v4.6.4
|
|
28
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
29
|
-
* @license MIT
|
|
30
|
-
*/let Bu=()=>location.protocol+"//"+location.host;function bo(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Nr(l,"")}return Nr(n,e)+s+r}function Uu(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const m=bo(e,location),S=n.value,O=t.value;let H=0;if(p){if(n.value=m,t.value=p,o&&o===S){o=null;return}H=O?p.position-O.position:0}else s(m);r.forEach(N=>{N(n.value,S,{delta:H,type:As.pop,direction:H?H>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function d(p){r.push(p);const m=()=>{const S=r.indexOf(p);S>-1&&r.splice(S,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(J({},p.state,{scroll:Qn()}),"")}}function h(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:d,destroy:h}}function Fr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?Qn():null}}function Ku(e){const{history:t,location:n}=window,s={value:bo(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,d,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Bu()+e+c;try{t[f?"replaceState":"pushState"](d,"",p),r.value=d}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function o(c,d){i(c,J({},t.state,Fr(r.value.back,c,r.value.forward,!0),d,{position:r.value.position}),!0),s.value=c}function l(c,d){const f=J({},r.value,t.state,{forward:c,scroll:Qn()});i(f.current,f,!0),i(c,J({},Fr(s.value,c,null),{position:f.position+1},d),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function ku(e){e=wu(e);const t=Ku(e),n=Uu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=J({location:"",base:e,go:s,createHref:Ou.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}let Rt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ce=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ce||{});const Gu={type:Rt.Static,value:""},Wu=/[a-zA-Z0-9_]/;function qu(e){if(!e)return[[]];if(e==="/")return[[Gu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${d}": ${m}`)}let n=ce.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,d="",f="";function h(){d&&(n===ce.Static?i.push({type:Rt.Static,value:d}):n===ce.Param||n===ce.ParamRegExp||n===ce.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Rt.Param,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==ce.ParamRegExp){s=n,n=ce.EscapeNext;continue}switch(n){case ce.Static:c==="/"?(d&&h(),o()):c===":"?(h(),n=ce.Param):p();break;case ce.EscapeNext:p(),n=s;break;case ce.Param:c==="("?n=ce.ParamRegExp:Wu.test(c)?p():(h(),n=ce.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case ce.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=ce.ParamRegExpEnd:f+=c;break;case ce.ParamRegExpEnd:h(),n=ce.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===ce.ParamRegExp&&t(`Unfinished custom RegExp for param "${d}"`),h(),o(),r}const Vr="[^/]+?",$u={sensitive:!1,strict:!1,start:!0,end:!0};var ge=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(ge||{});const zu=/[.+*?^${}()[\]/\\]/g;function Ju(e,t){const n=J({},$u,t),s=[];let r=n.start?"^":"";const i=[];for(const d of e){const f=d.length?[]:[ge.Root];n.strict&&!d.length&&(r+="/");for(let h=0;h<d.length;h++){const p=d[h];let m=ge.Segment+(n.sensitive?ge.BonusCaseSensitive:0);if(p.type===Rt.Static)h||(r+="/"),r+=p.value.replace(zu,"\\$&"),m+=ge.Static;else if(p.type===Rt.Param){const{value:S,repeatable:O,optional:H,regexp:N}=p;i.push({name:S,repeatable:O,optional:H});const I=N||Vr;if(I!==Vr){m+=ge.BonusCustomRegExp;try{`${I}`}catch(T){throw new Error(`Invalid custom RegExp for param "${S}" (${I}): `+T.message)}}let D=O?`((?:${I})(?:/(?:${I}))*)`:`(${I})`;h||(D=H&&d.length<2?`(?:/${D})`:"/"+D),H&&(D+="?"),r+=D,m+=ge.Dynamic,H&&(m+=ge.BonusOptional),O&&(m+=ge.BonusRepeatable),I===".*"&&(m+=ge.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const d=s.length-1;s[d][s[d].length-1]+=ge.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(d){const f=d.match(o),h={};if(!f)return null;for(let p=1;p<f.length;p++){const m=f[p]||"",S=i[p-1];h[S.name]=m&&S.repeatable?m.split("/"):m}return h}function c(d){let f="",h=!1;for(const p of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of p)if(m.type===Rt.Static)f+=m.value;else if(m.type===Rt.Param){const{value:S,repeatable:O,optional:H}=m,N=S in d?d[S]:"";if(Me(N)&&!O)throw new Error(`Provided param "${S}" is an array but it is not repeatable (* or + modifiers)`);const I=Me(N)?N.join("/"):N;if(!I)if(H)p.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${S}"`);f+=I}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Qu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===ge.Static+ge.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ge.Static+ge.Segment?1:-1:0}function Eo(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Qu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(Hr(s))return 1;if(Hr(r))return-1}return r.length-s.length}function Hr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Yu={strict:!1,end:!0,sensitive:!1};function Xu(e,t,n){const s=Ju(qu(e.path),n),r=J(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Zu(e,t){const n=[],s=new Map;t=Tr(Yu,t);function r(h){return s.get(h)}function i(h,p,m){const S=!m,O=Ur(h);O.aliasOf=m&&m.record;const H=Tr(t,h),N=[O];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const K of T)N.push(Ur(J({},O,{components:m?m.record.components:O.components,path:K,aliasOf:m?m.record:O})))}let I,D;for(const T of N){const{path:K}=T;if(p&&K[0]!=="/"){const ue=p.record.path,Y=ue[ue.length-1]==="/"?"":"/";T.path=p.record.path+(K&&Y+K)}if(I=Xu(T,p,H),m?m.alias.push(I):(D=D||I,D!==I&&D.alias.push(I),S&&h.name&&!Kr(I)&&o(h.name)),So(I)&&c(I),O.children){const ue=O.children;for(let Y=0;Y<ue.length;Y++)i(ue[Y],I,m&&m.children[Y])}m=m||I}return D?()=>{o(D)}:tn}function o(h){if(yo(h)){const p=s.get(h);p&&(s.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const p=nf(h,n);n.splice(p,0,h),h.record.name&&!Kr(h)&&s.set(h.record.name,h)}function d(h,p){let m,S={},O,H;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Bt(ie.MATCHER_NOT_FOUND,{location:h});H=m.record.name,S=J(Br(p.params,m.keys.filter(D=>!D.optional).concat(m.parent?m.parent.keys.filter(D=>D.optional):[]).map(D=>D.name)),h.params&&Br(h.params,m.keys.map(D=>D.name))),O=m.stringify(S)}else if(h.path!=null)O=h.path,m=n.find(D=>D.re.test(O)),m&&(S=m.parse(O),H=m.record.name);else{if(m=p.name?s.get(p.name):n.find(D=>D.re.test(p.path)),!m)throw Bt(ie.MATCHER_NOT_FOUND,{location:h,currentLocation:p});H=m.record.name,S=J({},p.params,h.params),O=m.stringify(S)}const N=[];let I=m;for(;I;)N.unshift(I.record),I=I.parent;return{name:H,path:O,params:S,matched:N,meta:tf(N)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:d,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Br(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Ur(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ef(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ef(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 Kr(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function tf(e){return e.reduce((t,n)=>J(t,n.meta),{})}function nf(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;Eo(e,t[i])<0?s=i:n=i+1}const r=sf(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function sf(e){let t=e;for(;t=t.parent;)if(So(t)&&Eo(e,t)===0)return t}function So({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function kr(e){const t=Te(Yn),n=Te($s),s=Re(()=>{const c=pt(e.to);return t.resolve(c)}),r=Re(()=>{const{matched:c}=s.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(Ht.bind(null,f));if(p>-1)return p;const m=Gr(c[d-2]);return d>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Ht.bind(null,c[d-2])):p}),i=Re(()=>r.value>-1&&uf(n.params,s.value.params)),o=Re(()=>r.value>-1&&r.value===n.matched.length-1&&_o(n.params,s.value.params));function l(c={}){if(cf(c)){const d=t[pt(e.replace)?"replace":"push"](pt(e.to)).catch(tn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:s,href:Re(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function rf(e){return e.length===1?e[0]:e}const of=Ks({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:kr,setup(e,{slots:t}){const n=fn(kr(e)),{options:s}=Te(Yn),r=Re(()=>({[Wr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Wr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&rf(t.default(n));return e.custom?i:ro("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),lf=of;function cf(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 uf(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(!Me(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Wr=(e,t,n)=>e??t??n,ff=Ks({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Te(Cs),r=Re(()=>e.route||s.value),i=Te(jr,0),o=Re(()=>{let d=pt(i);const{matched:f}=r.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=Re(()=>r.value.matched[o.value]);vn(jr,Re(()=>o.value+1)),vn(Vu,l),vn(Cs,r);const c=ht();return Jt(()=>[c.value,l.value,e.name],([d,f,h],[p,m,S])=>{f&&(f.instances[h]=d,m&&m!==f&&d&&d===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),d&&f&&(!m||!Ht(f,m)||!p)&&(f.enterCallbacks[h]||[]).forEach(O=>O(d))},{flush:"post"}),()=>{const d=r.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return qr(n.default,{Component:p,route:d});const m=h.props[f],S=m?m===!0?d.params:typeof m=="function"?m(d):m:null,H=ro(p,J({},S,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return qr(n.default,{Component:H,route:d})||H}}});function qr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Ro=ff;function af(e){const t=Zu(e.routes,e),n=e.parseQuery||ju,s=e.stringifyQuery||Lr,r=e.history,i=Gt(),o=Gt(),l=Gt(),c=il(ot);let d=ot;Nt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,v=>""+v),h=cs.bind(null,vu),p=cs.bind(null,cn);function m(v,P){let w,M;return yo(v)?(w=t.getRecordMatcher(v),M=P):M=v,t.addRoute(M,w)}function S(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function O(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function N(v,P){if(P=J({},P||c.value),typeof v=="string"){const g=us(n,v,P.path),_=t.resolve({path:g.path},P),b=r.createHref(g.fullPath);return J(g,_,{params:p(_.params),hash:cn(g.hash),redirectedFrom:void 0,href:b})}let w;if(v.path!=null)w=J({},v,{path:us(n,v.path,P.path).path});else{const g=J({},v.params);for(const _ in g)g[_]==null&&delete g[_];w=J({},v,{params:h(g)}),P.params=h(P.params)}const M=t.resolve(w,P),W=v.hash||"";M.params=f(p(M.params));const u=Su(s,J({},v,{hash:mu(W),path:M.path})),a=r.createHref(u);return J({fullPath:u,hash:W,query:s===Lr?Fu(v.query):v.query||{}},M,{redirectedFrom:void 0,href:a})}function I(v){return typeof v=="string"?us(n,v,c.value.path):J({},v)}function D(v,P){if(d!==v)return Bt(ie.NAVIGATION_CANCELLED,{from:P,to:v})}function T(v){return Y(v)}function K(v){return T(J(I(v),{replace:!0}))}function ue(v,P){const w=v.matched[v.matched.length-1];if(w&&w.redirect){const{redirect:M}=w;let W=typeof M=="function"?M(v,P):M;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=I(W):{path:W},W.params={}),J({query:v.query,hash:v.hash,params:W.path!=null?{}:v.params},W)}}function Y(v,P){const w=d=N(v),M=c.value,W=v.state,u=v.force,a=v.replace===!0,g=ue(w,M);if(g)return Y(J(I(g),{state:typeof g=="object"?J({},W,g.state):W,force:u,replace:a}),P||w);const _=w;_.redirectedFrom=P;let b;return!u&&Ru(s,M,w)&&(b=Bt(ie.NAVIGATION_DUPLICATED,{to:_,from:M}),Le(M,M,!0,!1)),(b?Promise.resolve(b):re(_,M)).catch(y=>ze(y)?ze(y,ie.NAVIGATION_GUARD_REDIRECT)?y:it(y):z(y,_,M)).then(y=>{if(y){if(ze(y,ie.NAVIGATION_GUARD_REDIRECT))return Y(J({replace:a},I(y.to),{state:typeof y.to=="object"?J({},W,y.to.state):W,force:u}),P||_)}else y=xe(_,M,!0,a,W);return de(_,M,y),y})}function k(v,P){const w=D(v,P);return w?Promise.reject(w):Promise.resolve()}function G(v){const P=Ot.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function re(v,P){let w;const[M,W,u]=Hu(v,P);w=as(M.reverse(),"beforeRouteLeave",v,P);for(const g of M)g.leaveGuards.forEach(_=>{w.push(at(_,v,P))});const a=k.bind(null,v,P);return w.push(a),Pe(w).then(()=>{w=[];for(const g of i.list())w.push(at(g,v,P));return w.push(a),Pe(w)}).then(()=>{w=as(W,"beforeRouteUpdate",v,P);for(const g of W)g.updateGuards.forEach(_=>{w.push(at(_,v,P))});return w.push(a),Pe(w)}).then(()=>{w=[];for(const g of u)if(g.beforeEnter)if(Me(g.beforeEnter))for(const _ of g.beforeEnter)w.push(at(_,v,P));else w.push(at(g.beforeEnter,v,P));return w.push(a),Pe(w)}).then(()=>(v.matched.forEach(g=>g.enterCallbacks={}),w=as(u,"beforeRouteEnter",v,P,G),w.push(a),Pe(w))).then(()=>{w=[];for(const g of o.list())w.push(at(g,v,P));return w.push(a),Pe(w)}).catch(g=>ze(g,ie.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function de(v,P,w){l.list().forEach(M=>G(()=>M(v,P,w)))}function xe(v,P,w,M,W){const u=D(v,P);if(u)return u;const a=P===ot,g=Nt?history.state:{};w&&(M||a?r.replace(v.fullPath,J({scroll:a&&g&&g.scroll},W)):r.push(v.fullPath,W)),c.value=v,Le(v,P,w,a),it()}let ve;function _t(){ve||(ve=r.listen((v,P,w)=>{if(!yt.listening)return;const M=N(v),W=ue(M,yt.currentRoute.value);if(W){Y(J(W,{replace:!0,force:!0}),M).catch(tn);return}d=M;const u=c.value;Nt&&Tu(Mr(u.fullPath,w.delta),Qn()),re(M,u).catch(a=>ze(a,ie.NAVIGATION_ABORTED|ie.NAVIGATION_CANCELLED)?a:ze(a,ie.NAVIGATION_GUARD_REDIRECT)?(Y(J(I(a.to),{force:!0}),M).then(g=>{ze(g,ie.NAVIGATION_ABORTED|ie.NAVIGATION_DUPLICATED)&&!w.delta&&w.type===As.pop&&r.go(-1,!1)}).catch(tn),Promise.reject()):(w.delta&&r.go(-w.delta,!1),z(a,M,u))).then(a=>{a=a||xe(M,u,!1),a&&(w.delta&&!ze(a,ie.NAVIGATION_CANCELLED)?r.go(-w.delta,!1):w.type===As.pop&&ze(a,ie.NAVIGATION_ABORTED|ie.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),de(M,u,a)}).catch(tn)}))}let rt=Gt(),se=Gt(),U;function z(v,P,w){it(v);const M=se.list();return M.length?M.forEach(W=>W(v,P,w)):console.error(v),Promise.reject(v)}function qe(){return U&&c.value!==ot?Promise.resolve():new Promise((v,P)=>{rt.add([v,P])})}function it(v){return U||(U=!v,_t(),rt.list().forEach(([P,w])=>v?w(v):P()),rt.reset()),v}function Le(v,P,w,M){const{scrollBehavior:W}=e;if(!Nt||!W)return Promise.resolve();const u=!w&&Nu(Mr(v.fullPath,0))||(M||!w)&&history.state&&history.state.scroll||null;return Gn().then(()=>W(v,P,u)).then(a=>a&&Iu(a)).catch(a=>z(a,v,P))}const be=v=>r.go(v);let Ct;const Ot=new Set,yt={currentRoute:c,listening:!0,addRoute:m,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:O,resolve:N,options:e,push:T,replace:K,go:be,back:()=>be(-1),forward:()=>be(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:se.add,isReady:qe,install(v){v.component("RouterLink",lf),v.component("RouterView",Ro),v.config.globalProperties.$router=yt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>pt(c)}),Nt&&!Ct&&c.value===ot&&(Ct=!0,T(r.location).catch(M=>{}));const P={};for(const M in ot)Object.defineProperty(P,M,{get:()=>c.value[M],enumerable:!0});v.provide(Yn,yt),v.provide($s,bi(P)),v.provide(Cs,c);const w=v.unmount;Ot.add(v),v.unmount=function(){Ot.delete(v),Ot.size<1&&(d=ot,ve&&ve(),ve=null,c.value=ot,Ct=!1,U=!1),w()}}};function Pe(v){return v.reduce((P,w)=>P.then(()=>G(w)),Promise.resolve())}return yt}function Af(){return Te(Yn)}function wf(e){return Te($s)}class hf extends Error{constructor(t,n,s){super(t),this.status=n,this.code=s,this.name="ApiError"}}function df(){return localStorage.getItem("token")}async function mn(e,t,n){const s={"Content-Type":"application/json"},r=df();r&&(s.Authorization=`Bearer ${r}`);const i=await fetch(t,{method:e,headers:s,body:n?JSON.stringify(n):void 0}),o=await i.json();if(!i.ok)throw new hf(o.message||o.error||"Request failed",i.status,o.error);return o}const _n={get:e=>mn("GET",e),post:(e,t)=>mn("POST",e,t),patch:(e,t)=>mn("PATCH",e,t),delete:e=>mn("DELETE",e)},xo=iu("auth",()=>{const e=ht(null),t=ht(localStorage.getItem("token")),n=ht(!1),s=ht(!1),r=ht(null),i=Re(()=>!!e.value&&!!t.value),o=Re(()=>{var h;return((h=e.value)==null?void 0:h.role)==="admin"});async function l(){if(!t.value){n.value=!0;return}try{const h=await _n.get("/api/auth/me");e.value=h.user}catch{f()}finally{n.value=!0}}async function c(h,p,m){s.value=!0,r.value=null;try{const S=await _n.post("/api/auth/register",{email:h,password:p,name:m});return e.value=S.user,t.value=S.token,localStorage.setItem("token",S.token),!0}catch(S){return r.value=S instanceof Error?S.message:"Registration failed",!1}finally{s.value=!1}}async function d(h,p){s.value=!0,r.value=null;try{const m=await _n.post("/api/auth/login",{email:h,password:p});return e.value=m.user,t.value=m.token,localStorage.setItem("token",m.token),!0}catch(m){return r.value=m instanceof Error?m.message:"Login failed",!1}finally{s.value=!1}}async function f(){try{await _n.post("/api/auth/logout",{})}catch{}e.value=null,t.value=null,localStorage.removeItem("token")}return{user:e,token:t,initialized:n,loading:s,error:r,isAuthenticated:i,isAdmin:o,checkAuth:l,register:c,login:d,logout:f}}),pf={class:"min-h-screen bg-gray-50 dark:bg-gray-900"},gf=Ks({__name:"App",setup(e){const t=xo();return Di(async()=>{await t.checkAuth()}),(n,s)=>(Yi(),ac("div",pf,[ye(pt(Ro))]))}}),mf="modulepreload",_f=function(e){return"/"+e},$r={},Je=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){let o=function(d){return Promise.all(d.map(f=>Promise.resolve(f).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));r=o(n.map(d=>{if(d=_f(d),d in $r)return;$r[d]=!0;const f=d.endsWith(".css"),h=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const p=document.createElement("link");if(p.rel=f?"stylesheet":mf,f||(p.as="script"),p.crossOrigin="",p.href=d,c&&p.setAttribute("nonce",c),document.head.appendChild(p),f)return new Promise((m,S)=>{p.addEventListener("load",m),p.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${d}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Ao=af({history:ku(),routes:[{path:"/login",name:"login",component:()=>Je(()=>import("./Login-DHYJjZXJ.js"),[]),meta:{guest:!0}},{path:"/register",name:"register",component:()=>Je(()=>import("./Register-C3zVYtDV.js"),[]),meta:{guest:!0}},{path:"/",component:()=>Je(()=>import("./Layout-Edli6x7p.js"),__vite__mapDeps([0,1])),meta:{auth:!0},children:[{path:"",redirect:"/projects"},{path:"projects",name:"projects",component:()=>Je(()=>import("./Projects-Bth0OyBs.js"),[])},{path:"projects/new",name:"project-create",component:()=>Je(()=>import("./ProjectCreate-D5GeKxHe.js"),__vite__mapDeps([2,1]))},{path:"projects/:slug",redirect:e=>`/projects/${e.params.slug}/issues`},{path:"projects/:slug/issues",name:"issues",component:()=>Je(()=>import("./Issues-Cfnqb_a0.js"),__vite__mapDeps([3,1]))},{path:"projects/:slug/issues/:issueId",name:"issue-detail",component:()=>Je(()=>import("./IssueDetail-CjG-J6cD.js"),[])},{path:"projects/:slug/events/:eventId",name:"event-detail",component:()=>Je(()=>import("./EventDetail-DgqYLyiF.js"),[])},{path:"projects/:slug/settings",name:"project-settings",component:()=>Je(()=>import("./ProjectSettings-6OwGPcir.js"),__vite__mapDeps([4,1]))}]}]});Ao.beforeEach(async(e,t,n)=>{const s=xo();s.initialized||await s.checkAuth();const r=s.isAuthenticated;if(e.meta.guest&&r)return n("/");if(e.meta.auth&&!r)return n("/login");n()});const zs=Qc(gf);zs.use(Zc());zs.use(Ao);zs.mount("#app");export{Rf as A,iu as B,Ue as F,lf as R,eo as a,gc as b,ac as c,Ks as d,ye as e,pt as f,xf as g,Ef as h,yf as i,Af as j,Re as k,wf as l,Jt as m,hc as n,Yi as o,vf as p,Ns as q,ht as r,Ro as s,Vo as t,xo as u,Sf as v,yl as w,Di as x,_n as y,bf as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity, 1))}.btn-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}.btn-secondary{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.btn-secondary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}@media(prefers-color-scheme:dark){.btn-secondary{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}}.btn-danger{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-danger:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.btn-danger:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.input{display:block;width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.input::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.input::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.input{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.input:focus{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}@media(prefers-color-scheme:dark){.input{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}}.label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}@media(prefers-color-scheme:dark){.label{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}}.card{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(prefers-color-scheme:dark){.card{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}}.badge{display:inline-flex;align-items:center;border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500}.badge-error{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}@media(prefers-color-scheme:dark){.badge-error{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}}.badge-warning{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}@media(prefers-color-scheme:dark){.badge-warning{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}}.badge-info{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity, 1))}@media(prefers-color-scheme:dark){.badge-info{--tw-bg-opacity: 1;background-color:rgb(12 74 110 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-12{height:3rem}.h-2{height:.5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-2{width:.5rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-error-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(2 132 199 / var(--tw-border-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-error-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-error-900\/50{background-color:#7f1d1d80}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.text-error-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-error-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-primary-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-warning-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-primary-500:hover{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media(prefers-color-scheme:dark){.dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity, 1))}.dark\:border-error-800{--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-error-900\/20{background-color:#7f1d1d33}.dark\:bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:text-error-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-primary-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:text-warning-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700\/50:hover{background-color:#37415180}.dark\:hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as i,r,y as f}from"./index-7dRN2NZv.js";const p=i("projects",()=>{const e=r([]),o=r(!1),a=r(!1);async function s(){o.value=!0;try{const t=await f.get("/api/projects");e.value=t.projects,a.value=!0}catch(t){console.error("Failed to load projects:",t)}finally{o.value=!1}}function l(t){e.value=[...e.value,t]}function c(t){e.value=e.value.filter(u=>u.slug!==t)}function n(){e.value=[],a.value=!1}return{projects:e,loading:o,initialized:a,loadProjects:s,addProject:l,removeProject:c,reset:n}});export{p as u};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Workers Sentinel</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-7dRN2NZv.js"></script>
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-JMAa_1Q2.css">
|
|
10
|
-
</head>
|
|
11
|
-
<body class="bg-gray-50 dark:bg-gray-900">
|
|
12
|
-
<div id="app"></div>
|
|
13
|
-
</body>
|
|
14
|
-
</html>
|