paskia 0.9.1__py3-none-any.whl → 0.10.0__py3-none-any.whl
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.
- paskia/_version.py +2 -2
- paskia/db/jsonl.py +2 -2
- paskia/db/logging.py +130 -45
- paskia/db/operations.py +8 -4
- paskia/fastapi/__main__.py +12 -6
- paskia/fastapi/admin.py +2 -2
- paskia/fastapi/api.py +7 -3
- paskia/fastapi/authz.py +3 -8
- paskia/fastapi/logging.py +64 -21
- paskia/fastapi/mainapp.py +2 -1
- paskia/fastapi/remote.py +11 -37
- paskia/fastapi/ws.py +12 -35
- paskia/fastapi/wschat.py +55 -2
- paskia/fastapi/wsutil.py +2 -7
- paskia/frontend-build/auth/admin/index.html +6 -6
- paskia/frontend-build/auth/assets/AccessDenied-C29NZI95.css +1 -0
- paskia/frontend-build/auth/assets/AccessDenied-DAdzg_MJ.js +12 -0
- paskia/frontend-build/auth/assets/{RestrictedAuth-CvR33_Z0.css → RestrictedAuth-BOdNrlQB.css} +1 -1
- paskia/frontend-build/auth/assets/{RestrictedAuth-DsJXicIw.js → RestrictedAuth-BSusdAfp.js} +1 -1
- paskia/frontend-build/auth/assets/_plugin-vue_export-helper-D2l53SUz.js +49 -0
- paskia/frontend-build/auth/assets/_plugin-vue_export-helper-DYJ24FZK.css +1 -0
- paskia/frontend-build/auth/assets/admin-BeFvGyD6.js +1 -0
- paskia/frontend-build/auth/assets/{admin-DzzjSg72.css → admin-CmNtuH3s.css} +1 -1
- paskia/frontend-build/auth/assets/{auth-C7k64Wad.css → auth-BKq4T2K2.css} +1 -1
- paskia/frontend-build/auth/assets/auth-DvHf8hgy.js +1 -0
- paskia/frontend-build/auth/assets/{forward-DmqVHZ7e.js → forward-C86Jm_Uq.js} +1 -1
- paskia/frontend-build/auth/assets/reset-B8PlNXuP.css +1 -0
- paskia/frontend-build/auth/assets/reset-D71FG0VL.js +1 -0
- paskia/frontend-build/auth/assets/{restricted-D3AJx3_6.js → restricted-CW0drE_k.js} +1 -1
- paskia/frontend-build/auth/index.html +6 -6
- paskia/frontend-build/auth/restricted/index.html +5 -5
- paskia/frontend-build/int/forward/index.html +5 -5
- paskia/frontend-build/int/reset/index.html +4 -4
- {paskia-0.9.1.dist-info → paskia-0.10.0.dist-info}/METADATA +1 -1
- paskia-0.10.0.dist-info/RECORD +60 -0
- paskia/frontend-build/auth/assets/AccessDenied-DPkUS8LZ.css +0 -1
- paskia/frontend-build/auth/assets/AccessDenied-Fmeb6EtF.js +0 -8
- paskia/frontend-build/auth/assets/_plugin-vue_export-helper-BTzJAQlS.css +0 -1
- paskia/frontend-build/auth/assets/_plugin-vue_export-helper-nhjnO_bd.js +0 -2
- paskia/frontend-build/auth/assets/admin-CPE1pLMm.js +0 -1
- paskia/frontend-build/auth/assets/auth-YIZvPlW_.js +0 -1
- paskia/frontend-build/auth/assets/reset-Chtv69AT.css +0 -1
- paskia/frontend-build/auth/assets/reset-s20PATTN.js +0 -1
- paskia-0.9.1.dist-info/RECORD +0 -60
- {paskia-0.9.1.dist-info → paskia-0.10.0.dist-info}/WHEEL +0 -0
- {paskia-0.9.1.dist-info → paskia-0.10.0.dist-info}/entry_points.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as p,c as h,o as m,y as l,d as f,J as w,K as k}from"./_plugin-vue_export-helper-
|
|
1
|
+
import{r as p,c as h,o as m,y as l,d as f,J as w,K as k}from"./_plugin-vue_export-helper-D2l53SUz.js";import{R as y}from"./RestrictedAuth-BSusdAfp.js";import"./pow-2N9bxgAo.js";const _={__name:"RestrictedApi",setup(g){const o=p(null);function c(){const e=window.location.pathname.match(/\/auth\/([^/]+)$/);if(e){const r=e[1],s=r.split(".");if(s.length===5&&s.every(d=>d.length>0))return r}return null}const i=h(()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("mode");return e==="reauth"?"reauth":e==="forbidden"?"forbidden":"login"});function n(t){window.parent&&window.parent!==window&&window.parent.postMessage(t,"*")}function u(t){n({type:"auth-success",authenticated:!0,sessionToken:t.session_token})}function a(){n({type:"auth-back"})}return m(()=>{o.value=c(),n({type:"auth-ready"}),window.addEventListener("keydown",t=>{t.key==="Escape"&&a()})}),(t,e)=>(f(),l(y,{mode:i.value,"remote-auth-token":o.value,onAuthenticated:u,onBack:a},null,8,["mode","remote-auth-token"]))}};w(_).mount("#app");k();
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Auth Profile</title>
|
|
7
|
-
<script type="module" crossorigin src="/auth/assets/auth-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
7
|
+
<script type="module" crossorigin src="/auth/assets/auth-DvHf8hgy.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-D2l53SUz.js">
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/auth/assets/helpers-DzjFIx78.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/AccessDenied-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/AccessDenied-DAdzg_MJ.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/auth/assets/pow-2N9bxgAo.js">
|
|
12
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
13
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/AccessDenied-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/auth-
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-DYJ24FZK.css">
|
|
13
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/AccessDenied-C29NZI95.css">
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/auth-BKq4T2K2.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
17
17
|
<div id="app"></div>
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<script type="module" crossorigin src="/auth/assets/restricted-
|
|
7
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
6
|
+
<script type="module" crossorigin src="/auth/assets/restricted-CW0drE_k.js"></script>
|
|
7
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-D2l53SUz.js">
|
|
8
8
|
<link rel="modulepreload" crossorigin href="/auth/assets/pow-2N9bxgAo.js">
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/RestrictedAuth-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/RestrictedAuth-
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/RestrictedAuth-BSusdAfp.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-DYJ24FZK.css">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/RestrictedAuth-BOdNrlQB.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="app"></div>
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Access Restricted</title>
|
|
7
|
-
<script type="module" crossorigin src="/auth/assets/forward-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
7
|
+
<script type="module" crossorigin src="/auth/assets/forward-C86Jm_Uq.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-D2l53SUz.js">
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/auth/assets/pow-2N9bxgAo.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/RestrictedAuth-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/RestrictedAuth-BSusdAfp.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/auth/assets/helpers-DzjFIx78.js">
|
|
12
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
13
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/RestrictedAuth-
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-DYJ24FZK.css">
|
|
13
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/RestrictedAuth-BOdNrlQB.css">
|
|
14
14
|
</head>
|
|
15
15
|
<body>
|
|
16
16
|
<div id="app"></div>
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Complete Passkey Setup</title>
|
|
7
|
-
<script type="module" crossorigin src="/auth/assets/reset-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/auth/assets/reset-
|
|
7
|
+
<script type="module" crossorigin src="/auth/assets/reset-D71FG0VL.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/auth/assets/_plugin-vue_export-helper-D2l53SUz.js">
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/_plugin-vue_export-helper-DYJ24FZK.css">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/auth/assets/reset-B8PlNXuP.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div id="app"></div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: paskia
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
4
4
|
Summary: Passkey Auth made easy: all sites and APIs can be guarded even without any changes on the protected site.
|
|
5
5
|
Project-URL: Homepage, https://git.zi.fi/LeoVasanko/paskia
|
|
6
6
|
Project-URL: Repository, https://github.com/LeoVasanko/paskia
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
paskia/__init__.py,sha256=6eopO87IOFA2zfOuqt8Jj8Tdtp93HBMOgUBtTzMRweM,57
|
|
2
|
+
paskia/_version.py,sha256=XS8OMho0YiZyQ_qDeRsy__m_nWUzYVEJw-NLk1VtDQU,706
|
|
3
|
+
paskia/authsession.py,sha256=7TGZuJw4RLsRJ-pemii6zRXTR-wdLx3nFVItytKFz5s,1259
|
|
4
|
+
paskia/bootstrap.py,sha256=FShAMvLmLxQ4HfE9yz1ZB6EO9fC-lQroesU4dC58VO8,3875
|
|
5
|
+
paskia/config.py,sha256=BdGzQ3Ja1enSTHmkDkBDGQk_JluT3VaK3Y7AqB5xMlk,723
|
|
6
|
+
paskia/globals.py,sha256=ip03kLoS_27cNIgXTVcXNoeQDjTAC_IILuXaHKShTws,1712
|
|
7
|
+
paskia/remoteauth.py,sha256=IyC1Z9YTYjPi4h8B0UwwoWfxaheEgyfksbKraOrAcqA,12418
|
|
8
|
+
paskia/sansio.py,sha256=LQRdV1kW_aGwDWC8fhyEvqWPwKZVx_8qzQv65et6utg,9727
|
|
9
|
+
paskia/aaguid/__init__.py,sha256=I5HMkAwiyLKKlkZOb9z5s2xGApXIbhbBuuX3IhW2y8E,1047
|
|
10
|
+
paskia/aaguid/combined_aaguid.json,sha256=CaZ96AiwdAjBnyVZnJ1eolAHxUQMB2H6mDgZkorYg_A,4124722
|
|
11
|
+
paskia/db/__init__.py,sha256=BGiCFZFX4xMsFn6aKvuV7X7VL-NoA-URdl2493EfRXE,3220
|
|
12
|
+
paskia/db/background.py,sha256=hj3hXoEpneVWhrAHZvoL09DVVaqOTqe-n9RIJZbbEos,3546
|
|
13
|
+
paskia/db/jsonl.py,sha256=1uHBSTtLEc6CChoRJx2zYjFrMcPkGCZN_8MQpHCohFw,9959
|
|
14
|
+
paskia/db/logging.py,sha256=ENCHdrlUz27hjWPFLezpF9bpO-pnrkgO6bNnfCyHcJ4,11017
|
|
15
|
+
paskia/db/migrations.py,sha256=XHHC0LbxXBN6gldiKm4PhDVqEqroMN1E8tz0LEqGPbQ,957
|
|
16
|
+
paskia/db/operations.py,sha256=rCKDNwEfcQz-5DUtZHZECcE9syX50LOFIrmZw9iUink,26443
|
|
17
|
+
paskia/db/structs.py,sha256=G6udtoomKmB8wijO6x1AObX9Oas66gBmJ_YxIiDLO6E,14060
|
|
18
|
+
paskia/fastapi/__init__.py,sha256=NFsTX1qytoyZKiur7RDTa2fxiOWHrop5CAAx8rqK9E0,58
|
|
19
|
+
paskia/fastapi/__main__.py,sha256=DADaKS27BoDqTtfP_p1qbatUL1URjAy9wyJBgjhAQIA,8032
|
|
20
|
+
paskia/fastapi/admin.py,sha256=8raj__JkNTYuvjdZejnK4BhaZBl219qjobmUafQMRkI,30343
|
|
21
|
+
paskia/fastapi/api.py,sha256=RTRhhn6d44aE3MNrepgLBWIPgDPCNr6dHLKSEja_sgU,9240
|
|
22
|
+
paskia/fastapi/auth_host.py,sha256=Y5w9Mz6jyq0hj7SX8LfwebaesUOLGcWzGW9lsmw5WOo,3242
|
|
23
|
+
paskia/fastapi/authz.py,sha256=ui87Ii4hsy0V8f68wGSYft2D7OHAD2l2tsHqokAgBt8,3322
|
|
24
|
+
paskia/fastapi/logging.py,sha256=xP7dxwy8bfKRft3jZPBdsNQk8eQ3nIHB8BUyz7A7sI0,8840
|
|
25
|
+
paskia/fastapi/mainapp.py,sha256=bW7dVxgZfrPtmASri4X7mD5P4sHOmIq3AmoAj37-e8M,5057
|
|
26
|
+
paskia/fastapi/remote.py,sha256=0hsJj8qK89h1U7-5nJFCk9cTte2tvh02b510v-_TGxU,17789
|
|
27
|
+
paskia/fastapi/reset.py,sha256=MuZqhOF68P9kGq5zKPV19FjTIvhZQ423YowzHKcVjlc,3573
|
|
28
|
+
paskia/fastapi/response.py,sha256=gTPNJtS92HfQYey2DMMN8oM1YazNSj6tjBBuFJuuBhc,611
|
|
29
|
+
paskia/fastapi/session.py,sha256=BRnlgR8pTY7o0f7qFnkdyepS2fKEAgqwT9Hj951sZJM,1479
|
|
30
|
+
paskia/fastapi/user.py,sha256=1vi1usiH8IFqqmLkwq2CLoy-x46VTlUnsiNglndajV8,4599
|
|
31
|
+
paskia/fastapi/ws.py,sha256=iY8CVO0W117Vln0DW2xHxiCk__KI29oTMOB2BZEwv34,3581
|
|
32
|
+
paskia/fastapi/wschat.py,sha256=qbEY6AlDlvjeUoIGac3K3DH41MPxPCYuiaFOnz9gxMU,3699
|
|
33
|
+
paskia/fastapi/wsutil.py,sha256=JMPSSWDzMJr7cVobWTFM0HwJrSj_tfKmoO7JkfewuAE,2898
|
|
34
|
+
paskia/frontend-build/auth/index.html,sha256=FO5wXmc7WTTzOZXOKyvO9XrHsk0c931_j_Z3I2xYLes,936
|
|
35
|
+
paskia/frontend-build/auth/admin/index.html,sha256=XTbO2ag2Sojpx7K49vXjNylKmlj0VrqKbNiIhPt4rWc,862
|
|
36
|
+
paskia/frontend-build/auth/assets/AccessDenied-C29NZI95.css,sha256=lJ7TS_wxvrvF_5I8BIDZ23-A-4iusm6WKF4XseT_zuo,7945
|
|
37
|
+
paskia/frontend-build/auth/assets/AccessDenied-DAdzg_MJ.js,sha256=i0hIbfiTnRmRFFWEW7-vLj7v7IQ_cPcP3sIfZWlNcNQ,51889
|
|
38
|
+
paskia/frontend-build/auth/assets/RestrictedAuth-BOdNrlQB.css,sha256=6r_Kf-Q7sueSICtQt8-zufZc1U6qbs084JW-IxUdOoM,5401
|
|
39
|
+
paskia/frontend-build/auth/assets/RestrictedAuth-BSusdAfp.js,sha256=6d9HZzXsmO93ZSUaPd42jp1zJG5ZsZBc2kcvX9RY7bc,9761
|
|
40
|
+
paskia/frontend-build/auth/assets/_plugin-vue_export-helper-D2l53SUz.js,sha256=kuJt8utYB9pLXerrxDEXc0Ytx9jgoT98p4FcObciLSU,86296
|
|
41
|
+
paskia/frontend-build/auth/assets/_plugin-vue_export-helper-DYJ24FZK.css,sha256=5RqRAI3OVX7hxpNlUQvBqYzARmW2piqbcI2NU_PDW_s,12272
|
|
42
|
+
paskia/frontend-build/auth/assets/admin-BeFvGyD6.js,sha256=UJd2bEl4L0KNslnbM-EEX_6stf9MoZGP7sueZcnjKy4,41123
|
|
43
|
+
paskia/frontend-build/auth/assets/admin-CmNtuH3s.css,sha256=Jg_QeSPAOGf2dFCi7FDe71KQ0qma5Dbom70WEE-mNb0,7601
|
|
44
|
+
paskia/frontend-build/auth/assets/auth-BKq4T2K2.css,sha256=lfYJTjXr3iM8YDMHxtBN4jY6JrLE7yjR1nWEGbN_1uE,4333
|
|
45
|
+
paskia/frontend-build/auth/assets/auth-DvHf8hgy.js,sha256=uQHMfl0n3LbWgyy4ldBSfQnKIW26OdUgxDzb05WFVdI,25267
|
|
46
|
+
paskia/frontend-build/auth/assets/forward-C86Jm_Uq.js,sha256=GeqWr3Z7kDwdgiE5S1ojjjud71bS2TtEdhHoNRIZB2E,782
|
|
47
|
+
paskia/frontend-build/auth/assets/helpers-DzjFIx78.js,sha256=w_IsCBn3QwidsuwQhVRycd8Fa53lvbgRGGojTBXVlUc,940
|
|
48
|
+
paskia/frontend-build/auth/assets/pow-2N9bxgAo.js,sha256=7AfzW5lcTefPI6YGXrYao1b56L7v5Bon9Y9N40yHsaE,9447
|
|
49
|
+
paskia/frontend-build/auth/assets/reset-B8PlNXuP.css,sha256=19f4h_GGjADzWvaYag9lnwrmttNXvwVYYHcGGy5X61E,238
|
|
50
|
+
paskia/frontend-build/auth/assets/reset-D71FG0VL.js,sha256=ZccTsQHP5YMoQznz7JBfO-1sZ3UouiulnzhMaIzsnzs,3981
|
|
51
|
+
paskia/frontend-build/auth/assets/restricted-CW0drE_k.js,sha256=l8Qxc8N6RYlJdHTqOPX9zEdgBs0SR5ou5Y-My-IRCnA,1023
|
|
52
|
+
paskia/frontend-build/auth/restricted/index.html,sha256=N_1KkcLd52Un6pVCVpGeXnsacR5FVU6jjcO9CQ_4zkc,785
|
|
53
|
+
paskia/frontend-build/int/forward/index.html,sha256=ur0I53vLzasQM3KOvmhVEK0SC5stL56p7040Vmmdz5I,870
|
|
54
|
+
paskia/frontend-build/int/reset/index.html,sha256=Jx0m9XzYeEwhNddsJAUihL3JiW_rvRxBixNjfAzcg94,612
|
|
55
|
+
paskia/migrate/__init__.py,sha256=r2s99mbHfvlzQJ1V3xnxZOwIyMEMxEXDtFqFj7sJC2U,9916
|
|
56
|
+
paskia/migrate/sql.py,sha256=5HNEUnPP0kqis69URJ5keE4JNbwqWe8oYXwf-zKheLI,14333
|
|
57
|
+
paskia-0.10.0.dist-info/METADATA,sha256=TNP_cx3lJEFqNg6H-ZQMojA75zJlIa1YJuddqW4RTsY,4262
|
|
58
|
+
paskia-0.10.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
59
|
+
paskia-0.10.0.dist-info/entry_points.txt,sha256=vvx6RYetgd61I2ODqQPHqrKHgCfuo08w_T35yDlHenE,93
|
|
60
|
+
paskia-0.10.0.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.breadcrumbs[data-v-6344dbb8]{margin:.25rem 0 .5rem;line-height:1.2;color:var(--color-text-muted)}.breadcrumbs ol[data-v-6344dbb8]{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.breadcrumbs li[data-v-6344dbb8]{display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem}.breadcrumbs a[data-v-6344dbb8]{text-decoration:none;color:var(--color-link);padding:0 .25rem;border-radius:4px;transition:color .2s ease,background .2s ease}.breadcrumbs .sep[data-v-6344dbb8]{color:var(--color-text-muted);margin:0}.btn-card-delete{display:none}.credential-item:focus .btn-card-delete{display:block}.user-info.has-extra[data-v-ce373d6c]{grid-template-columns:auto 1fr 2fr;grid-template-areas:"heading heading extra" "org org extra" "label1 value1 extra" "label2 value2 extra" "label3 value3 extra"}.user-info[data-v-ce373d6c]:not(.has-extra){grid-template-columns:auto 1fr;grid-template-areas:"heading heading" "org org" "label1 value1" "label2 value2" "label3 value3"}@media(max-width:720px){.user-info.has-extra[data-v-ce373d6c]{grid-template-columns:auto 1fr;grid-template-areas:"heading heading" "org org" "label1 value1" "label2 value2" "label3 value3" "extra extra"}}.user-name-heading[data-v-ce373d6c]{grid-area:heading;display:flex;align-items:center;flex-wrap:wrap;margin:0 0 .25rem}.org-role-sub[data-v-ce373d6c]{grid-area:org;display:flex;flex-direction:column;margin:-.15rem 0 .25rem}.org-line[data-v-ce373d6c]{font-size:.7rem;font-weight:600;line-height:1.1;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.role-line[data-v-ce373d6c]{font-size:.65rem;color:var(--color-text-muted);line-height:1.1}.info-label[data-v-ce373d6c]:nth-of-type(1){grid-area:label1}.info-value[data-v-ce373d6c]:nth-of-type(2){grid-area:value1}.info-label[data-v-ce373d6c]:nth-of-type(3){grid-area:label2}.info-value[data-v-ce373d6c]:nth-of-type(4){grid-area:value2}.info-label[data-v-ce373d6c]:nth-of-type(5){grid-area:label3}.info-value[data-v-ce373d6c]:nth-of-type(6){grid-area:value3}.user-info-extra[data-v-ce373d6c]{grid-area:extra;padding-left:2rem;border-left:1px solid var(--color-border)}.user-name-row[data-v-ce373d6c]{display:inline-flex;align-items:center;gap:.35rem;max-width:100%}.user-name-row.editing[data-v-ce373d6c]{flex:1 1 auto}.display-name[data-v-ce373d6c]{font-weight:600;font-size:1.05em;line-height:1.2;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-input[data-v-ce373d6c]{width:auto;flex:1 1 140px;min-width:120px;padding:6px 8px;font-size:.9em;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.user-name-heading .name-input[data-v-ce373d6c]{width:auto}.name-input[data-v-ce373d6c]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.mini-btn[data-v-ce373d6c]{width:auto;padding:4px 6px;margin:0;font-size:.75em;line-height:1;cursor:pointer}.mini-btn[data-v-ce373d6c]:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent)}.mini-btn[data-v-ce373d6c]:active:not(:disabled){transform:translateY(1px)}.mini-btn[data-v-ce373d6c]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:720px){.user-info-extra[data-v-ce373d6c]{padding-left:0;padding-top:1rem;margin-top:1rem;border-left:none;border-top:1px solid var(--color-border)}}dialog[data-v-2ebcbb0a]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:calc(var(--space-lg) - var(--space-xs));max-width:500px;width:min(500px,90vw);max-height:90vh;overflow-y:auto;position:fixed;inset:0;margin:auto;height:fit-content}dialog[data-v-2ebcbb0a]::backdrop{background:transparent;backdrop-filter:blur(.1rem) brightness(.7);-webkit-backdrop-filter:blur(.1rem) brightness(.7)}dialog[data-v-2ebcbb0a] .modal-title,dialog[data-v-2ebcbb0a] h3{margin:0 0 var(--space-md);font-size:1.25rem;font-weight:600;color:var(--color-heading)}dialog[data-v-2ebcbb0a] form{display:flex;flex-direction:column;gap:var(--space-md)}dialog[data-v-2ebcbb0a] .modal-form{display:flex;flex-direction:column;gap:var(--space-md)}dialog[data-v-2ebcbb0a] .modal-form label{display:flex;flex-direction:column;gap:var(--space-xs);font-weight:500}dialog[data-v-2ebcbb0a] .modal-form input,dialog[data-v-2ebcbb0a] .modal-form textarea{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:1rem;line-height:1.4;min-height:2.5rem}dialog[data-v-2ebcbb0a] .modal-form input:focus,dialog[data-v-2ebcbb0a] .modal-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #c7d2fe}dialog[data-v-2ebcbb0a] .modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-xs)}.name-edit-form[data-v-b73321cf]{display:flex;flex-direction:column;gap:var(--space-md)}.error[data-v-b73321cf]{color:var(--color-danger-text)}.small[data-v-b73321cf]{font-size:.9rem}.qr-display[data-v-727427c4]{display:flex;flex-direction:column;align-items:center;gap:.75rem}.qr-section[data-v-727427c4]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-link[data-v-727427c4]{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;border-radius:var(--radius-sm, 6px);overflow:hidden}.qr-code[data-v-727427c4]{display:block;width:200px;height:200px;max-width:100%;object-fit:contain;border-radius:var(--radius-sm, 6px);background:#fff;cursor:pointer}.link-text[data-v-727427c4]{padding:.5rem;font-size:.75rem;color:var(--color-text-muted);font-family:monospace;word-break:break-all;line-height:1.2;transition:color .2s ease}.qr-link:hover .link-text[data-v-727427c4]{color:var(--color-text)}dialog[data-v-e04dd463]{border:none;background:transparent;padding:0;max-width:none;width:fit-content;height:fit-content;position:fixed;inset:0;margin:auto}dialog[data-v-e04dd463]::backdrop{-webkit-backdrop-filter:blur(.2rem) brightness(.5);backdrop-filter:blur(.2rem) brightness(.5)}.icon-btn[data-v-e04dd463]{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6}.icon-btn[data-v-e04dd463]:hover{opacity:1}.reg-header-row[data-v-e04dd463]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.reg-title[data-v-e04dd463]{margin:0;font-size:1.25rem;font-weight:600}.device-dialog[data-v-e04dd463]{background:var(--color-surface);padding:1.25rem 1.25rem 1rem;border-radius:var(--radius-md);max-width:480px;width:100%;box-shadow:0 6px 28px #00000040}.reg-help[data-v-e04dd463]{margin:.5rem 0 .75rem;font-size:.85rem;line-height:1.4;text-align:center;color:var(--color-text-muted)}.reg-actions[data-v-e04dd463]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.expiry-note[data-v-e04dd463]{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin-top:.75rem}.loading-container[data-v-130f5abf]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.loading-spinner[data-v-130f5abf]{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-130f5abf 1s linear infinite}@keyframes spin-130f5abf{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p[data-v-130f5abf]{color:var(--color-text-muted);margin:0}.message-container[data-v-a7b258e7]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:2rem}.message-content[data-v-a7b258e7]{text-align:center;max-width:480px}.message-content h2[data-v-a7b258e7]{margin:0 0 1rem;color:var(--color-heading)}.message-content .error-detail[data-v-a7b258e7]{margin:0 0 1.5rem;color:var(--color-text-muted)}.message-content .button-row[data-v-a7b258e7]{display:flex;gap:.75rem;justify-content:center}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{M as At,r as F,N as Rt,O as Yt,P as ue,Q as Tt,R as Qt,S as Gt,T as Wt,n as ze,U as Zt,c as x,w as He,V as Xt,W as en,H as Q,m as tn,X as nn,Y as on,b as R,f as L,z as U,d as T,e as v,t as D,g as se,_ as Y,F as oe,i as ce,B as z,D as Mt,l as de,Z as Nt,$ as Pt,a0 as Dt,a1 as Lt,o as qt,a2 as rn,a as Ft,C as sn,k as xe,h as an,a3 as ln,L as un,x as cn}from"./_plugin-vue_export-helper-nhjnO_bd.js";import{f as G,h as ae,g as We}from"./helpers-DzjFIx78.js";let Ut;const fe=e=>Ut=e,Kt=Symbol();function Oe(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var re;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(re||(re={}));function vr(){const e=At(!0),s=e.run(()=>F({}));let r=[],t=[];const n=Rt({install(o){fe(n),n._a=o,o.provide(Kt,n),o.config.globalProperties.$pinia=n,t.forEach(i=>r.push(i)),t=[]},use(o){return this._a?r.push(o):t.push(o),this},_p:r,_a:null,_e:e,_s:new Map,state:s});return n}const Vt=()=>{};function Ze(e,s,r,t=Vt){e.add(s);const n=()=>{e.delete(s)&&t()};return!r&&Gt()&&Wt(n),n}function ee(e,...s){e.forEach(r=>{r(...s)})}const dn=e=>e(),Xe=Symbol(),pe=Symbol();function je(e,s){e instanceof Map&&s instanceof Map?s.forEach((r,t)=>e.set(t,r)):e instanceof Set&&s instanceof Set&&s.forEach(e.add,e);for(const r in s){if(!s.hasOwnProperty(r))continue;const t=s[r],n=e[r];Oe(n)&&Oe(t)&&e.hasOwnProperty(r)&&!ue(t)&&!Tt(t)?e[r]=je(n,t):e[r]=t}return e}const fn=Symbol();function hn(e){return!Oe(e)||!Object.prototype.hasOwnProperty.call(e,fn)}const{assign:J}=Object;function gn(e){return!!(ue(e)&&e.effect)}function mn(e,s,r,t){const{state:n,actions:o,getters:i}=s,a=r.state.value[e];let l;function u(){a||(r.state.value[e]=n?n():{});const f=Zt(r.state.value[e]);return J(f,o,Object.keys(i||{}).reduce((w,b)=>(w[b]=Rt(x(()=>{fe(r);const h=r._s.get(e);return i[b].call(h,h)})),w),{}))}return l=Ht(e,u,s,r,t,!0),l}function Ht(e,s,r={},t,n,o){let i;const a=J({actions:{}},r),l={deep:!0};let u,f,w=new Set,b=new Set,h;const d=t.state.value[e];!o&&!d&&(t.state.value[e]={}),F({});let g;function N(y){let m;u=f=!1,typeof y=="function"?(y(t.state.value[e]),m={type:re.patchFunction,storeId:e,events:h}):(je(t.state.value[e],y),m={type:re.patchObject,payload:y,storeId:e,events:h});const E=g=Symbol();ze().then(()=>{g===E&&(u=!0)}),f=!0,ee(w,m,t.state.value[e])}const A=o?function(){const{state:m}=r,E=m?m():{};this.$patch(_=>{J(_,E)})}:Vt;function P(){i.stop(),w.clear(),b.clear(),t._s.delete(e)}const c=(y,m="")=>{if(Xe in y)return y[pe]=m,y;const E=function(){fe(t);const _=Array.from(arguments),k=new Set,B=new Set;function M(q){k.add(q)}function V(q){B.add(q)}ee(b,{args:_,name:E[pe],store:I,after:M,onError:V});let K;try{K=y.apply(this&&this.$id===e?this:I,_)}catch(q){throw ee(B,q),q}return K instanceof Promise?K.then(q=>(ee(k,q),q)).catch(q=>(ee(B,q),Promise.reject(q))):(ee(k,K),K)};return E[Xe]=!0,E[pe]=m,E},S={_p:t,$id:e,$onAction:Ze.bind(null,b),$patch:N,$reset:A,$subscribe(y,m={}){const E=Ze(w,y,m.detached,()=>_()),_=i.run(()=>He(()=>t.state.value[e],k=>{(m.flush==="sync"?f:u)&&y({storeId:e,type:re.direct,events:h},k)},J({},l,m)));return E},$dispose:P},I=Yt(S);t._s.set(e,I);const p=(t._a&&t._a.runWithContext||dn)(()=>t._e.run(()=>(i=At()).run(()=>s({action:c}))));for(const y in p){const m=p[y];if(ue(m)&&!gn(m)||Tt(m))o||(d&&hn(m)&&(ue(m)?m.value=d[y]:je(m,d[y])),t.state.value[e][y]=m);else if(typeof m=="function"){const E=c(m,y);p[y]=E,a.actions[y]=m}}return J(I,p),J(Qt(I),p),Object.defineProperty(I,"$state",{get:()=>t.state.value[e],set:y=>{N(m=>{J(m,y)})}}),t._p.forEach(y=>{J(I,i.run(()=>y({store:I,app:t._a,pinia:t,options:a})))}),d&&o&&r.hydrate&&r.hydrate(I.$state,d),u=!0,f=!0,I}function yn(e,s,r){let t;const n=typeof s=="function";t=n?r:s;function o(i,a){const l=en();return i=i||(l?Xt(Kt,null):null),i&&fe(i),i=Ut,i._s.has(e)||(n?Ht(e,s,t,i):mn(e,t,i)),i._s.get(e)}return o.$id=e,o}const $e=yn("auth",{state:()=>({userInfo:null,isLoading:!1,settings:null,currentView:"login",status:{message:"",type:"info",show:!1}}),getters:{},actions:{setLoading(e){this.isLoading=!!e},showMessage(e,s="info",r=null){const t=r??(s==="error"?5e3:3e3);this.status={message:e,type:s,show:!0},t>0&&setTimeout(()=>{this.status.show=!1},t)},async setSessionCookie(e){if(!e?.session_token)throw console.error("setSessionCookie called with missing session_token:",e),new Error("Authentication response missing session_token");return await Q("/auth/api/set-session",{method:"POST",headers:{Authorization:`Bearer ${e.session_token}`}})},async register(){this.isLoading=!0;try{const e=await on();return await this.setSessionCookie(e),await this.loadUserInfo(),this.selectView(),e}finally{this.isLoading=!1}},async authenticate(){this.isLoading=!0;try{const e=await nn();return await this.setSessionCookie(e),await this.loadUserInfo(),this.selectView(),e}finally{this.isLoading=!1}},selectView(){this.userInfo?this.currentView="profile":this.currentView="login"},async loadSettings(){this.settings=await tn()},async loadUserInfo(){try{this.userInfo=await Q("/auth/api/user-info",{method:"POST"}),console.log("User info loaded:",this.userInfo)}catch(e){throw e.status===401||e.status===403?console.log("Authentication required:",e.message):this.showMessage(e.message||"Failed to load user info","error",5e3),e}},async deleteCredential(e){await Q(`/auth/api/user/credential/${e}`,{method:"DELETE"}),await this.loadUserInfo()},async terminateSession(e){try{if((await Q(`/auth/api/user/session/${e}`,{method:"DELETE"}))?.current_session_terminated){sessionStorage.clear(),location.reload();return}await this.loadUserInfo(),this.showMessage("Session terminated","success",2500)}catch(s){throw console.error("Terminate session error:",s),s}},async logout(){try{await Q("/auth/api/logout",{method:"POST"}),sessionStorage.clear(),location.reload()}catch(e){console.error("Logout error:",e),e.status!==401&&e.status!==403&&this.showMessage(e.message,"error")}},async logoutEverywhere(){try{await Q("/auth/api/user/logout-all",{method:"POST"}),sessionStorage.clear(),location.reload()}catch(e){console.error("Logout-all error:",e),e.status!==401&&e.status!==403&&this.showMessage(e.message,"error")}}}}),pn={key:0,class:"global-status",style:{display:"block"}},Cr={__name:"StatusMessage",setup(e){const s=$e();return(r,t)=>U(s).status.show?(T(),R("div",pn,[v("div",{class:se(["status",U(s).status.type])},D(U(s).status.message),3)])):L("",!0)}},wn=["href"],bn={key:0,class:"sep"},vn={__name:"Breadcrumbs",props:{entries:{type:Array,default:()=>[]},showHome:{type:Boolean,default:!0},homeHref:{type:String,default:"/"}},setup(e,{expose:s}){const r=e,t=F(null),n=x(()=>r.showHome&&r.entries.length>0&&r.entries[0].href===r.homeHref?[{label:"🏠 "+r.entries[0].label,href:r.homeHref},...r.entries.slice(1)]:[...r.showHome?[{label:"🏠",href:r.homeHref}]:[],...r.entries]),o=x(()=>{const u=window.location.hash||window.location.pathname;for(let f=n.value.length-1;f>=0;f--){const w=n.value[f].href;if(w===u||w&&u.startsWith(w))return f}return n.value.length-1});function i(u){if(u.target===t.value){const f=t.value.querySelectorAll("a"),w=Math.min(o.value,f.length-1);f[w]&&f[w].focus()}}function a(u){const f=z(u);f&&(f==="left"||f==="right")&&(u.preventDefault(),Mt(t.value,u.target,f,{itemSelector:"a"}))}function l(){const u=t.value?.querySelectorAll("a");if(u?.length){const f=Math.min(o.value,u.length-1);u[f]?.focus()}}return s({focusCurrent:l}),(u,f)=>n.value.length>1?(T(),R("nav",{key:0,ref_key:"navRef",ref:t,class:"breadcrumbs","aria-label":"Breadcrumb",tabindex:"0",onFocusin:i,onKeydown:a},[v("ol",null,[(T(!0),R(oe,null,ce(n.value,(w,b)=>(T(),R("li",{key:b},[v("a",{href:w.href,tabindex:"-1"},D(w.label),9,wn),b<n.value.length-1?(T(),R("span",bn," — ")):L("",!0)]))),128))])],544)):L("",!0)}},Sr=Y(vn,[["__scopeId","data-v-6344dbb8"]]),Cn={key:0},Sn={key:1},En=["onFocusin","onKeydown"],_n={class:"item-top"},kn={class:"item-icon"},Bn=["src","alt"],In={key:1,class:"auth-emoji"},An={class:"item-title"},Rn={class:"item-actions"},Tn={key:0,class:"badge badge-current"},Mn={key:1,class:"badge badge-current"},Nn={key:2,class:"badge badge-current"},Pn=["onClick","disabled","title"],Dn={class:"item-details"},Ln={class:"credential-dates"},qn={class:"date-value"},Fn={class:"date-value"},Un={class:"date-value"},Er={__name:"CredentialList",props:{credentials:{type:Array,default:()=>[]},aaguidInfo:{type:Object,default:()=>({})},loading:{type:Boolean,default:!1},allowDelete:{type:Boolean,default:!1},hoveredCredentialUuid:{type:String,default:null},hoveredSessionCredentialUuid:{type:String,default:null},navigationDisabled:{type:Boolean,default:!1}},emits:["delete","credentialHover","navigate-out"],setup(e,{emit:s}){const r=e,t=s,n=h=>{t("credentialHover",h)},o=h=>{h.currentTarget.contains(h.relatedTarget)||t("credentialHover",null)},i=h=>{h.currentTarget.matches(":focus")||(h.currentTarget.focus(),h.stopPropagation())},a=(h,d)=>{Pt(h,()=>{r.allowDelete&&!d.is_current_session&&t("delete",d)})},l=h=>{if(r.navigationDisabled)return;const d=h.currentTarget;if(h.target===d){const g=d.querySelector(".credential-item");g&&g.focus()}},u=h=>{r.navigationDisabled||Dt(h,d=>t("navigate-out",d))},f=(h,d)=>{if(a(h,d),h.defaultPrevented||r.navigationDisabled)return;const g=z(h);if(g){h.preventDefault();const N=h.currentTarget.closest(".credential-list");Nt(N,h.currentTarget,g,{itemSelector:".credential-item"})==="boundary"&&t("navigate-out",g)}},w=h=>{const d=r.aaguidInfo?.[h.aaguid];return d?d.name:"Unknown Authenticator"},b=h=>{const d=r.aaguidInfo?.[h.aaguid];if(!d)return null;const N=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"icon_dark":"icon_light";return d[N]||null};return(h,d)=>(T(),R("div",{class:"credential-list",tabindex:"0",onFocusin:l,onKeydown:u},[e.loading?(T(),R("div",Cn,[...d[2]||(d[2]=[v("p",null,"Loading credentials...",-1)])])):e.credentials?.length?(T(!0),R(oe,{key:2},ce(e.credentials,g=>(T(),R("div",{key:g.credential,class:se(["credential-item",{"current-session":g.is_current_session&&!e.hoveredCredentialUuid&&!e.hoveredSessionCredentialUuid,"is-hovered":e.hoveredCredentialUuid===g.credential,"is-linked-session":e.hoveredSessionCredentialUuid===g.credential}]),tabindex:"-1",onMousedown:d[0]||(d[0]=de(()=>{},["prevent"])),onClickCapture:i,onFocusin:N=>n(g.credential),onFocusout:d[1]||(d[1]=N=>o(N)),onKeydown:N=>f(N,g)},[v("div",_n,[v("div",kn,[b(g)?(T(),R("img",{key:0,src:b(g),alt:w(g),class:"auth-icon",width:"32",height:"32"},null,8,Bn)):(T(),R("span",In,"🔑"))]),v("h4",An,D(w(g)),1),v("div",Rn,[g.is_current_session&&!e.hoveredCredentialUuid&&!e.hoveredSessionCredentialUuid?(T(),R("span",Tn,"Current")):e.hoveredCredentialUuid===g.credential?(T(),R("span",Mn,"Selected")):e.hoveredSessionCredentialUuid===g.credential?(T(),R("span",Nn,"Linked")):L("",!0),e.allowDelete?(T(),R("button",{key:3,onClick:N=>h.$emit("delete",g),class:"btn-card-delete",disabled:g.is_current_session,title:g.is_current_session?"Cannot delete current session credential":"Delete passkey and terminate any linked sessions.",tabindex:"-1"},"❌",8,Pn)):L("",!0)])]),v("div",Dn,[v("div",Ln,[d[4]||(d[4]=v("span",{class:"date-label"},"Created:",-1)),v("span",qn,D(U(G)(g.created_at)),1),d[5]||(d[5]=v("span",{class:"date-label"},"Last used:",-1)),v("span",Fn,D(U(G)(g.last_used)),1),d[6]||(d[6]=v("span",{class:"date-label"},"Last verified:",-1)),v("span",Un,D(U(G)(g.last_verified)),1)])])],42,En))),128)):(T(),R("div",Sn,[...d[3]||(d[3]=[v("p",null,"No passkeys found.",-1)])]))],32))}},Kn={class:"user-name-heading"},Vn={class:"user-name-row"},Hn=["title"],On={key:0,class:"org-role-sub"},jn={key:0,class:"org-line"},zn={key:1,class:"role-line"},xn={class:"user-details"},$n={class:"date-value"},Jn={class:"date-value"},Yn={class:"date-value"},Qn={key:1,class:"user-info-extra"},Gn={__name:"UserBasicInfo",props:{name:{type:String,required:!0},visits:{type:[Number,String],default:0},createdAt:{type:[String,Number,Date],default:null},lastSeen:{type:[String,Number,Date],default:null},updateEndpoint:{type:String,default:null},canEdit:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},orgDisplayName:{type:String,default:""},roleName:{type:String,default:""}},emits:["saved","editName"],setup(e,{emit:s}){const r=e,t=s;$e();const n=x(()=>!!r.name);return(o,i)=>n.value?(T(),R("div",{key:0,class:se(["user-info",{"has-extra":o.$slots.default}])},[v("h3",Kn,[i[1]||(i[1]=v("span",{class:"icon"},"👤",-1)),v("span",Vn,[v("span",{class:"display-name",title:e.name},D(e.name),9,Hn),e.canEdit&&e.updateEndpoint?(T(),R("button",{key:0,class:"mini-btn",onClick:i[0]||(i[0]=a=>t("editName")),title:"Edit name"},"✏️")):L("",!0)])]),e.orgDisplayName||e.roleName?(T(),R("div",On,[e.orgDisplayName?(T(),R("div",jn,D(e.orgDisplayName),1)):L("",!0),e.roleName?(T(),R("div",zn,D(e.roleName),1)):L("",!0)])):L("",!0),v("div",xn,[i[2]||(i[2]=v("span",{class:"date-label"},[v("strong",null,"Visits:")],-1)),v("span",$n,D(e.visits||0),1),i[3]||(i[3]=v("span",{class:"date-label"},[v("strong",null,"Registered:")],-1)),v("span",Jn,D(U(G)(e.createdAt)),1),i[4]||(i[4]=v("span",{class:"date-label"},[v("strong",null,"Last seen:")],-1)),v("span",Yn,D(U(G)(e.lastSeen)),1)]),o.$slots.default?(T(),R("div",Qn,[Lt(o.$slots,"default",{},void 0)])):L("",!0)],2)):L("",!0)}},_r=Y(Gn,[["__scopeId","data-v-ce373d6c"]]),Wn={__name:"Modal",props:{focusFallback:{type:[HTMLElement,Object],default:null},focusIndex:{type:Number,default:-1},focusSiblingSelector:{type:String,default:""}},emits:["close"],setup(e){const s=e,r=F(null),t=F(null),n=()=>{const i=t.value;if(!i)return;if(document.body.contains(i)&&!i.disabled){i.focus();return}if(s.focusSiblingSelector&&s.focusIndex>=0){const l=[s.focusFallback?.$el||s.focusFallback,i.closest("[data-nav-group]"),i.parentElement?.closest("section"),document.querySelector(".view-root")].filter(Boolean);for(const u of l){if(!u)continue;const f=u.querySelectorAll(s.focusSiblingSelector);if(f.length>0){const w=Math.min(s.focusIndex,f.length-1),b=f[w];if(b&&!b.disabled){b.focus();return}}}}const a=s.focusFallback?.$el||s.focusFallback;if(a&&document.body.contains(a)){const l=a.querySelector?.('button:not([disabled]), a, [tabindex="0"]')||a;if(l?.focus){l.focus();return}}},o=i=>{const a=z(i);if(!a)return;const l=i.target,u=l.closest(".modal-actions");if(u&&(a==="left"||a==="right"))i.preventDefault(),Mt(u,l,a,{itemSelector:"button"});else if(a==="up"&&u){i.preventDefault();const w=(u.closest("form")||u.closest(".modal-form"))?.querySelectorAll("input, textarea, select, button:not(.modal-actions button)");w&&w.length>0&&w[w.length-1].focus()}else if(a==="down"&&!u){const f=l.closest("form")||l.closest(".modal-form");if(f){i.preventDefault();const w=f.querySelector(".modal-actions");w&&sn(w,{primarySelector:".btn-primary",itemSelector:"button"})}}};return qt(()=>{t.value=document.activeElement,ze(()=>{if(r.value){r.value.showModal();const i=r.value.querySelector(".modal-actions .btn-primary");i&&i.setAttribute("data-nav-primary",""),rn(r.value)}})}),Ft(()=>{n()}),(i,a)=>(T(),R("dialog",{ref_key:"dialog",ref:r,onClose:a[0]||(a[0]=l=>i.$emit("close")),onKeydown:o},[Lt(i.$slots,"default",{},void 0)],544))}},kr=Y(Wn,[["__scopeId","data-v-2ebcbb0a"]]),Zn={class:"name-edit-form"},Xn=["for"],eo=["id","type","placeholder","disabled"],to={key:0,class:"error small"},no=["disabled"],oo=["disabled"],ro={__name:"NameEditForm",props:{modelValue:{type:String,default:""},label:{type:String,default:"Name"},placeholder:{type:String,default:""},submitText:{type:String,default:"Save"},cancelText:{type:String,default:"Cancel"},busy:{type:Boolean,default:!1},error:{type:String,default:""},autoFocus:{type:Boolean,default:!0},autoSelect:{type:Boolean,default:!0},inputId:{type:String,default:null},inputType:{type:String,default:"text"}},emits:["update:modelValue","cancel"],setup(e,{emit:s}){const r=e,t=s,n=F(null),o=`name-edit-${Math.random().toString(36).slice(2,10)}`,i=x({get:()=>r.modelValue,set:f=>t("update:modelValue",f)}),a=x(()=>r.inputId||o),l=f=>{if(z(f)==="up"){f.preventDefault(),n.value?.focus();return}};function u(){t("cancel")}return(f,w)=>(T(),R("div",Zn,[v("label",{for:a.value},[xe(D(e.label)+" ",1),an(v("input",{id:a.value,ref_key:"inputRef",ref:n,type:e.inputType,placeholder:e.placeholder,"onUpdate:modelValue":w[0]||(w[0]=b=>i.value=b),disabled:e.busy,required:""},null,8,eo),[[ln,i.value]])],8,Xn),e.error?(T(),R("div",to,D(e.error),1)):L("",!0),v("div",{class:"modal-actions",onKeydown:l},[v("button",{type:"button",class:"btn-secondary",onClick:u,disabled:e.busy},D(e.cancelText),9,no),v("button",{type:"submit",class:"btn-primary",disabled:e.busy,"data-nav-primary":""},D(e.submitText),9,oo)],32)]))}},Br=Y(ro,[["__scopeId","data-v-b73321cf"]]),so={class:"section-block","data-component":"session-list-section"},io={class:"section-header"},ao={class:"section-description"},lo={class:"section-body"},uo=["onKeydown"],co=["href"],fo={class:"session-list"},ho=["onFocusin","onKeydown"],go={class:"item-top"},mo={class:"item-title"},yo={class:"item-actions"},po={key:0,class:"badge badge-current"},wo={key:1,class:"badge badge-current"},bo={key:2,class:"badge badge-current"},vo={key:3,class:"badge"},Co=["onClick","disabled","title"],So={class:"item-details"},Eo={class:"session-dates"},_o={class:"date-label"},ko=["onClick"],Bo={key:1,class:"empty-state"},Ir={__name:"SessionList",props:{sessions:{type:Array,default:()=>[]},emptyMessage:{type:String,default:"You currently have no other active sessions."},sectionDescription:{type:String,default:"Review where you're signed in and end any sessions you no longer recognize."},terminatingSessions:{type:Object,default:()=>({})},hoveredCredentialUuid:{type:String,default:null},navigationDisabled:{type:Boolean,default:!1}},emits:["terminate","sessionHover","navigate-out"],setup(e,{emit:s}){const r=e,t=s,n=$e(),o=F(null),i=F(null),a=c=>{i.value=c,o.value=c.ip||null,t("sessionHover",c)},l=c=>{c.currentTarget.contains(c.relatedTarget)||(i.value=null,o.value=null,t("sessionHover",null))},u=c=>{c.currentTarget.matches(":focus")||(c.currentTarget.focus(),c.stopPropagation())},f=c=>!!r.terminatingSessions[c],w=(c,S)=>{const I=c.currentTarget,p=I.querySelector(".session-list")?.querySelectorAll(".session-item"),y=Array.from(document.querySelectorAll(".session-group")),m=y.indexOf(I);if(c.key==="Enter"&&c.target===I){S&&I.querySelector("a")?.click();return}if(r.navigationDisabled)return;const E=z(c);if(["down","right"].includes(E)&&c.target===I){c.preventDefault(),p?.[0]?.focus();return}if(["up","left"].includes(E)&&c.target===I){c.preventDefault(),m>0?y[m-1].focus():t("navigate-out","up");return}Dt(c,_=>t("navigate-out",_))},b=(c,S)=>{if(Pt(c,()=>{f(S.id)||t("terminate",S)}),c.defaultPrevented||r.navigationDisabled)return;const I=z(c);if(I){c.preventDefault();const C=c.currentTarget.closest(".session-group"),p=C.querySelector(".session-list");if(Nt(p,c.currentTarget,I,{itemSelector:".session-item"})==="boundary"){if(I==="left"||I==="up")C?.focus();else if(I==="down"||I==="right"){const m=Array.from(document.querySelectorAll(".session-group")),E=m.indexOf(C);E<m.length-1?m[E+1].focus():t("navigate-out","down")}}}c.key==="Escape"&&(c.preventDefault(),c.currentTarget.closest(".session-group")?.focus())},h=c=>`${c.includes(":")?"http":"https"}://${c}`,d=async c=>{if(c)try{await navigator.clipboard.writeText(c),n.showMessage("Full IP copied to clipboard!","success",2e3)}catch(S){console.error("Failed to copy IP:",S),n.showMessage("Failed to copy IP","error",3e3)}},g=c=>ae(c)??c,N=x(()=>{if(o.value)return ae(o.value);const c=r.sessions.find(S=>S.is_current);return c?ae(c.ip):null}),A=c=>N.value&&ae(c)===N.value,P=x(()=>{const c={};for(const p of r.sessions){const y=p.host||"";c[y]||(c[y]={sessions:[],isCurrentSite:!1}),c[y].sessions.push(p),p.is_current_host&&(c[y].isCurrentSite=!0)}for(const p in c)c[p].sessions.sort((y,m)=>new Date(m.last_renewed)-new Date(y.last_renewed));const S=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),I=Object.keys(c).sort(S.compare),C={};for(const p of I)C[p]=c[p];return C});return(c,S)=>(T(),R("section",so,[v("div",io,[S[2]||(S[2]=v("h2",null,"Active Sessions",-1)),v("p",ao,D(e.sectionDescription),1)]),v("div",lo,[v("div",null,[Array.isArray(e.sessions)&&e.sessions.length?(T(!0),R(oe,{key:0},ce(P.value,(I,C)=>(T(),R("div",{key:C,class:"session-group",tabindex:"0",onKeydown:p=>w(p,C)},[v("span",{class:se(["session-group-host",{"is-current-site":I.isCurrentSite}])},[S[3]||(S[3]=v("span",{class:"session-group-icon"},"🌐",-1)),C?(T(),R("a",{key:0,href:h(C),tabindex:"-1",target:"_blank",rel:"noopener noreferrer"},D(C),9,co)):(T(),R(oe,{key:1},[xe("Unbound host")],64))],2),v("div",fo,[(T(!0),R(oe,null,ce(I.sessions,p=>(T(),R("div",{key:p.id,class:se(["session-item",{"is-current":p.is_current&&!o.value&&!e.hoveredCredentialUuid,"is-hovered":i.value?.id===p.id,"is-linked-credential":e.hoveredCredentialUuid===p.credential}]),tabindex:"-1",onMousedown:S[0]||(S[0]=de(()=>{},["prevent"])),onClickCapture:u,onFocusin:y=>a(p),onFocusout:S[1]||(S[1]=y=>l(y)),onKeydown:y=>b(y,p)},[v("div",go,[v("h4",mo,D(p.user_agent),1),v("div",yo,[p.is_current&&!o.value&&!e.hoveredCredentialUuid?(T(),R("span",po,"Current")):i.value?.id===p.id?(T(),R("span",wo,"Selected")):e.hoveredCredentialUuid===p.credential?(T(),R("span",bo,"Linked")):!e.hoveredCredentialUuid&&A(p.ip)?(T(),R("span",vo,"Same IP")):L("",!0),v("button",{onClick:y=>c.$emit("terminate",p),class:"btn-card-delete",disabled:f(p.id),title:f(p.id)?"Terminating...":"Terminate session",tabindex:"-1"},"❌",8,Co)])]),v("div",So,[v("div",Eo,[v("span",_o,D(U(G)(p.last_renewed)),1),v("span",{class:"date-value",onClick:y=>d(p.ip),title:"Click to copy full IP"},D(g(p.ip)),9,ko)])])],42,ho))),128))])],40,uo))),128)):(T(),R("div",Bo,[v("p",null,D(e.emptyMessage),1)]))])])]))}};function Io(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var te={},we,et;function Ao(){return et||(et=1,we=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),we}var be={},$={},tt;function W(){if(tt)return $;tt=1;let e;const s=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return $.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17},$.getSymbolTotalCodewords=function(t){return s[t]},$.getBCHDigit=function(r){let t=0;for(;r!==0;)t++,r>>>=1;return t},$.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');e=t},$.isKanjiModeEnabled=function(){return typeof e<"u"},$.toSJIS=function(t){return e(t)},$}var ve={},nt;function Je(){return nt||(nt=1,(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function s(r){if(typeof r!="string")throw new Error("Param is not a string");switch(r.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+r)}}e.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4},e.from=function(t,n){if(e.isValid(t))return t;try{return s(t)}catch{return n}}})(ve)),ve}var Ce,ot;function Ro(){if(ot)return Ce;ot=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(s){const r=Math.floor(s/8);return(this.buffer[r]>>>7-s%8&1)===1},put:function(s,r){for(let t=0;t<r;t++)this.putBit((s>>>r-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(s){const r=Math.floor(this.length/8);this.buffer.length<=r&&this.buffer.push(0),s&&(this.buffer[r]|=128>>>this.length%8),this.length++}},Ce=e,Ce}var Se,rt;function To(){if(rt)return Se;rt=1;function e(s){if(!s||s<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=s,this.data=new Uint8Array(s*s),this.reservedBit=new Uint8Array(s*s)}return e.prototype.set=function(s,r,t,n){const o=s*this.size+r;this.data[o]=t,n&&(this.reservedBit[o]=!0)},e.prototype.get=function(s,r){return this.data[s*this.size+r]},e.prototype.xor=function(s,r,t){this.data[s*this.size+r]^=t},e.prototype.isReserved=function(s,r){return this.reservedBit[s*this.size+r]},Se=e,Se}var Ee={},st;function Mo(){return st||(st=1,(function(e){const s=W().getSymbolSize;e.getRowColCoords=function(t){if(t===1)return[];const n=Math.floor(t/7)+2,o=s(t),i=o===145?26:Math.ceil((o-13)/(2*n-2))*2,a=[o-7];for(let l=1;l<n-1;l++)a[l]=a[l-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){const n=[],o=e.getRowColCoords(t),i=o.length;for(let a=0;a<i;a++)for(let l=0;l<i;l++)a===0&&l===0||a===0&&l===i-1||a===i-1&&l===0||n.push([o[a],o[l]]);return n}})(Ee)),Ee}var _e={},it;function No(){if(it)return _e;it=1;const e=W().getSymbolSize,s=7;return _e.getPositions=function(t){const n=e(t);return[[0,0],[n-s,0],[0,n-s]]},_e}var ke={},at;function Po(){return at||(at=1,(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const s={N1:3,N2:3,N3:40,N4:10};e.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},e.from=function(n){return e.isValid(n)?parseInt(n,10):void 0},e.getPenaltyN1=function(n){const o=n.size;let i=0,a=0,l=0,u=null,f=null;for(let w=0;w<o;w++){a=l=0,u=f=null;for(let b=0;b<o;b++){let h=n.get(w,b);h===u?a++:(a>=5&&(i+=s.N1+(a-5)),u=h,a=1),h=n.get(b,w),h===f?l++:(l>=5&&(i+=s.N1+(l-5)),f=h,l=1)}a>=5&&(i+=s.N1+(a-5)),l>=5&&(i+=s.N1+(l-5))}return i},e.getPenaltyN2=function(n){const o=n.size;let i=0;for(let a=0;a<o-1;a++)for(let l=0;l<o-1;l++){const u=n.get(a,l)+n.get(a,l+1)+n.get(a+1,l)+n.get(a+1,l+1);(u===4||u===0)&&i++}return i*s.N2},e.getPenaltyN3=function(n){const o=n.size;let i=0,a=0,l=0;for(let u=0;u<o;u++){a=l=0;for(let f=0;f<o;f++)a=a<<1&2047|n.get(u,f),f>=10&&(a===1488||a===93)&&i++,l=l<<1&2047|n.get(f,u),f>=10&&(l===1488||l===93)&&i++}return i*s.N3},e.getPenaltyN4=function(n){let o=0;const i=n.data.length;for(let l=0;l<i;l++)o+=n.data[l];return Math.abs(Math.ceil(o*100/i/5)-10)*s.N4};function r(t,n,o){switch(t){case e.Patterns.PATTERN000:return(n+o)%2===0;case e.Patterns.PATTERN001:return n%2===0;case e.Patterns.PATTERN010:return o%3===0;case e.Patterns.PATTERN011:return(n+o)%3===0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(o/3))%2===0;case e.Patterns.PATTERN101:return n*o%2+n*o%3===0;case e.Patterns.PATTERN110:return(n*o%2+n*o%3)%2===0;case e.Patterns.PATTERN111:return(n*o%3+(n+o)%2)%2===0;default:throw new Error("bad maskPattern:"+t)}}e.applyMask=function(n,o){const i=o.size;for(let a=0;a<i;a++)for(let l=0;l<i;l++)o.isReserved(l,a)||o.xor(l,a,r(n,l,a))},e.getBestMask=function(n,o){const i=Object.keys(e.Patterns).length;let a=0,l=1/0;for(let u=0;u<i;u++){o(u),e.applyMask(u,n);const f=e.getPenaltyN1(n)+e.getPenaltyN2(n)+e.getPenaltyN3(n)+e.getPenaltyN4(n);e.applyMask(u,n),f<l&&(l=f,a=u)}return a}})(ke)),ke}var le={},lt;function Ot(){if(lt)return le;lt=1;const e=Je(),s=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return le.getBlocksCount=function(n,o){switch(o){case e.L:return s[(n-1)*4+0];case e.M:return s[(n-1)*4+1];case e.Q:return s[(n-1)*4+2];case e.H:return s[(n-1)*4+3];default:return}},le.getTotalCodewordsCount=function(n,o){switch(o){case e.L:return r[(n-1)*4+0];case e.M:return r[(n-1)*4+1];case e.Q:return r[(n-1)*4+2];case e.H:return r[(n-1)*4+3];default:return}},le}var Be={},ne={},ut;function Do(){if(ut)return ne;ut=1;const e=new Uint8Array(512),s=new Uint8Array(256);return(function(){let t=1;for(let n=0;n<255;n++)e[n]=t,s[t]=n,t<<=1,t&256&&(t^=285);for(let n=255;n<512;n++)e[n]=e[n-255]})(),ne.log=function(t){if(t<1)throw new Error("log("+t+")");return s[t]},ne.exp=function(t){return e[t]},ne.mul=function(t,n){return t===0||n===0?0:e[s[t]+s[n]]},ne}var ct;function Lo(){return ct||(ct=1,(function(e){const s=Do();e.mul=function(t,n){const o=new Uint8Array(t.length+n.length-1);for(let i=0;i<t.length;i++)for(let a=0;a<n.length;a++)o[i+a]^=s.mul(t[i],n[a]);return o},e.mod=function(t,n){let o=new Uint8Array(t);for(;o.length-n.length>=0;){const i=o[0];for(let l=0;l<n.length;l++)o[l]^=s.mul(n[l],i);let a=0;for(;a<o.length&&o[a]===0;)a++;o=o.slice(a)}return o},e.generateECPolynomial=function(t){let n=new Uint8Array([1]);for(let o=0;o<t;o++)n=e.mul(n,new Uint8Array([1,s.exp(o)]));return n}})(Be)),Be}var Ie,dt;function qo(){if(dt)return Ie;dt=1;const e=Lo();function s(r){this.genPoly=void 0,this.degree=r,this.degree&&this.initialize(this.degree)}return s.prototype.initialize=function(t){this.degree=t,this.genPoly=e.generateECPolynomial(this.degree)},s.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const n=new Uint8Array(t.length+this.degree);n.set(t);const o=e.mod(n,this.genPoly),i=this.degree-o.length;if(i>0){const a=new Uint8Array(this.degree);return a.set(o,i),a}return o},Ie=s,Ie}var Ae={},Re={},Te={},ft;function jt(){return ft||(ft=1,Te.isValid=function(s){return!isNaN(s)&&s>=1&&s<=40}),Te}var H={},ht;function zt(){if(ht)return H;ht=1;const e="[0-9]+",s="[A-Z $%*+\\-./:]+";let r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";r=r.replace(/u/g,"\\u");const t="(?:(?![A-Z0-9 $%*+\\-./:]|"+r+`)(?:.|[\r
|
|
2
|
-
]))+`;H.KANJI=new RegExp(r,"g"),H.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),H.BYTE=new RegExp(t,"g"),H.NUMERIC=new RegExp(e,"g"),H.ALPHANUMERIC=new RegExp(s,"g");const n=new RegExp("^"+r+"$"),o=new RegExp("^"+e+"$"),i=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return H.testKanji=function(l){return n.test(l)},H.testNumeric=function(l){return o.test(l)},H.testAlphanumeric=function(l){return i.test(l)},H}var gt;function Z(){return gt||(gt=1,(function(e){const s=jt(),r=zt();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,i){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!s.isValid(i))throw new Error("Invalid version: "+i);return i>=1&&i<10?o.ccBits[0]:i<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return r.testNumeric(o)?e.NUMERIC:r.testAlphanumeric(o)?e.ALPHANUMERIC:r.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+n)}}e.from=function(o,i){if(e.isValid(o))return o;try{return t(o)}catch{return i}}})(Re)),Re}var mt;function Fo(){return mt||(mt=1,(function(e){const s=W(),r=Ot(),t=Je(),n=Z(),o=jt(),i=7973,a=s.getBCHDigit(i);function l(b,h,d){for(let g=1;g<=40;g++)if(h<=e.getCapacity(g,d,b))return g}function u(b,h){return n.getCharCountIndicator(b,h)+4}function f(b,h){let d=0;return b.forEach(function(g){const N=u(g.mode,h);d+=N+g.getBitsLength()}),d}function w(b,h){for(let d=1;d<=40;d++)if(f(b,d)<=e.getCapacity(d,h,n.MIXED))return d}e.from=function(h,d){return o.isValid(h)?parseInt(h,10):d},e.getCapacity=function(h,d,g){if(!o.isValid(h))throw new Error("Invalid QR Code version");typeof g>"u"&&(g=n.BYTE);const N=s.getSymbolTotalCodewords(h),A=r.getTotalCodewordsCount(h,d),P=(N-A)*8;if(g===n.MIXED)return P;const c=P-u(g,h);switch(g){case n.NUMERIC:return Math.floor(c/10*3);case n.ALPHANUMERIC:return Math.floor(c/11*2);case n.KANJI:return Math.floor(c/13);case n.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(h,d){let g;const N=t.from(d,t.M);if(Array.isArray(h)){if(h.length>1)return w(h,N);if(h.length===0)return 1;g=h[0]}else g=h;return l(g.mode,g.getLength(),N)},e.getEncodedBits=function(h){if(!o.isValid(h)||h<7)throw new Error("Invalid QR Code version");let d=h<<12;for(;s.getBCHDigit(d)-a>=0;)d^=i<<s.getBCHDigit(d)-a;return h<<12|d}})(Ae)),Ae}var Me={},yt;function Uo(){if(yt)return Me;yt=1;const e=W(),s=1335,r=21522,t=e.getBCHDigit(s);return Me.getEncodedBits=function(o,i){const a=o.bit<<3|i;let l=a<<10;for(;e.getBCHDigit(l)-t>=0;)l^=s<<e.getBCHDigit(l)-t;return(a<<10|l)^r},Me}var Ne={},Pe,pt;function Ko(){if(pt)return Pe;pt=1;const e=Z();function s(r){this.mode=e.NUMERIC,this.data=r.toString()}return s.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){let n,o,i;for(n=0;n+3<=this.data.length;n+=3)o=this.data.substr(n,3),i=parseInt(o,10),t.put(i,10);const a=this.data.length-n;a>0&&(o=this.data.substr(n),i=parseInt(o,10),t.put(i,a*3+1))},Pe=s,Pe}var De,wt;function Vo(){if(wt)return De;wt=1;const e=Z(),s=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function r(t){this.mode=e.ALPHANUMERIC,this.data=t}return r.getBitsLength=function(n){return 11*Math.floor(n/2)+6*(n%2)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(n){let o;for(o=0;o+2<=this.data.length;o+=2){let i=s.indexOf(this.data[o])*45;i+=s.indexOf(this.data[o+1]),n.put(i,11)}this.data.length%2&&n.put(s.indexOf(this.data[o]),6)},De=r,De}var Le,bt;function Ho(){if(bt)return Le;bt=1;const e=Z();function s(r){this.mode=e.BYTE,typeof r=="string"?this.data=new TextEncoder().encode(r):this.data=new Uint8Array(r)}return s.getBitsLength=function(t){return t*8},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(r){for(let t=0,n=this.data.length;t<n;t++)r.put(this.data[t],8)},Le=s,Le}var qe,vt;function Oo(){if(vt)return qe;vt=1;const e=Z(),s=W();function r(t){this.mode=e.KANJI,this.data=t}return r.getBitsLength=function(n){return n*13},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){let n;for(n=0;n<this.data.length;n++){let o=s.toSJIS(this.data[n]);if(o>=33088&&o<=40956)o-=33088;else if(o>=57408&&o<=60351)o-=49472;else throw new Error("Invalid SJIS character: "+this.data[n]+`
|
|
3
|
-
Make sure your charset is UTF-8`);o=(o>>>8&255)*192+(o&255),t.put(o,13)}},qe=r,qe}var Fe={exports:{}},Ct;function jo(){return Ct||(Ct=1,(function(e){var s={single_source_shortest_paths:function(r,t,n){var o={},i={};i[t]=0;var a=s.PriorityQueue.make();a.push(t,0);for(var l,u,f,w,b,h,d,g,N;!a.empty();){l=a.pop(),u=l.value,w=l.cost,b=r[u]||{};for(f in b)b.hasOwnProperty(f)&&(h=b[f],d=w+h,g=i[f],N=typeof i[f]>"u",(N||g>d)&&(i[f]=d,a.push(f,d),o[f]=u))}if(typeof n<"u"&&typeof i[n]>"u"){var A=["Could not find a path from ",t," to ",n,"."].join("");throw new Error(A)}return o},extract_shortest_path_from_predecessor_list:function(r,t){for(var n=[],o=t;o;)n.push(o),r[o],o=r[o];return n.reverse(),n},find_path:function(r,t,n){var o=s.single_source_shortest_paths(r,t,n);return s.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(r){var t=s.PriorityQueue,n={},o;r=r||{};for(o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);return n.queue=[],n.sorter=r.sorter||t.default_sorter,n},default_sorter:function(r,t){return r.cost-t.cost},push:function(r,t){var n={value:r,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=s})(Fe)),Fe.exports}var St;function zo(){return St||(St=1,(function(e){const s=Z(),r=Ko(),t=Vo(),n=Ho(),o=Oo(),i=zt(),a=W(),l=jo();function u(A){return unescape(encodeURIComponent(A)).length}function f(A,P,c){const S=[];let I;for(;(I=A.exec(c))!==null;)S.push({data:I[0],index:I.index,mode:P,length:I[0].length});return S}function w(A){const P=f(i.NUMERIC,s.NUMERIC,A),c=f(i.ALPHANUMERIC,s.ALPHANUMERIC,A);let S,I;return a.isKanjiModeEnabled()?(S=f(i.BYTE,s.BYTE,A),I=f(i.KANJI,s.KANJI,A)):(S=f(i.BYTE_KANJI,s.BYTE,A),I=[]),P.concat(c,S,I).sort(function(p,y){return p.index-y.index}).map(function(p){return{data:p.data,mode:p.mode,length:p.length}})}function b(A,P){switch(P){case s.NUMERIC:return r.getBitsLength(A);case s.ALPHANUMERIC:return t.getBitsLength(A);case s.KANJI:return o.getBitsLength(A);case s.BYTE:return n.getBitsLength(A)}}function h(A){return A.reduce(function(P,c){const S=P.length-1>=0?P[P.length-1]:null;return S&&S.mode===c.mode?(P[P.length-1].data+=c.data,P):(P.push(c),P)},[])}function d(A){const P=[];for(let c=0;c<A.length;c++){const S=A[c];switch(S.mode){case s.NUMERIC:P.push([S,{data:S.data,mode:s.ALPHANUMERIC,length:S.length},{data:S.data,mode:s.BYTE,length:S.length}]);break;case s.ALPHANUMERIC:P.push([S,{data:S.data,mode:s.BYTE,length:S.length}]);break;case s.KANJI:P.push([S,{data:S.data,mode:s.BYTE,length:u(S.data)}]);break;case s.BYTE:P.push([{data:S.data,mode:s.BYTE,length:u(S.data)}])}}return P}function g(A,P){const c={},S={start:{}};let I=["start"];for(let C=0;C<A.length;C++){const p=A[C],y=[];for(let m=0;m<p.length;m++){const E=p[m],_=""+C+m;y.push(_),c[_]={node:E,lastCount:0},S[_]={};for(let k=0;k<I.length;k++){const B=I[k];c[B]&&c[B].node.mode===E.mode?(S[B][_]=b(c[B].lastCount+E.length,E.mode)-b(c[B].lastCount,E.mode),c[B].lastCount+=E.length):(c[B]&&(c[B].lastCount=E.length),S[B][_]=b(E.length,E.mode)+4+s.getCharCountIndicator(E.mode,P))}}I=y}for(let C=0;C<I.length;C++)S[I[C]].end=0;return{map:S,table:c}}function N(A,P){let c;const S=s.getBestModeForData(A);if(c=s.from(P,S),c!==s.BYTE&&c.bit<S.bit)throw new Error('"'+A+'" cannot be encoded with mode '+s.toString(c)+`.
|
|
4
|
-
Suggested mode is: `+s.toString(S));switch(c===s.KANJI&&!a.isKanjiModeEnabled()&&(c=s.BYTE),c){case s.NUMERIC:return new r(A);case s.ALPHANUMERIC:return new t(A);case s.KANJI:return new o(A);case s.BYTE:return new n(A)}}e.fromArray=function(P){return P.reduce(function(c,S){return typeof S=="string"?c.push(N(S,null)):S.data&&c.push(N(S.data,S.mode)),c},[])},e.fromString=function(P,c){const S=w(P,a.isKanjiModeEnabled()),I=d(S),C=g(I,c),p=l.find_path(C.map,"start","end"),y=[];for(let m=1;m<p.length-1;m++)y.push(C.table[p[m]].node);return e.fromArray(h(y))},e.rawSplit=function(P){return e.fromArray(w(P,a.isKanjiModeEnabled()))}})(Ne)),Ne}var Et;function xo(){if(Et)return be;Et=1;const e=W(),s=Je(),r=Ro(),t=To(),n=Mo(),o=No(),i=Po(),a=Ot(),l=qo(),u=Fo(),f=Uo(),w=Z(),b=zo();function h(C,p){const y=C.size,m=o.getPositions(p);for(let E=0;E<m.length;E++){const _=m[E][0],k=m[E][1];for(let B=-1;B<=7;B++)if(!(_+B<=-1||y<=_+B))for(let M=-1;M<=7;M++)k+M<=-1||y<=k+M||(B>=0&&B<=6&&(M===0||M===6)||M>=0&&M<=6&&(B===0||B===6)||B>=2&&B<=4&&M>=2&&M<=4?C.set(_+B,k+M,!0,!0):C.set(_+B,k+M,!1,!0))}}function d(C){const p=C.size;for(let y=8;y<p-8;y++){const m=y%2===0;C.set(y,6,m,!0),C.set(6,y,m,!0)}}function g(C,p){const y=n.getPositions(p);for(let m=0;m<y.length;m++){const E=y[m][0],_=y[m][1];for(let k=-2;k<=2;k++)for(let B=-2;B<=2;B++)k===-2||k===2||B===-2||B===2||k===0&&B===0?C.set(E+k,_+B,!0,!0):C.set(E+k,_+B,!1,!0)}}function N(C,p){const y=C.size,m=u.getEncodedBits(p);let E,_,k;for(let B=0;B<18;B++)E=Math.floor(B/3),_=B%3+y-8-3,k=(m>>B&1)===1,C.set(E,_,k,!0),C.set(_,E,k,!0)}function A(C,p,y){const m=C.size,E=f.getEncodedBits(p,y);let _,k;for(_=0;_<15;_++)k=(E>>_&1)===1,_<6?C.set(_,8,k,!0):_<8?C.set(_+1,8,k,!0):C.set(m-15+_,8,k,!0),_<8?C.set(8,m-_-1,k,!0):_<9?C.set(8,15-_-1+1,k,!0):C.set(8,15-_-1,k,!0);C.set(m-8,8,1,!0)}function P(C,p){const y=C.size;let m=-1,E=y-1,_=7,k=0;for(let B=y-1;B>0;B-=2)for(B===6&&B--;;){for(let M=0;M<2;M++)if(!C.isReserved(E,B-M)){let V=!1;k<p.length&&(V=(p[k]>>>_&1)===1),C.set(E,B-M,V),_--,_===-1&&(k++,_=7)}if(E+=m,E<0||y<=E){E-=m,m=-m;break}}}function c(C,p,y){const m=new r;y.forEach(function(M){m.put(M.mode.bit,4),m.put(M.getLength(),w.getCharCountIndicator(M.mode,C)),M.write(m)});const E=e.getSymbolTotalCodewords(C),_=a.getTotalCodewordsCount(C,p),k=(E-_)*8;for(m.getLengthInBits()+4<=k&&m.put(0,4);m.getLengthInBits()%8!==0;)m.putBit(0);const B=(k-m.getLengthInBits())/8;for(let M=0;M<B;M++)m.put(M%2?17:236,8);return S(m,C,p)}function S(C,p,y){const m=e.getSymbolTotalCodewords(p),E=a.getTotalCodewordsCount(p,y),_=m-E,k=a.getBlocksCount(p,y),B=m%k,M=k-B,V=Math.floor(m/k),K=Math.floor(_/k),q=K+1,Ye=V-K,$t=new l(Ye);let he=0;const ie=new Array(k),Qe=new Array(k);let ge=0;const Jt=new Uint8Array(C.buffer);for(let X=0;X<k;X++){const ye=X<M?K:q;ie[X]=Jt.slice(he,he+ye),Qe[X]=$t.encode(ie[X]),he+=ye,ge=Math.max(ge,ye)}const me=new Uint8Array(m);let Ge=0,O,j;for(O=0;O<ge;O++)for(j=0;j<k;j++)O<ie[j].length&&(me[Ge++]=ie[j][O]);for(O=0;O<Ye;O++)for(j=0;j<k;j++)me[Ge++]=Qe[j][O];return me}function I(C,p,y,m){let E;if(Array.isArray(C))E=b.fromArray(C);else if(typeof C=="string"){let V=p;if(!V){const K=b.rawSplit(C);V=u.getBestVersionForData(K,y)}E=b.fromString(C,V||40)}else throw new Error("Invalid data");const _=u.getBestVersionForData(E,y);if(!_)throw new Error("The amount of data is too big to be stored in a QR Code");if(!p)p=_;else if(p<_)throw new Error(`
|
|
5
|
-
The chosen QR Code version cannot contain this amount of data.
|
|
6
|
-
Minimum version required to store current data is: `+_+`.
|
|
7
|
-
`);const k=c(p,y,E),B=e.getSymbolSize(p),M=new t(B);return h(M,p),d(M),g(M,p),A(M,y,0),p>=7&&N(M,p),P(M,k),isNaN(m)&&(m=i.getBestMask(M,A.bind(null,M,y))),i.applyMask(m,M),A(M,y,m),{modules:M,version:p,errorCorrectionLevel:y,maskPattern:m,segments:E}}return be.create=function(p,y){if(typeof p>"u"||p==="")throw new Error("No input text");let m=s.M,E,_;return typeof y<"u"&&(m=s.from(y.errorCorrectionLevel,s.M),E=u.from(y.version),_=i.from(y.maskPattern),y.toSJISFunc&&e.setToSJISFunction(y.toSJISFunc)),I(p,E,m,_)},be}var Ue={},Ke={},_t;function xt(){return _t||(_t=1,(function(e){function s(r){if(typeof r=="number"&&(r=r.toString()),typeof r!="string")throw new Error("Color should be defined as hex string");let t=r.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+r);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(o){return[o,o]}))),t.length===6&&t.push("F","F");const n=parseInt(t.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:"#"+t.slice(0,6).join("")}}e.getOptions=function(t){t||(t={}),t.color||(t.color={});const n=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,o=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:o,scale:o?4:i,margin:n,color:{dark:s(t.color.dark||"#000000ff"),light:s(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},e.getScale=function(t,n){return n.width&&n.width>=t+n.margin*2?n.width/(t+n.margin*2):n.scale},e.getImageWidth=function(t,n){const o=e.getScale(t,n);return Math.floor((t+n.margin*2)*o)},e.qrToImageData=function(t,n,o){const i=n.modules.size,a=n.modules.data,l=e.getScale(i,o),u=Math.floor((i+o.margin*2)*l),f=o.margin*l,w=[o.color.light,o.color.dark];for(let b=0;b<u;b++)for(let h=0;h<u;h++){let d=(b*u+h)*4,g=o.color.light;if(b>=f&&h>=f&&b<u-f&&h<u-f){const N=Math.floor((b-f)/l),A=Math.floor((h-f)/l);g=w[a[N*i+A]?1:0]}t[d++]=g.r,t[d++]=g.g,t[d++]=g.b,t[d]=g.a}}})(Ke)),Ke}var kt;function $o(){return kt||(kt=1,(function(e){const s=xt();function r(n,o,i){n.clearRect(0,0,o.width,o.height),o.style||(o.style={}),o.height=i,o.width=i,o.style.height=i+"px",o.style.width=i+"px"}function t(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(o,i,a){let l=a,u=i;typeof l>"u"&&(!i||!i.getContext)&&(l=i,i=void 0),i||(u=t()),l=s.getOptions(l);const f=s.getImageWidth(o.modules.size,l),w=u.getContext("2d"),b=w.createImageData(f,f);return s.qrToImageData(b.data,o,l),r(w,u,f),w.putImageData(b,0,0),u},e.renderToDataURL=function(o,i,a){let l=a;typeof l>"u"&&(!i||!i.getContext)&&(l=i,i=void 0),l||(l={});const u=e.render(o,i,l),f=l.type||"image/png",w=l.rendererOpts||{};return u.toDataURL(f,w.quality)}})(Ue)),Ue}var Ve={},Bt;function Jo(){if(Bt)return Ve;Bt=1;const e=xt();function s(n,o){const i=n.a/255,a=o+'="'+n.hex+'"';return i<1?a+" "+o+'-opacity="'+i.toFixed(2).slice(1)+'"':a}function r(n,o,i){let a=n+o;return typeof i<"u"&&(a+=" "+i),a}function t(n,o,i){let a="",l=0,u=!1,f=0;for(let w=0;w<n.length;w++){const b=Math.floor(w%o),h=Math.floor(w/o);!b&&!u&&(u=!0),n[w]?(f++,w>0&&b>0&&n[w-1]||(a+=u?r("M",b+i,.5+h+i):r("m",l,0),l=0,u=!1),b+1<o&&n[w+1]||(a+=r("h",f),f=0)):l++}return a}return Ve.render=function(o,i,a){const l=e.getOptions(i),u=o.modules.size,f=o.modules.data,w=u+l.margin*2,b=l.color.light.a?"<path "+s(l.color.light,"fill")+' d="M0 0h'+w+"v"+w+'H0z"/>':"",h="<path "+s(l.color.dark,"stroke")+' d="'+t(f,u,l.margin)+'"/>',d='viewBox="0 0 '+w+" "+w+'"',N='<svg xmlns="http://www.w3.org/2000/svg" '+(l.width?'width="'+l.width+'" height="'+l.width+'" ':"")+d+' shape-rendering="crispEdges">'+b+h+`</svg>
|
|
8
|
-
`;return typeof a=="function"&&a(null,N),N},Ve}var It;function Yo(){if(It)return te;It=1;const e=Ao(),s=xo(),r=$o(),t=Jo();function n(o,i,a,l,u){const f=[].slice.call(arguments,1),w=f.length,b=typeof f[w-1]=="function";if(!b&&!e())throw new Error("Callback required as last argument");if(b){if(w<2)throw new Error("Too few arguments provided");w===2?(u=a,a=i,i=l=void 0):w===3&&(i.getContext&&typeof u>"u"?(u=l,l=void 0):(u=l,l=a,a=i,i=void 0))}else{if(w<1)throw new Error("Too few arguments provided");return w===1?(a=i,i=l=void 0):w===2&&!i.getContext&&(l=a,a=i,i=void 0),new Promise(function(h,d){try{const g=s.create(a,l);h(o(g,i,l))}catch(g){d(g)}})}try{const h=s.create(a,l);u(null,o(h,i,l))}catch(h){u(h)}}return te.create=s.create,te.toCanvas=n.bind(null,r.render),te.toDataURL=n.bind(null,r.renderToDataURL),te.toString=n.bind(null,function(o,i,a){return t.render(o,a)}),te}var Qo=Yo();const Go=Io(Qo),Wo={class:"qr-display"},Zo={class:"qr-section"},Xo=["href","onKeydown"],er={key:0,class:"link-text"},tr={__name:"QRCodeDisplay",props:{url:{type:String,required:!0},showLink:{type:Boolean,default:!1}},emits:["copied"],setup(e,{emit:s}){const r=e,t=s,n=F(null),o=x(()=>r.url?r.url.replace(/^https?:\/\//,""):"");function i(){if(!(!r.url||!n.value))try{n.value.getContext("2d").clearRect(0,0,n.value.width,n.value.height),Go.toCanvas(n.value,r.url,{scale:6,margin:0,color:{dark:"#000000",light:"#FFFFFF"}}),n.value.removeAttribute("style")}catch(l){console.error("QR code generation failed:",l)}}async function a(){if(r.url)try{await navigator.clipboard.writeText(r.url),t("copied")}catch(l){console.error("Failed to copy link:",l)}}return He(()=>r.url,()=>{i()},{immediate:!0}),He(n,()=>{n.value&&r.url&&i()},{immediate:!0}),(l,u)=>(T(),R("div",Wo,[v("div",Zo,[v("a",{href:e.url,onClick:de(a,["prevent"]),class:"qr-link",title:"Click to copy link",tabindex:"0",onKeydown:un(de(a,["prevent"]),["enter"])},[v("canvas",{ref_key:"qrCanvas",ref:n,class:"qr-code"},null,512),e.showLink&&e.url?(T(),R("div",er,D(o.value),1)):L("",!0)],40,Xo)])]))}},nr=Y(tr,[["__scopeId","data-v-727427c4"]]),or={class:"device-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"regTitle"},rr={class:"reg-header-row"},sr={id:"regTitle",class:"reg-title"},ir={key:0},ar={key:1},lr={class:"device-link-section"},ur={key:0,class:"expiry-note"},cr={__name:"RegistrationLinkModal",props:{endpoint:{type:String,required:!0},userName:{type:String,default:""}},emits:["close","copied"],setup(e,{emit:s}){const r=e,t=s,n=F(null),o=F(null),i=F(null),a=F(null),l=F(null);async function u(){try{const d=await Q(r.endpoint,{method:"POST"});if(d.url){if(o.value=d.url,i.value=d.expires?new Date(d.expires):null,await ze(),n.value){n.value.showModal();const g=a.value;(g?.querySelector(".btn-primary")||g?.querySelector("button"))?.focus()}}else t("close")}catch{t("close")}}function f(){t("copied")}const w=d=>{const g=z(d)},b=d=>{const g=z(d);g&&(d.preventDefault(),(g==="down"||g==="up")&&a.value?.querySelector("button")?.focus())},h=d=>{const g=z(d);g&&(d.preventDefault(),(g==="up"||g==="down")&&document.querySelector(".qr-link")?.focus())};return qt(()=>{l.value=document.activeElement,u()}),Ft(()=>{const d=l.value;d&&document.body.contains(d)&&!d.disabled&&d.focus()}),(d,g)=>(T(),R("dialog",{ref_key:"dialog",ref:n,onClose:g[2]||(g[2]=N=>d.$emit("close")),onKeydown:w},[v("div",or,[v("div",rr,[v("h2",sr,[g[3]||(g[3]=xe(" 📱 ",-1)),e.userName?(T(),R("span",ir,"Registration for "+D(e.userName),1)):(T(),R("span",ar,"Add Another Device"))]),v("button",{class:"icon-btn",onClick:g[0]||(g[0]=N=>d.$emit("close")),"aria-label":"Close",tabindex:"-1"},"✕")]),v("div",lr,[g[4]||(g[4]=v("p",{class:"reg-help"}," Scan this QR code on the new device, or copy the link and open it there. ",-1)),cn(nr,{url:o.value,"show-link":!0,onCopied:f,onKeydown:b},null,8,["url"]),i.value?(T(),R("p",ur," This link expires "+D(U(G)(i.value).toLowerCase())+". ",1)):L("",!0)]),v("div",{class:"reg-actions",ref_key:"actionsRow",ref:a,onKeydown:h},[v("button",{class:"btn-secondary",onClick:g[1]||(g[1]=N=>d.$emit("close"))},"Close")],544)])],544))}},Ar=Y(cr,[["__scopeId","data-v-e04dd463"]]),dr={class:"loading-container"},fr={__name:"LoadingView",props:{message:{type:String,default:"Loading..."}},setup(e){return(s,r)=>(T(),R("div",dr,[r[0]||(r[0]=v("div",{class:"loading-spinner"},null,-1)),v("p",null,D(e.message),1)]))}},Rr=Y(fr,[["__scopeId","data-v-130f5abf"]]),hr={class:"message-container"},gr={class:"message-content"},mr={key:0,class:"error-detail"},yr={class:"button-row"},pr={__name:"AccessDenied",props:{title:{type:String,default:"Access Denied"},icon:{type:String,default:"🔒"},message:{type:String,default:null}},setup(e){function s(){window.location.reload()}return(r,t)=>(T(),R("div",hr,[v("div",gr,[v("h2",null,D(e.icon)+" "+D(e.title),1),e.message?(T(),R("p",mr,D(e.message),1)):L("",!0),v("div",yr,[v("button",{class:"btn-secondary",onClick:t[0]||(t[0]=(...n)=>U(We)&&U(We)(...n))},"Back"),v("button",{class:"btn-primary",onClick:s},"Reload Page")])])]))}},Tr=Y(pr,[["__scopeId","data-v-a7b258e7"]]);export{Tr as A,Sr as B,Rr as L,kr as M,Br as N,Ar as R,_r as U,Er as _,Ir as a,Cr as b,vr as c,$e as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--font-sans: "Inter", "Inter var", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-mono: "DM Mono", "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--color-canvas: #ffffff;--color-surface: #eff6ff;--color-surface-subtle: #dbeafe;--color-border: #2563eb;--color-border-strong: #1e40af;--color-heading: #1e3a8a;--color-text: #1e293b;--color-text-muted: #475569;--color-link: #1d4ed8;--color-link-hover: #1e40af;--color-accent: #2563eb;--color-accent-strong: #1e40af;--color-accent-contrast: #ffffff;--color-success-text: #166534;--color-success-bg: #dcfce7;--color-error-text: #b91c1c;--color-error-bg: #fee2e2;--color-info-text: #1e40af;--color-info-bg: #dbeafe;--color-danger: #dc2626;--shadow-soft: 0 10px 30px rgba(30, 64, 175, .15);--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--space-xxs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.25rem;--space-xxl: 3.5rem;--layout-padding: clamp(1.5rem, 3vw + 1rem, 3.25rem);--transition-base: .16s ease;--focus-ring: 0 0 0 2px var(--color-accent)}@media(prefers-color-scheme:dark){:root{--color-canvas: #0f172a;--color-surface: #141b2f;--color-surface-subtle: #1b243b;--color-border: #25304a;--color-border-strong: #3d4d6b;--color-heading: #fff;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-link: #60a5fa;--color-link-hover: #93c5fd;--color-accent: #60a5fa;--color-accent-strong: #3b82f6;--color-accent-contrast: #0b1120;--color-success-text: #34d399;--color-success-bg: #1a4d2e;--color-error-text: #fca5a5;--color-error-bg: #4a1f1f;--color-info-text: #bae6fd;--color-info-bg: #1e3a5f;--color-danger: #f87171;--shadow-soft: 0 0 0 #000000}}*,*:before,*:after{box-sizing:border-box}html{overflow:clip;height:100%;background:var(--color-canvas)}body{color-scheme:light dark;overflow:auto;scrollbar-gutter:stable;height:100%;margin:0;font-family:var(--font-sans);background:none;color:var(--color-text);line-height:1.55;-webkit-font-smoothing:antialiased;text-align:justify;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto}body,#app,#admin-app{display:flex;flex-direction:column;min-height:100vh}#app,#admin-app{flex:1}a,a:visited{color:var(--color-link);text-decoration:none}a:hover,a:focus-visible{color:var(--color-link-hover)}.app-shell{flex:1;display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column}.view-root{flex:1;width:100%;display:flex;flex-direction:column;gap:2rem;padding:var(--layout-padding);box-sizing:border-box;margin:0 auto}.view-root--wide{width:min(100%,1200px)}.view-root--narrow{max-width:540px}.view-header{display:flex;flex-direction:column;gap:.75rem}.view-header h1{margin:0;font-weight:600;color:var(--color-heading)}.view-lede{margin:0;color:var(--color-text-muted);font-size:1rem}.section-block{display:flex;flex-direction:column;gap:1rem}.section-block h2{margin:0;font-size:clamp(1.25rem,1.5vw + 1rem,1.65rem);font-weight:600;color:var(--color-heading)}.section-body{display:flex;flex-direction:column;gap:1rem}.section-description{margin:0;color:var(--color-text-muted)}.button-row{display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:flex-start}.button-row button{min-width:0}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-soft)}.surface--tight{padding:var(--space-md)}button{font-family:inherit;font-size:1rem;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;padding:.65rem 1.1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--color-surface);color:var(--color-text)}button:disabled{cursor:not-allowed;filter:opacity(.6)}.btn-primary{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent);box-shadow:var(--shadow-soft)}.btn-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.btn-danger{background:var(--color-danger);color:var(--color-accent-contrast);border-color:transparent}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible{outline:1px solid var(-webkit-focus-ring-color)}input[type=text],input[type=search],input[type=email],textarea,select{font:inherit;width:100%;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-base),box-shadow var(--transition-base)}label{display:flex;flex-direction:column;gap:.5rem;color:var(--color-text)}p{margin:0;color:var(--color-text)}small{color:var(--color-text-muted)}.table-wrapper{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border)}table{width:100%;border-collapse:collapse;font-size:.95rem}thead tr{background:var(--color-surface-subtle);color:var(--color-text-muted)}td,th{padding:.65rem .75rem;border-bottom:1px solid var(--color-border);text-align:left}.center{text-align:center}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:var(--radius-sm);background:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem}.global-status{position:fixed;top:1.5rem;left:0;right:0;margin:0 auto;z-index:1200;width:fit-content;min-width:min(520px,calc(100% - 2rem));max-width:calc(100% - 2rem);display:none}.global-status .status{display:flex;align-items:center;justify-content:center;padding:.85rem 1.25rem;border-radius:var(--radius-sm);border-width:1px;border-style:solid;background:var(--color-surface);box-shadow:var(--shadow-soft);font-weight:550}.status.info{border-color:#3b82f6;color:var(--color-info-text);background:var(--color-info-bg)}.status.success{border-color:#16a34a;color:var(--color-success-text);background:var(--color-success-bg)}.status.error{border-color:#dc2626;color:var(--color-error-text);background:var(--color-error-bg)}.dialog-overlay{position:fixed;inset:0;background:transparent;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.device-dialog,.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(520px,100%);max-height:calc(100vh - 3rem);overflow-y:auto;padding:1.75rem;box-shadow:var(--shadow-soft);color:var(--color-text)}.qr-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;color:var(--color-text-muted)}.qr-code{padding:1rem;background:#fff;box-shadow:var(--shadow-soft)}.link-container,.token-display,.token-info{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem;color:var(--color-text)}:root{--card-width: 16rem}.record-list,.credential-list,.session-list{width:100%;display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(var(--card-width),1fr));justify-content:start;gap:.5rem;align-items:stretch;margin:0 auto;outline:none}@media(max-width:720px){.record-list{display:flex;flex-direction:column;max-width:100%}}.record-item,.credential-item,.session-item{display:flex;flex-direction:column;padding:.5rem;border-radius:var(--radius-md);background:var(--color-surface);height:100%;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative;cursor:pointer}.record-item:hover,.credential-item:hover,.session-item:hover{border-color:var(--color-border-strong);box-shadow:0 10px 24px #0f172a1f;transform:translateY(-1px)}.record-item.is-current,.credential-item.current-session,.credential-item.is-hovered,.session-item.is-current,.session-item.is-hovered,.credential-item.is-linked-session,.session-item.is-linked-credential{border-color:var(--color-accent);background-color:var(--color-surface-subtle)}.credential-item:focus,.session-item:focus{outline:1px solid var(-webkit-focus-ring-color)}.item-top{display:flex;align-items:center;height:2.5rem}.item-icon{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.auth-icon{border-radius:var(--radius-sm)}.icon{flex:0 0 auto;font-size:1.5em;width:40px}.item-title{flex:1;margin:0;font-size:1rem;font-weight:600;color:var(--color-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-actions{flex-shrink:0;display:flex;align-items:center}.item-actions .badge+.btn-card-delete{margin-left:.25rem}.item-actions .badge+.badge{margin-left:.25rem}.item-details{margin-left:40px}.credential-dates,.session-dates{display:grid;grid-auto-flow:row;grid-template-columns:8em 1fr;font-size:.75rem;align-items:center}.date-label{font-weight:500;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis}.date-value{color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-card-delete{background:transparent;border:none;color:var(--color-danger);padding:.35rem .5rem;font-size:1.05rem;line-height:1;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-card-delete:hover:not(:disabled){background:#fee}.btn-card-delete:disabled{filter:opacity(.4);cursor:not-allowed}.session-emoji{font-size:1.2rem}.session-group{position:relative}.session-group:focus-visible{outline:1px solid var(-webkit-focus-ring-color)}.session-group-host{display:flex;align-items:center;font-size:1.5rem;font-weight:600;margin:.5rem 0}.session-group-icon{margin-left:-1.5rem}.session-group-host a{color:var(--color-text);text-decoration:none}.session-group:focus-visible .session-group-host,.session-group:focus-visible .session-group-host a{color:var(--color-heading)}.btn-card-delete{display:none}.session-item:focus .btn-card-delete{display:block}.badge{padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;white-space:nowrap}.badge-current{background:var(--color-accent);color:var(--color-accent-contrast);box-shadow:0 0 0 1px var(--color-accent) inset}.badge:not(.badge-current){background:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.session-meta-info{font-size:.75rem;color:var(--color-text-muted);font-family:monospace}.empty-state{text-align:center;padding:var(--space-lg);color:var(--color-text-muted)}.empty-state p{margin:0}.user-info{display:grid;border-radius:var(--radius-md);background:var(--color-surface);padding:1.1rem 1.25rem}.user-details{display:grid;grid-template-columns:7em 1fr;gap:0 .5rem;padding-left:40px;font-size:.75rem}.toggle-link{color:var(--color-link);cursor:pointer}.toggle-link:hover{color:var(--color-link-hover)}.token-info code{font-family:var(--font-mono)}@media(max-width:720px){.view-root{padding:clamp(1rem,3vw + .75rem,2rem);gap:1.75rem}.global-status{top:1rem}}.dialog-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;backdrop-filter:blur(.1rem) brightness(.7);-webkit-backdrop-filter:blur(.1rem) brightness(.7);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-container{max-width:90vw;max-height:90vh;overflow-y:auto}.dialog-content{flex:none;width:100%;max-width:480px;padding:2rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #1e293b;border:1px solid var(--color-border)}.dialog-content--wide{max-width:540px}.dialog-content--narrow{max-width:420px}@media(max-width:720px){.dialog-content{padding:1.5rem}}body:before{content:"";position:fixed;inset:0;z-index:1099;background:transparent;backdrop-filter:blur(0) brightness(1);-webkit-backdrop-filter:blur(0) brightness(1);pointer-events:none;visibility:hidden;transition:all .2s ease-out}body.has-backdrop:before{-webkit-backdrop-filter:blur(.2rem) brightness(.5);backdrop-filter:blur(.2rem) brightness(.5);visibility:visible}body.has-backdrop{overflow:auto}#auth-iframe{border:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;color-scheme:auto;background:transparent}.slot-machine{padding:.875rem 1rem;background:var(--color-surface-hover, rgba(0, 0, 0, .03));border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;display:flex;align-items:center;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;overflow:hidden}.slot-reel{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:0;height:1.8em;position:relative}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const 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)}})();function Qn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const K={},ft=[],Ae=()=>{},cr=()=>!1,dn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),es=e=>e.startsWith("onUpdate:"),re=Object.assign,ts=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,U=(e,t)=>Ai.call(e,t),T=Array.isArray,ut=e=>jt(e)==="[object Map]",bt=e=>jt(e)==="[object Set]",Rs=e=>jt(e)==="[object Date]",P=e=>typeof e=="function",q=e=>typeof e=="string",pe=e=>typeof e=="symbol",V=e=>e!==null&&typeof e=="object",ar=e=>(V(e)||P(e))&&P(e.then)&&P(e.catch),fr=Object.prototype.toString,jt=e=>fr.call(e),Ri=e=>jt(e).slice(8,-1),ur=e=>jt(e)==="[object Object]",hn=e=>q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Qn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),pn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Ti=/-\w/g,Je=pn(e=>e.replace(Ti,t=>t.slice(1).toUpperCase())),Oi=/\B([A-Z])/g,Ye=pn(e=>e.replace(Oi,"-$1").toLowerCase()),dr=pn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Tn=pn(e=>e?`on${dr(e)}`:""),qe=(e,t)=>!Object.is(e,t),zt=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},hr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},gn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ts;const mn=()=>Ts||(Ts=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ns(e){if(T(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=q(s)?Mi(s):ns(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(q(e)||V(e))return e}const Ci=/;(?![^(]*\))/g,Ii=/:([^]+)/,Pi=/\/\*[^]*?\*\//g;function Mi(e){const t={};return e.replace(Pi,"").split(Ci).forEach(n=>{if(n){const s=n.split(Ii);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ss(e){let t="";if(q(e))t=e;else if(T(e))for(let n=0;n<e.length;n++){const s=ss(e[n]);s&&(t+=s+" ")}else if(V(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Ni="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Di=Qn(Ni);function pr(e){return!!e||e===""}function Fi(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=lt(e[s],t[s]);return n}function lt(e,t){if(e===t)return!0;let n=Rs(e),s=Rs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=pe(e),s=pe(t),n||s)return e===t;if(n=T(e),s=T(t),n||s)return n&&s?Fi(e,t):!1;if(n=V(e),s=V(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||!lt(e[o],t[o]))return!1}}return String(e)===String(t)}function rs(e,t){return e.findIndex(n=>lt(n,t))}const gr=e=>!!(e&&e.__v_isRef===!0),Ui=e=>q(e)?e:e==null?"":T(e)||V(e)&&(e.toString===fr||!P(e.toString))?gr(e)?Ui(e.value):JSON.stringify(e,mr,2):String(e),mr=(e,t)=>gr(t)?mr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[On(s,i)+" =>"]=r,n),{})}:bt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>On(n))}:pe(t)?On(t):V(t)&&!T(t)&&!ur(t)?String(t):t,On=(e,t="")=>{var n;return pe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let z;class br{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=z,!t&&z&&(this.index=(z.scopes||(z.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=z;try{return z=this,t()}finally{z=n}}}on(){++this._on===1&&(this.prevScope=z,z=this)}off(){this._on>0&&--this._on===0&&(z=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 Cc(e){return new br(e)}function ji(){return z}function Ic(e,t=!1){z&&z.cleanups.push(e)}let $;const Cn=new WeakSet;class _r{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,z&&z.active&&z.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Cn.has(this)&&(Cn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||wr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Os(this),Er(this);const t=$,n=he;$=this,he=!0;try{return this.fn()}finally{Sr(this),$=t,he=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,Os(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Cn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){$n(this)&&this.run()}get dirty(){return $n(this)}}let yr=0,Rt,Tt;function wr(e,t=!1){if(e.flags|=8,t){e.next=Tt,Tt=e;return}e.next=Rt,Rt=e}function is(){yr++}function os(){if(--yr>0)return;if(Tt){let t=Tt;for(Tt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Rt;){let t=Rt;for(Rt=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 Er(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Sr(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),ls(s),Ki(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function $n(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(vr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function vr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mt)||(e.globalVersion=Mt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$n(e))))return;e.flags|=2;const t=e.dep,n=$,s=he;$=e,he=!0;try{Er(e);const r=e.fn(e._value);(t.version===0||qe(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{$=n,he=s,Sr(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 Ki(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let he=!0;const xr=[];function Ue(){xr.push(he),he=!1}function je(){const e=xr.pop();he=e===void 0?!0:e}function Os(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=$;$=void 0;try{t()}finally{$=n}}}let Mt=0;class Li{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 cs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!$||!he||$===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==$)n=this.activeLink=new Li($,this),$.deps?(n.prevDep=$.depsTail,$.depsTail.nextDep=n,$.depsTail=n):$.deps=$.depsTail=n,Ar(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=$.depsTail,n.nextDep=void 0,$.depsTail.nextDep=n,$.depsTail=n,$.deps===n&&($.deps=s)}return n}trigger(t){this.version++,Mt++,this.notify(t)}notify(t){is();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{os()}}}function Ar(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)Ar(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const sn=new WeakMap,rt=Symbol(""),Vn=Symbol(""),Nt=Symbol("");function X(e,t,n){if(he&&$){let s=sn.get(e);s||sn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new cs),r.map=s,r.key=n),r.track()}}function Ne(e,t,n,s,r,i){const o=sn.get(e);if(!o){Mt++;return}const l=c=>{c&&c.trigger()};if(is(),t==="clear")o.forEach(l);else{const c=T(e),d=c&&hn(n);if(c&&n==="length"){const u=Number(s);o.forEach((p,S)=>{(S==="length"||S===Nt||!pe(S)&&S>=u)&&l(p)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(Nt)),t){case"add":c?d&&l(o.get("length")):(l(o.get(rt)),ut(e)&&l(o.get(Vn)));break;case"delete":c||(l(o.get(rt)),ut(e)&&l(o.get(Vn)));break;case"set":ut(e)&&l(o.get(rt));break}}os()}function Hi(e,t){const n=sn.get(e);return n&&n.get(t)}function ct(e){const t=F(e);return t===e?t:(X(t,"iterate",Nt),fe(e)?t:t.map(ge))}function bn(e){return X(e=F(e),"iterate",Nt),e}function ke(e,t){return Ke(e)?it(e)?pt(ge(t)):pt(t):ge(t)}const $i={__proto__:null,[Symbol.iterator](){return In(this,Symbol.iterator,e=>ke(this,e))},concat(...e){return ct(this).concat(...e.map(t=>T(t)?ct(t):t))},entries(){return In(this,"entries",e=>(e[1]=ke(this,e[1]),e))},every(e,t){return Oe(this,"every",e,t,void 0,arguments)},filter(e,t){return Oe(this,"filter",e,t,n=>n.map(s=>ke(this,s)),arguments)},find(e,t){return Oe(this,"find",e,t,n=>ke(this,n),arguments)},findIndex(e,t){return Oe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Oe(this,"findLast",e,t,n=>ke(this,n),arguments)},findLastIndex(e,t){return Oe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Oe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Pn(this,"includes",e)},indexOf(...e){return Pn(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return Pn(this,"lastIndexOf",e)},map(e,t){return Oe(this,"map",e,t,void 0,arguments)},pop(){return St(this,"pop")},push(...e){return St(this,"push",e)},reduce(e,...t){return Cs(this,"reduce",e,t)},reduceRight(e,...t){return Cs(this,"reduceRight",e,t)},shift(){return St(this,"shift")},some(e,t){return Oe(this,"some",e,t,void 0,arguments)},splice(...e){return St(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return St(this,"unshift",e)},values(){return In(this,"values",e=>ke(this,e))}};function In(e,t,n){const s=bn(e),r=s[t]();return s!==e&&!fe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Vi=Array.prototype;function Oe(e,t,n,s,r,i){const o=bn(e),l=o!==e&&!fe(e),c=o[t];if(c!==Vi[t]){const p=c.apply(e,i);return l?ge(p):p}let d=n;o!==e&&(l?d=function(p,S){return n.call(this,ke(e,p),S,e)}:n.length>2&&(d=function(p,S){return n.call(this,p,S,e)}));const u=c.call(o,d,s);return l&&r?r(u):u}function Cs(e,t,n,s){const r=bn(e);let i=n;return r!==e&&(fe(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,ke(e,l),c,e)}),r[t](i,...s)}function Pn(e,t,n){const s=F(e);X(s,"iterate",Nt);const r=s[t](...n);return(r===-1||r===!1)&&_n(n[0])?(n[0]=F(n[0]),s[t](...n)):r}function St(e,t,n=[]){Ue(),is();const s=F(e)[t].apply(e,n);return os(),je(),s}const ki=Qn("__proto__,__v_isRef,__isVue"),Rr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(pe));function Wi(e){pe(e)||(e=String(e));const t=F(this);return X(t,"has",e),t.hasOwnProperty(e)}class Tr{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?eo:Pr:i?Ir:Cr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=T(t);if(!r){let c;if(o&&(c=$i[n]))return c;if(n==="hasOwnProperty")return Wi}const l=Reflect.get(t,n,G(t)?t:s);if((pe(n)?Rr.has(n):ki(n))||(r||X(t,"get",n),i))return l;if(G(l)){const c=o&&hn(n)?l:l.value;return r&&V(c)?Wn(c):c}return V(l)?r?Wn(l):fs(l):l}}class Or extends Tr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=T(t)&&hn(n);if(!this._isShallow){const d=Ke(i);if(!fe(s)&&!Ke(s)&&(i=F(i),s=F(s)),!o&&G(i)&&!G(s))return d||(i.value=s),!0}const l=o?Number(n)<t.length:U(t,n),c=Reflect.set(t,n,s,G(t)?t:r);return t===F(r)&&(l?qe(s,i)&&Ne(t,"set",n,s):Ne(t,"add",n,s)),c}deleteProperty(t,n){const s=U(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&Ne(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!pe(n)||!Rr.has(n))&&X(t,"has",n),s}ownKeys(t){return X(t,"iterate",T(t)?"length":rt),Reflect.ownKeys(t)}}class Bi extends Tr{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const qi=new Or,Ji=new Bi,Gi=new Or(!0);const kn=e=>e,Bt=e=>Reflect.getPrototypeOf(e);function Yi(e,t,n){return function(...s){const r=this.__v_raw,i=F(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,d=r[e](...s),u=n?kn:t?pt:ge;return!t&&X(i,"iterate",c?Vn:rt),{next(){const{value:p,done:S}=d.next();return S?{value:p,done:S}:{value:l?[u(p[0]),u(p[1])]:u(p),done:S}},[Symbol.iterator](){return this}}}}function qt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function zi(e,t){const n={get(r){const i=this.__v_raw,o=F(i),l=F(r);e||(qe(r,l)&&X(o,"get",r),X(o,"get",l));const{has:c}=Bt(o),d=t?kn:e?pt:ge;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&&X(F(r),"iterate",rt),r.size},has(r){const i=this.__v_raw,o=F(i),l=F(r);return e||(qe(r,l)&&X(o,"has",r),X(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=F(l),d=t?kn:e?pt:ge;return!e&&X(c,"iterate",rt),l.forEach((u,p)=>r.call(i,d(u),d(p),o))}};return re(n,e?{add:qt("add"),set:qt("set"),delete:qt("delete"),clear:qt("clear")}:{add(r){!t&&!fe(r)&&!Ke(r)&&(r=F(r));const i=F(this);return Bt(i).has.call(i,r)||(i.add(r),Ne(i,"add",r,r)),this},set(r,i){!t&&!fe(i)&&!Ke(i)&&(i=F(i));const o=F(this),{has:l,get:c}=Bt(o);let d=l.call(o,r);d||(r=F(r),d=l.call(o,r));const u=c.call(o,r);return o.set(r,i),d?qe(i,u)&&Ne(o,"set",r,i):Ne(o,"add",r,i),this},delete(r){const i=F(this),{has:o,get:l}=Bt(i);let c=o.call(i,r);c||(r=F(r),c=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return c&&Ne(i,"delete",r,void 0),d},clear(){const r=F(this),i=r.size!==0,o=r.clear();return i&&Ne(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Yi(r,e,t)}),n}function as(e,t){const n=zi(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(U(n,r)&&r in s?n:s,r,i)}const Xi={get:as(!1,!1)},Zi={get:as(!1,!0)},Qi={get:as(!0,!1)};const Cr=new WeakMap,Ir=new WeakMap,Pr=new WeakMap,eo=new WeakMap;function to(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function no(e){return e.__v_skip||!Object.isExtensible(e)?0:to(Ri(e))}function fs(e){return Ke(e)?e:us(e,!1,qi,Xi,Cr)}function so(e){return us(e,!1,Gi,Zi,Ir)}function Wn(e){return us(e,!0,Ji,Qi,Pr)}function us(e,t,n,s,r){if(!V(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=no(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 it(e){return Ke(e)?it(e.__v_raw):!!(e&&e.__v_isReactive)}function Ke(e){return!!(e&&e.__v_isReadonly)}function fe(e){return!!(e&&e.__v_isShallow)}function _n(e){return e?!!e.__v_raw:!1}function F(e){const t=e&&e.__v_raw;return t?F(t):e}function ro(e){return!U(e,"__v_skip")&&Object.isExtensible(e)&&hr(e,"__v_skip",!0),e}const ge=e=>V(e)?fs(e):e,pt=e=>V(e)?Wn(e):e;function G(e){return e?e.__v_isRef===!0:!1}function Pc(e){return io(e,!1)}function io(e,t){return G(e)?e:new oo(e,t)}class oo{constructor(t,n){this.dep=new cs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:F(t),this._value=n?t:ge(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||fe(t)||Ke(t);t=s?t:F(t),qe(t,n)&&(this._rawValue=t,this._value=s?t:ge(t),this.dep.trigger())}}function Mr(e){return G(e)?e.value:e}const lo={get:(e,t,n)=>t==="__v_raw"?e:Mr(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return G(r)&&!G(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Nr(e){return it(e)?e:new Proxy(e,lo)}function Mc(e){const t=T(e)?new Array(e.length):{};for(const n in e)t[n]=ao(e,n);return t}class co{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._raw=F(t);let r=!0,i=t;if(!T(t)||!hn(String(n)))do r=!_n(i)||fe(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=Mr(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&G(this._raw[this._key])){const n=this._object[this._key];if(G(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Hi(this._raw,this._key)}}function ao(e,t,n){return new co(e,t,n)}class fo{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new cs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&$!==this)return wr(this,!0),!0}get value(){const t=this.dep.track();return vr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function uo(e,t,n=!1){let s,r;return P(e)?s=e:(s=e.get,r=e.set),new fo(s,r,n)}const Jt={},rn=new WeakMap;let tt;function ho(e,t=!1,n=tt){if(n){let s=rn.get(n);s||rn.set(n,s=[]),s.push(e)}}function po(e,t,n=K){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,d=C=>r?C:fe(C)||r===!1||r===0?De(C,1):De(C);let u,p,S,x,O=!1,N=!1;if(G(e)?(p=()=>e.value,O=fe(e)):it(e)?(p=()=>d(e),O=!0):T(e)?(N=!0,O=e.some(C=>it(C)||fe(C)),p=()=>e.map(C=>{if(G(C))return C.value;if(it(C))return d(C);if(P(C))return c?c(C,2):C()})):P(e)?t?p=c?()=>c(e,2):e:p=()=>{if(S){Ue();try{S()}finally{je()}}const C=tt;tt=u;try{return c?c(e,3,[x]):e(x)}finally{tt=C}}:p=Ae,t&&r){const C=p,J=r===!0?1/0:r;p=()=>De(C(),J)}const Q=ji(),D=()=>{u.stop(),Q&&Q.active&&ts(Q.effects,u)};if(i&&t){const C=t;t=(...J)=>{C(...J),D()}}let k=N?new Array(e.length).fill(Jt):Jt;const B=C=>{if(!(!(u.flags&1)||!u.dirty&&!C))if(t){const J=u.run();if(r||O||(N?J.some(($e,me)=>qe($e,k[me])):qe(J,k))){S&&S();const $e=tt;tt=u;try{const me=[J,k===Jt?void 0:N&&k[0]===Jt?[]:k,x];k=J,c?c(t,3,me):t(...me)}finally{tt=$e}}}else u.run()};return l&&l(B),u=new _r(p),u.scheduler=o?()=>o(B,!1):B,x=C=>ho(C,!1,u),S=u.onStop=()=>{const C=rn.get(u);if(C){if(c)c(C,4);else for(const J of C)J();rn.delete(u)}},t?s?B(!0):k=u.run():o?o(B.bind(null,!0),!0):u.run(),D.pause=u.pause.bind(u),D.resume=u.resume.bind(u),D.stop=D,D}function De(e,t=1/0,n){if(t<=0||!V(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,G(e))De(e.value,t,n);else if(T(e))for(let s=0;s<e.length;s++)De(e[s],t,n);else if(bt(e)||ut(e))e.forEach(s=>{De(s,t,n)});else if(ur(e)){for(const s in e)De(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&De(e[s],t,n)}return e}function Kt(e,t,n,s){try{return s?e(...s):e()}catch(r){yn(r,t,n)}}function Te(e,t,n,s){if(P(e)){const r=Kt(e,t,n,s);return r&&ar(r)&&r.catch(i=>{yn(i,t,n)}),r}if(T(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Te(e[i],t,n,s));return r}}function yn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||K;if(t){let l=t.parent;const c=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let p=0;p<u.length;p++)if(u[p](e,c,d)===!1)return}l=l.parent}if(i){Ue(),Kt(i,null,10,[e,c,d]),je();return}}go(e,n,r,s,o)}function go(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const ne=[];let Se=-1;const dt=[];let We=null,at=0;const Dr=Promise.resolve();let on=null;function Fr(e){const t=on||Dr;return e?t.then(this?e.bind(this):e):t}function mo(e){let t=Se+1,n=ne.length;for(;t<n;){const s=t+n>>>1,r=ne[s],i=Dt(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function ds(e){if(!(e.flags&1)){const t=Dt(e),n=ne[ne.length-1];!n||!(e.flags&2)&&t>=Dt(n)?ne.push(e):ne.splice(mo(t),0,e),e.flags|=1,Ur()}}function Ur(){on||(on=Dr.then(Kr))}function bo(e){T(e)?dt.push(...e):We&&e.id===-1?We.splice(at+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),Ur()}function Is(e,t,n=Se+1){for(;n<ne.length;n++){const s=ne[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;ne.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function jr(e){if(dt.length){const t=[...new Set(dt)].sort((n,s)=>Dt(n)-Dt(s));if(dt.length=0,We){We.push(...t);return}for(We=t,at=0;at<We.length;at++){const n=We[at];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}We=null,at=0}}const Dt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Kr(e){try{for(Se=0;Se<ne.length;Se++){const t=ne[Se];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Kt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Se<ne.length;Se++){const t=ne[Se];t&&(t.flags&=-2)}Se=-1,ne.length=0,jr(),on=null,(ne.length||dt.length)&&Kr()}}let Z=null,Lr=null;function ln(e){const t=Z;return Z=e,Lr=e&&e.type.__scopeId||null,t}function _o(e,t=Z,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Hs(-1);const i=ln(t);let o;try{o=e(...r)}finally{ln(i),s._d&&Hs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Nc(e,t){if(Z===null)return e;const n=vn(Z),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=K]=t[r];i&&(P(i)&&(i={mounted:i,updated:i}),i.deep&&De(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function Qe(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&&(Ue(),Te(c,n,8,[e.el,l,e,t]),je())}}const yo=Symbol("_vte"),wo=e=>e.__isTeleport,Eo=Symbol("_leaveCb");function hs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,hs(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 Hr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const cn=new WeakMap;function Ot(e,t,n,s,r=!1){if(T(e)){e.forEach((O,N)=>Ot(O,t&&(T(t)?t[N]:t),n,s,r));return}if(ht(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Ot(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?vn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,d=t&&t.r,u=l.refs===K?l.refs={}:l.refs,p=l.setupState,S=F(p),x=p===K?cr:O=>U(S,O);if(d!=null&&d!==c){if(Ps(t),q(d))u[d]=null,x(d)&&(p[d]=null);else if(G(d)){d.value=null;const O=t;O.k&&(u[O.k]=null)}}if(P(c))Kt(c,l,12,[o,u]);else{const O=q(c),N=G(c);if(O||N){const Q=()=>{if(e.f){const D=O?x(c)?p[c]:u[c]:c.value;if(r)T(D)&&ts(D,i);else if(T(D))D.includes(i)||D.push(i);else if(O)u[c]=[i],x(c)&&(p[c]=u[c]);else{const k=[i];c.value=k,e.k&&(u[e.k]=k)}}else O?(u[c]=o,x(c)&&(p[c]=o)):N&&(c.value=o,e.k&&(u[e.k]=o))};if(o){const D=()=>{Q(),cn.delete(e)};D.id=-1,cn.set(e,D),ce(D,n)}else Ps(e),Q()}}}function Ps(e){const t=cn.get(e);t&&(t.flags|=8,cn.delete(e))}mn().requestIdleCallback;mn().cancelIdleCallback;const ht=e=>!!e.type.__asyncLoader,$r=e=>e.type.__isKeepAlive;function So(e,t){Vr(e,"a",t)}function vo(e,t){Vr(e,"da",t)}function Vr(e,t,n=se){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;)$r(r.parent.vnode)&&xo(s,t,n,r),r=r.parent}}function xo(e,t,n,s){const r=wn(t,e,s,!0);kr(()=>{ts(s[t],r)},n)}function wn(e,t,n=se,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Ue();const l=Lt(n),c=Te(t,n,e,o);return l(),je(),c});return s?r.unshift(i):r.push(i),i}}const He=e=>(t,n=se)=>{(!Ut||e==="sp")&&wn(e,(...s)=>t(...s),n)},Ao=He("bm"),Ro=He("m"),To=He("bu"),Oo=He("u"),Co=He("bum"),kr=He("um"),Io=He("sp"),Po=He("rtg"),Mo=He("rtc");function No(e,t=se){wn("ec",e,t)}const Do=Symbol.for("v-ndc");function Dc(e,t,n,s){let r;const i=n,o=T(e);if(o||q(e)){const l=o&&it(e);let c=!1,d=!1;l&&(c=!fe(e),d=Ke(e),e=bn(e)),r=new Array(e.length);for(let u=0,p=e.length;u<p;u++)r[u]=t(c?d?pt(ge(e[u])):ge(e[u]):e[u],u,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(V(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 u=l[c];r[c]=t(e[u],u,c,i)}}else r=[];return r}function Fc(e,t,n={},s,r){if(Z.ce||Z.parent&&ht(Z.parent)&&Z.parent.ce){const d=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Yn(),zn(ue,null,[Re("slot",n,s&&s())],d?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),Yn();const o=i&&Wr(i(n)),l=n.key||o&&o.key,c=zn(ue,{key:(l&&!pe(l)?l:`_${t}`)+(!o&&s?"_fb":"")},o||(s?s():[]),o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),c}function Wr(e){return e.some(t=>ms(t)?!(t.type===Le||t.type===ue&&!Wr(t.children)):!0)?e:null}const Bn=e=>e?di(e)?vn(e):Bn(e.parent):null,Ct=re(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=>Bn(e.parent),$root:e=>Bn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qr(e),$forceUpdate:e=>e.f||(e.f=()=>{ds(e.update)}),$nextTick:e=>e.n||(e.n=Fr.bind(e.proxy)),$watch:e=>qo.bind(e)}),Mn=(e,t)=>e!==K&&!e.__isScriptSetup&&U(e,t),Fo={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 S=o[t];if(S!==void 0)switch(S){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Mn(s,t))return o[t]=1,s[t];if(r!==K&&U(r,t))return o[t]=2,r[t];if(U(i,t))return o[t]=3,i[t];if(n!==K&&U(n,t))return o[t]=4,n[t];qn&&(o[t]=0)}}const d=Ct[t];let u,p;if(d)return t==="$attrs"&&X(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==K&&U(n,t))return o[t]=4,n[t];if(p=c.config.globalProperties,U(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Mn(r,t)?(r[t]=n,!0):s!==K&&U(s,t)?(s[t]=n,!0):U(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!==K&&l[0]!=="$"&&U(e,l)||Mn(t,l)||U(i,l)||U(s,l)||U(Ct,l)||U(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:U(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ms(e){return T(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let qn=!0;function Uo(e){const t=qr(e),n=e.proxy,s=e.ctx;qn=!1,t.beforeCreate&&Ns(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:d,created:u,beforeMount:p,mounted:S,beforeUpdate:x,updated:O,activated:N,deactivated:Q,beforeDestroy:D,beforeUnmount:k,destroyed:B,unmounted:C,render:J,renderTracked:$e,renderTriggered:me,errorCaptured:Ve,serverPrefetch:Ht,expose:ze,inheritAttrs:_t,components:$t,directives:Vt,filters:An}=t;if(d&&jo(d,s,null),o)for(const W in o){const L=o[W];P(L)&&(s[W]=L.bind(n))}if(r){const W=r.call(n,n);V(W)&&(e.data=fs(W))}if(qn=!0,i)for(const W in i){const L=i[W],Xe=P(L)?L.bind(n,n):P(L.get)?L.get.bind(n,n):Ae,kt=!P(L)&&P(L.set)?L.set.bind(n):Ae,Ze=xl({get:Xe,set:kt});Object.defineProperty(s,W,{enumerable:!0,configurable:!0,get:()=>Ze.value,set:be=>Ze.value=be})}if(l)for(const W in l)Br(l[W],s,n,W);if(c){const W=P(c)?c.call(n):c;Reflect.ownKeys(W).forEach(L=>{ko(L,W[L])})}u&&Ns(u,e,"c");function ee(W,L){T(L)?L.forEach(Xe=>W(Xe.bind(n))):L&&W(L.bind(n))}if(ee(Ao,p),ee(Ro,S),ee(To,x),ee(Oo,O),ee(So,N),ee(vo,Q),ee(No,Ve),ee(Mo,$e),ee(Po,me),ee(Co,k),ee(kr,C),ee(Io,Ht),T(ze))if(ze.length){const W=e.exposed||(e.exposed={});ze.forEach(L=>{Object.defineProperty(W,L,{get:()=>n[L],set:Xe=>n[L]=Xe,enumerable:!0})})}else e.exposed||(e.exposed={});J&&e.render===Ae&&(e.render=J),_t!=null&&(e.inheritAttrs=_t),$t&&(e.components=$t),Vt&&(e.directives=Vt),Ht&&Hr(e)}function jo(e,t,n=Ae){T(e)&&(e=Jn(e));for(const s in e){const r=e[s];let i;V(r)?"default"in r?i=Xt(r.from||s,r.default,!0):i=Xt(r.from||s):i=Xt(r),G(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Ns(e,t,n){Te(T(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Br(e,t,n,s){let r=s.includes(".")?Yr(n,s):()=>n[s];if(q(e)){const i=t[e];P(i)&&Nn(r,i)}else if(P(e))Nn(r,e.bind(n));else if(V(e))if(T(e))e.forEach(i=>Br(i,t,n,s));else{const i=P(e.handler)?e.handler.bind(n):t[e.handler];P(i)&&Nn(r,i,e)}}function qr(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=>an(c,d,o,!0)),an(c,t,o)),V(t)&&i.set(t,c),c}function an(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&an(e,i,n,!0),r&&r.forEach(o=>an(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ko[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ko={data:Ds,props:Fs,emits:Fs,methods:xt,computed:xt,beforeCreate:te,created:te,beforeMount:te,mounted:te,beforeUpdate:te,updated:te,beforeDestroy:te,beforeUnmount:te,destroyed:te,unmounted:te,activated:te,deactivated:te,errorCaptured:te,serverPrefetch:te,components:xt,directives:xt,watch:Ho,provide:Ds,inject:Lo};function Ds(e,t){return t?e?function(){return re(P(e)?e.call(this,this):e,P(t)?t.call(this,this):t)}:t:e}function Lo(e,t){return xt(Jn(e),Jn(t))}function Jn(e){if(T(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function te(e,t){return e?[...new Set([].concat(e,t))]:t}function xt(e,t){return e?re(Object.create(null),e,t):t}function Fs(e,t){return e?T(e)&&T(t)?[...new Set([...e,...t])]:re(Object.create(null),Ms(e),Ms(t??{})):t}function Ho(e,t){if(!e)return t;if(!t)return e;const n=re(Object.create(null),e);for(const s in t)n[s]=te(e[s],t[s]);return n}function Jr(){return{app:null,config:{isNativeTag:cr,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 $o=0;function Vo(e,t){return function(s,r=null){P(s)||(s=re({},s)),r!=null&&!V(r)&&(r=null);const i=Jr(),o=new WeakSet,l=[];let c=!1;const d=i.app={_uid:$o++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Al,get config(){return i.config},set config(u){},use(u,...p){return o.has(u)||(u&&P(u.install)?(o.add(u),u.install(d,...p)):P(u)&&(o.add(u),u(d,...p))),d},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),d},component(u,p){return p?(i.components[u]=p,d):i.components[u]},directive(u,p){return p?(i.directives[u]=p,d):i.directives[u]},mount(u,p,S){if(!c){const x=d._ceVNode||Re(s,r);return x.appContext=i,S===!0?S="svg":S===!1&&(S=void 0),e(x,u,S),c=!0,d._container=u,u.__vue_app__=d,vn(x.component)}},onUnmount(u){l.push(u)},unmount(){c&&(Te(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(u,p){return i.provides[u]=p,d},runWithContext(u){const p=ot;ot=d;try{return u()}finally{ot=p}}};return d}}let ot=null;function ko(e,t){if(se){let n=se.provides;const s=se.parent&&se.parent.provides;s===n&&(n=se.provides=Object.create(s)),n[e]=t}}function Xt(e,t,n=!1){const s=ui();if(s||ot){let r=ot?ot._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&&P(t)?t.call(s&&s.proxy):t}}function Uc(){return!!(ui()||ot)}const Wo=Symbol.for("v-scx"),Bo=()=>Xt(Wo);function Nn(e,t,n){return Gr(e,t,n)}function Gr(e,t,n=K){const{immediate:s,deep:r,flush:i,once:o}=n,l=re({},n),c=t&&s||!t&&i!=="post";let d;if(Ut){if(i==="sync"){const x=Bo();d=x.__watcherHandles||(x.__watcherHandles=[])}else if(!c){const x=()=>{};return x.stop=Ae,x.resume=Ae,x.pause=Ae,x}}const u=se;l.call=(x,O,N)=>Te(x,u,O,N);let p=!1;i==="post"?l.scheduler=x=>{ce(x,u&&u.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(x,O)=>{O?x():ds(x)}),l.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const S=po(e,t,l);return Ut&&(d?d.push(S):c&&S()),S}function qo(e,t,n){const s=this.proxy,r=q(e)?e.includes(".")?Yr(s,e):()=>s[e]:e.bind(s,s);let i;P(t)?i=t:(i=t.handler,n=t);const o=Lt(this),l=Gr(r,i.bind(s),n);return o(),l}function Yr(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 Jo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Je(t)}Modifiers`]||e[`${Ye(t)}Modifiers`];function Go(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||K;let r=n;const i=t.startsWith("update:"),o=i&&Jo(s,t.slice(7));o&&(o.trim&&(r=n.map(u=>q(u)?u.trim():u)),o.number&&(r=n.map(gn)));let l,c=s[l=Tn(t)]||s[l=Tn(Je(t))];!c&&i&&(c=s[l=Tn(Ye(t))]),c&&Te(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,Te(d,e,6,r)}}const Yo=new WeakMap;function zr(e,t,n=!1){const s=n?Yo:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!P(e)){const c=d=>{const u=zr(d,t,!0);u&&(l=!0,re(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(V(e)&&s.set(e,null),null):(T(i)?i.forEach(c=>o[c]=null):re(o,i),V(e)&&s.set(e,o),o)}function En(e,t){return!e||!dn(t)?!1:(t=t.slice(2).replace(/Once$/,""),U(e,t[0].toLowerCase()+t.slice(1))||U(e,Ye(t))||U(e,t))}function Us(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:d,renderCache:u,props:p,data:S,setupState:x,ctx:O,inheritAttrs:N}=e,Q=ln(e);let D,k;try{if(n.shapeFlag&4){const C=r||s,J=C;D=ve(d.call(J,C,u,p,x,S,O)),k=l}else{const C=t;D=ve(C.length>1?C(p,{attrs:l,slots:o,emit:c}):C(p,null)),k=t.props?l:zo(l)}}catch(C){It.length=0,yn(C,e,1),D=Re(Le)}let B=D;if(k&&N!==!1){const C=Object.keys(k),{shapeFlag:J}=B;C.length&&J&7&&(i&&C.some(es)&&(k=Xo(k,i)),B=gt(B,k,!1,!0))}return n.dirs&&(B=gt(B,null,!1,!0),B.dirs=B.dirs?B.dirs.concat(n.dirs):n.dirs),n.transition&&hs(B,n.transition),D=B,ln(Q),D}const zo=e=>{let t;for(const n in e)(n==="class"||n==="style"||dn(n))&&((t||(t={}))[n]=e[n]);return t},Xo=(e,t)=>{const n={};for(const s in e)(!es(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Zo(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?js(s,o,d):!!o;if(c&8){const u=t.dynamicProps;for(let p=0;p<u.length;p++){const S=u[p];if(o[S]!==s[S]&&!En(d,S))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?js(s,o,d):!0:!!o;return!1}function js(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]&&!En(n,i))return!0}return!1}function Qo({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 Xr={},Zr=()=>Object.create(Xr),Qr=e=>Object.getPrototypeOf(e)===Xr;function el(e,t,n,s=!1){const r={},i=Zr();e.propsDefaults=Object.create(null),ei(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:so(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function tl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=F(r),[c]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let p=0;p<u.length;p++){let S=u[p];if(En(e.emitsOptions,S))continue;const x=t[S];if(c)if(U(i,S))x!==i[S]&&(i[S]=x,d=!0);else{const O=Je(S);r[O]=Gn(c,l,O,x,e,!1)}else x!==i[S]&&(i[S]=x,d=!0)}}}else{ei(e,t,r,i)&&(d=!0);let u;for(const p in l)(!t||!U(t,p)&&((u=Ye(p))===p||!U(t,u)))&&(c?n&&(n[p]!==void 0||n[u]!==void 0)&&(r[p]=Gn(c,l,p,void 0,e,!0)):delete r[p]);if(i!==l)for(const p in i)(!t||!U(t,p))&&(delete i[p],d=!0)}d&&Ne(e.attrs,"set","")}function ei(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(At(c))continue;const d=t[c];let u;r&&U(r,u=Je(c))?!i||!i.includes(u)?n[u]=d:(l||(l={}))[u]=d:En(e.emitsOptions,c)||(!(c in s)||d!==s[c])&&(s[c]=d,o=!0)}if(i){const c=F(n),d=l||K;for(let u=0;u<i.length;u++){const p=i[u];n[p]=Gn(r,c,p,d[p],e,!U(d,p))}}return o}function Gn(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=U(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&P(c)){const{propsDefaults:d}=r;if(n in d)s=d[n];else{const u=Lt(r);s=d[n]=c.call(null,t),u()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===Ye(n))&&(s=!0))}return s}const nl=new WeakMap;function ti(e,t,n=!1){const s=n?nl:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!P(e)){const u=p=>{c=!0;const[S,x]=ti(p,t,!0);re(o,S),x&&l.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!c)return V(e)&&s.set(e,ft),ft;if(T(i))for(let u=0;u<i.length;u++){const p=Je(i[u]);Ks(p)&&(o[p]=K)}else if(i)for(const u in i){const p=Je(u);if(Ks(p)){const S=i[u],x=o[p]=T(S)||P(S)?{type:S}:re({},S),O=x.type;let N=!1,Q=!0;if(T(O))for(let D=0;D<O.length;++D){const k=O[D],B=P(k)&&k.name;if(B==="Boolean"){N=!0;break}else B==="String"&&(Q=!1)}else N=P(O)&&O.name==="Boolean";x[0]=N,x[1]=Q,(N||U(x,"default"))&&l.push(p)}}const d=[o,l];return V(e)&&s.set(e,d),d}function Ks(e){return e[0]!=="$"&&!At(e)}const ps=e=>e==="_"||e==="_ctx"||e==="$stable",gs=e=>T(e)?e.map(ve):[ve(e)],sl=(e,t,n)=>{if(t._n)return t;const s=_o((...r)=>gs(t(...r)),n);return s._c=!1,s},ni=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ps(r))continue;const i=e[r];if(P(i))t[r]=sl(r,i,s);else if(i!=null){const o=gs(i);t[r]=()=>o}}},si=(e,t)=>{const n=gs(t);e.slots.default=()=>n},ri=(e,t,n)=>{for(const s in t)(n||!ps(s))&&(e[s]=t[s])},rl=(e,t,n)=>{const s=e.slots=Zr();if(e.vnode.shapeFlag&32){const r=t._;r?(ri(s,t,n),n&&hr(s,"_",r,!0)):ni(t,s)}else t&&si(e,t)},il=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=K;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ri(r,t,n):(i=!t.$stable,ni(t,r)),o=t}else t&&(si(e,t),o={default:1});if(i)for(const l in r)!ps(l)&&o[l]==null&&delete r[l]},ce=fl;function ol(e){return ll(e)}function ll(e,t){const n=mn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:d,setElementText:u,parentNode:p,nextSibling:S,setScopeId:x=Ae,insertStaticContent:O}=e,N=(a,f,h,_=null,g=null,m=null,E=void 0,w=null,y=!!f.dynamicChildren)=>{if(a===f)return;a&&!vt(a,f)&&(_=Wt(a),be(a,g,m,!0),a=null),f.patchFlag===-2&&(y=!1,f.dynamicChildren=null);const{type:b,ref:R,shapeFlag:v}=f;switch(b){case Sn:Q(a,f,h,_);break;case Le:D(a,f,h,_);break;case Fn:a==null&&k(f,h,_,E);break;case ue:$t(a,f,h,_,g,m,E,w,y);break;default:v&1?J(a,f,h,_,g,m,E,w,y):v&6?Vt(a,f,h,_,g,m,E,w,y):(v&64||v&128)&&b.process(a,f,h,_,g,m,E,w,y,wt)}R!=null&&g?Ot(R,a&&a.ref,m,f||a,!f):R==null&&a&&a.ref!=null&&Ot(a.ref,null,m,a,!0)},Q=(a,f,h,_)=>{if(a==null)s(f.el=l(f.children),h,_);else{const g=f.el=a.el;f.children!==a.children&&d(g,f.children)}},D=(a,f,h,_)=>{a==null?s(f.el=c(f.children||""),h,_):f.el=a.el},k=(a,f,h,_)=>{[a.el,a.anchor]=O(a.children,f,h,_,a.el,a.anchor)},B=({el:a,anchor:f},h,_)=>{let g;for(;a&&a!==f;)g=S(a),s(a,h,_),a=g;s(f,h,_)},C=({el:a,anchor:f})=>{let h;for(;a&&a!==f;)h=S(a),r(a),a=h;r(f)},J=(a,f,h,_,g,m,E,w,y)=>{if(f.type==="svg"?E="svg":f.type==="math"&&(E="mathml"),a==null)$e(f,h,_,g,m,E,w,y);else{const b=a.el&&a.el._isVueCE?a.el:null;try{b&&b._beginPatch(),Ht(a,f,g,m,E,w,y)}finally{b&&b._endPatch()}}},$e=(a,f,h,_,g,m,E,w)=>{let y,b;const{props:R,shapeFlag:v,transition:A,dirs:I}=a;if(y=a.el=o(a.type,m,R&&R.is,R),v&8?u(y,a.children):v&16&&Ve(a.children,y,null,_,g,Dn(a,m),E,w),I&&Qe(a,null,_,"created"),me(y,a,a.scopeId,E,_),R){for(const H in R)H!=="value"&&!At(H)&&i(y,H,null,R[H],m,_);"value"in R&&i(y,"value",null,R.value,m),(b=R.onVnodeBeforeMount)&&Ee(b,_,a)}I&&Qe(a,null,_,"beforeMount");const M=cl(g,A);M&&A.beforeEnter(y),s(y,f,h),((b=R&&R.onVnodeMounted)||M||I)&&ce(()=>{b&&Ee(b,_,a),M&&A.enter(y),I&&Qe(a,null,_,"mounted")},g)},me=(a,f,h,_,g)=>{if(h&&x(a,h),_)for(let m=0;m<_.length;m++)x(a,_[m]);if(g){let m=g.subTree;if(f===m||li(m.type)&&(m.ssContent===f||m.ssFallback===f)){const E=g.vnode;me(a,E,E.scopeId,E.slotScopeIds,g.parent)}}},Ve=(a,f,h,_,g,m,E,w,y=0)=>{for(let b=y;b<a.length;b++){const R=a[b]=w?Be(a[b]):ve(a[b]);N(null,R,f,h,_,g,m,E,w)}},Ht=(a,f,h,_,g,m,E)=>{const w=f.el=a.el;let{patchFlag:y,dynamicChildren:b,dirs:R}=f;y|=a.patchFlag&16;const v=a.props||K,A=f.props||K;let I;if(h&&et(h,!1),(I=A.onVnodeBeforeUpdate)&&Ee(I,h,f,a),R&&Qe(f,a,h,"beforeUpdate"),h&&et(h,!0),(v.innerHTML&&A.innerHTML==null||v.textContent&&A.textContent==null)&&u(w,""),b?ze(a.dynamicChildren,b,w,h,_,Dn(f,g),m):E||L(a,f,w,null,h,_,Dn(f,g),m,!1),y>0){if(y&16)_t(w,v,A,h,g);else if(y&2&&v.class!==A.class&&i(w,"class",null,A.class,g),y&4&&i(w,"style",v.style,A.style,g),y&8){const M=f.dynamicProps;for(let H=0;H<M.length;H++){const j=M[H],ie=v[j],oe=A[j];(oe!==ie||j==="value")&&i(w,j,ie,oe,g,h)}}y&1&&a.children!==f.children&&u(w,f.children)}else!E&&b==null&&_t(w,v,A,h,g);((I=A.onVnodeUpdated)||R)&&ce(()=>{I&&Ee(I,h,f,a),R&&Qe(f,a,h,"updated")},_)},ze=(a,f,h,_,g,m,E)=>{for(let w=0;w<f.length;w++){const y=a[w],b=f[w],R=y.el&&(y.type===ue||!vt(y,b)||y.shapeFlag&198)?p(y.el):h;N(y,b,R,null,_,g,m,E,!0)}},_t=(a,f,h,_,g)=>{if(f!==h){if(f!==K)for(const m in f)!At(m)&&!(m in h)&&i(a,m,f[m],null,g,_);for(const m in h){if(At(m))continue;const E=h[m],w=f[m];E!==w&&m!=="value"&&i(a,m,w,E,g,_)}"value"in h&&i(a,"value",f.value,h.value,g)}},$t=(a,f,h,_,g,m,E,w,y)=>{const b=f.el=a?a.el:l(""),R=f.anchor=a?a.anchor:l("");let{patchFlag:v,dynamicChildren:A,slotScopeIds:I}=f;I&&(w=w?w.concat(I):I),a==null?(s(b,h,_),s(R,h,_),Ve(f.children||[],h,R,g,m,E,w,y)):v>0&&v&64&&A&&a.dynamicChildren?(ze(a.dynamicChildren,A,h,g,m,E,w),(f.key!=null||g&&f===g.subTree)&&ii(a,f,!0)):L(a,f,h,R,g,m,E,w,y)},Vt=(a,f,h,_,g,m,E,w,y)=>{f.slotScopeIds=w,a==null?f.shapeFlag&512?g.ctx.activate(f,h,_,E,y):An(f,h,_,g,m,E,y):ws(a,f,y)},An=(a,f,h,_,g,m,E)=>{const w=a.component=_l(a,_,g);if($r(a)&&(w.ctx.renderer=wt),yl(w,!1,E),w.asyncDep){if(g&&g.registerDep(w,ee,E),!a.el){const y=w.subTree=Re(Le);D(null,y,f,h),a.placeholder=y.el}}else ee(w,a,f,h,g,m,E)},ws=(a,f,h)=>{const _=f.component=a.component;if(Zo(a,f,h))if(_.asyncDep&&!_.asyncResolved){W(_,f,h);return}else _.next=f,_.update();else f.el=a.el,_.vnode=f},ee=(a,f,h,_,g,m,E)=>{const w=()=>{if(a.isMounted){let{next:v,bu:A,u:I,parent:M,vnode:H}=a;{const ye=oi(a);if(ye){v&&(v.el=H.el,W(a,v,E)),ye.asyncDep.then(()=>{a.isUnmounted||w()});return}}let j=v,ie;et(a,!1),v?(v.el=H.el,W(a,v,E)):v=H,A&&zt(A),(ie=v.props&&v.props.onVnodeBeforeUpdate)&&Ee(ie,M,v,H),et(a,!0);const oe=Us(a),_e=a.subTree;a.subTree=oe,N(_e,oe,p(_e.el),Wt(_e),a,g,m),v.el=oe.el,j===null&&Qo(a,oe.el),I&&ce(I,g),(ie=v.props&&v.props.onVnodeUpdated)&&ce(()=>Ee(ie,M,v,H),g)}else{let v;const{el:A,props:I}=f,{bm:M,m:H,parent:j,root:ie,type:oe}=a,_e=ht(f);et(a,!1),M&&zt(M),!_e&&(v=I&&I.onVnodeBeforeMount)&&Ee(v,j,f),et(a,!0);{ie.ce&&ie.ce._def.shadowRoot!==!1&&ie.ce._injectChildStyle(oe);const ye=a.subTree=Us(a);N(null,ye,h,_,a,g,m),f.el=ye.el}if(H&&ce(H,g),!_e&&(v=I&&I.onVnodeMounted)){const ye=f;ce(()=>Ee(v,j,ye),g)}(f.shapeFlag&256||j&&ht(j.vnode)&&j.vnode.shapeFlag&256)&&a.a&&ce(a.a,g),a.isMounted=!0,f=h=_=null}};a.scope.on();const y=a.effect=new _r(w);a.scope.off();const b=a.update=y.run.bind(y),R=a.job=y.runIfDirty.bind(y);R.i=a,R.id=a.uid,y.scheduler=()=>ds(R),et(a,!0),b()},W=(a,f,h)=>{f.component=a;const _=a.vnode.props;a.vnode=f,a.next=null,tl(a,f.props,_,h),il(a,f.children,h),Ue(),Is(a),je()},L=(a,f,h,_,g,m,E,w,y=!1)=>{const b=a&&a.children,R=a?a.shapeFlag:0,v=f.children,{patchFlag:A,shapeFlag:I}=f;if(A>0){if(A&128){kt(b,v,h,_,g,m,E,w,y);return}else if(A&256){Xe(b,v,h,_,g,m,E,w,y);return}}I&8?(R&16&&yt(b,g,m),v!==b&&u(h,v)):R&16?I&16?kt(b,v,h,_,g,m,E,w,y):yt(b,g,m,!0):(R&8&&u(h,""),I&16&&Ve(v,h,_,g,m,E,w,y))},Xe=(a,f,h,_,g,m,E,w,y)=>{a=a||ft,f=f||ft;const b=a.length,R=f.length,v=Math.min(b,R);let A;for(A=0;A<v;A++){const I=f[A]=y?Be(f[A]):ve(f[A]);N(a[A],I,h,null,g,m,E,w,y)}b>R?yt(a,g,m,!0,!1,v):Ve(f,h,_,g,m,E,w,y,v)},kt=(a,f,h,_,g,m,E,w,y)=>{let b=0;const R=f.length;let v=a.length-1,A=R-1;for(;b<=v&&b<=A;){const I=a[b],M=f[b]=y?Be(f[b]):ve(f[b]);if(vt(I,M))N(I,M,h,null,g,m,E,w,y);else break;b++}for(;b<=v&&b<=A;){const I=a[v],M=f[A]=y?Be(f[A]):ve(f[A]);if(vt(I,M))N(I,M,h,null,g,m,E,w,y);else break;v--,A--}if(b>v){if(b<=A){const I=A+1,M=I<R?f[I].el:_;for(;b<=A;)N(null,f[b]=y?Be(f[b]):ve(f[b]),h,M,g,m,E,w,y),b++}}else if(b>A)for(;b<=v;)be(a[b],g,m,!0),b++;else{const I=b,M=b,H=new Map;for(b=M;b<=A;b++){const le=f[b]=y?Be(f[b]):ve(f[b]);le.key!=null&&H.set(le.key,b)}let j,ie=0;const oe=A-M+1;let _e=!1,ye=0;const Et=new Array(oe);for(b=0;b<oe;b++)Et[b]=0;for(b=I;b<=v;b++){const le=a[b];if(ie>=oe){be(le,g,m,!0);continue}let we;if(le.key!=null)we=H.get(le.key);else for(j=M;j<=A;j++)if(Et[j-M]===0&&vt(le,f[j])){we=j;break}we===void 0?be(le,g,m,!0):(Et[we-M]=b+1,we>=ye?ye=we:_e=!0,N(le,f[we],h,null,g,m,E,w,y),ie++)}const vs=_e?al(Et):ft;for(j=vs.length-1,b=oe-1;b>=0;b--){const le=M+b,we=f[le],xs=f[le+1],As=le+1<R?xs.el||xs.placeholder:_;Et[b]===0?N(null,we,h,As,g,m,E,w,y):_e&&(j<0||b!==vs[j]?Ze(we,h,As,2):j--)}}},Ze=(a,f,h,_,g=null)=>{const{el:m,type:E,transition:w,children:y,shapeFlag:b}=a;if(b&6){Ze(a.component.subTree,f,h,_);return}if(b&128){a.suspense.move(f,h,_);return}if(b&64){E.move(a,f,h,wt);return}if(E===ue){s(m,f,h);for(let v=0;v<y.length;v++)Ze(y[v],f,h,_);s(a.anchor,f,h);return}if(E===Fn){B(a,f,h);return}if(_!==2&&b&1&&w)if(_===0)w.beforeEnter(m),s(m,f,h),ce(()=>w.enter(m),g);else{const{leave:v,delayLeave:A,afterLeave:I}=w,M=()=>{a.ctx.isUnmounted?r(m):s(m,f,h)},H=()=>{m._isLeaving&&m[Eo](!0),v(m,()=>{M(),I&&I()})};A?A(m,M,H):H()}else s(m,f,h)},be=(a,f,h,_=!1,g=!1)=>{const{type:m,props:E,ref:w,children:y,dynamicChildren:b,shapeFlag:R,patchFlag:v,dirs:A,cacheIndex:I}=a;if(v===-2&&(g=!1),w!=null&&(Ue(),Ot(w,null,h,a,!0),je()),I!=null&&(f.renderCache[I]=void 0),R&256){f.ctx.deactivate(a);return}const M=R&1&&A,H=!ht(a);let j;if(H&&(j=E&&E.onVnodeBeforeUnmount)&&Ee(j,f,a),R&6)xi(a.component,h,_);else{if(R&128){a.suspense.unmount(h,_);return}M&&Qe(a,null,f,"beforeUnmount"),R&64?a.type.remove(a,f,h,wt,_):b&&!b.hasOnce&&(m!==ue||v>0&&v&64)?yt(b,f,h,!1,!0):(m===ue&&v&384||!g&&R&16)&&yt(y,f,h),_&&Es(a)}(H&&(j=E&&E.onVnodeUnmounted)||M)&&ce(()=>{j&&Ee(j,f,a),M&&Qe(a,null,f,"unmounted")},h)},Es=a=>{const{type:f,el:h,anchor:_,transition:g}=a;if(f===ue){vi(h,_);return}if(f===Fn){C(a);return}const m=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(a.shapeFlag&1&&g&&!g.persisted){const{leave:E,delayLeave:w}=g,y=()=>E(h,m);w?w(a.el,m,y):y()}else m()},vi=(a,f)=>{let h;for(;a!==f;)h=S(a),r(a),a=h;r(f)},xi=(a,f,h)=>{const{bum:_,scope:g,job:m,subTree:E,um:w,m:y,a:b}=a;Ls(y),Ls(b),_&&zt(_),g.stop(),m&&(m.flags|=8,be(E,a,f,h)),w&&ce(w,f),ce(()=>{a.isUnmounted=!0},f)},yt=(a,f,h,_=!1,g=!1,m=0)=>{for(let E=m;E<a.length;E++)be(a[E],f,h,_,g)},Wt=a=>{if(a.shapeFlag&6)return Wt(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=S(a.anchor||a.el),h=f&&f[yo];return h?S(h):f};let Rn=!1;const Ss=(a,f,h)=>{a==null?f._vnode&&be(f._vnode,null,null,!0):N(f._vnode||null,a,f,null,null,null,h),f._vnode=a,Rn||(Rn=!0,Is(),jr(),Rn=!1)},wt={p:N,um:be,m:Ze,r:Es,mt:An,mc:Ve,pc:L,pbc:ze,n:Wt,o:e};return{render:Ss,hydrate:void 0,createApp:Vo(Ss)}}function Dn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function cl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ii(e,t,n=!1){const s=e.children,r=t.children;if(T(s)&&T(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]=Be(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&ii(o,l)),l.type===Sn&&l.patchFlag!==-1&&(l.el=o.el),l.type===Le&&!l.el&&(l.el=o.el)}}function al(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 oi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oi(t)}function Ls(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const li=e=>e.__isSuspense;function fl(e,t){t&&t.pendingBranch?T(e)?t.effects.push(...e):t.effects.push(e):bo(e)}const ue=Symbol.for("v-fgt"),Sn=Symbol.for("v-txt"),Le=Symbol.for("v-cmt"),Fn=Symbol.for("v-stc"),It=[];let ae=null;function Yn(e=!1){It.push(ae=e?null:[])}function ul(){It.pop(),ae=It[It.length-1]||null}let Ft=1;function Hs(e,t=!1){Ft+=e,e<0&&ae&&t&&(ae.hasOnce=!0)}function ci(e){return e.dynamicChildren=Ft>0?ae||ft:null,ul(),Ft>0&&ae&&ae.push(e),e}function jc(e,t,n,s,r,i){return ci(fi(e,t,n,s,r,i,!0))}function zn(e,t,n,s,r){return ci(Re(e,t,n,s,r,!0))}function ms(e){return e?e.__v_isVNode===!0:!1}function vt(e,t){return e.type===t.type&&e.key===t.key}const ai=({key:e})=>e??null,Zt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?q(e)||G(e)||P(e)?{i:Z,r:e,k:t,f:!!n}:e:null);function fi(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&&ai(t),ref:t&&Zt(t),scopeId:Lr,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:Z};return l?(bs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=q(n)?8:16),Ft>0&&!o&&ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&ae.push(c),c}const Re=dl;function dl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Do)&&(e=Le),ms(e)){const l=gt(e,t,!0);return n&&bs(l,n),Ft>0&&!i&&ae&&(l.shapeFlag&6?ae[ae.indexOf(e)]=l:ae.push(l)),l.patchFlag=-2,l}if(vl(e)&&(e=e.__vccOpts),t){t=hl(t);let{class:l,style:c}=t;l&&!q(l)&&(t.class=ss(l)),V(c)&&(_n(c)&&!T(c)&&(c=re({},c)),t.style=ns(c))}const o=q(e)?1:li(e)?128:wo(e)?64:V(e)?4:P(e)?2:0;return fi(e,t,n,s,r,o,i,!0)}function hl(e){return e?_n(e)||Qr(e)?re({},e):e:null}function gt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,d=t?gl(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ai(d),ref:t&&t.ref?n&&i?T(i)?i.concat(Zt(t)):[i,Zt(t)]:Zt(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&>(e.ssContent),ssFallback:e.ssFallback&>(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&hs(u,c.clone(u)),u}function pl(e=" ",t=0){return Re(Sn,null,e,t)}function Kc(e="",t=!1){return t?(Yn(),zn(Le,null,e)):Re(Le,null,e)}function ve(e){return e==null||typeof e=="boolean"?Re(Le):T(e)?Re(ue,null,e.slice()):ms(e)?Be(e):Re(Sn,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:gt(e)}function bs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(T(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),bs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Qr(t)?t._ctx=Z:r===3&&Z&&(Z.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else P(t)?(t={default:t,_ctx:Z},n=32):(t=String(t),s&64?(n=16,t=[pl(t)]):n=8);e.children=t,e.shapeFlag|=n}function gl(...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=ss([t.class,s.class]));else if(r==="style")t.style=ns([t.style,s.style]);else if(dn(r)){const i=t[r],o=s[r];o&&i!==o&&!(T(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=s[r])}return t}function Ee(e,t,n,s=null){Te(e,t,7,[n,s])}const ml=Jr();let bl=0;function _l(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ml,i={uid:bl++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new br(!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:ti(s,r),emitsOptions:zr(s,r),emit:null,emitted:null,propsDefaults:K,inheritAttrs:s.inheritAttrs,ctx:K,data:K,props:K,attrs:K,slots:K,refs:K,setupState:K,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=Go.bind(null,i),e.ce&&e.ce(i),i}let se=null;const ui=()=>se||Z;let fn,Xn;{const e=mn(),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)}};fn=t("__VUE_INSTANCE_SETTERS__",n=>se=n),Xn=t("__VUE_SSR_SETTERS__",n=>Ut=n)}const Lt=e=>{const t=se;return fn(e),e.scope.on(),()=>{e.scope.off(),fn(t)}},$s=()=>{se&&se.scope.off(),fn(null)};function di(e){return e.vnode.shapeFlag&4}let Ut=!1;function yl(e,t=!1,n=!1){t&&Xn(t);const{props:s,children:r}=e.vnode,i=di(e);el(e,s,i,t),rl(e,r,n||t);const o=i?wl(e,t):void 0;return t&&Xn(!1),o}function wl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Fo);const{setup:s}=n;if(s){Ue();const r=e.setupContext=s.length>1?Sl(e):null,i=Lt(e),o=Kt(s,e,0,[e.props,r]),l=ar(o);if(je(),i(),(l||e.sp)&&!ht(e)&&Hr(e),l){if(o.then($s,$s),t)return o.then(c=>{Vs(e,c)}).catch(c=>{yn(c,e,0)});e.asyncDep=o}else Vs(e,o)}else hi(e)}function Vs(e,t,n){P(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:V(t)&&(e.setupState=Nr(t)),hi(e)}function hi(e,t,n){const s=e.type;e.render||(e.render=s.render||Ae);{const r=Lt(e);Ue();try{Uo(e)}finally{je(),r()}}}const El={get(e,t){return X(e,"get",""),e[t]}};function Sl(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,El),slots:e.slots,emit:e.emit,expose:t}}function vn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Nr(ro(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ct)return Ct[n](e)},has(t,n){return n in t||n in Ct}})):e.proxy}function vl(e){return P(e)&&"__vccOpts"in e}const xl=(e,t)=>uo(e,t,Ut),Al="3.5.25";let Zn;const ks=typeof window<"u"&&window.trustedTypes;if(ks)try{Zn=ks.createPolicy("vue",{createHTML:e=>e})}catch{}const pi=Zn?e=>Zn.createHTML(e):e=>e,Rl="http://www.w3.org/2000/svg",Tl="http://www.w3.org/1998/Math/MathML",Ce=typeof document<"u"?document:null,Ws=Ce&&Ce.createElement("template"),Ol={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"?Ce.createElementNS(Rl,e):t==="mathml"?Ce.createElementNS(Tl,e):n?Ce.createElement(e,{is:n}):Ce.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ce.createTextNode(e),createComment:e=>Ce.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ce.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{Ws.innerHTML=pi(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=Ws.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]}},Cl=Symbol("_vtc");function Il(e,t,n){const s=e[Cl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Bs=Symbol("_vod"),Pl=Symbol("_vsh"),Ml=Symbol(""),Nl=/(?:^|;)\s*display\s*:/;function Dl(e,t,n){const s=e.style,r=q(n);let i=!1;if(n&&!r){if(t)if(q(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Qt(s,l,"")}else for(const o in t)n[o]==null&&Qt(s,o,"");for(const o in n)o==="display"&&(i=!0),Qt(s,o,n[o])}else if(r){if(t!==n){const o=s[Ml];o&&(n+=";"+o),s.cssText=n,i=Nl.test(n)}}else t&&e.removeAttribute("style");Bs in e&&(e[Bs]=i?s.display:"",e[Pl]&&(s.display="none"))}const qs=/\s*!important$/;function Qt(e,t,n){if(T(n))n.forEach(s=>Qt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Fl(e,t);qs.test(n)?e.setProperty(Ye(s),n.replace(qs,""),"important"):e[s]=n}}const Js=["Webkit","Moz","ms"],Un={};function Fl(e,t){const n=Un[t];if(n)return n;let s=Je(t);if(s!=="filter"&&s in e)return Un[t]=s;s=dr(s);for(let r=0;r<Js.length;r++){const i=Js[r]+s;if(i in e)return Un[t]=i}return t}const Gs="http://www.w3.org/1999/xlink";function Ys(e,t,n,s,r,i=Di(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Gs,t.slice(6,t.length)):e.setAttributeNS(Gs,t,n):n==null||i&&!pr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":pe(n)?String(n):n)}function zs(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?pi(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=pr(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 Fe(e,t,n,s){e.addEventListener(t,n,s)}function Ul(e,t,n,s){e.removeEventListener(t,n,s)}const Xs=Symbol("_vei");function jl(e,t,n,s,r=null){const i=e[Xs]||(e[Xs]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Kl(t);if(s){const d=i[t]=$l(s,r);Fe(e,l,d,c)}else o&&(Ul(e,l,o,c),i[t]=void 0)}}const Zs=/(?:Once|Passive|Capture)$/;function Kl(e){let t;if(Zs.test(e)){t={};let s;for(;s=e.match(Zs);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ye(e.slice(2)),t]}let jn=0;const Ll=Promise.resolve(),Hl=()=>jn||(Ll.then(()=>jn=0),jn=Date.now());function $l(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Te(Vl(s,n.value),t,5,[s])};return n.value=e,n.attached=Hl(),n}function Vl(e,t){if(T(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 Qs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,kl=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Il(e,s,o):t==="style"?Dl(e,n,s):dn(t)?es(t)||jl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wl(e,t,s,o))?(zs(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ys(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!q(s))?zs(e,Je(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ys(e,t,s,o))};function Wl(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Qs(t)&&P(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 Qs(t)&&q(n)?!1:t in e}const Ge=e=>{const t=e.props["onUpdate:modelValue"]||!1;return T(t)?n=>zt(t,n):t};function Bl(e){e.target.composing=!0}function er(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const de=Symbol("_assign");function tr(e,t,n){return t&&(e=e.trim()),n&&(e=gn(e)),e}const nr={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[de]=Ge(r);const i=s||r.props&&r.props.type==="number";Fe(e,t?"change":"input",o=>{o.target.composing||e[de](tr(e.value,n,i))}),(n||i)&&Fe(e,"change",()=>{e.value=tr(e.value,n,i)}),t||(Fe(e,"compositionstart",Bl),Fe(e,"compositionend",er),Fe(e,"change",er))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[de]=Ge(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?gn(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))}},ql={deep:!0,created(e,t,n){e[de]=Ge(n),Fe(e,"change",()=>{const s=e._modelValue,r=mt(e),i=e.checked,o=e[de];if(T(s)){const l=rs(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const d=[...s];d.splice(l,1),o(d)}}else if(bt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(gi(e,i))})},mounted:sr,beforeUpdate(e,t,n){e[de]=Ge(n),sr(e,t,n)}};function sr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(T(t))r=rs(t,s.props.value)>-1;else if(bt(t))r=t.has(s.props.value);else{if(t===n)return;r=lt(t,gi(e,!0))}e.checked!==r&&(e.checked=r)}const Jl={created(e,{value:t},n){e.checked=lt(t,n.props.value),e[de]=Ge(n),Fe(e,"change",()=>{e[de](mt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[de]=Ge(s),t!==n&&(e.checked=lt(t,s.props.value))}},Gl={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=bt(t);Fe(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?gn(mt(o)):mt(o));e[de](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,Fr(()=>{e._assigning=!1})}),e[de]=Ge(s)},mounted(e,{value:t}){rr(e,t)},beforeUpdate(e,t,n){e[de]=Ge(n)},updated(e,{value:t}){e._assigning||rr(e,t)}};function rr(e,t){const n=e.multiple,s=T(t);if(!(n&&!s&&!bt(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=mt(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=rs(t,l)>-1}else o.selected=t.has(l);else if(lt(mt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function mt(e){return"_value"in e?e._value:e.value}function gi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Lc={created(e,t,n){Gt(e,t,n,null,"created")},mounted(e,t,n){Gt(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Gt(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Gt(e,t,n,s,"updated")}};function Yl(e,t){switch(e){case"SELECT":return Gl;case"TEXTAREA":return nr;default:switch(t){case"checkbox":return ql;case"radio":return Jl;default:return nr}}}function Gt(e,t,n,s,r){const o=Yl(e.tagName,n.props&&n.props.type)[r];o&&o(e,t,n,s)}const zl=["ctrl","shift","alt","meta"],Xl={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)=>zl.some(n=>e[`${n}Key`]&&!t.includes(n))},Hc=(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=Xl[t[o]];if(l&&l(r,t))return}return e(r,...i)}))},Zl={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},$c=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(r=>{if(!("key"in r))return;const i=Ye(r.key);if(t.some(o=>o===i||Zl[o]===i))return e(r)}))},Ql=re({patchProp:kl},Ol);let ir;function ec(){return ir||(ir=ol(Ql))}const Vc=((...e)=>{const t=ec().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=nc(s);if(!r)return;const i=t._component;!P(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,tc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function tc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function nc(e){return q(e)?document.querySelector(e):e}function xe(e){const t=new Uint8Array(e);let n="";for(const r of t)n+=String.fromCharCode(r);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function un(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,s=t.padEnd(t.length+n,"="),r=atob(s),i=new ArrayBuffer(r.length),o=new Uint8Array(i);for(let l=0;l<r.length;l++)o[l]=r.charCodeAt(l);return i}function _s(){return sc.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}const sc={stubThis:e=>e};function mi(e){const{id:t}=e;return{...e,id:un(t),transports:e.transports}}function bi(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}class Y extends Error{constructor({message:t,code:n,cause:s,name:r}){super(t,{cause:s}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??s.name,this.code=n}}function rc({error:e,options:t}){const{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Y({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===!0)return new Y({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new Y({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new Y({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new Y({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new Y({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(r=>r.type==="public-key").length===0?new Y({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new Y({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const s=globalThis.location.hostname;if(bi(s)){if(n.rp.id!==s)return new Y({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Y({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new Y({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new Y({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}class ic{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){const n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const _i=new ic,oc=["cross-platform","platform"];function yi(e){if(e&&!(oc.indexOf(e)<0))return e}async function lc(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});const{optionsJSON:t,useAutoRegister:n=!1}=e;if(!_s())throw new Error("WebAuthn is not supported in this browser");const s={...t,challenge:un(t.challenge),user:{...t.user,id:un(t.user.id)},excludeCredentials:t.excludeCredentials?.map(mi)},r={};n&&(r.mediation="conditional"),r.publicKey=s,r.signal=_i.createNewAbortSignal();let i;try{i=await navigator.credentials.create(r)}catch(O){throw rc({error:O,options:r})}if(!i)throw new Error("Registration was not completed");const{id:o,rawId:l,response:c,type:d}=i;let u;typeof c.getTransports=="function"&&(u=c.getTransports());let p;if(typeof c.getPublicKeyAlgorithm=="function")try{p=c.getPublicKeyAlgorithm()}catch(O){Kn("getPublicKeyAlgorithm()",O)}let S;if(typeof c.getPublicKey=="function")try{const O=c.getPublicKey();O!==null&&(S=xe(O))}catch(O){Kn("getPublicKey()",O)}let x;if(typeof c.getAuthenticatorData=="function")try{x=xe(c.getAuthenticatorData())}catch(O){Kn("getAuthenticatorData()",O)}return{id:o,rawId:xe(l),response:{attestationObject:xe(c.attestationObject),clientDataJSON:xe(c.clientDataJSON),transports:u,publicKeyAlgorithm:p,publicKey:S,authenticatorData:x},type:d,clientExtensionResults:i.getClientExtensionResults(),authenticatorAttachment:yi(i.authenticatorAttachment)}}function Kn(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
|
|
2
|
-
`,t)}function cc(){if(!_s())return Ln.stubThis(new Promise(t=>t(!1)));const e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Ln.stubThis(new Promise(t=>t(!1))):Ln.stubThis(e.isConditionalMediationAvailable())}const Ln={stubThis:e=>e};function ac({error:e,options:t}){const{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Y({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new Y({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const s=globalThis.location.hostname;if(bi(s)){if(n.rpId!==s)return new Y({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Y({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new Y({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function fc(e){!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});const{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:s=!0}=e;if(!_s())throw new Error("WebAuthn is not supported in this browser");let r;t.allowCredentials?.length!==0&&(r=t.allowCredentials?.map(mi));const i={...t,challenge:un(t.challenge),allowCredentials:r},o={};if(n){if(!await cc())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&s)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation="conditional",i.allowCredentials=[]}o.publicKey=i,o.signal=_i.createNewAbortSignal();let l;try{l=await navigator.credentials.get(o)}catch(x){throw ac({error:x,options:o})}if(!l)throw new Error("Authentication was not completed");const{id:c,rawId:d,response:u,type:p}=l;let S;return u.userHandle&&(S=xe(u.userHandle)),{id:c,rawId:xe(d),response:{authenticatorData:xe(u.authenticatorData),clientDataJSON:xe(u.clientDataJSON),signature:xe(u.signature),userHandle:S},type:p,clientExtensionResults:l.getClientExtensionResults(),authenticatorAttachment:yi(l.authenticatorAttachment)}}class uc extends WebSocket{#n=[];#e=[];#t=null;#s=!1;constructor(t,n,s,r,i){super(new URL(s,document.baseURI.replace(/^http/,"ws")),r),this.binaryType=i||"blob",this.onopen=()=>{this.#s=!0,t(this)},this.onmessage=o=>{this.#e.length?this.#e.shift().resolve(o.data):this.#n.push(o.data)},this.onclose=o=>{if(!this.#s){n(new Error(`Failed to connect to server (code ${o.code})`));return}let l;if(o.wasClean)switch(o.code){case 1e3:l="Connection closed normally";break;case 1001:l="Server is going away";break;case 1002:l="Protocol error";break;case 1003:l="Unsupported data received";break;case 1006:l="Connection lost unexpectedly";break;case 1007:l="Invalid data received";break;case 1008:l="Policy violation";break;case 1009:l="Message too large";break;case 1010:l="Extension negotiation failed";break;case 1011:l="Server encountered an error";break;case 1012:l="Server is restarting";break;case 1013:l="Server is overloaded, try again later";break;case 1014:l="Bad gateway";break;case 1015:l="TLS handshake failed";break;default:l=`Connection closed (code ${o.code})`}else l=o.code===1006?"Connection lost unexpectedly":`Connection closed with error (code ${o.code})`;this.#t=new Error(l),this.#e.splice(0).forEach(c=>c.reject(this.#t))}}receive(){return this.#n.length?Promise.resolve(this.#n.shift()):this.#t?Promise.reject(this.#t):new Promise((t,n)=>this.#e.push({resolve:t,reject:n}))}async receive_bytes(){const t=await this.receive();if(typeof t=="string")throw console.error("WebSocket received text data, expected a binary message",t),new Error("WebSocket received text data, expected a binary message");return t instanceof Blob?t.bytes():new Uint8Array(t)}async receive_json(){const t=await this.receive();if(typeof t!="string")throw console.error("WebSocket received binary data, expected JSON string",t),new Error("WebSocket received binary data, expected JSON string");try{return JSON.parse(t)}catch(n){throw console.error("Failed to parse JSON from WebSocket message",t,n),new Error("Failed to parse JSON from WebSocket message")}}send_json(t){let n;try{n=JSON.stringify(t)}catch(s){throw new Error(`Failed to stringify data for WebSocket: ${s.message}`)}this.send(n)}}function wi(e,t={}){const{protocols:n,binaryType:s}=t;return new Promise((r,i)=>{new uc(r,i,e,n,s)})}let Yt=null,nt=null;async function dc(){return nt||Yt||(Yt=fetch("/auth/api/settings").then(e=>e.ok?e.json():{}).then(e=>(nt=e||{},nt)).catch(()=>(nt={},nt)),Yt)}function Pt(){const e=nt?.ui_base_path||"/auth/";return e==="/"?"/":e.endsWith("/")?e:e+"/"}function kc(){return Pt()==="/"?"/admin/":Pt()+"admin/"}function Wc(e=""){const t=e.startsWith("/")?e.slice(1):e;return t?Pt()==="/"?"/"+t:Pt()+t:Pt()}const hc=1e3;class ys extends Error{constructor(t,n,s){super(s?.detail||`Request failed: ${n.status}`),this.name="ApiError",this.url=t,this.status=n.status,this.statusText=n.statusText,this.data=s}}class en extends Error{constructor(t,n=null){super(t),this.name="NetworkError",this.originalError=n}}class or extends Error{constructor(){super("Authentication cancelled"),this.name="AuthCancelledError"}}let Pe=null,Me=null,st=null,Ie=null,tn=0;function pc(){tn++,document.body.classList.add("has-backdrop")}function gc(){tn=Math.max(0,tn-1),tn===0&&document.body.classList.remove("has-backdrop")}const Hn={};async function Bc(e="login"){if(Hn[e])return Hn[e];const t=await fetch("/auth/api/forward");if(t.status===401||t.status===403){const n=await t.json();if(n.auth?.iframe){let s=n.auth.iframe;return e!==n.auth.mode&&(s=s.replace(/mode=[^&]*/,`mode=${e}`)),Hn[e]=s,s}}throw new Error("Unable to fetch auth iframe URL")}function Ei(e){return Me||(document.getElementById("auth-iframe")?(Me=new Promise((t,n)=>{st=t,Ie=n}),Me):(Me=new Promise((t,n)=>{st=t,Ie=n}),nn(),pc(),Pe=document.createElement("iframe"),Pe.id="auth-iframe",Pe.title="Authentication",Pe.allow="publickey-credentials-get; publickey-credentials-create",Pe.src=e,document.body.appendChild(Pe),Me))}function nn(){Pe&&(Pe.remove(),Pe=null,gc())}function mc(e){const t=e.data;if(t?.type)switch(t.type){case"auth-success":nn(),st&&(st(),Me=null,st=null,Ie=null);break;case"auth-back":case"auth-close-request":nn(),Ie&&(Ie(new or),Me=null,st=null,Ie=null);break;case"auth-error":t.cancelled&&Ie&&(nn(),Ie(new or),Me=null,st=null,Ie=null);break}}typeof window<"u"&&window.addEventListener("message",mc);async function bc(e,t={}){const{timeout:n=hc,...s}=t;for(s.credentials=s.credentials||"include";;){let r;try{r=await fetch(e,{...s,signal:n&&AbortSignal.timeout(n)})}catch(i){throw i.name==="TimeoutError"?new en("Request timed out",i):i.name==="AbortError"?i:i.name==="TypeError"&&i.message==="Failed to fetch"?new en("Unable to connect to server",i):new en(i.message||"Network error",i)}if(r.status===401||r.status===403){let i=null;try{i=(await r.clone().json()).auth}catch{}if(i?.iframe&&window===window.top){await Ei(i.iframe);continue}}return r}}async function qc(e,t={}){const n={...t};n.headers={Accept:"application/json",...n.headers},n.body&&typeof n.body=="object"&&!(n.body instanceof FormData)&&(n.headers={"Content-Type":"application/json",...n.headers},n.body=JSON.stringify(n.body));const s=await bc(e,n),r=await s.json();if(!s.ok)throw new ys(e,s,r);return r}async function Jc(e,t={}){const n={...t,headers:{Accept:"application/json",...t.headers}},s=await fetch(e,n),r=await s.json();if(!s.ok)throw new ys(e,s,r);return r}function Gc(e){return e instanceof en||e instanceof ys?e.message:e.name==="TimeoutError"?"Request timed out":e.name==="TypeError"&&e.message==="Failed to fetch"?"Unable to connect to server":e.message||"An error occurred"}async function Si(e){const n=(await dc())?.auth_host;return n&&location.host!==n?`//${n}${e}`:e}async function _c(e=null,t=null,n=null){let s=[];e&&s.push(`reset=${encodeURIComponent(e)}`),t&&s.push(`name=${encodeURIComponent(t)}`);const r=s.length?`?${s.join("&")}`:"";for(;;){const i=await wi(await Si(`/auth/ws/register${r}`));try{const o=await i.receive_json();if((o.status===401||o.status===403)&&o.auth?.iframe){i.close(),await Ei(o.auth.iframe);continue}if(o.status)throw new Error(o.detail||`Registration failed: ${o.status}`);n&&n();const l=await lc(o);i.send_json(l);const c=await i.receive_json();if(c.status)throw new Error(c.detail||`Registration failed: ${c.status}`);return c}catch(o){throw i.close(),console.error("Registration error:",o),Error(o.name==="NotAllowedError"?"Passkey registration cancelled":o.message)}}}async function yc(){const e=await wi(await Si("/auth/ws/authenticate"));try{let t=await e.receive_json();if(t.status>=400)throw new Error(t.detail||`Authentication failed: ${t.status}`);const n=await fc(t);if(e.send_json(n),t=await e.receive_json(),t.status>=400)throw new Error(t.detail||`Authentication failed: ${t.status}`);return t}catch(t){throw console.error("Authentication error:",t),Error(t.name==="NotAllowedError"?"Passkey authentication cancelled":t.message)}finally{e.close()}}const Yc={authenticate:yc,register:_c},wc={ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",ArrowDown:"down"},Ec=new Set(["text","email","password","search","tel","url","number"]),Sc=e=>{const t=wc[e.key];if(!t)return null;const n=e.target;return(n.tagName==="INPUT"&&Ec.has(n.type)||n.tagName==="TEXTAREA")&&(t==="left"||t==="right")&&n.value!==""?null:t},xn=(e,t=null)=>{if(!e)return[];const n=t||e.dataset?.navItems||'button:not([disabled]), a, [tabindex="0"], [tabindex="-1"]:not([disabled])';return Array.from(e.querySelectorAll(n))},vc=(e,t)=>{const n=xn(e,t);if(n.length===0)return null;const s=n[0].getBoundingClientRect().top;let r=0;for(const i of n)if(Math.abs(i.getBoundingClientRect().top-s)<5)r++;else break;return{items:n,cols:Math.max(1,r)}},xc=(e,t,n,s={})=>{const r=xn(e,s.itemSelector);if(r.length===0)return"none";const i=r.indexOf(t);return i===-1?"none":n==="left"?i>0?(r[i-1].focus(),"moved"):"boundary":n==="right"&&i<r.length-1?(r[i+1].focus(),"moved"):"boundary"},zc=(e,t,n,s={})=>{const r=vc(e,s.itemSelector);if(!r)return"none";const{items:i,cols:o}=r,l=i.indexOf(t);if(l===-1)return"none";const c=Math.floor(l/o),d=l%o;let u=l;switch(n){case"left":if(d===0)return"boundary";u=l-1;break;case"right":if(l>=i.length-1)return"boundary";u=l+1;break;case"up":if(c===0)return"boundary";u=l-o;break;case"down":if(l+o>=i.length)return"boundary";u=l+o;break;default:return"none"}return u!==l?(i[u].focus(),"moved"):"none"},Xc=(e,t={})=>{if(!e)return null;const n=e.querySelector("[data-nav-primary]")||t.primarySelector&&e.querySelector(t.primarySelector);if(n)return n.focus(),n;const s=xn(e,t.itemSelector);return s.length>0?(s[0].focus(),s[0]):null},Zc=(e,t,n={})=>{if(!e)return null;const s=xn(e,n.itemSelector);if(s.length===0)return null;const r=t<0?s.length+t:t;return r>=0&&r<s.length?(s[r].focus(),s[r]):null},Qc=(e,t,n)=>e.key!=="Escape"?!1:(e.preventDefault(),t?.("up"),!0),ea=(e,t)=>{const n=navigator.userAgent.includes("Mac OS");return e.key==="Delete"||n&&e.key==="Backspace"?(e.preventDefault(),t?.(),!0):!1},Ac=e=>{if(!e)return null;const t=[".btn-primary:not([disabled])",".btn-secondary:not([disabled])","button:not([disabled])"];for(const n of t){const s=e.querySelector(n);if(s)return s.focus(),s}return null},ta=e=>{if(!e)return null;const t=e.querySelector('input:not([disabled]):not([type="hidden"]), textarea:not([disabled])');return t?(t.focus(),typeof t.select=="function"&&t.select(),t):Ac(e)},Rc=".button-row, .modal-actions, .actions, .role-actions, .ancillary-actions",Tc=e=>{const t=Sc(e);if(!t)return;const n=e.target;if(n.tagName!=="BUTTON"&&n.tagName!=="A")return;const s=n.closest(Rc);s&&(t==="left"||t==="right")&&(e.preventDefault(),xc(s,n,t,{itemSelector:"button:not([disabled]), a"}))};let lr=!1;const na=()=>{lr||typeof document>"u"||(document.addEventListener("keydown",Tc),lr=!0)},sa=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n};export{ea as $,_o as A,Sc as B,Xc as C,xc as D,Zc as E,ue as F,Yc as G,qc as H,Bc as I,Vc as J,na as K,$c as L,Cc as M,ro as N,fs as O,G as P,it as Q,F as R,ji as S,Ic as T,Mc as U,Xt as V,Uc as W,yc as X,_c as Y,zc as Z,sa as _,kr as a,Qc as a0,Fc as a1,ta as a2,Lc as a3,Pt as a4,ys as a5,Gc as a6,Jc as a7,Ac as a8,jc as b,xl as c,Yn as d,fi as e,Kc as f,ss as g,Nc as h,Dc as i,ns as j,pl as k,Hc as l,dc as m,Fr as n,Ro as o,wi as p,Wc as q,Pc as r,fc as s,Ui as t,kc as u,nr as v,Nn as w,Re as x,zn as y,Mr as z};
|