-1
.npmrc
-1
.npmrc
···
1
-
engine-strict=true
+4
-1
README.md
+4
-1
README.md
···
1
1
# easytodo.link
2
2
3
-
Do stuff the easy way. Explore what everyone's doing. No signup needed.
3
+
Superpowered to do lists. No signup required.
4
4
5
5
## Roadmap
6
6
7
7
### v0.1: ๐ Basic functionality
8
8
- [x] Local first task list management
9
+
- [x] Timer per task
9
10
10
11
### v0.2: ๐ Show and tell
11
12
- [ ] Cloud sync with accounts
12
13
- [ ] Share and explore public lists
14
+
- [ ] Multiplayer Lists (1-way mirror/sync)
13
15
14
16
### v0.3: โจ Work smarter
15
17
- [ ] AI task suggestions
18
+
- [ ] Task blocks (notes, embeds, links, etc.)
16
19
17
20
## Made with
18
21
+539
bun.lock
+539
bun.lock
···
1
+
{
2
+
"lockfileVersion": 1,
3
+
"workspaces": {
4
+
"": {
5
+
"name": "easytodo.link",
6
+
"dependencies": {
7
+
"@atproto/api": "latest",
8
+
"@atproto/oauth-client-node": "latest",
9
+
"@oslojs/encoding": "latest",
10
+
"@tailwindcss/vite": "latest",
11
+
"drizzle-orm": "latest",
12
+
"oslo": "latest",
13
+
"postgres": "latest",
14
+
"svelte-french-toast": "latest",
15
+
"tailwindcss": "latest",
16
+
},
17
+
"devDependencies": {
18
+
"@sveltejs/adapter-netlify": "latest",
19
+
"@sveltejs/kit": "latest",
20
+
"@sveltejs/vite-plugin-svelte": "latest",
21
+
"drizzle-kit": "latest",
22
+
"svelte": "latest",
23
+
"svelte-check": "latest",
24
+
"tslib": "latest",
25
+
"typescript": "latest",
26
+
"vite": "latest",
27
+
},
28
+
},
29
+
},
30
+
"packages": {
31
+
"@atproto-labs/did-resolver": ["@atproto-labs/did-resolver@0.2.1", "", { "dependencies": { "@atproto-labs/fetch": "0.2.3", "@atproto-labs/pipe": "0.1.1", "@atproto-labs/simple-store": "0.3.0", "@atproto-labs/simple-store-memory": "0.1.4", "@atproto/did": "0.2.0", "zod": "^3.23.8" } }, "sha512-zSoHyqwwRYUtMNLW+RrWsImt1U5S47nJv5FfmAXTmon6wVKjxKD/PFrD1pg/4G6THqJmQHTs1Hj+54XVupYnvQ=="],
32
+
33
+
"@atproto-labs/fetch": ["@atproto-labs/fetch@0.2.3", "", { "dependencies": { "@atproto-labs/pipe": "0.1.1" } }, "sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw=="],
34
+
35
+
"@atproto-labs/fetch-node": ["@atproto-labs/fetch-node@0.1.10", "", { "dependencies": { "@atproto-labs/fetch": "0.2.3", "@atproto-labs/pipe": "0.1.1", "ipaddr.js": "^2.1.0", "undici": "^6.14.1" } }, "sha512-o7hGaonA71A6p7O107VhM6UBUN/g9tTyYohMp1q0Kf6xQ4npnuZYRSHSf2g6reSfGQJ1GoFNjBObETTT1ge/jQ=="],
36
+
37
+
"@atproto-labs/handle-resolver": ["@atproto-labs/handle-resolver@0.3.1", "", { "dependencies": { "@atproto-labs/simple-store": "0.3.0", "@atproto-labs/simple-store-memory": "0.1.4", "@atproto/did": "0.2.0", "zod": "^3.23.8" } }, "sha512-mLZdMNvwomgnn9sffKO1/xr02ctgeiT0FUVw7JekbchTckub2RM7qMu8Rw1mC4bpCpW+i7DXDiOxpoajkppwYQ=="],
38
+
39
+
"@atproto-labs/handle-resolver-node": ["@atproto-labs/handle-resolver-node@0.1.19", "", { "dependencies": { "@atproto-labs/fetch-node": "0.1.10", "@atproto-labs/handle-resolver": "0.3.1", "@atproto/did": "0.2.0" } }, "sha512-nNVCfiKudvMYfDcWCa9koOMOpCYaC0wG4Uys5dZev99s/Nka7tRlIZIV+u+GWivnG9lqCupKATkoyCd6Per8Gw=="],
40
+
41
+
"@atproto-labs/identity-resolver": ["@atproto-labs/identity-resolver@0.3.1", "", { "dependencies": { "@atproto-labs/did-resolver": "0.2.1", "@atproto-labs/handle-resolver": "0.3.1" } }, "sha512-jCgotRRqPykPwh4gh0FBLOqeofv1G8OH/DZ5s88HWm7biUZeksZwDrEvL5TnqEFUpXT3O9Hcyp/XEpfCAplRoQ=="],
42
+
43
+
"@atproto-labs/pipe": ["@atproto-labs/pipe@0.1.1", "", {}, "sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg=="],
44
+
45
+
"@atproto-labs/simple-store": ["@atproto-labs/simple-store@0.3.0", "", {}, "sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ=="],
46
+
47
+
"@atproto-labs/simple-store-memory": ["@atproto-labs/simple-store-memory@0.1.4", "", { "dependencies": { "@atproto-labs/simple-store": "0.3.0", "lru-cache": "^10.2.0" } }, "sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw=="],
48
+
49
+
"@atproto/api": ["@atproto/api@0.17.0", "", { "dependencies": { "@atproto/common-web": "^0.4.3", "@atproto/lexicon": "^0.5.1", "@atproto/syntax": "^0.4.1", "@atproto/xrpc": "^0.7.5", "await-lock": "^2.2.2", "multiformats": "^9.9.0", "tlds": "^1.234.0", "zod": "^3.23.8" } }, "sha512-FNS9SW7/3kslAnJH7F4fO9/jPjXzC0NMD6u9NjJ/h4EnaIEpWHZQPkmD9Q2hvAwD6+Uo2boYZEPKkOa55Lr5Dg=="],
50
+
51
+
"@atproto/common-web": ["@atproto/common-web@0.4.3", "", { "dependencies": { "graphemer": "^1.4.0", "multiformats": "^9.9.0", "uint8arrays": "3.0.0", "zod": "^3.23.8" } }, "sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg=="],
52
+
53
+
"@atproto/did": ["@atproto/did@0.2.0", "", { "dependencies": { "zod": "^3.23.8" } }, "sha512-BskT39KYbwY1DUsWekkHh47xS+wvJpFq5F9acsicNfYniinyAMnNTzGKQEhnjQuG7K0qQItg/SnmC+y0tJXV7Q=="],
54
+
55
+
"@atproto/jwk": ["@atproto/jwk@0.5.0", "", { "dependencies": { "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-Qi2NtEqhkG+uz3CKia4+H05WMV/z//dz3ESo5+cyBKrOnxVTJ5ZubMyltWjoYvy6v/jLhorXdDWcjn07yky7MQ=="],
56
+
57
+
"@atproto/jwk-jose": ["@atproto/jwk-jose@0.1.10", "", { "dependencies": { "@atproto/jwk": "0.5.0", "jose": "^5.2.0" } }, "sha512-Eiu/u4tZHz3IIhHZt0zneYEffSAO3Oqk/ToKwlu1TqKte6sjtPs/4uquSiAAGFYozqgo92JC/AQclWzzkHI5QQ=="],
58
+
59
+
"@atproto/jwk-webcrypto": ["@atproto/jwk-webcrypto@0.1.10", "", { "dependencies": { "@atproto/jwk": "0.5.0", "@atproto/jwk-jose": "0.1.10", "zod": "^3.23.8" } }, "sha512-JZsavs6JiSmw5rgcjkGDwzr1aCJGdybZOjVfYH+m9sXRU1BrUCA30uwNfZY7eFyWXyRAnCFiYiGVZgypXyKotw=="],
60
+
61
+
"@atproto/lexicon": ["@atproto/lexicon@0.5.1", "", { "dependencies": { "@atproto/common-web": "^0.4.3", "@atproto/syntax": "^0.4.1", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-y8AEtYmfgVl4fqFxqXAeGvhesiGkxiy3CWoJIfsFDDdTlZUC8DFnZrYhcqkIop3OlCkkljvpSJi1hbeC1tbi8A=="],
62
+
63
+
"@atproto/oauth-client": ["@atproto/oauth-client@0.5.6", "", { "dependencies": { "@atproto-labs/did-resolver": "0.2.1", "@atproto-labs/fetch": "0.2.3", "@atproto-labs/handle-resolver": "0.3.1", "@atproto-labs/identity-resolver": "0.3.1", "@atproto-labs/simple-store": "0.3.0", "@atproto-labs/simple-store-memory": "0.1.4", "@atproto/did": "0.2.0", "@atproto/jwk": "0.5.0", "@atproto/oauth-types": "0.4.1", "@atproto/xrpc": "0.7.5", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-O1S9lPptJxWPcNd2kODaLgWntz+A7PzskU2hP4IFa7hVLs4aEnEt9dKq5wJE97tDli8mgyh/ndPQhxUaCVQ5iQ=="],
64
+
65
+
"@atproto/oauth-client-node": ["@atproto/oauth-client-node@0.3.8", "", { "dependencies": { "@atproto-labs/did-resolver": "0.2.1", "@atproto-labs/handle-resolver-node": "0.1.19", "@atproto-labs/simple-store": "0.3.0", "@atproto/did": "0.2.0", "@atproto/jwk": "0.5.0", "@atproto/jwk-jose": "0.1.10", "@atproto/jwk-webcrypto": "0.1.10", "@atproto/oauth-client": "0.5.6", "@atproto/oauth-types": "0.4.1" } }, "sha512-HIBiYQERj04Xa0l8cJkqcZC0BbHH5uqDEvhqHWnJ5umSq/ms0+HZi3JKJXGv1XfYOvxUxx6NKgXJ8VhhYoQa5A=="],
66
+
67
+
"@atproto/oauth-types": ["@atproto/oauth-types@0.4.1", "", { "dependencies": { "@atproto/jwk": "0.5.0", "zod": "^3.23.8" } }, "sha512-c5ixf2ZOzcltOu1fDBnO/tok6Wj7JDDK66+Z0q/+bAr8LXgOnxP7zQfJ+DD4gTkB+saTqsqWtVv8qvx/IEtm1g=="],
68
+
69
+
"@atproto/syntax": ["@atproto/syntax@0.4.1", "", {}, "sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw=="],
70
+
71
+
"@atproto/xrpc": ["@atproto/xrpc@0.7.5", "", { "dependencies": { "@atproto/lexicon": "^0.5.1", "zod": "^3.23.8" } }, "sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA=="],
72
+
73
+
"@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="],
74
+
75
+
"@emnapi/core": ["@emnapi/core@0.45.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw=="],
76
+
77
+
"@emnapi/runtime": ["@emnapi/runtime@0.45.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w=="],
78
+
79
+
"@esbuild-kit/core-utils": ["@esbuild-kit/core-utils@3.3.2", "", { "dependencies": { "esbuild": "~0.18.20", "source-map-support": "^0.5.21" } }, "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ=="],
80
+
81
+
"@esbuild-kit/esm-loader": ["@esbuild-kit/esm-loader@2.6.5", "", { "dependencies": { "@esbuild-kit/core-utils": "^3.3.2", "get-tsconfig": "^4.7.0" } }, "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA=="],
82
+
83
+
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.10", "", { "os": "aix", "cpu": "ppc64" }, "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw=="],
84
+
85
+
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.10", "", { "os": "android", "cpu": "arm" }, "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w=="],
86
+
87
+
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.10", "", { "os": "android", "cpu": "arm64" }, "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg=="],
88
+
89
+
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.10", "", { "os": "android", "cpu": "x64" }, "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg=="],
90
+
91
+
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.10", "", { "os": "darwin", "cpu": "arm64" }, "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA=="],
92
+
93
+
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.10", "", { "os": "darwin", "cpu": "x64" }, "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg=="],
94
+
95
+
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.10", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg=="],
96
+
97
+
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.10", "", { "os": "freebsd", "cpu": "x64" }, "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA=="],
98
+
99
+
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.10", "", { "os": "linux", "cpu": "arm" }, "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg=="],
100
+
101
+
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ=="],
102
+
103
+
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.10", "", { "os": "linux", "cpu": "ia32" }, "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ=="],
104
+
105
+
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.10", "", { "os": "linux", "cpu": "none" }, "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg=="],
106
+
107
+
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.10", "", { "os": "linux", "cpu": "none" }, "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA=="],
108
+
109
+
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.10", "", { "os": "linux", "cpu": "ppc64" }, "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA=="],
110
+
111
+
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.10", "", { "os": "linux", "cpu": "none" }, "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA=="],
112
+
113
+
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.10", "", { "os": "linux", "cpu": "s390x" }, "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew=="],
114
+
115
+
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.10", "", { "os": "linux", "cpu": "x64" }, "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA=="],
116
+
117
+
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.10", "", { "os": "none", "cpu": "arm64" }, "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A=="],
118
+
119
+
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.10", "", { "os": "none", "cpu": "x64" }, "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig=="],
120
+
121
+
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.10", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw=="],
122
+
123
+
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.10", "", { "os": "openbsd", "cpu": "x64" }, "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw=="],
124
+
125
+
"@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.10", "", { "os": "none", "cpu": "arm64" }, "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag=="],
126
+
127
+
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.10", "", { "os": "sunos", "cpu": "x64" }, "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ=="],
128
+
129
+
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.10", "", { "os": "win32", "cpu": "arm64" }, "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw=="],
130
+
131
+
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.10", "", { "os": "win32", "cpu": "ia32" }, "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw=="],
132
+
133
+
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.10", "", { "os": "win32", "cpu": "x64" }, "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw=="],
134
+
135
+
"@iarna/toml": ["@iarna/toml@2.2.5", "", {}, "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg=="],
136
+
137
+
"@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="],
138
+
139
+
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
140
+
141
+
"@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
142
+
143
+
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
144
+
145
+
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
146
+
147
+
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
148
+
149
+
"@node-rs/argon2": ["@node-rs/argon2@1.7.0", "", { "optionalDependencies": { "@node-rs/argon2-android-arm-eabi": "1.7.0", "@node-rs/argon2-android-arm64": "1.7.0", "@node-rs/argon2-darwin-arm64": "1.7.0", "@node-rs/argon2-darwin-x64": "1.7.0", "@node-rs/argon2-freebsd-x64": "1.7.0", "@node-rs/argon2-linux-arm-gnueabihf": "1.7.0", "@node-rs/argon2-linux-arm64-gnu": "1.7.0", "@node-rs/argon2-linux-arm64-musl": "1.7.0", "@node-rs/argon2-linux-x64-gnu": "1.7.0", "@node-rs/argon2-linux-x64-musl": "1.7.0", "@node-rs/argon2-wasm32-wasi": "1.7.0", "@node-rs/argon2-win32-arm64-msvc": "1.7.0", "@node-rs/argon2-win32-ia32-msvc": "1.7.0", "@node-rs/argon2-win32-x64-msvc": "1.7.0" } }, "sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog=="],
150
+
151
+
"@node-rs/argon2-android-arm-eabi": ["@node-rs/argon2-android-arm-eabi@1.7.0", "", { "os": "android", "cpu": "arm" }, "sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg=="],
152
+
153
+
"@node-rs/argon2-android-arm64": ["@node-rs/argon2-android-arm64@1.7.0", "", { "os": "android", "cpu": "arm64" }, "sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A=="],
154
+
155
+
"@node-rs/argon2-darwin-arm64": ["@node-rs/argon2-darwin-arm64@1.7.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw=="],
156
+
157
+
"@node-rs/argon2-darwin-x64": ["@node-rs/argon2-darwin-x64@1.7.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw=="],
158
+
159
+
"@node-rs/argon2-freebsd-x64": ["@node-rs/argon2-freebsd-x64@1.7.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA=="],
160
+
161
+
"@node-rs/argon2-linux-arm-gnueabihf": ["@node-rs/argon2-linux-arm-gnueabihf@1.7.0", "", { "os": "linux", "cpu": "arm" }, "sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg=="],
162
+
163
+
"@node-rs/argon2-linux-arm64-gnu": ["@node-rs/argon2-linux-arm64-gnu@1.7.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g=="],
164
+
165
+
"@node-rs/argon2-linux-arm64-musl": ["@node-rs/argon2-linux-arm64-musl@1.7.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A=="],
166
+
167
+
"@node-rs/argon2-linux-x64-gnu": ["@node-rs/argon2-linux-x64-gnu@1.7.0", "", { "os": "linux", "cpu": "x64" }, "sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ=="],
168
+
169
+
"@node-rs/argon2-linux-x64-musl": ["@node-rs/argon2-linux-x64-musl@1.7.0", "", { "os": "linux", "cpu": "x64" }, "sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA=="],
170
+
171
+
"@node-rs/argon2-wasm32-wasi": ["@node-rs/argon2-wasm32-wasi@1.7.0", "", { "dependencies": { "@emnapi/core": "^0.45.0", "@emnapi/runtime": "^0.45.0", "@tybys/wasm-util": "^0.8.1", "memfs-browser": "^3.4.13000" }, "cpu": "none" }, "sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w=="],
172
+
173
+
"@node-rs/argon2-win32-arm64-msvc": ["@node-rs/argon2-win32-arm64-msvc@1.7.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA=="],
174
+
175
+
"@node-rs/argon2-win32-ia32-msvc": ["@node-rs/argon2-win32-ia32-msvc@1.7.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg=="],
176
+
177
+
"@node-rs/argon2-win32-x64-msvc": ["@node-rs/argon2-win32-x64-msvc@1.7.0", "", { "os": "win32", "cpu": "x64" }, "sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q=="],
178
+
179
+
"@node-rs/bcrypt": ["@node-rs/bcrypt@1.9.0", "", { "optionalDependencies": { "@node-rs/bcrypt-android-arm-eabi": "1.9.0", "@node-rs/bcrypt-android-arm64": "1.9.0", "@node-rs/bcrypt-darwin-arm64": "1.9.0", "@node-rs/bcrypt-darwin-x64": "1.9.0", "@node-rs/bcrypt-freebsd-x64": "1.9.0", "@node-rs/bcrypt-linux-arm-gnueabihf": "1.9.0", "@node-rs/bcrypt-linux-arm64-gnu": "1.9.0", "@node-rs/bcrypt-linux-arm64-musl": "1.9.0", "@node-rs/bcrypt-linux-x64-gnu": "1.9.0", "@node-rs/bcrypt-linux-x64-musl": "1.9.0", "@node-rs/bcrypt-wasm32-wasi": "1.9.0", "@node-rs/bcrypt-win32-arm64-msvc": "1.9.0", "@node-rs/bcrypt-win32-ia32-msvc": "1.9.0", "@node-rs/bcrypt-win32-x64-msvc": "1.9.0" } }, "sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig=="],
180
+
181
+
"@node-rs/bcrypt-android-arm-eabi": ["@node-rs/bcrypt-android-arm-eabi@1.9.0", "", { "os": "android", "cpu": "arm" }, "sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA=="],
182
+
183
+
"@node-rs/bcrypt-android-arm64": ["@node-rs/bcrypt-android-arm64@1.9.0", "", { "os": "android", "cpu": "arm64" }, "sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A=="],
184
+
185
+
"@node-rs/bcrypt-darwin-arm64": ["@node-rs/bcrypt-darwin-arm64@1.9.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw=="],
186
+
187
+
"@node-rs/bcrypt-darwin-x64": ["@node-rs/bcrypt-darwin-x64@1.9.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug=="],
188
+
189
+
"@node-rs/bcrypt-freebsd-x64": ["@node-rs/bcrypt-freebsd-x64@1.9.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg=="],
190
+
191
+
"@node-rs/bcrypt-linux-arm-gnueabihf": ["@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0", "", { "os": "linux", "cpu": "arm" }, "sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA=="],
192
+
193
+
"@node-rs/bcrypt-linux-arm64-gnu": ["@node-rs/bcrypt-linux-arm64-gnu@1.9.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q=="],
194
+
195
+
"@node-rs/bcrypt-linux-arm64-musl": ["@node-rs/bcrypt-linux-arm64-musl@1.9.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew=="],
196
+
197
+
"@node-rs/bcrypt-linux-x64-gnu": ["@node-rs/bcrypt-linux-x64-gnu@1.9.0", "", { "os": "linux", "cpu": "x64" }, "sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ=="],
198
+
199
+
"@node-rs/bcrypt-linux-x64-musl": ["@node-rs/bcrypt-linux-x64-musl@1.9.0", "", { "os": "linux", "cpu": "x64" }, "sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg=="],
200
+
201
+
"@node-rs/bcrypt-wasm32-wasi": ["@node-rs/bcrypt-wasm32-wasi@1.9.0", "", { "dependencies": { "@emnapi/core": "^0.45.0", "@emnapi/runtime": "^0.45.0", "@tybys/wasm-util": "^0.8.1", "memfs-browser": "^3.4.13000" }, "cpu": "none" }, "sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw=="],
202
+
203
+
"@node-rs/bcrypt-win32-arm64-msvc": ["@node-rs/bcrypt-win32-arm64-msvc@1.9.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw=="],
204
+
205
+
"@node-rs/bcrypt-win32-ia32-msvc": ["@node-rs/bcrypt-win32-ia32-msvc@1.9.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA=="],
206
+
207
+
"@node-rs/bcrypt-win32-x64-msvc": ["@node-rs/bcrypt-win32-x64-msvc@1.9.0", "", { "os": "win32", "cpu": "x64" }, "sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w=="],
208
+
209
+
"@oslojs/encoding": ["@oslojs/encoding@1.1.0", "", {}, "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="],
210
+
211
+
"@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="],
212
+
213
+
"@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.52.3", "", { "os": "android", "cpu": "arm" }, "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw=="],
214
+
215
+
"@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.52.3", "", { "os": "android", "cpu": "arm64" }, "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw=="],
216
+
217
+
"@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.52.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg=="],
218
+
219
+
"@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.52.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A=="],
220
+
221
+
"@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.52.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ=="],
222
+
223
+
"@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.52.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A=="],
224
+
225
+
"@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.52.3", "", { "os": "linux", "cpu": "arm" }, "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA=="],
226
+
227
+
"@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.52.3", "", { "os": "linux", "cpu": "arm" }, "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA=="],
228
+
229
+
"@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.52.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ=="],
230
+
231
+
"@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.52.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw=="],
232
+
233
+
"@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg=="],
234
+
235
+
"@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.52.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw=="],
236
+
237
+
"@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg=="],
238
+
239
+
"@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg=="],
240
+
241
+
"@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.52.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg=="],
242
+
243
+
"@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.52.3", "", { "os": "linux", "cpu": "x64" }, "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA=="],
244
+
245
+
"@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.52.3", "", { "os": "linux", "cpu": "x64" }, "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw=="],
246
+
247
+
"@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.52.3", "", { "os": "none", "cpu": "arm64" }, "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA=="],
248
+
249
+
"@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.52.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA=="],
250
+
251
+
"@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.52.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g=="],
252
+
253
+
"@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ=="],
254
+
255
+
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA=="],
256
+
257
+
"@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="],
258
+
259
+
"@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.6", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-4awhxtMh4cx9blePWl10HRHj8Iivtqj+2QdDCSMDzxG+XKa9+VCNupQuCuvzEhYPzZSrX+0gC+0lHA/0fFKKQQ=="],
260
+
261
+
"@sveltejs/adapter-netlify": ["@sveltejs/adapter-netlify@5.2.4", "", { "dependencies": { "@iarna/toml": "^2.2.5", "esbuild": "^0.25.4", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "@sveltejs/kit": "^2.4.0" } }, "sha512-UtPcZq1HUA43hM8uLi+nsm5Q+YjHNj7/SMFoyeLZeY/VTloVWABEZ0tJ5WodTUmy/8j5QJ7oLZjj28aQxi8y3g=="],
262
+
263
+
"@sveltejs/kit": ["@sveltejs/kit@2.44.0", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", "cookie": "^0.6.0", "devalue": "^5.3.2", "esm-env": "^1.2.2", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", "sirv": "^3.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["@opentelemetry/api"], "bin": { "svelte-kit": "svelte-kit.js" } }, "sha512-xU5qP7PiYmrSH70Whm/I+nf0j4xBnHyRQNkC1SEfaBOwCCkkeuL6WNxSb8q4Ib7+Z+sZ4JUTDYHfoyVm02EXVQ=="],
264
+
265
+
"@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@6.2.1", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "debug": "^4.4.1", "deepmerge": "^4.3.1", "magic-string": "^0.30.17", "vitefu": "^1.1.1" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ=="],
266
+
267
+
"@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@5.0.1", "", { "dependencies": { "debug": "^4.4.1" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA=="],
268
+
269
+
"@tailwindcss/node": ["@tailwindcss/node@4.1.14", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.0", "lightningcss": "1.30.1", "magic-string": "^0.30.19", "source-map-js": "^1.2.1", "tailwindcss": "4.1.14" } }, "sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw=="],
270
+
271
+
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.14", "", { "dependencies": { "detect-libc": "^2.0.4", "tar": "^7.5.1" }, "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.14", "@tailwindcss/oxide-darwin-arm64": "4.1.14", "@tailwindcss/oxide-darwin-x64": "4.1.14", "@tailwindcss/oxide-freebsd-x64": "4.1.14", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.14", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.14", "@tailwindcss/oxide-linux-arm64-musl": "4.1.14", "@tailwindcss/oxide-linux-x64-gnu": "4.1.14", "@tailwindcss/oxide-linux-x64-musl": "4.1.14", "@tailwindcss/oxide-wasm32-wasi": "4.1.14", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.14", "@tailwindcss/oxide-win32-x64-msvc": "4.1.14" } }, "sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw=="],
272
+
273
+
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.14", "", { "os": "android", "cpu": "arm64" }, "sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ=="],
274
+
275
+
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.14", "", { "os": "darwin", "cpu": "arm64" }, "sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA=="],
276
+
277
+
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.14", "", { "os": "darwin", "cpu": "x64" }, "sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw=="],
278
+
279
+
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.14", "", { "os": "freebsd", "cpu": "x64" }, "sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw=="],
280
+
281
+
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14", "", { "os": "linux", "cpu": "arm" }, "sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw=="],
282
+
283
+
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.14", "", { "os": "linux", "cpu": "arm64" }, "sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w=="],
284
+
285
+
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.14", "", { "os": "linux", "cpu": "arm64" }, "sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ=="],
286
+
287
+
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.14", "", { "os": "linux", "cpu": "x64" }, "sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg=="],
288
+
289
+
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.14", "", { "os": "linux", "cpu": "x64" }, "sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q=="],
290
+
291
+
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.14", "", { "dependencies": { "@emnapi/core": "^1.5.0", "@emnapi/runtime": "^1.5.0", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.0.5", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ=="],
292
+
293
+
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.14", "", { "os": "win32", "cpu": "arm64" }, "sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA=="],
294
+
295
+
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.14", "", { "os": "win32", "cpu": "x64" }, "sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA=="],
296
+
297
+
"@tailwindcss/vite": ["@tailwindcss/vite@4.1.14", "", { "dependencies": { "@tailwindcss/node": "4.1.14", "@tailwindcss/oxide": "4.1.14", "tailwindcss": "4.1.14" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-BoFUoU0XqgCUS1UXWhmDJroKKhNXeDzD7/XwabjkDIAbMnc4ULn5e2FuEuBbhZ6ENZoSYzKlzvZ44Yr6EUDUSA=="],
298
+
299
+
"@tybys/wasm-util": ["@tybys/wasm-util@0.8.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q=="],
300
+
301
+
"@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="],
302
+
303
+
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
304
+
305
+
"acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
306
+
307
+
"aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="],
308
+
309
+
"await-lock": ["await-lock@2.2.2", "", {}, "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw=="],
310
+
311
+
"axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
312
+
313
+
"buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
314
+
315
+
"chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
316
+
317
+
"chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="],
318
+
319
+
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
320
+
321
+
"cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="],
322
+
323
+
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
324
+
325
+
"deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
326
+
327
+
"detect-libc": ["detect-libc@2.1.1", "", {}, "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw=="],
328
+
329
+
"devalue": ["devalue@5.3.2", "", {}, "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw=="],
330
+
331
+
"drizzle-kit": ["drizzle-kit@0.31.5", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.25.4", "esbuild-register": "^3.5.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg=="],
332
+
333
+
"drizzle-orm": ["drizzle-orm@0.44.6", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1.13", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/sql.js": "*", "@upstash/redis": ">=1.34.7", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "gel": ">=2", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/sql.js", "@upstash/redis", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "gel", "knex", "kysely", "mysql2", "pg", "postgres", "sql.js", "sqlite3"] }, "sha512-uy6uarrrEOc9K1u5/uhBFJbdF5VJ5xQ/Yzbecw3eAYOunv5FDeYkR2m8iitocdHBOHbvorviKOW5GVw0U1j4LQ=="],
334
+
335
+
"enhanced-resolve": ["enhanced-resolve@5.18.3", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww=="],
336
+
337
+
"esbuild": ["esbuild@0.25.10", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.10", "@esbuild/android-arm": "0.25.10", "@esbuild/android-arm64": "0.25.10", "@esbuild/android-x64": "0.25.10", "@esbuild/darwin-arm64": "0.25.10", "@esbuild/darwin-x64": "0.25.10", "@esbuild/freebsd-arm64": "0.25.10", "@esbuild/freebsd-x64": "0.25.10", "@esbuild/linux-arm": "0.25.10", "@esbuild/linux-arm64": "0.25.10", "@esbuild/linux-ia32": "0.25.10", "@esbuild/linux-loong64": "0.25.10", "@esbuild/linux-mips64el": "0.25.10", "@esbuild/linux-ppc64": "0.25.10", "@esbuild/linux-riscv64": "0.25.10", "@esbuild/linux-s390x": "0.25.10", "@esbuild/linux-x64": "0.25.10", "@esbuild/netbsd-arm64": "0.25.10", "@esbuild/netbsd-x64": "0.25.10", "@esbuild/openbsd-arm64": "0.25.10", "@esbuild/openbsd-x64": "0.25.10", "@esbuild/openharmony-arm64": "0.25.10", "@esbuild/sunos-x64": "0.25.10", "@esbuild/win32-arm64": "0.25.10", "@esbuild/win32-ia32": "0.25.10", "@esbuild/win32-x64": "0.25.10" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ=="],
338
+
339
+
"esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="],
340
+
341
+
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
342
+
343
+
"esrap": ["esrap@2.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA=="],
344
+
345
+
"fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
346
+
347
+
"fs-monkey": ["fs-monkey@1.1.0", "", {}, "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw=="],
348
+
349
+
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
350
+
351
+
"get-tsconfig": ["get-tsconfig@4.10.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ=="],
352
+
353
+
"graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
354
+
355
+
"graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="],
356
+
357
+
"ipaddr.js": ["ipaddr.js@2.2.0", "", {}, "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA=="],
358
+
359
+
"is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.6" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="],
360
+
361
+
"iso-datestring-validator": ["iso-datestring-validator@2.2.2", "", {}, "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA=="],
362
+
363
+
"jiti": ["jiti@2.6.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ=="],
364
+
365
+
"jose": ["jose@5.10.0", "", {}, "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg=="],
366
+
367
+
"kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
368
+
369
+
"lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="],
370
+
371
+
"lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="],
372
+
373
+
"lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="],
374
+
375
+
"lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="],
376
+
377
+
"lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.1", "", { "os": "linux", "cpu": "arm" }, "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="],
378
+
379
+
"lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="],
380
+
381
+
"lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="],
382
+
383
+
"lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="],
384
+
385
+
"lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="],
386
+
387
+
"lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="],
388
+
389
+
"lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="],
390
+
391
+
"locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="],
392
+
393
+
"lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
394
+
395
+
"magic-string": ["magic-string@0.30.19", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw=="],
396
+
397
+
"memfs": ["memfs@3.5.3", "", { "dependencies": { "fs-monkey": "^1.0.4" } }, "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw=="],
398
+
399
+
"memfs-browser": ["memfs-browser@3.5.10302", "", { "dependencies": { "memfs": "3.5.3" } }, "sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw=="],
400
+
401
+
"minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
402
+
403
+
"minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="],
404
+
405
+
"mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
406
+
407
+
"mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="],
408
+
409
+
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
410
+
411
+
"multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="],
412
+
413
+
"nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
414
+
415
+
"oslo": ["oslo@1.2.1", "", { "dependencies": { "@node-rs/argon2": "1.7.0", "@node-rs/bcrypt": "1.9.0" } }, "sha512-HfIhB5ruTdQv0XX2XlncWQiJ5SIHZ7NHZhVyHth0CSZ/xzge00etRyYy/3wp/Dsu+PkxMC+6+B2lS/GcKoewkA=="],
416
+
417
+
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
418
+
419
+
"picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="],
420
+
421
+
"postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
422
+
423
+
"postgres": ["postgres@3.4.7", "", {}, "sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw=="],
424
+
425
+
"readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
426
+
427
+
"resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
428
+
429
+
"rollup": ["rollup@4.52.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.3", "@rollup/rollup-android-arm64": "4.52.3", "@rollup/rollup-darwin-arm64": "4.52.3", "@rollup/rollup-darwin-x64": "4.52.3", "@rollup/rollup-freebsd-arm64": "4.52.3", "@rollup/rollup-freebsd-x64": "4.52.3", "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", "@rollup/rollup-linux-arm-musleabihf": "4.52.3", "@rollup/rollup-linux-arm64-gnu": "4.52.3", "@rollup/rollup-linux-arm64-musl": "4.52.3", "@rollup/rollup-linux-loong64-gnu": "4.52.3", "@rollup/rollup-linux-ppc64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-musl": "4.52.3", "@rollup/rollup-linux-s390x-gnu": "4.52.3", "@rollup/rollup-linux-x64-gnu": "4.52.3", "@rollup/rollup-linux-x64-musl": "4.52.3", "@rollup/rollup-openharmony-arm64": "4.52.3", "@rollup/rollup-win32-arm64-msvc": "4.52.3", "@rollup/rollup-win32-ia32-msvc": "4.52.3", "@rollup/rollup-win32-x64-gnu": "4.52.3", "@rollup/rollup-win32-x64-msvc": "4.52.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A=="],
430
+
431
+
"sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
432
+
433
+
"set-cookie-parser": ["set-cookie-parser@2.7.1", "", {}, "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="],
434
+
435
+
"sirv": ["sirv@3.0.2", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g=="],
436
+
437
+
"source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
438
+
439
+
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
440
+
441
+
"source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
442
+
443
+
"svelte": ["svelte@5.39.8", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^2.1.0", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-KfZ3hCITdxIXTOvrea4nFZX2o+47HPTChKeocgj9BwJQYqWrviVCcPj4boXHF5yf8+eBKqhHY8xii//XaakKXA=="],
444
+
445
+
"svelte-check": ["svelte-check@4.3.2", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-71udP5w2kaSTcX8iV0hn3o2FWlabQHhJTJLIQrCqMsrcOeDUO2VhCQKKCA8AMVHSPwdxLEWkUWh9OKxns5PD9w=="],
446
+
447
+
"svelte-french-toast": ["svelte-french-toast@1.2.0", "", { "dependencies": { "svelte-writable-derived": "^3.1.0" }, "peerDependencies": { "svelte": "^3.57.0 || ^4.0.0" } }, "sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ=="],
448
+
449
+
"svelte-writable-derived": ["svelte-writable-derived@3.1.1", "", { "peerDependencies": { "svelte": "^3.2.1 || ^4.0.0-next.1 || ^5.0.0-next.94" } }, "sha512-w4LR6/bYZEuCs7SGr+M54oipk/UQKtiMadyOhW0PTwAtJ/Ai12QS77sLngEcfBx2q4H8ZBQucc9ktSA5sUGZWw=="],
450
+
451
+
"tailwindcss": ["tailwindcss@4.1.14", "", {}, "sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA=="],
452
+
453
+
"tapable": ["tapable@2.2.3", "", {}, "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg=="],
454
+
455
+
"tar": ["tar@7.5.1", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g=="],
456
+
457
+
"tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
458
+
459
+
"tlds": ["tlds@1.260.0", "", { "bin": { "tlds": "bin.js" } }, "sha512-78+28EWBhCEE7qlyaHA9OR3IPvbCLiDh3Ckla593TksfFc9vfTsgvH7eS+dr3o9qr31gwGbogcI16yN91PoRjQ=="],
460
+
461
+
"totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
462
+
463
+
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
464
+
465
+
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
466
+
467
+
"uint8arrays": ["uint8arrays@3.0.0", "", { "dependencies": { "multiformats": "^9.4.2" } }, "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA=="],
468
+
469
+
"undici": ["undici@6.21.3", "", {}, "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw=="],
470
+
471
+
"vite": ["vite@7.1.9", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg=="],
472
+
473
+
"vitefu": ["vitefu@1.1.1", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["vite"] }, "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ=="],
474
+
475
+
"yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="],
476
+
477
+
"zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="],
478
+
479
+
"zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
480
+
481
+
"@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="],
482
+
483
+
"@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.5.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg=="],
484
+
485
+
"@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.5.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ=="],
486
+
487
+
"@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="],
488
+
489
+
"@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.0.6", "", { "dependencies": { "@emnapi/core": "^1.5.0", "@emnapi/runtime": "^1.5.0", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-DXj75ewm11LIWUk198QSKUTxjyRjsBwk09MuMk5DGK+GDUtyPhhEHOGP/Xwwj3DjQXXkivoBirmOnKrLfc0+9g=="],
490
+
491
+
"@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="],
492
+
493
+
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
494
+
495
+
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="],
496
+
497
+
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="],
498
+
499
+
"@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="],
500
+
501
+
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="],
502
+
503
+
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="],
504
+
505
+
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="],
506
+
507
+
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="],
508
+
509
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="],
510
+
511
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="],
512
+
513
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="],
514
+
515
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="],
516
+
517
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="],
518
+
519
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="],
520
+
521
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="],
522
+
523
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="],
524
+
525
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="],
526
+
527
+
"@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="],
528
+
529
+
"@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="],
530
+
531
+
"@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="],
532
+
533
+
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="],
534
+
535
+
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="],
536
+
537
+
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="],
538
+
}
539
+
}
+11
drizzle/0000_first_praxagora.sql
+11
drizzle/0000_first_praxagora.sql
···
1
+
CREATE TABLE "auth_session" (
2
+
"key" text PRIMARY KEY NOT NULL,
3
+
"session" json NOT NULL,
4
+
CONSTRAINT "auth_session_key_unique" UNIQUE("key")
5
+
);
6
+
--> statement-breakpoint
7
+
CREATE TABLE "auth_state" (
8
+
"key" text PRIMARY KEY NOT NULL,
9
+
"state" json NOT NULL,
10
+
CONSTRAINT "auth_state_key_unique" UNIQUE("key")
11
+
);
+85
drizzle/meta/0000_snapshot.json
+85
drizzle/meta/0000_snapshot.json
···
1
+
{
2
+
"id": "6e06677f-9a96-41ee-82f8-e0f6e1ea34e3",
3
+
"prevId": "00000000-0000-0000-0000-000000000000",
4
+
"version": "7",
5
+
"dialect": "postgresql",
6
+
"tables": {
7
+
"public.auth_session": {
8
+
"name": "auth_session",
9
+
"schema": "",
10
+
"columns": {
11
+
"key": {
12
+
"name": "key",
13
+
"type": "text",
14
+
"primaryKey": true,
15
+
"notNull": true
16
+
},
17
+
"session": {
18
+
"name": "session",
19
+
"type": "json",
20
+
"primaryKey": false,
21
+
"notNull": true
22
+
}
23
+
},
24
+
"indexes": {},
25
+
"foreignKeys": {},
26
+
"compositePrimaryKeys": {},
27
+
"uniqueConstraints": {
28
+
"auth_session_key_unique": {
29
+
"name": "auth_session_key_unique",
30
+
"nullsNotDistinct": false,
31
+
"columns": [
32
+
"key"
33
+
]
34
+
}
35
+
},
36
+
"policies": {},
37
+
"checkConstraints": {},
38
+
"isRLSEnabled": false
39
+
},
40
+
"public.auth_state": {
41
+
"name": "auth_state",
42
+
"schema": "",
43
+
"columns": {
44
+
"key": {
45
+
"name": "key",
46
+
"type": "text",
47
+
"primaryKey": true,
48
+
"notNull": true
49
+
},
50
+
"state": {
51
+
"name": "state",
52
+
"type": "json",
53
+
"primaryKey": false,
54
+
"notNull": true
55
+
}
56
+
},
57
+
"indexes": {},
58
+
"foreignKeys": {},
59
+
"compositePrimaryKeys": {},
60
+
"uniqueConstraints": {
61
+
"auth_state_key_unique": {
62
+
"name": "auth_state_key_unique",
63
+
"nullsNotDistinct": false,
64
+
"columns": [
65
+
"key"
66
+
]
67
+
}
68
+
},
69
+
"policies": {},
70
+
"checkConstraints": {},
71
+
"isRLSEnabled": false
72
+
}
73
+
},
74
+
"enums": {},
75
+
"schemas": {},
76
+
"sequences": {},
77
+
"roles": {},
78
+
"policies": {},
79
+
"views": {},
80
+
"_meta": {
81
+
"columns": {},
82
+
"schemas": {},
83
+
"tables": {}
84
+
}
85
+
}
+13
drizzle/meta/_journal.json
+13
drizzle/meta/_journal.json
+12
drizzle.config.ts
+12
drizzle.config.ts
···
1
+
import { defineConfig } from "drizzle-kit";
2
+
if (!process.env.DATABASE_URL) throw new Error("DATABASE_URL is not set");
3
+
4
+
export default defineConfig({
5
+
schema: "./src/lib/schema.ts",
6
+
dbCredentials: {
7
+
url: process.env.DATABASE_URL
8
+
},
9
+
verbose: true,
10
+
strict: true,
11
+
dialect: "postgresql"
12
+
});
+27
link/easytodo/tasks/list.json
+27
link/easytodo/tasks/list.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "link.easytodo.tasks.list",
4
+
"defs": {
5
+
"main": {
6
+
"type": "record",
7
+
"description": "A list of items to do.",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["id", "title", "createdAt"],
12
+
"properties": {
13
+
"id": { "type": "string" },
14
+
"title": { "type": "string" },
15
+
"createdAt": { "type": "string", "format": "datetime" },
16
+
"tasks": {
17
+
"type": "array",
18
+
"items": {
19
+
"type": "ref",
20
+
"ref": "link.easytodo.tasks.task"
21
+
}
22
+
}
23
+
}
24
+
}
25
+
}
26
+
}
27
+
}
+21
link/easytodo/tasks/task.json
+21
link/easytodo/tasks/task.json
···
1
+
{
2
+
"lexicon": 1,
3
+
"id": "link.easytodo.tasks.task",
4
+
"defs": {
5
+
"main": {
6
+
"type": "record",
7
+
"description": "An item to do.",
8
+
"key": "tid",
9
+
"record": {
10
+
"type": "object",
11
+
"required": ["id", "description", "is_completed"],
12
+
"properties": {
13
+
"id": { "type": "string" },
14
+
"description": { "type": "string" },
15
+
"is_completed": { "type": "boolean", "default": false },
16
+
"duration": { "type": "integer" }
17
+
}
18
+
}
19
+
}
20
+
}
21
+
}
+22
-16
package.json
+22
-16
package.json
···
7
7
"build": "vite build",
8
8
"preview": "vite preview",
9
9
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10
-
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
10
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
11
+
"db:push": "drizzle-kit push",
12
+
"db:migrate": "drizzle-kit migrate",
13
+
"db:studio": "drizzle-kit studio"
11
14
},
12
15
"devDependencies": {
13
-
"@sveltejs/adapter-auto": "^3.1.1",
14
-
"@sveltejs/kit": "^2.5.2",
15
-
"@sveltejs/vite-plugin-svelte": "^3.0.2",
16
-
"autoprefixer": "^10.4.18",
17
-
"postcss": "^8.4.35",
18
-
"svelte": "5.0.0-next.69",
19
-
"svelte-check": "^3.6.6",
20
-
"tailwindcss": "^3.4.1",
21
-
"tslib": "^2.6.2",
22
-
"typescript": "^5.4.2",
23
-
"vite": "^5.1.5"
16
+
"@sveltejs/adapter-netlify": "^5.2.4",
17
+
"@sveltejs/kit": "^2.44.0",
18
+
"@sveltejs/vite-plugin-svelte": "^6.2.1",
19
+
"drizzle-kit": "^0.31.5",
20
+
"svelte": "^5.39.8",
21
+
"svelte-check": "^4.3.2",
22
+
"tslib": "^2.8.1",
23
+
"typescript": "^5.9.3",
24
+
"vite": "^7.1.9"
24
25
},
25
26
"type": "module",
26
27
"dependencies": {
27
-
"@vercel/analytics": "^1.2.2",
28
-
"@vercel/speed-insights": "^1.0.10",
29
-
"oslo": "^1.1.3",
30
-
"svelte-french-toast": "^1.2.0"
28
+
"@atproto/api": "^0.17.0",
29
+
"@atproto/oauth-client-node": "^0.3.8",
30
+
"@oslojs/encoding": "^1.1.0",
31
+
"@tailwindcss/vite": "^4.1.14",
32
+
"drizzle-orm": "^0.44.6",
33
+
"oslo": "^1.2.1",
34
+
"postgres": "^3.4.7",
35
+
"svelte-french-toast": "^1.2.0",
36
+
"tailwindcss": "^4.1.14"
31
37
}
32
38
}
-2087
pnpm-lock.yaml
-2087
pnpm-lock.yaml
···
1
-
lockfileVersion: '6.0'
2
-
3
-
settings:
4
-
autoInstallPeers: true
5
-
excludeLinksFromLockfile: false
6
-
7
-
dependencies:
8
-
'@vercel/analytics':
9
-
specifier: ^1.2.2
10
-
version: 1.2.2
11
-
'@vercel/speed-insights':
12
-
specifier: ^1.0.10
13
-
version: 1.0.10(@sveltejs/kit@2.5.2)(svelte@5.0.0-next.69)
14
-
oslo:
15
-
specifier: ^1.1.3
16
-
version: 1.1.3
17
-
svelte-french-toast:
18
-
specifier: ^1.2.0
19
-
version: 1.2.0(svelte@5.0.0-next.69)
20
-
21
-
devDependencies:
22
-
'@sveltejs/adapter-auto':
23
-
specifier: ^3.1.1
24
-
version: 3.1.1(@sveltejs/kit@2.5.2)
25
-
'@sveltejs/kit':
26
-
specifier: ^2.5.2
27
-
version: 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.69)(vite@5.1.5)
28
-
'@sveltejs/vite-plugin-svelte':
29
-
specifier: ^3.0.2
30
-
version: 3.0.2(svelte@5.0.0-next.69)(vite@5.1.5)
31
-
autoprefixer:
32
-
specifier: ^10.4.18
33
-
version: 10.4.18(postcss@8.4.35)
34
-
postcss:
35
-
specifier: ^8.4.35
36
-
version: 8.4.35
37
-
svelte:
38
-
specifier: 5.0.0-next.69
39
-
version: 5.0.0-next.69
40
-
svelte-check:
41
-
specifier: ^3.6.6
42
-
version: 3.6.6(postcss@8.4.35)(svelte@5.0.0-next.69)
43
-
tailwindcss:
44
-
specifier: ^3.4.1
45
-
version: 3.4.1
46
-
tslib:
47
-
specifier: ^2.6.2
48
-
version: 2.6.2
49
-
typescript:
50
-
specifier: ^5.4.2
51
-
version: 5.4.2
52
-
vite:
53
-
specifier: ^5.1.5
54
-
version: 5.1.5
55
-
56
-
packages:
57
-
58
-
/@alloc/quick-lru@5.2.0:
59
-
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
60
-
engines: {node: '>=10'}
61
-
dev: true
62
-
63
-
/@ampproject/remapping@2.3.0:
64
-
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
65
-
engines: {node: '>=6.0.0'}
66
-
dependencies:
67
-
'@jridgewell/gen-mapping': 0.3.5
68
-
'@jridgewell/trace-mapping': 0.3.25
69
-
70
-
/@emnapi/core@0.45.0:
71
-
resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==}
72
-
requiresBuild: true
73
-
dependencies:
74
-
tslib: 2.6.2
75
-
dev: false
76
-
optional: true
77
-
78
-
/@emnapi/runtime@0.45.0:
79
-
resolution: {integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==}
80
-
requiresBuild: true
81
-
dependencies:
82
-
tslib: 2.6.2
83
-
dev: false
84
-
optional: true
85
-
86
-
/@esbuild/aix-ppc64@0.19.12:
87
-
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
88
-
engines: {node: '>=12'}
89
-
cpu: [ppc64]
90
-
os: [aix]
91
-
requiresBuild: true
92
-
optional: true
93
-
94
-
/@esbuild/android-arm64@0.19.12:
95
-
resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
96
-
engines: {node: '>=12'}
97
-
cpu: [arm64]
98
-
os: [android]
99
-
requiresBuild: true
100
-
optional: true
101
-
102
-
/@esbuild/android-arm@0.19.12:
103
-
resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
104
-
engines: {node: '>=12'}
105
-
cpu: [arm]
106
-
os: [android]
107
-
requiresBuild: true
108
-
optional: true
109
-
110
-
/@esbuild/android-x64@0.19.12:
111
-
resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
112
-
engines: {node: '>=12'}
113
-
cpu: [x64]
114
-
os: [android]
115
-
requiresBuild: true
116
-
optional: true
117
-
118
-
/@esbuild/darwin-arm64@0.19.12:
119
-
resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
120
-
engines: {node: '>=12'}
121
-
cpu: [arm64]
122
-
os: [darwin]
123
-
requiresBuild: true
124
-
optional: true
125
-
126
-
/@esbuild/darwin-x64@0.19.12:
127
-
resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
128
-
engines: {node: '>=12'}
129
-
cpu: [x64]
130
-
os: [darwin]
131
-
requiresBuild: true
132
-
optional: true
133
-
134
-
/@esbuild/freebsd-arm64@0.19.12:
135
-
resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
136
-
engines: {node: '>=12'}
137
-
cpu: [arm64]
138
-
os: [freebsd]
139
-
requiresBuild: true
140
-
optional: true
141
-
142
-
/@esbuild/freebsd-x64@0.19.12:
143
-
resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
144
-
engines: {node: '>=12'}
145
-
cpu: [x64]
146
-
os: [freebsd]
147
-
requiresBuild: true
148
-
optional: true
149
-
150
-
/@esbuild/linux-arm64@0.19.12:
151
-
resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
152
-
engines: {node: '>=12'}
153
-
cpu: [arm64]
154
-
os: [linux]
155
-
requiresBuild: true
156
-
optional: true
157
-
158
-
/@esbuild/linux-arm@0.19.12:
159
-
resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
160
-
engines: {node: '>=12'}
161
-
cpu: [arm]
162
-
os: [linux]
163
-
requiresBuild: true
164
-
optional: true
165
-
166
-
/@esbuild/linux-ia32@0.19.12:
167
-
resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
168
-
engines: {node: '>=12'}
169
-
cpu: [ia32]
170
-
os: [linux]
171
-
requiresBuild: true
172
-
optional: true
173
-
174
-
/@esbuild/linux-loong64@0.19.12:
175
-
resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
176
-
engines: {node: '>=12'}
177
-
cpu: [loong64]
178
-
os: [linux]
179
-
requiresBuild: true
180
-
optional: true
181
-
182
-
/@esbuild/linux-mips64el@0.19.12:
183
-
resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
184
-
engines: {node: '>=12'}
185
-
cpu: [mips64el]
186
-
os: [linux]
187
-
requiresBuild: true
188
-
optional: true
189
-
190
-
/@esbuild/linux-ppc64@0.19.12:
191
-
resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
192
-
engines: {node: '>=12'}
193
-
cpu: [ppc64]
194
-
os: [linux]
195
-
requiresBuild: true
196
-
optional: true
197
-
198
-
/@esbuild/linux-riscv64@0.19.12:
199
-
resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
200
-
engines: {node: '>=12'}
201
-
cpu: [riscv64]
202
-
os: [linux]
203
-
requiresBuild: true
204
-
optional: true
205
-
206
-
/@esbuild/linux-s390x@0.19.12:
207
-
resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
208
-
engines: {node: '>=12'}
209
-
cpu: [s390x]
210
-
os: [linux]
211
-
requiresBuild: true
212
-
optional: true
213
-
214
-
/@esbuild/linux-x64@0.19.12:
215
-
resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
216
-
engines: {node: '>=12'}
217
-
cpu: [x64]
218
-
os: [linux]
219
-
requiresBuild: true
220
-
optional: true
221
-
222
-
/@esbuild/netbsd-x64@0.19.12:
223
-
resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
224
-
engines: {node: '>=12'}
225
-
cpu: [x64]
226
-
os: [netbsd]
227
-
requiresBuild: true
228
-
optional: true
229
-
230
-
/@esbuild/openbsd-x64@0.19.12:
231
-
resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
232
-
engines: {node: '>=12'}
233
-
cpu: [x64]
234
-
os: [openbsd]
235
-
requiresBuild: true
236
-
optional: true
237
-
238
-
/@esbuild/sunos-x64@0.19.12:
239
-
resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
240
-
engines: {node: '>=12'}
241
-
cpu: [x64]
242
-
os: [sunos]
243
-
requiresBuild: true
244
-
optional: true
245
-
246
-
/@esbuild/win32-arm64@0.19.12:
247
-
resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
248
-
engines: {node: '>=12'}
249
-
cpu: [arm64]
250
-
os: [win32]
251
-
requiresBuild: true
252
-
optional: true
253
-
254
-
/@esbuild/win32-ia32@0.19.12:
255
-
resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
256
-
engines: {node: '>=12'}
257
-
cpu: [ia32]
258
-
os: [win32]
259
-
requiresBuild: true
260
-
optional: true
261
-
262
-
/@esbuild/win32-x64@0.19.12:
263
-
resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
264
-
engines: {node: '>=12'}
265
-
cpu: [x64]
266
-
os: [win32]
267
-
requiresBuild: true
268
-
optional: true
269
-
270
-
/@isaacs/cliui@8.0.2:
271
-
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
272
-
engines: {node: '>=12'}
273
-
dependencies:
274
-
string-width: 5.1.2
275
-
string-width-cjs: /string-width@4.2.3
276
-
strip-ansi: 7.1.0
277
-
strip-ansi-cjs: /strip-ansi@6.0.1
278
-
wrap-ansi: 8.1.0
279
-
wrap-ansi-cjs: /wrap-ansi@7.0.0
280
-
dev: true
281
-
282
-
/@jridgewell/gen-mapping@0.3.5:
283
-
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
284
-
engines: {node: '>=6.0.0'}
285
-
dependencies:
286
-
'@jridgewell/set-array': 1.2.1
287
-
'@jridgewell/sourcemap-codec': 1.4.15
288
-
'@jridgewell/trace-mapping': 0.3.25
289
-
290
-
/@jridgewell/resolve-uri@3.1.2:
291
-
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
292
-
engines: {node: '>=6.0.0'}
293
-
294
-
/@jridgewell/set-array@1.2.1:
295
-
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
296
-
engines: {node: '>=6.0.0'}
297
-
298
-
/@jridgewell/sourcemap-codec@1.4.15:
299
-
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
300
-
301
-
/@jridgewell/trace-mapping@0.3.25:
302
-
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
303
-
dependencies:
304
-
'@jridgewell/resolve-uri': 3.1.2
305
-
'@jridgewell/sourcemap-codec': 1.4.15
306
-
307
-
/@node-rs/argon2-android-arm-eabi@1.7.0:
308
-
resolution: {integrity: sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==}
309
-
engines: {node: '>= 10'}
310
-
cpu: [arm]
311
-
os: [android]
312
-
requiresBuild: true
313
-
dev: false
314
-
optional: true
315
-
316
-
/@node-rs/argon2-android-arm64@1.7.0:
317
-
resolution: {integrity: sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==}
318
-
engines: {node: '>= 10'}
319
-
cpu: [arm64]
320
-
os: [android]
321
-
requiresBuild: true
322
-
dev: false
323
-
optional: true
324
-
325
-
/@node-rs/argon2-darwin-arm64@1.7.0:
326
-
resolution: {integrity: sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==}
327
-
engines: {node: '>= 10'}
328
-
cpu: [arm64]
329
-
os: [darwin]
330
-
requiresBuild: true
331
-
dev: false
332
-
optional: true
333
-
334
-
/@node-rs/argon2-darwin-x64@1.7.0:
335
-
resolution: {integrity: sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==}
336
-
engines: {node: '>= 10'}
337
-
cpu: [x64]
338
-
os: [darwin]
339
-
requiresBuild: true
340
-
dev: false
341
-
optional: true
342
-
343
-
/@node-rs/argon2-freebsd-x64@1.7.0:
344
-
resolution: {integrity: sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==}
345
-
engines: {node: '>= 10'}
346
-
cpu: [x64]
347
-
os: [freebsd]
348
-
requiresBuild: true
349
-
dev: false
350
-
optional: true
351
-
352
-
/@node-rs/argon2-linux-arm-gnueabihf@1.7.0:
353
-
resolution: {integrity: sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==}
354
-
engines: {node: '>= 10'}
355
-
cpu: [arm]
356
-
os: [linux]
357
-
requiresBuild: true
358
-
dev: false
359
-
optional: true
360
-
361
-
/@node-rs/argon2-linux-arm64-gnu@1.7.0:
362
-
resolution: {integrity: sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==}
363
-
engines: {node: '>= 10'}
364
-
cpu: [arm64]
365
-
os: [linux]
366
-
requiresBuild: true
367
-
dev: false
368
-
optional: true
369
-
370
-
/@node-rs/argon2-linux-arm64-musl@1.7.0:
371
-
resolution: {integrity: sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==}
372
-
engines: {node: '>= 10'}
373
-
cpu: [arm64]
374
-
os: [linux]
375
-
requiresBuild: true
376
-
dev: false
377
-
optional: true
378
-
379
-
/@node-rs/argon2-linux-x64-gnu@1.7.0:
380
-
resolution: {integrity: sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==}
381
-
engines: {node: '>= 10'}
382
-
cpu: [x64]
383
-
os: [linux]
384
-
requiresBuild: true
385
-
dev: false
386
-
optional: true
387
-
388
-
/@node-rs/argon2-linux-x64-musl@1.7.0:
389
-
resolution: {integrity: sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==}
390
-
engines: {node: '>= 10'}
391
-
cpu: [x64]
392
-
os: [linux]
393
-
requiresBuild: true
394
-
dev: false
395
-
optional: true
396
-
397
-
/@node-rs/argon2-wasm32-wasi@1.7.0:
398
-
resolution: {integrity: sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==}
399
-
engines: {node: '>=14.0.0'}
400
-
cpu: [wasm32]
401
-
requiresBuild: true
402
-
dependencies:
403
-
'@emnapi/core': 0.45.0
404
-
'@emnapi/runtime': 0.45.0
405
-
'@tybys/wasm-util': 0.8.1
406
-
memfs-browser: 3.5.10302
407
-
dev: false
408
-
optional: true
409
-
410
-
/@node-rs/argon2-win32-arm64-msvc@1.7.0:
411
-
resolution: {integrity: sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==}
412
-
engines: {node: '>= 10'}
413
-
cpu: [arm64]
414
-
os: [win32]
415
-
requiresBuild: true
416
-
dev: false
417
-
optional: true
418
-
419
-
/@node-rs/argon2-win32-ia32-msvc@1.7.0:
420
-
resolution: {integrity: sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==}
421
-
engines: {node: '>= 10'}
422
-
cpu: [ia32]
423
-
os: [win32]
424
-
requiresBuild: true
425
-
dev: false
426
-
optional: true
427
-
428
-
/@node-rs/argon2-win32-x64-msvc@1.7.0:
429
-
resolution: {integrity: sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==}
430
-
engines: {node: '>= 10'}
431
-
cpu: [x64]
432
-
os: [win32]
433
-
requiresBuild: true
434
-
dev: false
435
-
optional: true
436
-
437
-
/@node-rs/argon2@1.7.0:
438
-
resolution: {integrity: sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==}
439
-
engines: {node: '>= 10'}
440
-
optionalDependencies:
441
-
'@node-rs/argon2-android-arm-eabi': 1.7.0
442
-
'@node-rs/argon2-android-arm64': 1.7.0
443
-
'@node-rs/argon2-darwin-arm64': 1.7.0
444
-
'@node-rs/argon2-darwin-x64': 1.7.0
445
-
'@node-rs/argon2-freebsd-x64': 1.7.0
446
-
'@node-rs/argon2-linux-arm-gnueabihf': 1.7.0
447
-
'@node-rs/argon2-linux-arm64-gnu': 1.7.0
448
-
'@node-rs/argon2-linux-arm64-musl': 1.7.0
449
-
'@node-rs/argon2-linux-x64-gnu': 1.7.0
450
-
'@node-rs/argon2-linux-x64-musl': 1.7.0
451
-
'@node-rs/argon2-wasm32-wasi': 1.7.0
452
-
'@node-rs/argon2-win32-arm64-msvc': 1.7.0
453
-
'@node-rs/argon2-win32-ia32-msvc': 1.7.0
454
-
'@node-rs/argon2-win32-x64-msvc': 1.7.0
455
-
dev: false
456
-
457
-
/@node-rs/bcrypt-android-arm-eabi@1.9.0:
458
-
resolution: {integrity: sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==}
459
-
engines: {node: '>= 10'}
460
-
cpu: [arm]
461
-
os: [android]
462
-
requiresBuild: true
463
-
dev: false
464
-
optional: true
465
-
466
-
/@node-rs/bcrypt-android-arm64@1.9.0:
467
-
resolution: {integrity: sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==}
468
-
engines: {node: '>= 10'}
469
-
cpu: [arm64]
470
-
os: [android]
471
-
requiresBuild: true
472
-
dev: false
473
-
optional: true
474
-
475
-
/@node-rs/bcrypt-darwin-arm64@1.9.0:
476
-
resolution: {integrity: sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==}
477
-
engines: {node: '>= 10'}
478
-
cpu: [arm64]
479
-
os: [darwin]
480
-
requiresBuild: true
481
-
dev: false
482
-
optional: true
483
-
484
-
/@node-rs/bcrypt-darwin-x64@1.9.0:
485
-
resolution: {integrity: sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==}
486
-
engines: {node: '>= 10'}
487
-
cpu: [x64]
488
-
os: [darwin]
489
-
requiresBuild: true
490
-
dev: false
491
-
optional: true
492
-
493
-
/@node-rs/bcrypt-freebsd-x64@1.9.0:
494
-
resolution: {integrity: sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==}
495
-
engines: {node: '>= 10'}
496
-
cpu: [x64]
497
-
os: [freebsd]
498
-
requiresBuild: true
499
-
dev: false
500
-
optional: true
501
-
502
-
/@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0:
503
-
resolution: {integrity: sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==}
504
-
engines: {node: '>= 10'}
505
-
cpu: [arm]
506
-
os: [linux]
507
-
requiresBuild: true
508
-
dev: false
509
-
optional: true
510
-
511
-
/@node-rs/bcrypt-linux-arm64-gnu@1.9.0:
512
-
resolution: {integrity: sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==}
513
-
engines: {node: '>= 10'}
514
-
cpu: [arm64]
515
-
os: [linux]
516
-
requiresBuild: true
517
-
dev: false
518
-
optional: true
519
-
520
-
/@node-rs/bcrypt-linux-arm64-musl@1.9.0:
521
-
resolution: {integrity: sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==}
522
-
engines: {node: '>= 10'}
523
-
cpu: [arm64]
524
-
os: [linux]
525
-
requiresBuild: true
526
-
dev: false
527
-
optional: true
528
-
529
-
/@node-rs/bcrypt-linux-x64-gnu@1.9.0:
530
-
resolution: {integrity: sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==}
531
-
engines: {node: '>= 10'}
532
-
cpu: [x64]
533
-
os: [linux]
534
-
requiresBuild: true
535
-
dev: false
536
-
optional: true
537
-
538
-
/@node-rs/bcrypt-linux-x64-musl@1.9.0:
539
-
resolution: {integrity: sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==}
540
-
engines: {node: '>= 10'}
541
-
cpu: [x64]
542
-
os: [linux]
543
-
requiresBuild: true
544
-
dev: false
545
-
optional: true
546
-
547
-
/@node-rs/bcrypt-wasm32-wasi@1.9.0:
548
-
resolution: {integrity: sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==}
549
-
engines: {node: '>=14.0.0'}
550
-
cpu: [wasm32]
551
-
requiresBuild: true
552
-
dependencies:
553
-
'@emnapi/core': 0.45.0
554
-
'@emnapi/runtime': 0.45.0
555
-
'@tybys/wasm-util': 0.8.1
556
-
memfs-browser: 3.5.10302
557
-
dev: false
558
-
optional: true
559
-
560
-
/@node-rs/bcrypt-win32-arm64-msvc@1.9.0:
561
-
resolution: {integrity: sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==}
562
-
engines: {node: '>= 10'}
563
-
cpu: [arm64]
564
-
os: [win32]
565
-
requiresBuild: true
566
-
dev: false
567
-
optional: true
568
-
569
-
/@node-rs/bcrypt-win32-ia32-msvc@1.9.0:
570
-
resolution: {integrity: sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==}
571
-
engines: {node: '>= 10'}
572
-
cpu: [ia32]
573
-
os: [win32]
574
-
requiresBuild: true
575
-
dev: false
576
-
optional: true
577
-
578
-
/@node-rs/bcrypt-win32-x64-msvc@1.9.0:
579
-
resolution: {integrity: sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==}
580
-
engines: {node: '>= 10'}
581
-
cpu: [x64]
582
-
os: [win32]
583
-
requiresBuild: true
584
-
dev: false
585
-
optional: true
586
-
587
-
/@node-rs/bcrypt@1.9.0:
588
-
resolution: {integrity: sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==}
589
-
engines: {node: '>= 10'}
590
-
optionalDependencies:
591
-
'@node-rs/bcrypt-android-arm-eabi': 1.9.0
592
-
'@node-rs/bcrypt-android-arm64': 1.9.0
593
-
'@node-rs/bcrypt-darwin-arm64': 1.9.0
594
-
'@node-rs/bcrypt-darwin-x64': 1.9.0
595
-
'@node-rs/bcrypt-freebsd-x64': 1.9.0
596
-
'@node-rs/bcrypt-linux-arm-gnueabihf': 1.9.0
597
-
'@node-rs/bcrypt-linux-arm64-gnu': 1.9.0
598
-
'@node-rs/bcrypt-linux-arm64-musl': 1.9.0
599
-
'@node-rs/bcrypt-linux-x64-gnu': 1.9.0
600
-
'@node-rs/bcrypt-linux-x64-musl': 1.9.0
601
-
'@node-rs/bcrypt-wasm32-wasi': 1.9.0
602
-
'@node-rs/bcrypt-win32-arm64-msvc': 1.9.0
603
-
'@node-rs/bcrypt-win32-ia32-msvc': 1.9.0
604
-
'@node-rs/bcrypt-win32-x64-msvc': 1.9.0
605
-
dev: false
606
-
607
-
/@nodelib/fs.scandir@2.1.5:
608
-
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
609
-
engines: {node: '>= 8'}
610
-
dependencies:
611
-
'@nodelib/fs.stat': 2.0.5
612
-
run-parallel: 1.2.0
613
-
dev: true
614
-
615
-
/@nodelib/fs.stat@2.0.5:
616
-
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
617
-
engines: {node: '>= 8'}
618
-
dev: true
619
-
620
-
/@nodelib/fs.walk@1.2.8:
621
-
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
622
-
engines: {node: '>= 8'}
623
-
dependencies:
624
-
'@nodelib/fs.scandir': 2.1.5
625
-
fastq: 1.17.1
626
-
dev: true
627
-
628
-
/@pkgjs/parseargs@0.11.0:
629
-
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
630
-
engines: {node: '>=14'}
631
-
requiresBuild: true
632
-
dev: true
633
-
optional: true
634
-
635
-
/@polka/url@1.0.0-next.25:
636
-
resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
637
-
638
-
/@rollup/rollup-android-arm-eabi@4.12.1:
639
-
resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==}
640
-
cpu: [arm]
641
-
os: [android]
642
-
requiresBuild: true
643
-
optional: true
644
-
645
-
/@rollup/rollup-android-arm64@4.12.1:
646
-
resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==}
647
-
cpu: [arm64]
648
-
os: [android]
649
-
requiresBuild: true
650
-
optional: true
651
-
652
-
/@rollup/rollup-darwin-arm64@4.12.1:
653
-
resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==}
654
-
cpu: [arm64]
655
-
os: [darwin]
656
-
requiresBuild: true
657
-
optional: true
658
-
659
-
/@rollup/rollup-darwin-x64@4.12.1:
660
-
resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==}
661
-
cpu: [x64]
662
-
os: [darwin]
663
-
requiresBuild: true
664
-
optional: true
665
-
666
-
/@rollup/rollup-linux-arm-gnueabihf@4.12.1:
667
-
resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==}
668
-
cpu: [arm]
669
-
os: [linux]
670
-
requiresBuild: true
671
-
optional: true
672
-
673
-
/@rollup/rollup-linux-arm64-gnu@4.12.1:
674
-
resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==}
675
-
cpu: [arm64]
676
-
os: [linux]
677
-
requiresBuild: true
678
-
optional: true
679
-
680
-
/@rollup/rollup-linux-arm64-musl@4.12.1:
681
-
resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==}
682
-
cpu: [arm64]
683
-
os: [linux]
684
-
requiresBuild: true
685
-
optional: true
686
-
687
-
/@rollup/rollup-linux-riscv64-gnu@4.12.1:
688
-
resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==}
689
-
cpu: [riscv64]
690
-
os: [linux]
691
-
requiresBuild: true
692
-
optional: true
693
-
694
-
/@rollup/rollup-linux-x64-gnu@4.12.1:
695
-
resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==}
696
-
cpu: [x64]
697
-
os: [linux]
698
-
requiresBuild: true
699
-
optional: true
700
-
701
-
/@rollup/rollup-linux-x64-musl@4.12.1:
702
-
resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==}
703
-
cpu: [x64]
704
-
os: [linux]
705
-
requiresBuild: true
706
-
optional: true
707
-
708
-
/@rollup/rollup-win32-arm64-msvc@4.12.1:
709
-
resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==}
710
-
cpu: [arm64]
711
-
os: [win32]
712
-
requiresBuild: true
713
-
optional: true
714
-
715
-
/@rollup/rollup-win32-ia32-msvc@4.12.1:
716
-
resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==}
717
-
cpu: [ia32]
718
-
os: [win32]
719
-
requiresBuild: true
720
-
optional: true
721
-
722
-
/@rollup/rollup-win32-x64-msvc@4.12.1:
723
-
resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==}
724
-
cpu: [x64]
725
-
os: [win32]
726
-
requiresBuild: true
727
-
optional: true
728
-
729
-
/@sveltejs/adapter-auto@3.1.1(@sveltejs/kit@2.5.2):
730
-
resolution: {integrity: sha512-6LeZft2Fo/4HfmLBi5CucMYmgRxgcETweQl/yQoZo/895K3S9YWYN4Sfm/IhwlIpbJp3QNvhKmwCHbsqQNYQpw==}
731
-
peerDependencies:
732
-
'@sveltejs/kit': ^2.0.0
733
-
dependencies:
734
-
'@sveltejs/kit': 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.69)(vite@5.1.5)
735
-
import-meta-resolve: 4.0.0
736
-
dev: true
737
-
738
-
/@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.69)(vite@5.1.5):
739
-
resolution: {integrity: sha512-1Pm2lsBYURQsjnLyZa+jw75eVD4gYHxGRwPyFe4DAmB3FjTVR8vRNWGeuDLGFcKMh/B1ij6FTUrc9GrerogCng==}
740
-
engines: {node: '>=18.13'}
741
-
hasBin: true
742
-
requiresBuild: true
743
-
peerDependencies:
744
-
'@sveltejs/vite-plugin-svelte': ^3.0.0
745
-
svelte: ^4.0.0 || ^5.0.0-next.0
746
-
vite: ^5.0.3
747
-
dependencies:
748
-
'@sveltejs/vite-plugin-svelte': 3.0.2(svelte@5.0.0-next.69)(vite@5.1.5)
749
-
'@types/cookie': 0.6.0
750
-
cookie: 0.6.0
751
-
devalue: 4.3.2
752
-
esm-env: 1.0.0
753
-
import-meta-resolve: 4.0.0
754
-
kleur: 4.1.5
755
-
magic-string: 0.30.8
756
-
mrmime: 2.0.0
757
-
sade: 1.8.1
758
-
set-cookie-parser: 2.6.0
759
-
sirv: 2.0.4
760
-
svelte: 5.0.0-next.69
761
-
tiny-glob: 0.2.9
762
-
vite: 5.1.5
763
-
764
-
/@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.69)(vite@5.1.5):
765
-
resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
766
-
engines: {node: ^18.0.0 || >=20}
767
-
peerDependencies:
768
-
'@sveltejs/vite-plugin-svelte': ^3.0.0
769
-
svelte: ^4.0.0 || ^5.0.0-next.0
770
-
vite: ^5.0.0
771
-
dependencies:
772
-
'@sveltejs/vite-plugin-svelte': 3.0.2(svelte@5.0.0-next.69)(vite@5.1.5)
773
-
debug: 4.3.4
774
-
svelte: 5.0.0-next.69
775
-
vite: 5.1.5
776
-
transitivePeerDependencies:
777
-
- supports-color
778
-
779
-
/@sveltejs/vite-plugin-svelte@3.0.2(svelte@5.0.0-next.69)(vite@5.1.5):
780
-
resolution: {integrity: sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==}
781
-
engines: {node: ^18.0.0 || >=20}
782
-
peerDependencies:
783
-
svelte: ^4.0.0 || ^5.0.0-next.0
784
-
vite: ^5.0.0
785
-
dependencies:
786
-
'@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.69)(vite@5.1.5)
787
-
debug: 4.3.4
788
-
deepmerge: 4.3.1
789
-
kleur: 4.1.5
790
-
magic-string: 0.30.8
791
-
svelte: 5.0.0-next.69
792
-
svelte-hmr: 0.15.3(svelte@5.0.0-next.69)
793
-
vite: 5.1.5
794
-
vitefu: 0.2.5(vite@5.1.5)
795
-
transitivePeerDependencies:
796
-
- supports-color
797
-
798
-
/@tybys/wasm-util@0.8.1:
799
-
resolution: {integrity: sha512-GSsTwyBl4pIzsxAY5wroZdyQKyhXk0d8PCRZtrSZ2WEB1cBdrp2EgGBwHOGCZtIIPun/DL3+AykCv+J6fyRH4Q==}
800
-
requiresBuild: true
801
-
dependencies:
802
-
tslib: 2.6.2
803
-
dev: false
804
-
optional: true
805
-
806
-
/@types/cookie@0.6.0:
807
-
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
808
-
809
-
/@types/estree@1.0.5:
810
-
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
811
-
812
-
/@types/pug@2.0.10:
813
-
resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
814
-
dev: true
815
-
816
-
/@vercel/analytics@1.2.2:
817
-
resolution: {integrity: sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==}
818
-
peerDependencies:
819
-
next: '>= 13'
820
-
react: ^18 || ^19
821
-
peerDependenciesMeta:
822
-
next:
823
-
optional: true
824
-
react:
825
-
optional: true
826
-
dependencies:
827
-
server-only: 0.0.1
828
-
dev: false
829
-
830
-
/@vercel/speed-insights@1.0.10(@sveltejs/kit@2.5.2)(svelte@5.0.0-next.69):
831
-
resolution: {integrity: sha512-4uzdKB0RW6Ff2FkzshzjZ+RlJfLPxgm/00i0XXgxfMPhwnnsk92YgtqsxT9OcPLdJUyVU1DqFlSWWjIQMPkh0g==}
832
-
requiresBuild: true
833
-
peerDependencies:
834
-
'@sveltejs/kit': ^1 || ^2
835
-
next: '>= 13'
836
-
react: ^18 || ^19
837
-
svelte: ^4
838
-
vue: ^3
839
-
vue-router: ^4
840
-
peerDependenciesMeta:
841
-
'@sveltejs/kit':
842
-
optional: true
843
-
next:
844
-
optional: true
845
-
react:
846
-
optional: true
847
-
svelte:
848
-
optional: true
849
-
vue:
850
-
optional: true
851
-
vue-router:
852
-
optional: true
853
-
dependencies:
854
-
'@sveltejs/kit': 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@5.0.0-next.69)(vite@5.1.5)
855
-
svelte: 5.0.0-next.69
856
-
dev: false
857
-
858
-
/acorn-typescript@1.4.13(acorn@8.11.3):
859
-
resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
860
-
peerDependencies:
861
-
acorn: '>=8.9.0'
862
-
dependencies:
863
-
acorn: 8.11.3
864
-
865
-
/acorn@8.11.3:
866
-
resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
867
-
engines: {node: '>=0.4.0'}
868
-
hasBin: true
869
-
870
-
/ansi-regex@5.0.1:
871
-
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
872
-
engines: {node: '>=8'}
873
-
dev: true
874
-
875
-
/ansi-regex@6.0.1:
876
-
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
877
-
engines: {node: '>=12'}
878
-
dev: true
879
-
880
-
/ansi-styles@4.3.0:
881
-
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
882
-
engines: {node: '>=8'}
883
-
dependencies:
884
-
color-convert: 2.0.1
885
-
dev: true
886
-
887
-
/ansi-styles@6.2.1:
888
-
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
889
-
engines: {node: '>=12'}
890
-
dev: true
891
-
892
-
/any-promise@1.3.0:
893
-
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
894
-
dev: true
895
-
896
-
/anymatch@3.1.3:
897
-
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
898
-
engines: {node: '>= 8'}
899
-
dependencies:
900
-
normalize-path: 3.0.0
901
-
picomatch: 2.3.1
902
-
dev: true
903
-
904
-
/arg@5.0.2:
905
-
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
906
-
dev: true
907
-
908
-
/aria-query@5.3.0:
909
-
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
910
-
dependencies:
911
-
dequal: 2.0.3
912
-
913
-
/autoprefixer@10.4.18(postcss@8.4.35):
914
-
resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==}
915
-
engines: {node: ^10 || ^12 || >=14}
916
-
hasBin: true
917
-
peerDependencies:
918
-
postcss: ^8.1.0
919
-
dependencies:
920
-
browserslist: 4.23.0
921
-
caniuse-lite: 1.0.30001596
922
-
fraction.js: 4.3.7
923
-
normalize-range: 0.1.2
924
-
picocolors: 1.0.0
925
-
postcss: 8.4.35
926
-
postcss-value-parser: 4.2.0
927
-
dev: true
928
-
929
-
/axobject-query@4.0.0:
930
-
resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
931
-
dependencies:
932
-
dequal: 2.0.3
933
-
934
-
/balanced-match@1.0.2:
935
-
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
936
-
dev: true
937
-
938
-
/binary-extensions@2.2.0:
939
-
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
940
-
engines: {node: '>=8'}
941
-
dev: true
942
-
943
-
/brace-expansion@1.1.11:
944
-
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
945
-
dependencies:
946
-
balanced-match: 1.0.2
947
-
concat-map: 0.0.1
948
-
dev: true
949
-
950
-
/brace-expansion@2.0.1:
951
-
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
952
-
dependencies:
953
-
balanced-match: 1.0.2
954
-
dev: true
955
-
956
-
/braces@3.0.2:
957
-
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
958
-
engines: {node: '>=8'}
959
-
dependencies:
960
-
fill-range: 7.0.1
961
-
dev: true
962
-
963
-
/browserslist@4.23.0:
964
-
resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
965
-
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
966
-
hasBin: true
967
-
dependencies:
968
-
caniuse-lite: 1.0.30001596
969
-
electron-to-chromium: 1.4.698
970
-
node-releases: 2.0.14
971
-
update-browserslist-db: 1.0.13(browserslist@4.23.0)
972
-
dev: true
973
-
974
-
/buffer-crc32@0.2.13:
975
-
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
976
-
dev: true
977
-
978
-
/callsites@3.1.0:
979
-
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
980
-
engines: {node: '>=6'}
981
-
dev: true
982
-
983
-
/camelcase-css@2.0.1:
984
-
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
985
-
engines: {node: '>= 6'}
986
-
dev: true
987
-
988
-
/caniuse-lite@1.0.30001596:
989
-
resolution: {integrity: sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==}
990
-
dev: true
991
-
992
-
/chokidar@3.6.0:
993
-
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
994
-
engines: {node: '>= 8.10.0'}
995
-
dependencies:
996
-
anymatch: 3.1.3
997
-
braces: 3.0.2
998
-
glob-parent: 5.1.2
999
-
is-binary-path: 2.1.0
1000
-
is-glob: 4.0.3
1001
-
normalize-path: 3.0.0
1002
-
readdirp: 3.6.0
1003
-
optionalDependencies:
1004
-
fsevents: 2.3.3
1005
-
dev: true
1006
-
1007
-
/color-convert@2.0.1:
1008
-
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1009
-
engines: {node: '>=7.0.0'}
1010
-
dependencies:
1011
-
color-name: 1.1.4
1012
-
dev: true
1013
-
1014
-
/color-name@1.1.4:
1015
-
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1016
-
dev: true
1017
-
1018
-
/commander@4.1.1:
1019
-
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1020
-
engines: {node: '>= 6'}
1021
-
dev: true
1022
-
1023
-
/concat-map@0.0.1:
1024
-
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1025
-
dev: true
1026
-
1027
-
/cookie@0.6.0:
1028
-
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
1029
-
engines: {node: '>= 0.6'}
1030
-
1031
-
/cross-spawn@7.0.3:
1032
-
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1033
-
engines: {node: '>= 8'}
1034
-
dependencies:
1035
-
path-key: 3.1.1
1036
-
shebang-command: 2.0.0
1037
-
which: 2.0.2
1038
-
dev: true
1039
-
1040
-
/cssesc@3.0.0:
1041
-
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1042
-
engines: {node: '>=4'}
1043
-
hasBin: true
1044
-
dev: true
1045
-
1046
-
/debug@4.3.4:
1047
-
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1048
-
engines: {node: '>=6.0'}
1049
-
peerDependencies:
1050
-
supports-color: '*'
1051
-
peerDependenciesMeta:
1052
-
supports-color:
1053
-
optional: true
1054
-
dependencies:
1055
-
ms: 2.1.2
1056
-
1057
-
/deepmerge@4.3.1:
1058
-
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
1059
-
engines: {node: '>=0.10.0'}
1060
-
1061
-
/dequal@2.0.3:
1062
-
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1063
-
engines: {node: '>=6'}
1064
-
1065
-
/detect-indent@6.1.0:
1066
-
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
1067
-
engines: {node: '>=8'}
1068
-
dev: true
1069
-
1070
-
/devalue@4.3.2:
1071
-
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
1072
-
1073
-
/didyoumean@1.2.2:
1074
-
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
1075
-
dev: true
1076
-
1077
-
/dlv@1.1.3:
1078
-
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
1079
-
dev: true
1080
-
1081
-
/eastasianwidth@0.2.0:
1082
-
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
1083
-
dev: true
1084
-
1085
-
/electron-to-chromium@1.4.698:
1086
-
resolution: {integrity: sha512-f9iZD1t3CLy1AS6vzM5EKGa6p9pRcOeEFXRFbaG2Ta+Oe7MkfRQ3fsvPYidzHe1h4i0JvIvpcY55C+B6BZNGtQ==}
1087
-
dev: true
1088
-
1089
-
/emoji-regex@8.0.0:
1090
-
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1091
-
dev: true
1092
-
1093
-
/emoji-regex@9.2.2:
1094
-
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
1095
-
dev: true
1096
-
1097
-
/es6-promise@3.3.1:
1098
-
resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
1099
-
dev: true
1100
-
1101
-
/esbuild@0.19.12:
1102
-
resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
1103
-
engines: {node: '>=12'}
1104
-
hasBin: true
1105
-
requiresBuild: true
1106
-
optionalDependencies:
1107
-
'@esbuild/aix-ppc64': 0.19.12
1108
-
'@esbuild/android-arm': 0.19.12
1109
-
'@esbuild/android-arm64': 0.19.12
1110
-
'@esbuild/android-x64': 0.19.12
1111
-
'@esbuild/darwin-arm64': 0.19.12
1112
-
'@esbuild/darwin-x64': 0.19.12
1113
-
'@esbuild/freebsd-arm64': 0.19.12
1114
-
'@esbuild/freebsd-x64': 0.19.12
1115
-
'@esbuild/linux-arm': 0.19.12
1116
-
'@esbuild/linux-arm64': 0.19.12
1117
-
'@esbuild/linux-ia32': 0.19.12
1118
-
'@esbuild/linux-loong64': 0.19.12
1119
-
'@esbuild/linux-mips64el': 0.19.12
1120
-
'@esbuild/linux-ppc64': 0.19.12
1121
-
'@esbuild/linux-riscv64': 0.19.12
1122
-
'@esbuild/linux-s390x': 0.19.12
1123
-
'@esbuild/linux-x64': 0.19.12
1124
-
'@esbuild/netbsd-x64': 0.19.12
1125
-
'@esbuild/openbsd-x64': 0.19.12
1126
-
'@esbuild/sunos-x64': 0.19.12
1127
-
'@esbuild/win32-arm64': 0.19.12
1128
-
'@esbuild/win32-ia32': 0.19.12
1129
-
'@esbuild/win32-x64': 0.19.12
1130
-
1131
-
/escalade@3.1.2:
1132
-
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
1133
-
engines: {node: '>=6'}
1134
-
dev: true
1135
-
1136
-
/esm-env@1.0.0:
1137
-
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
1138
-
1139
-
/esrap@1.2.1:
1140
-
resolution: {integrity: sha512-dhkcOLfN/aDdMFI1iwPEcy/XqAZzGNfgfEJjZozy2tia6u0dQoZyXzkRshHTckuNsM+c0CYQndY+uRFe3N+AIQ==}
1141
-
dependencies:
1142
-
'@jridgewell/sourcemap-codec': 1.4.15
1143
-
'@types/estree': 1.0.5
1144
-
1145
-
/fast-glob@3.3.2:
1146
-
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1147
-
engines: {node: '>=8.6.0'}
1148
-
dependencies:
1149
-
'@nodelib/fs.stat': 2.0.5
1150
-
'@nodelib/fs.walk': 1.2.8
1151
-
glob-parent: 5.1.2
1152
-
merge2: 1.4.1
1153
-
micromatch: 4.0.5
1154
-
dev: true
1155
-
1156
-
/fastq@1.17.1:
1157
-
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1158
-
dependencies:
1159
-
reusify: 1.0.4
1160
-
dev: true
1161
-
1162
-
/fill-range@7.0.1:
1163
-
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1164
-
engines: {node: '>=8'}
1165
-
dependencies:
1166
-
to-regex-range: 5.0.1
1167
-
dev: true
1168
-
1169
-
/foreground-child@3.1.1:
1170
-
resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
1171
-
engines: {node: '>=14'}
1172
-
dependencies:
1173
-
cross-spawn: 7.0.3
1174
-
signal-exit: 4.1.0
1175
-
dev: true
1176
-
1177
-
/fraction.js@4.3.7:
1178
-
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1179
-
dev: true
1180
-
1181
-
/fs-monkey@1.0.5:
1182
-
resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
1183
-
requiresBuild: true
1184
-
dev: false
1185
-
optional: true
1186
-
1187
-
/fs.realpath@1.0.0:
1188
-
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1189
-
dev: true
1190
-
1191
-
/fsevents@2.3.3:
1192
-
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1193
-
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1194
-
os: [darwin]
1195
-
requiresBuild: true
1196
-
optional: true
1197
-
1198
-
/function-bind@1.1.2:
1199
-
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1200
-
dev: true
1201
-
1202
-
/glob-parent@5.1.2:
1203
-
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1204
-
engines: {node: '>= 6'}
1205
-
dependencies:
1206
-
is-glob: 4.0.3
1207
-
dev: true
1208
-
1209
-
/glob-parent@6.0.2:
1210
-
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1211
-
engines: {node: '>=10.13.0'}
1212
-
dependencies:
1213
-
is-glob: 4.0.3
1214
-
dev: true
1215
-
1216
-
/glob@10.3.10:
1217
-
resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
1218
-
engines: {node: '>=16 || 14 >=14.17'}
1219
-
hasBin: true
1220
-
dependencies:
1221
-
foreground-child: 3.1.1
1222
-
jackspeak: 2.3.6
1223
-
minimatch: 9.0.3
1224
-
minipass: 7.0.4
1225
-
path-scurry: 1.10.1
1226
-
dev: true
1227
-
1228
-
/glob@7.2.3:
1229
-
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1230
-
dependencies:
1231
-
fs.realpath: 1.0.0
1232
-
inflight: 1.0.6
1233
-
inherits: 2.0.4
1234
-
minimatch: 3.1.2
1235
-
once: 1.4.0
1236
-
path-is-absolute: 1.0.1
1237
-
dev: true
1238
-
1239
-
/globalyzer@0.1.0:
1240
-
resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
1241
-
1242
-
/globrex@0.1.2:
1243
-
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
1244
-
1245
-
/graceful-fs@4.2.11:
1246
-
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1247
-
dev: true
1248
-
1249
-
/hasown@2.0.1:
1250
-
resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
1251
-
engines: {node: '>= 0.4'}
1252
-
dependencies:
1253
-
function-bind: 1.1.2
1254
-
dev: true
1255
-
1256
-
/import-fresh@3.3.0:
1257
-
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1258
-
engines: {node: '>=6'}
1259
-
dependencies:
1260
-
parent-module: 1.0.1
1261
-
resolve-from: 4.0.0
1262
-
dev: true
1263
-
1264
-
/import-meta-resolve@4.0.0:
1265
-
resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
1266
-
1267
-
/inflight@1.0.6:
1268
-
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1269
-
dependencies:
1270
-
once: 1.4.0
1271
-
wrappy: 1.0.2
1272
-
dev: true
1273
-
1274
-
/inherits@2.0.4:
1275
-
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1276
-
dev: true
1277
-
1278
-
/is-binary-path@2.1.0:
1279
-
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1280
-
engines: {node: '>=8'}
1281
-
dependencies:
1282
-
binary-extensions: 2.2.0
1283
-
dev: true
1284
-
1285
-
/is-core-module@2.13.1:
1286
-
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
1287
-
dependencies:
1288
-
hasown: 2.0.1
1289
-
dev: true
1290
-
1291
-
/is-extglob@2.1.1:
1292
-
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1293
-
engines: {node: '>=0.10.0'}
1294
-
dev: true
1295
-
1296
-
/is-fullwidth-code-point@3.0.0:
1297
-
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1298
-
engines: {node: '>=8'}
1299
-
dev: true
1300
-
1301
-
/is-glob@4.0.3:
1302
-
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1303
-
engines: {node: '>=0.10.0'}
1304
-
dependencies:
1305
-
is-extglob: 2.1.1
1306
-
dev: true
1307
-
1308
-
/is-number@7.0.0:
1309
-
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1310
-
engines: {node: '>=0.12.0'}
1311
-
dev: true
1312
-
1313
-
/is-reference@3.0.2:
1314
-
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
1315
-
dependencies:
1316
-
'@types/estree': 1.0.5
1317
-
1318
-
/isexe@2.0.0:
1319
-
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1320
-
dev: true
1321
-
1322
-
/jackspeak@2.3.6:
1323
-
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
1324
-
engines: {node: '>=14'}
1325
-
dependencies:
1326
-
'@isaacs/cliui': 8.0.2
1327
-
optionalDependencies:
1328
-
'@pkgjs/parseargs': 0.11.0
1329
-
dev: true
1330
-
1331
-
/jiti@1.21.0:
1332
-
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
1333
-
hasBin: true
1334
-
dev: true
1335
-
1336
-
/kleur@4.1.5:
1337
-
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1338
-
engines: {node: '>=6'}
1339
-
1340
-
/lilconfig@2.1.0:
1341
-
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1342
-
engines: {node: '>=10'}
1343
-
dev: true
1344
-
1345
-
/lilconfig@3.1.1:
1346
-
resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
1347
-
engines: {node: '>=14'}
1348
-
dev: true
1349
-
1350
-
/lines-and-columns@1.2.4:
1351
-
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1352
-
dev: true
1353
-
1354
-
/locate-character@3.0.0:
1355
-
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
1356
-
1357
-
/lru-cache@10.2.0:
1358
-
resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
1359
-
engines: {node: 14 || >=16.14}
1360
-
dev: true
1361
-
1362
-
/magic-string@0.30.8:
1363
-
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
1364
-
engines: {node: '>=12'}
1365
-
dependencies:
1366
-
'@jridgewell/sourcemap-codec': 1.4.15
1367
-
1368
-
/memfs-browser@3.5.10302:
1369
-
resolution: {integrity: sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==}
1370
-
requiresBuild: true
1371
-
dependencies:
1372
-
memfs: 3.5.3
1373
-
dev: false
1374
-
optional: true
1375
-
1376
-
/memfs@3.5.3:
1377
-
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
1378
-
engines: {node: '>= 4.0.0'}
1379
-
requiresBuild: true
1380
-
dependencies:
1381
-
fs-monkey: 1.0.5
1382
-
dev: false
1383
-
optional: true
1384
-
1385
-
/merge2@1.4.1:
1386
-
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1387
-
engines: {node: '>= 8'}
1388
-
dev: true
1389
-
1390
-
/micromatch@4.0.5:
1391
-
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1392
-
engines: {node: '>=8.6'}
1393
-
dependencies:
1394
-
braces: 3.0.2
1395
-
picomatch: 2.3.1
1396
-
dev: true
1397
-
1398
-
/min-indent@1.0.1:
1399
-
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1400
-
engines: {node: '>=4'}
1401
-
dev: true
1402
-
1403
-
/minimatch@3.1.2:
1404
-
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1405
-
dependencies:
1406
-
brace-expansion: 1.1.11
1407
-
dev: true
1408
-
1409
-
/minimatch@9.0.3:
1410
-
resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
1411
-
engines: {node: '>=16 || 14 >=14.17'}
1412
-
dependencies:
1413
-
brace-expansion: 2.0.1
1414
-
dev: true
1415
-
1416
-
/minimist@1.2.8:
1417
-
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1418
-
dev: true
1419
-
1420
-
/minipass@7.0.4:
1421
-
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
1422
-
engines: {node: '>=16 || 14 >=14.17'}
1423
-
dev: true
1424
-
1425
-
/mkdirp@0.5.6:
1426
-
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
1427
-
hasBin: true
1428
-
dependencies:
1429
-
minimist: 1.2.8
1430
-
dev: true
1431
-
1432
-
/mri@1.2.0:
1433
-
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1434
-
engines: {node: '>=4'}
1435
-
1436
-
/mrmime@2.0.0:
1437
-
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
1438
-
engines: {node: '>=10'}
1439
-
1440
-
/ms@2.1.2:
1441
-
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1442
-
1443
-
/mz@2.7.0:
1444
-
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1445
-
dependencies:
1446
-
any-promise: 1.3.0
1447
-
object-assign: 4.1.1
1448
-
thenify-all: 1.6.0
1449
-
dev: true
1450
-
1451
-
/nanoid@3.3.7:
1452
-
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1453
-
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1454
-
hasBin: true
1455
-
1456
-
/node-releases@2.0.14:
1457
-
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
1458
-
dev: true
1459
-
1460
-
/normalize-path@3.0.0:
1461
-
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1462
-
engines: {node: '>=0.10.0'}
1463
-
dev: true
1464
-
1465
-
/normalize-range@0.1.2:
1466
-
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1467
-
engines: {node: '>=0.10.0'}
1468
-
dev: true
1469
-
1470
-
/object-assign@4.1.1:
1471
-
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1472
-
engines: {node: '>=0.10.0'}
1473
-
dev: true
1474
-
1475
-
/object-hash@3.0.0:
1476
-
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1477
-
engines: {node: '>= 6'}
1478
-
dev: true
1479
-
1480
-
/once@1.4.0:
1481
-
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1482
-
dependencies:
1483
-
wrappy: 1.0.2
1484
-
dev: true
1485
-
1486
-
/oslo@1.1.3:
1487
-
resolution: {integrity: sha512-hCz528UlNTiegplcyBg6AvG0HLNrnq06EJMp88Ze308GX1hszkb8u3puhNC4aqLMbYQ0hXpl+wQGnwxMtt5+5w==}
1488
-
dependencies:
1489
-
'@node-rs/argon2': 1.7.0
1490
-
'@node-rs/bcrypt': 1.9.0
1491
-
dev: false
1492
-
1493
-
/parent-module@1.0.1:
1494
-
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1495
-
engines: {node: '>=6'}
1496
-
dependencies:
1497
-
callsites: 3.1.0
1498
-
dev: true
1499
-
1500
-
/path-is-absolute@1.0.1:
1501
-
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1502
-
engines: {node: '>=0.10.0'}
1503
-
dev: true
1504
-
1505
-
/path-key@3.1.1:
1506
-
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1507
-
engines: {node: '>=8'}
1508
-
dev: true
1509
-
1510
-
/path-parse@1.0.7:
1511
-
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1512
-
dev: true
1513
-
1514
-
/path-scurry@1.10.1:
1515
-
resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
1516
-
engines: {node: '>=16 || 14 >=14.17'}
1517
-
dependencies:
1518
-
lru-cache: 10.2.0
1519
-
minipass: 7.0.4
1520
-
dev: true
1521
-
1522
-
/picocolors@1.0.0:
1523
-
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1524
-
1525
-
/picomatch@2.3.1:
1526
-
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1527
-
engines: {node: '>=8.6'}
1528
-
dev: true
1529
-
1530
-
/pify@2.3.0:
1531
-
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1532
-
engines: {node: '>=0.10.0'}
1533
-
dev: true
1534
-
1535
-
/pirates@4.0.6:
1536
-
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1537
-
engines: {node: '>= 6'}
1538
-
dev: true
1539
-
1540
-
/postcss-import@15.1.0(postcss@8.4.35):
1541
-
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1542
-
engines: {node: '>=14.0.0'}
1543
-
peerDependencies:
1544
-
postcss: ^8.0.0
1545
-
dependencies:
1546
-
postcss: 8.4.35
1547
-
postcss-value-parser: 4.2.0
1548
-
read-cache: 1.0.0
1549
-
resolve: 1.22.8
1550
-
dev: true
1551
-
1552
-
/postcss-js@4.0.1(postcss@8.4.35):
1553
-
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1554
-
engines: {node: ^12 || ^14 || >= 16}
1555
-
peerDependencies:
1556
-
postcss: ^8.4.21
1557
-
dependencies:
1558
-
camelcase-css: 2.0.1
1559
-
postcss: 8.4.35
1560
-
dev: true
1561
-
1562
-
/postcss-load-config@4.0.2(postcss@8.4.35):
1563
-
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
1564
-
engines: {node: '>= 14'}
1565
-
peerDependencies:
1566
-
postcss: '>=8.0.9'
1567
-
ts-node: '>=9.0.0'
1568
-
peerDependenciesMeta:
1569
-
postcss:
1570
-
optional: true
1571
-
ts-node:
1572
-
optional: true
1573
-
dependencies:
1574
-
lilconfig: 3.1.1
1575
-
postcss: 8.4.35
1576
-
yaml: 2.4.1
1577
-
dev: true
1578
-
1579
-
/postcss-nested@6.0.1(postcss@8.4.35):
1580
-
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1581
-
engines: {node: '>=12.0'}
1582
-
peerDependencies:
1583
-
postcss: ^8.2.14
1584
-
dependencies:
1585
-
postcss: 8.4.35
1586
-
postcss-selector-parser: 6.0.15
1587
-
dev: true
1588
-
1589
-
/postcss-selector-parser@6.0.15:
1590
-
resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
1591
-
engines: {node: '>=4'}
1592
-
dependencies:
1593
-
cssesc: 3.0.0
1594
-
util-deprecate: 1.0.2
1595
-
dev: true
1596
-
1597
-
/postcss-value-parser@4.2.0:
1598
-
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1599
-
dev: true
1600
-
1601
-
/postcss@8.4.35:
1602
-
resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
1603
-
engines: {node: ^10 || ^12 || >=14}
1604
-
dependencies:
1605
-
nanoid: 3.3.7
1606
-
picocolors: 1.0.0
1607
-
source-map-js: 1.0.2
1608
-
1609
-
/queue-microtask@1.2.3:
1610
-
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1611
-
dev: true
1612
-
1613
-
/read-cache@1.0.0:
1614
-
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1615
-
dependencies:
1616
-
pify: 2.3.0
1617
-
dev: true
1618
-
1619
-
/readdirp@3.6.0:
1620
-
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1621
-
engines: {node: '>=8.10.0'}
1622
-
dependencies:
1623
-
picomatch: 2.3.1
1624
-
dev: true
1625
-
1626
-
/resolve-from@4.0.0:
1627
-
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1628
-
engines: {node: '>=4'}
1629
-
dev: true
1630
-
1631
-
/resolve@1.22.8:
1632
-
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
1633
-
hasBin: true
1634
-
dependencies:
1635
-
is-core-module: 2.13.1
1636
-
path-parse: 1.0.7
1637
-
supports-preserve-symlinks-flag: 1.0.0
1638
-
dev: true
1639
-
1640
-
/reusify@1.0.4:
1641
-
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1642
-
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1643
-
dev: true
1644
-
1645
-
/rimraf@2.7.1:
1646
-
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1647
-
hasBin: true
1648
-
dependencies:
1649
-
glob: 7.2.3
1650
-
dev: true
1651
-
1652
-
/rollup@4.12.1:
1653
-
resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==}
1654
-
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1655
-
hasBin: true
1656
-
dependencies:
1657
-
'@types/estree': 1.0.5
1658
-
optionalDependencies:
1659
-
'@rollup/rollup-android-arm-eabi': 4.12.1
1660
-
'@rollup/rollup-android-arm64': 4.12.1
1661
-
'@rollup/rollup-darwin-arm64': 4.12.1
1662
-
'@rollup/rollup-darwin-x64': 4.12.1
1663
-
'@rollup/rollup-linux-arm-gnueabihf': 4.12.1
1664
-
'@rollup/rollup-linux-arm64-gnu': 4.12.1
1665
-
'@rollup/rollup-linux-arm64-musl': 4.12.1
1666
-
'@rollup/rollup-linux-riscv64-gnu': 4.12.1
1667
-
'@rollup/rollup-linux-x64-gnu': 4.12.1
1668
-
'@rollup/rollup-linux-x64-musl': 4.12.1
1669
-
'@rollup/rollup-win32-arm64-msvc': 4.12.1
1670
-
'@rollup/rollup-win32-ia32-msvc': 4.12.1
1671
-
'@rollup/rollup-win32-x64-msvc': 4.12.1
1672
-
fsevents: 2.3.3
1673
-
1674
-
/run-parallel@1.2.0:
1675
-
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1676
-
dependencies:
1677
-
queue-microtask: 1.2.3
1678
-
dev: true
1679
-
1680
-
/sade@1.8.1:
1681
-
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1682
-
engines: {node: '>=6'}
1683
-
dependencies:
1684
-
mri: 1.2.0
1685
-
1686
-
/sander@0.5.1:
1687
-
resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
1688
-
dependencies:
1689
-
es6-promise: 3.3.1
1690
-
graceful-fs: 4.2.11
1691
-
mkdirp: 0.5.6
1692
-
rimraf: 2.7.1
1693
-
dev: true
1694
-
1695
-
/server-only@0.0.1:
1696
-
resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
1697
-
dev: false
1698
-
1699
-
/set-cookie-parser@2.6.0:
1700
-
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
1701
-
1702
-
/shebang-command@2.0.0:
1703
-
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1704
-
engines: {node: '>=8'}
1705
-
dependencies:
1706
-
shebang-regex: 3.0.0
1707
-
dev: true
1708
-
1709
-
/shebang-regex@3.0.0:
1710
-
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1711
-
engines: {node: '>=8'}
1712
-
dev: true
1713
-
1714
-
/signal-exit@4.1.0:
1715
-
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1716
-
engines: {node: '>=14'}
1717
-
dev: true
1718
-
1719
-
/sirv@2.0.4:
1720
-
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
1721
-
engines: {node: '>= 10'}
1722
-
dependencies:
1723
-
'@polka/url': 1.0.0-next.25
1724
-
mrmime: 2.0.0
1725
-
totalist: 3.0.1
1726
-
1727
-
/sorcery@0.11.0:
1728
-
resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
1729
-
hasBin: true
1730
-
dependencies:
1731
-
'@jridgewell/sourcemap-codec': 1.4.15
1732
-
buffer-crc32: 0.2.13
1733
-
minimist: 1.2.8
1734
-
sander: 0.5.1
1735
-
dev: true
1736
-
1737
-
/source-map-js@1.0.2:
1738
-
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1739
-
engines: {node: '>=0.10.0'}
1740
-
1741
-
/string-width@4.2.3:
1742
-
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1743
-
engines: {node: '>=8'}
1744
-
dependencies:
1745
-
emoji-regex: 8.0.0
1746
-
is-fullwidth-code-point: 3.0.0
1747
-
strip-ansi: 6.0.1
1748
-
dev: true
1749
-
1750
-
/string-width@5.1.2:
1751
-
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1752
-
engines: {node: '>=12'}
1753
-
dependencies:
1754
-
eastasianwidth: 0.2.0
1755
-
emoji-regex: 9.2.2
1756
-
strip-ansi: 7.1.0
1757
-
dev: true
1758
-
1759
-
/strip-ansi@6.0.1:
1760
-
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1761
-
engines: {node: '>=8'}
1762
-
dependencies:
1763
-
ansi-regex: 5.0.1
1764
-
dev: true
1765
-
1766
-
/strip-ansi@7.1.0:
1767
-
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1768
-
engines: {node: '>=12'}
1769
-
dependencies:
1770
-
ansi-regex: 6.0.1
1771
-
dev: true
1772
-
1773
-
/strip-indent@3.0.0:
1774
-
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1775
-
engines: {node: '>=8'}
1776
-
dependencies:
1777
-
min-indent: 1.0.1
1778
-
dev: true
1779
-
1780
-
/sucrase@3.35.0:
1781
-
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1782
-
engines: {node: '>=16 || 14 >=14.17'}
1783
-
hasBin: true
1784
-
dependencies:
1785
-
'@jridgewell/gen-mapping': 0.3.5
1786
-
commander: 4.1.1
1787
-
glob: 10.3.10
1788
-
lines-and-columns: 1.2.4
1789
-
mz: 2.7.0
1790
-
pirates: 4.0.6
1791
-
ts-interface-checker: 0.1.13
1792
-
dev: true
1793
-
1794
-
/supports-preserve-symlinks-flag@1.0.0:
1795
-
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1796
-
engines: {node: '>= 0.4'}
1797
-
dev: true
1798
-
1799
-
/svelte-check@3.6.6(postcss@8.4.35)(svelte@5.0.0-next.69):
1800
-
resolution: {integrity: sha512-b9q9rOHOMYF3U8XllK7LmXTq1LeWQ98waGfEJzrFutViadkNl1tgdEtxIQ8yuPx+VQ4l7YrknYol+0lfZocaZw==}
1801
-
hasBin: true
1802
-
peerDependencies:
1803
-
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
1804
-
dependencies:
1805
-
'@jridgewell/trace-mapping': 0.3.25
1806
-
chokidar: 3.6.0
1807
-
fast-glob: 3.3.2
1808
-
import-fresh: 3.3.0
1809
-
picocolors: 1.0.0
1810
-
sade: 1.8.1
1811
-
svelte: 5.0.0-next.69
1812
-
svelte-preprocess: 5.1.3(postcss@8.4.35)(svelte@5.0.0-next.69)(typescript@5.4.2)
1813
-
typescript: 5.4.2
1814
-
transitivePeerDependencies:
1815
-
- '@babel/core'
1816
-
- coffeescript
1817
-
- less
1818
-
- postcss
1819
-
- postcss-load-config
1820
-
- pug
1821
-
- sass
1822
-
- stylus
1823
-
- sugarss
1824
-
dev: true
1825
-
1826
-
/svelte-french-toast@1.2.0(svelte@5.0.0-next.69):
1827
-
resolution: {integrity: sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ==}
1828
-
peerDependencies:
1829
-
svelte: ^3.57.0 || ^4.0.0
1830
-
dependencies:
1831
-
svelte: 5.0.0-next.69
1832
-
svelte-writable-derived: 3.1.0(svelte@5.0.0-next.69)
1833
-
dev: false
1834
-
1835
-
/svelte-hmr@0.15.3(svelte@5.0.0-next.69):
1836
-
resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
1837
-
engines: {node: ^12.20 || ^14.13.1 || >= 16}
1838
-
peerDependencies:
1839
-
svelte: ^3.19.0 || ^4.0.0
1840
-
dependencies:
1841
-
svelte: 5.0.0-next.69
1842
-
1843
-
/svelte-preprocess@5.1.3(postcss@8.4.35)(svelte@5.0.0-next.69)(typescript@5.4.2):
1844
-
resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
1845
-
engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
1846
-
requiresBuild: true
1847
-
peerDependencies:
1848
-
'@babel/core': ^7.10.2
1849
-
coffeescript: ^2.5.1
1850
-
less: ^3.11.3 || ^4.0.0
1851
-
postcss: ^7 || ^8
1852
-
postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
1853
-
pug: ^3.0.0
1854
-
sass: ^1.26.8
1855
-
stylus: ^0.55.0
1856
-
sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
1857
-
svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
1858
-
typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
1859
-
peerDependenciesMeta:
1860
-
'@babel/core':
1861
-
optional: true
1862
-
coffeescript:
1863
-
optional: true
1864
-
less:
1865
-
optional: true
1866
-
postcss:
1867
-
optional: true
1868
-
postcss-load-config:
1869
-
optional: true
1870
-
pug:
1871
-
optional: true
1872
-
sass:
1873
-
optional: true
1874
-
stylus:
1875
-
optional: true
1876
-
sugarss:
1877
-
optional: true
1878
-
typescript:
1879
-
optional: true
1880
-
dependencies:
1881
-
'@types/pug': 2.0.10
1882
-
detect-indent: 6.1.0
1883
-
magic-string: 0.30.8
1884
-
postcss: 8.4.35
1885
-
sorcery: 0.11.0
1886
-
strip-indent: 3.0.0
1887
-
svelte: 5.0.0-next.69
1888
-
typescript: 5.4.2
1889
-
dev: true
1890
-
1891
-
/svelte-writable-derived@3.1.0(svelte@5.0.0-next.69):
1892
-
resolution: {integrity: sha512-cTvaVFNIJ036vSDIyPxJYivKC7ZLtcFOPm1Iq6qWBDo1fOHzfk6ZSbwaKrxhjgy52Rbl5IHzRcWgos6Zqn9/rg==}
1893
-
peerDependencies:
1894
-
svelte: ^3.2.1 || ^4.0.0-next.1
1895
-
dependencies:
1896
-
svelte: 5.0.0-next.69
1897
-
dev: false
1898
-
1899
-
/svelte@5.0.0-next.69:
1900
-
resolution: {integrity: sha512-9/rJteePoaLTpZXvlnJn6PmFxpXHtRAEXZi/tydCpb0NiwkVG9aAlHriVaLA7gFiIHBPNE/n56MPvujnqnjgtw==}
1901
-
engines: {node: '>=18'}
1902
-
dependencies:
1903
-
'@ampproject/remapping': 2.3.0
1904
-
'@jridgewell/sourcemap-codec': 1.4.15
1905
-
'@types/estree': 1.0.5
1906
-
acorn: 8.11.3
1907
-
acorn-typescript: 1.4.13(acorn@8.11.3)
1908
-
aria-query: 5.3.0
1909
-
axobject-query: 4.0.0
1910
-
esm-env: 1.0.0
1911
-
esrap: 1.2.1
1912
-
is-reference: 3.0.2
1913
-
locate-character: 3.0.0
1914
-
magic-string: 0.30.8
1915
-
zimmerframe: 1.1.2
1916
-
1917
-
/tailwindcss@3.4.1:
1918
-
resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
1919
-
engines: {node: '>=14.0.0'}
1920
-
hasBin: true
1921
-
dependencies:
1922
-
'@alloc/quick-lru': 5.2.0
1923
-
arg: 5.0.2
1924
-
chokidar: 3.6.0
1925
-
didyoumean: 1.2.2
1926
-
dlv: 1.1.3
1927
-
fast-glob: 3.3.2
1928
-
glob-parent: 6.0.2
1929
-
is-glob: 4.0.3
1930
-
jiti: 1.21.0
1931
-
lilconfig: 2.1.0
1932
-
micromatch: 4.0.5
1933
-
normalize-path: 3.0.0
1934
-
object-hash: 3.0.0
1935
-
picocolors: 1.0.0
1936
-
postcss: 8.4.35
1937
-
postcss-import: 15.1.0(postcss@8.4.35)
1938
-
postcss-js: 4.0.1(postcss@8.4.35)
1939
-
postcss-load-config: 4.0.2(postcss@8.4.35)
1940
-
postcss-nested: 6.0.1(postcss@8.4.35)
1941
-
postcss-selector-parser: 6.0.15
1942
-
resolve: 1.22.8
1943
-
sucrase: 3.35.0
1944
-
transitivePeerDependencies:
1945
-
- ts-node
1946
-
dev: true
1947
-
1948
-
/thenify-all@1.6.0:
1949
-
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1950
-
engines: {node: '>=0.8'}
1951
-
dependencies:
1952
-
thenify: 3.3.1
1953
-
dev: true
1954
-
1955
-
/thenify@3.3.1:
1956
-
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1957
-
dependencies:
1958
-
any-promise: 1.3.0
1959
-
dev: true
1960
-
1961
-
/tiny-glob@0.2.9:
1962
-
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
1963
-
dependencies:
1964
-
globalyzer: 0.1.0
1965
-
globrex: 0.1.2
1966
-
1967
-
/to-regex-range@5.0.1:
1968
-
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1969
-
engines: {node: '>=8.0'}
1970
-
dependencies:
1971
-
is-number: 7.0.0
1972
-
dev: true
1973
-
1974
-
/totalist@3.0.1:
1975
-
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
1976
-
engines: {node: '>=6'}
1977
-
1978
-
/ts-interface-checker@0.1.13:
1979
-
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1980
-
dev: true
1981
-
1982
-
/tslib@2.6.2:
1983
-
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1984
-
1985
-
/typescript@5.4.2:
1986
-
resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
1987
-
engines: {node: '>=14.17'}
1988
-
hasBin: true
1989
-
dev: true
1990
-
1991
-
/update-browserslist-db@1.0.13(browserslist@4.23.0):
1992
-
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
1993
-
hasBin: true
1994
-
peerDependencies:
1995
-
browserslist: '>= 4.21.0'
1996
-
dependencies:
1997
-
browserslist: 4.23.0
1998
-
escalade: 3.1.2
1999
-
picocolors: 1.0.0
2000
-
dev: true
2001
-
2002
-
/util-deprecate@1.0.2:
2003
-
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2004
-
dev: true
2005
-
2006
-
/vite@5.1.5:
2007
-
resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==}
2008
-
engines: {node: ^18.0.0 || >=20.0.0}
2009
-
hasBin: true
2010
-
peerDependencies:
2011
-
'@types/node': ^18.0.0 || >=20.0.0
2012
-
less: '*'
2013
-
lightningcss: ^1.21.0
2014
-
sass: '*'
2015
-
stylus: '*'
2016
-
sugarss: '*'
2017
-
terser: ^5.4.0
2018
-
peerDependenciesMeta:
2019
-
'@types/node':
2020
-
optional: true
2021
-
less:
2022
-
optional: true
2023
-
lightningcss:
2024
-
optional: true
2025
-
sass:
2026
-
optional: true
2027
-
stylus:
2028
-
optional: true
2029
-
sugarss:
2030
-
optional: true
2031
-
terser:
2032
-
optional: true
2033
-
dependencies:
2034
-
esbuild: 0.19.12
2035
-
postcss: 8.4.35
2036
-
rollup: 4.12.1
2037
-
optionalDependencies:
2038
-
fsevents: 2.3.3
2039
-
2040
-
/vitefu@0.2.5(vite@5.1.5):
2041
-
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
2042
-
peerDependencies:
2043
-
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
2044
-
peerDependenciesMeta:
2045
-
vite:
2046
-
optional: true
2047
-
dependencies:
2048
-
vite: 5.1.5
2049
-
2050
-
/which@2.0.2:
2051
-
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2052
-
engines: {node: '>= 8'}
2053
-
hasBin: true
2054
-
dependencies:
2055
-
isexe: 2.0.0
2056
-
dev: true
2057
-
2058
-
/wrap-ansi@7.0.0:
2059
-
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2060
-
engines: {node: '>=10'}
2061
-
dependencies:
2062
-
ansi-styles: 4.3.0
2063
-
string-width: 4.2.3
2064
-
strip-ansi: 6.0.1
2065
-
dev: true
2066
-
2067
-
/wrap-ansi@8.1.0:
2068
-
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2069
-
engines: {node: '>=12'}
2070
-
dependencies:
2071
-
ansi-styles: 6.2.1
2072
-
string-width: 5.1.2
2073
-
strip-ansi: 7.1.0
2074
-
dev: true
2075
-
2076
-
/wrappy@1.0.2:
2077
-
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2078
-
dev: true
2079
-
2080
-
/yaml@2.4.1:
2081
-
resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
2082
-
engines: {node: '>= 14'}
2083
-
hasBin: true
2084
-
dev: true
2085
-
2086
-
/zimmerframe@1.1.2:
2087
-
resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
-6
postcss.config.js
-6
postcss.config.js
+1
-3
src/app.css
+1
-3
src/app.css
+12
-2
src/app.d.ts
+12
-2
src/app.d.ts
···
1
-
// See https://kit.svelte.dev/docs/types#app
1
+
// See https://svelte.dev/docs/kit/types#app.d.ts
2
+
3
+
import type { Agent } from "@atproto/api";
4
+
import type { ProfileViewDetailed } from "@atproto/api/dist/client/types/app/bsky/actor/defs";
5
+
2
6
// for information about these interfaces
3
7
declare global {
4
8
namespace App {
5
9
// interface Error {}
6
-
// interface Locals {}
10
+
11
+
// set on `hooks.server.ts`, available on server functions
12
+
interface Locals {
13
+
authedAgent: Agent | undefined;
14
+
user: ProfileViewDetailed | undefined;
15
+
}
16
+
7
17
// interface PageData {}
8
18
// interface PageState {}
9
19
// interface Platform {}
+41
src/hooks.server.ts
+41
src/hooks.server.ts
···
1
+
import { Agent } from "@atproto/api";
2
+
import { atclient } from "$lib/atproto";
3
+
4
+
import { decryptToString } from "$lib/server/encryption";
5
+
import { decodeBase64, decodeBase64urlIgnorePadding } from "@oslojs/encoding";
6
+
7
+
import type { Handle } from "@sveltejs/kit";
8
+
import { ENCRYPTION_PASSWORD } from "$env/static/private";
9
+
10
+
// runs everytime there's a new request
11
+
export const handle: Handle = async ({ event, resolve }) => {
12
+
const sid = event.cookies.get("sid");
13
+
14
+
// if there is a session cookie
15
+
if (sid) {
16
+
// if a user is already authed, skip reauthing
17
+
if (event.locals.user) { return resolve(event); }
18
+
19
+
// decrypt session cookie
20
+
const decoded = decodeBase64urlIgnorePadding(sid);
21
+
const key = decodeBase64(ENCRYPTION_PASSWORD);
22
+
const decrypted = await decryptToString(key, decoded);
23
+
24
+
// get oauth session from client using decrypted cookie
25
+
const oauthSession = await atclient.restore(decrypted);
26
+
27
+
// set the authed agent
28
+
const authedAgent = new Agent(oauthSession);
29
+
if (!event.locals.authedAgent) {
30
+
event.locals.authedAgent = authedAgent;
31
+
}
32
+
33
+
// set the authed user with decrypted session DID
34
+
const user = await authedAgent.getProfile({ actor: decrypted });
35
+
event.locals.user = user.data;
36
+
}
37
+
38
+
return resolve(event);
39
+
}
40
+
41
+
+92
src/lib/atproto.ts
+92
src/lib/atproto.ts
···
1
+
import { eq } from "drizzle-orm";
2
+
import * as schema from "./schema";
3
+
import { db as database } from "./server/db";
4
+
import { NodeOAuthClient } from "@atproto/oauth-client-node";
5
+
import type { NodeSavedSession, NodeSavedSessionStore, NodeSavedState, NodeSavedStateStore } from "@atproto/oauth-client-node";
6
+
import { db } from "./server/db";
7
+
import { dev } from "$app/environment";
8
+
9
+
// can be implemented with your preferred DB and ORM
10
+
// both stores are the same, only different is 'state' and 'session'
11
+
12
+
export class AuthStateStore implements NodeSavedStateStore {
13
+
constructor(private db: typeof database) {}
14
+
15
+
async get(key: string): Promise<NodeSavedState | undefined> {
16
+
const result = await this.db.query.AuthState.findFirst({
17
+
where: eq(schema.AuthState.key, key)
18
+
});
19
+
20
+
if (!result) return;
21
+
22
+
return result.state as NodeSavedState;
23
+
}
24
+
25
+
async set(key: string, val: NodeSavedState) {
26
+
await this.db.insert(schema.AuthState)
27
+
.values({ key, state: val })
28
+
.onConflictDoUpdate({
29
+
target: schema.AuthState.key,
30
+
set: { state: val }
31
+
});
32
+
}
33
+
34
+
async del(key: string) {
35
+
await this.db.delete(schema.AuthState)
36
+
.where(eq(schema.AuthState.key, key));
37
+
}
38
+
}
39
+
40
+
export class AuthSessionStore implements NodeSavedSessionStore {
41
+
constructor(private db: typeof database) {}
42
+
43
+
async get(key: string): Promise<NodeSavedSession | undefined> {
44
+
const result = await this.db.query.AuthSession.findFirst({
45
+
where: eq(schema.AuthSession.key, key)
46
+
});
47
+
48
+
if (!result) return;
49
+
return result.session as NodeSavedSession;
50
+
}
51
+
52
+
async set(key: string, val: NodeSavedSession) {
53
+
await this.db.insert(schema.AuthSession)
54
+
.values({ key, session: val })
55
+
.onConflictDoUpdate({
56
+
target: schema.AuthSession.key,
57
+
set: { session: val }
58
+
});
59
+
}
60
+
61
+
async del(key: string) {
62
+
await this.db.delete(schema.AuthSession)
63
+
.where(eq(schema.AuthSession.key, key));
64
+
}
65
+
}
66
+
67
+
const publicUrl = "https://easytodo.link"
68
+
// localhost resolves to either 127.0.0.1 or [::1] (if ipv6)
69
+
const url = dev ? "http://[::1]:5173" : publicUrl;
70
+
71
+
export const atclient = new NodeOAuthClient({
72
+
stateStore: new AuthStateStore(db),
73
+
sessionStore: new AuthSessionStore(db),
74
+
clientMetadata: {
75
+
client_name: "easytodo.link",
76
+
client_id: !dev ? `${publicUrl}/client-metadata.json`
77
+
: `http://localhost?redirect_uri=${
78
+
encodeURIComponent(`${url}/oauth/callback`)
79
+
}&scope=${
80
+
encodeURIComponent(`atproto repo:link.easytodo.tasks.list repo:link.easytodo.tasks.task rpc:app.bsky.actor.getProfile?aud=did:web:api.bsky.app%23bsky_appview`)
81
+
}`,
82
+
client_uri: url,
83
+
redirect_uris: [`${url}/oauth/callback`],
84
+
scope: "atproto repo:link.easytodo.tasks.list repo:link.easytodo.tasks.task rpc:app.bsky.actor.getProfile?aud=did:web:api.bsky.app%23bsky_appview",
85
+
grant_types: ["authorization_code", "refresh_token"],
86
+
application_type: "web",
87
+
token_endpoint_auth_method: "none",
88
+
dpop_bound_access_tokens: true
89
+
}
90
+
});
91
+
92
+
-1
src/lib/index.ts
-1
src/lib/index.ts
···
1
-
// place files you want to import through the `$lib` alias in this folder.
+11
src/lib/schema.ts
+11
src/lib/schema.ts
···
1
+
import { pgTable, text, json } from 'drizzle-orm/pg-core';
2
+
3
+
export const AuthState = pgTable('auth_state', {
4
+
key: text('key').primaryKey().unique(),
5
+
state: json('state').notNull()
6
+
});
7
+
8
+
export const AuthSession = pgTable('auth_session', {
9
+
key: text('key').primaryKey().unique(),
10
+
session: json('session').notNull()
11
+
});
+10
src/lib/server/db.ts
+10
src/lib/server/db.ts
···
1
+
import { drizzle } from 'drizzle-orm/postgres-js';
2
+
import postgres from 'postgres';
3
+
import { env } from '$env/dynamic/private';
4
+
import * as schema from "../schema";
5
+
6
+
if (!env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
7
+
const client = postgres(env.DATABASE_URL);
8
+
9
+
// add schema
10
+
export const db = drizzle(client, { schema });
+50
src/lib/server/encryption.ts
+50
src/lib/server/encryption.ts
···
1
+
// Code by @pilcrowonpaper on GitHub: https://gist.github.com/pilcrowonpaper/353318556029221c8e25f451b91e5f76
2
+
// AES128 with the Web Crypto API.
3
+
async function encrypt(key: Uint8Array, data: Uint8Array): Promise<Uint8Array> {
4
+
const iv = new Uint8Array(16);
5
+
crypto.getRandomValues(iv);
6
+
const cryptoKey = await crypto.subtle.importKey("raw", key, "AES-GCM", false, ["encrypt"]);
7
+
const cipher = await crypto.subtle.encrypt(
8
+
{
9
+
name: "AES-GCM",
10
+
iv,
11
+
tagLength: 128
12
+
},
13
+
cryptoKey,
14
+
data
15
+
);
16
+
const encrypted = new Uint8Array(iv.byteLength + cipher.byteLength);
17
+
encrypted.set(iv);
18
+
encrypted.set(new Uint8Array(cipher), iv.byteLength);
19
+
return encrypted;
20
+
}
21
+
22
+
export async function encryptString(key: Uint8Array, data: string): Promise<Uint8Array> {
23
+
const encoded = new TextEncoder().encode(data);
24
+
const encrypted = await encrypt(key, encoded);
25
+
return encrypted;
26
+
}
27
+
28
+
async function decrypt(key: Uint8Array, encrypted: Uint8Array): Promise<Uint8Array> {
29
+
if (encrypted.length < 16) {
30
+
throw new Error("Invalid data");
31
+
}
32
+
const cryptoKey = await crypto.subtle.importKey("raw", key, "AES-GCM", false, ["decrypt"]);
33
+
const decrypted = await crypto.subtle.decrypt(
34
+
{
35
+
name: "AES-GCM",
36
+
iv: encrypted.slice(0, 16),
37
+
tagLength: 128
38
+
},
39
+
cryptoKey,
40
+
encrypted.slice(16)
41
+
);
42
+
return new Uint8Array(decrypted);
43
+
}
44
+
45
+
export async function decryptToString(key: Uint8Array, data: Uint8Array): Promise<string> {
46
+
const decrypted = await decrypt(key, data);
47
+
const decoded = new TextDecoder().decode(decrypted);
48
+
return decoded;
49
+
}
50
+
+6
-5
src/lib/stores.svelte.ts
+6
-5
src/lib/stores.svelte.ts
···
1
-
import { alphabet, generateRandomString } from "oslo/crypto";
1
+
import { generateId } from "./utils";
2
2
3
3
// Browser + Local Storage
4
4
const browser_exists = (typeof window !== "undefined") && (typeof (document) !== "undefined");
···
35
35
id: string;
36
36
description: string;
37
37
is_completed: boolean;
38
+
// optional
39
+
duration?: number;
40
+
stopwatchInterval?: number;
41
+
rkey?: string;
38
42
}
39
43
40
44
export type List = {
41
45
id: string;
42
46
title: string;
43
47
tasks: Task[];
48
+
rkey?: string;
44
49
}
45
50
46
51
export const local_lists = persisted<List[]>("local_lists", [
···
55
60
]);
56
61
57
62
export const pinned_list = persisted<string>("pinned_list", local_lists.value![0].id);
58
-
59
-
export function generateId() {
60
-
return generateRandomString(10, alphabet("a-z", "0-9"));
61
-
}
+30
src/lib/utils.ts
+30
src/lib/utils.ts
···
1
+
import { alphabet, generateRandomString } from "oslo/crypto";
2
+
3
+
export function generateId() {
4
+
return generateRandomString(10, alphabet("a-z", "0-9"));
5
+
}
6
+
7
+
export function parseAtUri(uri: string) {
8
+
const regex = /at:\/\/(?<did>did.*)\/(?<lexi>.*)\/(?<rkey>.*)/;
9
+
const groups = regex.exec(uri)?.groups;
10
+
return {
11
+
did: groups?.did,
12
+
lexi: groups?.lexi,
13
+
rkey: groups?.rkey
14
+
}
15
+
}
16
+
17
+
export function formatSecondsToDuration(seconds: number = 0) {
18
+
let hours = Math.floor(seconds / 3600);
19
+
let minutes = Math.floor((seconds - (hours * 3600)) / 60);
20
+
seconds = seconds - (hours * 3600) - (minutes * 60);
21
+
22
+
// string ver.
23
+
let hrs, mins, secs;
24
+
25
+
if (hours < 10) { hrs = "0" + hours; } else { hrs = hours; }
26
+
if (minutes < 10) { mins = "0" + minutes; } else { mins = minutes; }
27
+
if (seconds < 10) { secs = "0" + seconds; } else { secs = seconds; }
28
+
29
+
return hrs + ':' + mins + ':' + secs ;
30
+
}
+10
src/routes/+layout.server.ts
+10
src/routes/+layout.server.ts
···
1
+
import type { LayoutServerLoadEvent } from "./$types";
2
+
3
+
export async function load({ locals }: LayoutServerLoadEvent) {
4
+
// have user available throughout the app via LayoutData
5
+
return !locals.user ? undefined : { user: {
6
+
did: locals.user.did,
7
+
handle: locals.user.handle,
8
+
avatar: locals.user.avatar
9
+
}};
10
+
}
+71
-23
src/routes/+layout.svelte
+71
-23
src/routes/+layout.svelte
···
1
1
<script lang="ts">
2
2
import "../app.css";
3
3
import { onMount } from "svelte";
4
-
import { page } from "$app/stores";
4
+
import { page } from "$app/state";
5
5
import { goto } from "$app/navigation";
6
6
import { fade } from "svelte/transition";
7
+
import type { LayoutProps } from "./$types";
7
8
import toast, { Toaster } from "svelte-french-toast";
8
9
import { persisted, pinned_list } from "$lib/stores.svelte";
10
+
11
+
let { data, children }: LayoutProps = $props();
12
+
let { user } = $derived(data);
9
13
10
14
let theme = persisted<string>("theme", "dark");
11
15
let is_menu_open = $state(false);
16
+
let loginDialog = $state<HTMLDialogElement>();
17
+
let accountDialog = $state<HTMLDialogElement>();
12
18
let theme_style = $derived(theme.value === "dark"
13
-
? "text-white absolute top-0 z-[-2] h-screen w-screen bg-[#000000] bg-[radial-gradient(#ffffff33_1px,#00091d_1px)] bg-[size:20px_20px]"
14
-
: "text-black absolute inset-0 -z-10 h-full w-full bg-white bg-[radial-gradient(#e5e7eb_1px,transparent_1px)] [background-size:16px_16px]"
19
+
? "text-white absolute top-0 z-[-2] h-screen w-screen bg-[#000000] bg-[radial-gradient(#ffffff33_1px,#00091d_1px)] bg-size-[20px_20px]"
20
+
: "text-black absolute inset-0 -z-10 h-full w-full bg-white bg-[radial-gradient(#e5e7eb_1px,transparent_1px)] bg-size-[16px_16px]"
15
21
);
16
22
17
23
function comingSoon() {
···
19
25
}
20
26
21
27
onMount(() => {
22
-
if ($page.url.pathname === "/") {
28
+
if (page.url.pathname === "/") {
23
29
goto(`/${pinned_list.value}`);
24
30
}
25
31
});
26
32
</script>
27
33
28
-
<div class={`${theme_style} font-apfel flex flex-col w-full h-full min-w-screen min-h-screen p-8`}>
34
+
<div class={`${theme_style} font-apfel flex flex-col w-full h-full min-w-screen min-h-screen p-8 overflow-auto`}>
29
35
<section class="p-4 w-full h-full">
30
-
<slot />
36
+
{@render children()}
31
37
</section>
32
38
33
-
<aside class="z-50 absolute inset-x-0 bottom-0 !text-black flex w-full h-fit items-end justify-between p-8">
34
-
<div class="flex flex-col justify-start gap-4">
39
+
<dialog bind:this={loginDialog} class="flex flex-col w-lg gap-4 bg-white top-1/2 left-1/2 -translate-1/2 p-4 rounded">
40
+
<span class="flex items-center gap-4 self-end w-full justify-between">
41
+
<h1 class="text-xl font-bold">Log into the Atmosphere</h1>
42
+
<button onclick={() => loginDialog?.close()} class="bg-gray-100 px-3 py-2 rounded self-end">Close</button>
43
+
</span>
44
+
<form method="POST" action="/?/login" class="flex flex-col gap-4">
45
+
<input name="handle" type="text" placeholder="zeu.dev" class="border rounded px-4 py-2" />
46
+
<button type="submit" class="border px-3 py-2 rounded">Login</button>
47
+
</form>
48
+
<details class="border border-gray-300 px-3 py-2 rounded">
49
+
<summary class="marker:hidden font-semibold cursor-pointer">
50
+
<span class="text-blue-500">@</span> Enter your internet handle
51
+
</summary>
52
+
<span class="flex flex-col gap-2 text-sm pt-1">
53
+
<p>
54
+
This would be a domain you control, most likely first created with Bluesky, Tangled, Gander,
55
+
or other Atmosphere applications.
56
+
</p>
57
+
<a href="" class="text-blue-500 underline">
58
+
Learn more about ATproto and controlling your social media data
59
+
</a>
60
+
</span>
61
+
</details>
62
+
</dialog>
63
+
64
+
<dialog bind:this={accountDialog} class="bg-white p-6 shadow top-1/2 left-1/2 -translate-1/2">
65
+
<h1>Account</h1>
66
+
<button onclick={() => accountDialog?.close()}>Close</button>
67
+
<form method="POST" action="/?/logout">
68
+
<button type="submit">Logout</button>
69
+
</form>
70
+
</dialog>
71
+
72
+
<aside class="z-50 fixed inset-x-0 bottom-0 text-black! flex w-full h-fit items-end justify-between p-8 pointer-events-none">
73
+
<div class="flex flex-col justify-start gap-4 pointer-events-auto">
35
74
{#if is_menu_open}
36
-
<menu
75
+
<menu
37
76
transition:fade={{ duration: 150 }}
38
77
class={`${theme.value === "light" ? "border-black" : "border-[#00091d]"} w-fit border z-50 flex flex-col items-start gap-2 h-fit p-2 rounded-xl bg-white`}
39
78
>
40
-
<button
79
+
<button
41
80
onclick={() => {
42
81
comingSoon();
43
82
is_menu_open = false;
···
47
86
<img src="/shooting-star-line.svg" alt="Item 1" class="w-8 h-8" />
48
87
Try a new list
49
88
</button>
50
-
<button
89
+
<button
51
90
onclick={() => {
52
91
comingSoon();
53
92
is_menu_open = false;
···
55
94
class="flex gap-2 text-start w-full h-full rounded-xl pl-2 pr-5 py-2 hover:bg-slate-500/10 transition-all duration-150 items-center"
56
95
>
57
96
<img src="/sparkles-line.svg" alt="Item 2" class="w-8 h-8" />
58
-
AI Suggestions
97
+
AI Suggestions
59
98
</button>
60
99
</menu>
61
100
{/if}
62
101
63
102
<nav class={`${theme.value === "light" ? "border-black" : "border-[#00091d]"} border z-50 flex self-center items-center gap-4 mx-auto w-fit h-fit p-2 rounded-xl bg-white`}>
64
-
<button
65
-
onclick={() => is_menu_open = !is_menu_open}
103
+
<button
104
+
onclick={() => is_menu_open = !is_menu_open}
66
105
class="w-full h-fit hover:bg-slate-500/10 rounded-full"
67
106
>
68
107
<img src="/menu-line.svg" alt="Menu" class="w-12 h-12" />
69
108
</button>
70
109
71
110
<!-- TODO: change to <a href='/explore'> -->
72
-
<button
111
+
<button
73
112
onclick={comingSoon}
74
113
class="items-center h-fit w-full hover:bg-slate-500/10 rounded-full"
75
114
>
···
77
116
</button>
78
117
79
118
<!-- TODO: change to <a href='/login'> -->
80
-
<button
81
-
onclick={comingSoon}
82
-
class="items-center h-fit w-full hover:bg-slate-500/10 rounded-full"
83
-
>
84
-
<img src="/login-line.svg" alt="Login" class="w-12 h-12"/>
85
-
</button>
119
+
{#if !user}
120
+
<button
121
+
onclick={() => loginDialog?.showModal()}
122
+
class="items-center h-fit w-full hover:bg-slate-500/10 rounded-full"
123
+
>
124
+
<img src="/login-line.svg" alt="Login" class="w-12 h-12"/>
125
+
</button>
126
+
{:else}
127
+
<button
128
+
onclick={() => accountDialog?.showModal()}
129
+
class="items-center h-fit w-full rounded-full"
130
+
>
131
+
<img src={user.avatar || "/user-line.svg"} alt="Login" class="w-10 h-10 rounded-full" />
132
+
</button>
133
+
{/if}
86
134
</nav>
87
135
</div>
88
136
89
137
90
-
<button
138
+
<button
91
139
onclick={() => { theme.value = theme.value === "light" ? "dark" : "light" }}
92
-
class={`${theme.value === "light" ? "border-black" : "border-[#00091d]"} border w-fit h-fit p-2 bg-white rounded-xl`}
140
+
class={`${theme.value === "light" ? "border-black" : "border-[#00091d]"} border w-fit h-fit p-2 bg-white rounded-xl pointer-events-auto`}
93
141
>
94
142
<img
95
143
src="/light-bulb.svg"
+116
src/routes/+page.server.ts
+116
src/routes/+page.server.ts
···
1
+
import { atclient } from "$lib/atproto";
2
+
import type { Task } from "$lib/stores.svelte";
3
+
import { parseAtUri } from "$lib/utils";
4
+
import type { $Typed } from "@atproto/api";
5
+
import type { Create, CreateResult } from "@atproto/api/dist/client/types/com/atproto/repo/applyWrites";
6
+
import { isValidHandle } from "@atproto/syntax";
7
+
import { error, fail, redirect, type Actions } from "@sveltejs/kit";
8
+
9
+
export const actions: Actions = {
10
+
login: async ({ request }) => {
11
+
// get handle from form
12
+
const formData = await request.formData();
13
+
const handle = formData.get("handle") as string;
14
+
15
+
// validate handle using ATProto SDK
16
+
if (!isValidHandle(handle)) {
17
+
error(400, { message: "Invalid handle" });
18
+
}
19
+
20
+
// get oauth authorizing url to redirect to
21
+
const redirectUrl = await atclient.authorize(handle, {
22
+
scope: "atproto repo:link.easytodo.tasks.list repo:link.easytodo.tasks.task rpc:app.bsky.actor.getProfile?aud=did:web:api.bsky.app%23bsky_appview"
23
+
});
24
+
25
+
if (!redirectUrl) {
26
+
error(500, { message: "Unable to authorize" });
27
+
}
28
+
29
+
// redirect for user to authorize
30
+
redirect(301, redirectUrl.toString());
31
+
},
32
+
logout: async ({ cookies }) => {
33
+
cookies.delete("sid", { path: "/" });
34
+
redirect(301, "/");
35
+
},
36
+
37
+
38
+
// ATProto CRUD
39
+
saveListRecord: async ({ request, locals }) => {
40
+
const user = locals.user;
41
+
const agent = locals.authedAgent;
42
+
if (!user || !agent) { return fail(401); }
43
+
44
+
const formData = await request.formData();
45
+
const id = formData.get("id") as string;
46
+
const list_rkey = formData.get("rkey") as string;
47
+
const title = formData.get("title") as string;
48
+
const tasks = JSON.parse(formData.get("tasks") as string) as Task[];
49
+
50
+
const response = await agent.com.atproto.repo.applyWrites({
51
+
repo: user.did,
52
+
writes: tasks.map((t) => {
53
+
const { rkey: task_rkey, stopwatchInterval, ...rest } = t;
54
+
if (task_rkey) {
55
+
console.log("UPDATE TASK");
56
+
return {
57
+
$type: 'com.atproto.repo.applyWrites#update',
58
+
collection: "link.easytodo.tasks.task",
59
+
rkey: task_rkey,
60
+
value: {
61
+
$type: "link.easytodo.tasks.task",
62
+
...rest
63
+
}
64
+
}
65
+
}
66
+
else {
67
+
console.log("CREATE TASK");
68
+
return {
69
+
$type: 'com.atproto.repo.applyWrites#create',
70
+
collection: "link.easytodo.tasks.task",
71
+
value: {
72
+
$type: "link.easytodo.tasks.task",
73
+
...rest
74
+
},
75
+
}
76
+
}
77
+
})
78
+
});
79
+
80
+
if (response.success) {
81
+
console.log(response.data.results);
82
+
const list_record = {
83
+
$type: "link.easytodo.tasks.list",
84
+
createdAt: new Date().toISOString(),
85
+
id,
86
+
title,
87
+
tasks: response.data.results?.map((t) => {
88
+
// @ts-ignore
89
+
return { cid: t.cid, uri: t.uri }
90
+
})
91
+
};
92
+
93
+
if (list_rkey) {
94
+
const { success, data } = await agent.com.atproto.repo.putRecord({
95
+
rkey: list_rkey,
96
+
repo: user.did,
97
+
collection: "link.easytodo.tasks.list",
98
+
record: list_record
99
+
});
100
+
console.log("UPDATE LIST", { success, uri: data.uri });
101
+
return { saveListRecordResult: { success, rkey: list_rkey, uri: data.uri }};
102
+
}
103
+
else {
104
+
const { success, data } = await agent.com.atproto.repo.createRecord({
105
+
repo: user.did,
106
+
collection: "link.easytodo.tasks.list",
107
+
record: list_record
108
+
});
109
+
const { rkey } = parseAtUri(data.uri);
110
+
console.log("CREATE LIST", { success, rkey, uri: data.uri });
111
+
return { saveListRecordResult: { success, rkey, uri: data.uri }};
112
+
}
113
+
114
+
}
115
+
}
116
+
};
+105
-30
src/routes/[id]/+page.svelte
+105
-30
src/routes/[id]/+page.svelte
···
1
1
<script lang="ts">
2
-
import { onMount, tick } from "svelte";
3
-
import { page } from "$app/stores";
4
-
import { local_lists, pinned_list, generateId, type List } from "$lib/stores.svelte";
5
-
import { goto, pushState } from "$app/navigation";
6
-
import toast, { Toaster } from "svelte-french-toast";
2
+
import { onMount } from "svelte";
3
+
import { page } from "$app/state";
4
+
import { enhance } from "$app/forms";
5
+
import { goto } from "$app/navigation";
6
+
import toast from "svelte-french-toast";
7
+
import type { PageProps } from "../$types.js";
8
+
import { formatSecondsToDuration, generateId } from "$lib/utils";
9
+
import { local_lists, pinned_list, type List, type Task } from "$lib/stores.svelte";
7
10
8
-
let is_menu_open = $state(false);
9
-
let list : List | undefined = $state();
11
+
let { data, form }: PageProps = $props();
12
+
let { user } = $derived(data);
13
+
let is_lists_menu_open = $state(false);
14
+
let is_cloud_menu_open = $state(false);
15
+
let list : List | undefined = $state(local_lists.value!.find((l) => l.id === page.params.id));
10
16
let task_input = $state("");
11
17
let user_lists = $derived(local_lists.value) as List[];
12
-
13
-
onMount(() => {
14
-
list = local_lists.value!.find((l) => l.id === $page.params.id);
15
-
});
16
18
17
19
// since list points to something inside local_lists,
18
20
// it will run when list state changes
19
21
$effect(() => local_lists.update());
22
+
23
+
$effect(() => {
24
+
if (form?.saveListRecordResult.success) {
25
+
toast.success("Successfully saved to PDS!");
26
+
}
27
+
});
20
28
21
29
function addTask() {
22
30
if (task_input.length === 0) {
···
39
47
}
40
48
}
41
49
50
+
function toggleInterval(id: string) {
51
+
if (list) {
52
+
const task = list.tasks.find((t) => t.id === id) as Task;
53
+
if (task.stopwatchInterval) {
54
+
clearInterval(task.stopwatchInterval);
55
+
task.stopwatchInterval = undefined;
56
+
}
57
+
else {
58
+
const interval = setInterval(() => {
59
+
if (!task.duration) { task.duration = 0; }
60
+
task.duration += 1;
61
+
}, 1000);
62
+
task.stopwatchInterval = interval;
63
+
}
64
+
}
65
+
}
66
+
42
67
function createList() {
43
68
const new_list = {
44
69
id: generateId(),
···
61
86
}
62
87
63
88
function deleteList() {
64
-
if (pinned_list.value === $page.params.id) {
89
+
if (pinned_list.value === page.params.id) {
65
90
toast.error("Cannot delete pinned list");
66
91
return;
67
92
}
68
93
69
-
local_lists.value = local_lists.value!.filter((l) => l.id !== $page.params.id);
94
+
local_lists.value = local_lists.value!.filter((l) => l.id !== page.params.id);
70
95
list = local_lists.value.find((l) => l.id === pinned_list.value);
71
96
goto(`/${list!.id}`);
72
97
}
98
+
99
+
onMount(() => {
100
+
if (list) {
101
+
for (const task of list.tasks) {
102
+
// if a task's stopwatch is still running
103
+
// remove it so the user can start it again in one click
104
+
// instead of two cause the first `toggleInterval` would
105
+
// just remove the interval
106
+
if (task.stopwatchInterval) {
107
+
clearInterval(task.stopwatchInterval);
108
+
task.stopwatchInterval = undefined;
109
+
local_lists.update();
110
+
}
111
+
}
112
+
}
113
+
});
73
114
</script>
74
115
75
-
<main class="flex flex-col w-full px-2 pt-8 pb-12 lg:p-4 lg:pb-24 gap-8 text-xl lg:text-3xl">
116
+
<main class="flex flex-col w-full px-2 pt-8 pb-28 lg:px-4 lg:pt-4 gap-8 text-xl lg:text-3xl">
76
117
{#if list}
77
118
<section class="relative flex gap-4 w-full">
78
119
<div class="flex gap-4 border-black border w-fit h-fit p-2 bg-white rounded-xl">
79
-
<button onclick={() => is_menu_open = !is_menu_open}>
120
+
<button onclick={() => is_lists_menu_open = !is_lists_menu_open}>
80
121
<img
81
122
src="/list-box-line.svg"
82
-
alt="Lists button"
123
+
alt="Lists menu button"
83
124
class="w-12 h-12 hover:bg-slate-500/10 rounded-full"
84
125
/>
85
126
</button>
···
90
131
class="w-12 h-12 hover:bg-slate-500/10 rounded-full"
91
132
/>
92
133
</button>
134
+
{#if user}
135
+
<button onclick={() => is_cloud_menu_open = !is_cloud_menu_open}>
136
+
<img
137
+
src="/cloud.svg"
138
+
alt="Cloud menu button"
139
+
class="w-12 h-12 p-2 hover:bg-slate-500/10 rounded-full"
140
+
/>
141
+
</button>
142
+
{/if}
93
143
<button onclick={deleteList}>
94
144
<img
95
145
src="/trash-line.svg"
···
99
149
</button>
100
150
</div>
101
151
102
-
{#if is_menu_open}
103
-
<menu class="absolute flex flex-col gap-2 w-fit h-fit top-20 p-2 bg-white border border-black rounded-lg !text-black !text-lg">
152
+
{#if is_lists_menu_open}
153
+
<menu class="absolute flex flex-col gap-2 w-fit h-fit top-20 p-2 bg-white border border-black rounded-lg text-black! text-lg!">
104
154
{#each user_lists as user_list : List (user_list.id)}
105
155
<button
106
156
onclick={() => {
107
-
switchToList(user_list.id)
108
-
is_menu_open = false;
157
+
switchToList(user_list.id);
158
+
is_lists_menu_open = false;
109
159
}}
110
160
class="flex gap-2 justify-between text-start w-full h-full rounded-xl pl-2 pr-5 py-2 hover:bg-slate-500/10 transition-all duration-150 items-center"
111
161
>
···
118
168
<button
119
169
onclick={() => {
120
170
createList();
121
-
is_menu_open = false;
171
+
is_lists_menu_open = false;
122
172
}}
123
173
class="flex gap-2 justify-between text-start w-full h-full rounded-xl pl-2 pr-5 py-2 hover:bg-slate-500/10 transition-all duration-150 items-center"
124
174
>
···
126
176
</button>
127
177
</menu>
128
178
{/if}
179
+
180
+
{#if is_cloud_menu_open}
181
+
<menu class="absolute flex flex-col gap-2 w-fit h-fit top-20 p-2 bg-white border border-black rounded-lg text-black! text-lg!">
182
+
<form method="POST" action="/?/saveListRecord" use:enhance>
183
+
<input name="id" type="hidden" value={list.id} />
184
+
<input name="title" type="hidden" value={list.title} />
185
+
<input name="tasks" type="hidden" value={JSON.stringify(list.tasks)} />
186
+
<button
187
+
type="submit"
188
+
class="flex gap-2 justify-between text-start w-full h-full rounded-xl pl-2 pr-5 py-2 hover:bg-slate-500/10 transition-all duration-150 items-center"
189
+
>
190
+
<img src="/save.svg" alt="Save to PDS button" class="w-8 h-8 p-2"/>
191
+
Save to PDS
192
+
</button>
193
+
</form>
194
+
</menu>
195
+
{/if}
129
196
</section>
130
-
<input
131
-
type="text"
132
-
bind:value={list.title}
133
-
placeholder="Untitled"
134
-
class="text-5xl font-bold bg-transparent"
135
-
/>
197
+
198
+
<input
199
+
type="text"
200
+
bind:value={list.title}
201
+
placeholder="Untitled"
202
+
class="text-5xl font-bold bg-transparent"
203
+
/>
204
+
136
205
<ul class="flex flex-col gap-4">
137
206
{#each list.tasks as task (task.id)}
138
207
<li class="group flex justify-between items-center gap-4">
···
145
214
<input
146
215
type="text"
147
216
bind:value={task.description}
148
-
class="w-full hover:underline text-ellipsis overflow-hidden bg-transparent"
217
+
class={`w-full hover:underline text-ellipsis overflow-hidden bg-transparent ${task.is_completed && "text-white/50"}`}
149
218
/>
150
219
</div>
151
220
152
-
<div class="flex lg:hidden group-hover:flex gap-4 w-fit">
221
+
<div class="flex gap-4 w-fit items-center">
222
+
<button
223
+
onclick={() => toggleInterval(task.id)}
224
+
class="w-fit h-fit tabular-nums text-lg"
225
+
>
226
+
{formatSecondsToDuration(task.duration!)}
227
+
</button>
153
228
<button
154
229
onclick={() => deleteTask(task.id)}
155
230
class="px-4 py-2 bg-red-500 rounded-xl text-white"
···
160
235
</li>
161
236
{/each}
162
237
<li class="flex gap-4 w-full">
238
+
<input type="text" bind:value={task_input} class="bg-transparent pr-4 py-2 border-b w-full"/>
163
239
<button onclick={addTask} class="px-5 rounded-full bg-white text-black">
164
240
+
165
241
</button>
166
-
<input type="text" bind:value={task_input} class="bg-transparent pr-4 py-2 border-b w-full"/>
167
242
</li>
168
243
</ul>
169
244
+6
src/routes/client-metadata.json/+server.ts
+6
src/routes/client-metadata.json/+server.ts
+34
src/routes/oauth/callback/+server.ts
+34
src/routes/oauth/callback/+server.ts
···
1
+
import { atclient } from "$lib/atproto";
2
+
import { encryptString } from "$lib/server/encryption";
3
+
import { decodeBase64, encodeBase64urlNoPadding } from "@oslojs/encoding";
4
+
5
+
import { error, redirect } from "@sveltejs/kit";
6
+
import type { RequestEvent } from "@sveltejs/kit";
7
+
import { ENCRYPTION_PASSWORD } from "$env/static/private";
8
+
9
+
// called on after authorizing OAuth
10
+
export async function GET({ request, cookies }: RequestEvent) {
11
+
// get parameters set by the callback
12
+
const params = new URLSearchParams(request.url.split("?")[1]);
13
+
14
+
try {
15
+
const { session } = await atclient.callback(params);
16
+
const key = decodeBase64(ENCRYPTION_PASSWORD);
17
+
18
+
// encrypt the user DID
19
+
const encrypted = await encryptString(key, session.did);
20
+
const encoded = encodeBase64urlNoPadding(encrypted);
21
+
22
+
// set encoded session DID as cookies for auth
23
+
cookies.set("sid", encoded, {
24
+
path: "/",
25
+
maxAge: 60 * 60,
26
+
httpOnly: true,
27
+
sameSite: "lax"
28
+
});
29
+
} catch (err) {
30
+
error(500, { message: (err as Error).message });
31
+
}
32
+
33
+
redirect(301, "/");
34
+
}
+1
static/cloud.svg
+1
static/cloud.svg
···
1
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9"/></svg>
+1
static/save.svg
+1
static/save.svg
···
1
+
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/><path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7M7 3v4a1 1 0 0 0 1 1h7"/></g></svg>
+1
static/user-line.svg
+1
static/user-line.svg
···
1
+
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="8" r="5"/><path d="M20 21a8 8 0 1 0-16 0m16 0a8 8 0 1 0-16 0"/></g></svg>
+1
-1
svelte.config.js
+1
-1
svelte.config.js
-12
tailwind.config.js
-12
tailwind.config.js