29 files changed,
+3101,
-3628
+11,
-0
1@@ -24,3 +24,14 @@ Thumbs.db
2 # Vite
3 vite.config.js.timestamp-*
4 vite.config.ts.timestamp-*
5+
6+# Devenv
7+.devenv*
8+devenv.local.nix
9+devenv.local.yaml
10+
11+# direnv
12+.direnv
13+
14+# pre-commit
15+.pre-commit-config.yaml
+14,
-11
1@@ -1,6 +1,6 @@
2 # Local Code Review (lcr)
3
4-Local code review tool for AI-assisted development. Review uncommitted changes with a GitHub PR-like interface — inline comments, suggestions, questions — then approve & commit or send feedback to AI for another round.
5+Local code review tool for AI-assisted development. Review uncommitted changes with a GitHub PR-like interface — inline comments, suggestions, questions — then approve (and commit in git, or simply approve in jj) or send feedback to AI for another round. Works with git and Jujutsu (jj) repositories.
6
7 <p align="center">
8 <img src="assets/preview.gif" alt="Local Code Review demo" width="800">
9@@ -17,7 +17,7 @@ When developing with AI (vibe-coding), AI makes many changes at once. There's no
10 - **Submit a structured review** with all your feedback at once
11 - **Send to AI** — export review as JSON/Markdown, copy to clipboard, or send directly to Claude Code via built-in terminal
12 - **Outdated detection** — comments are automatically flagged when the underlying code changes
13-- **Approve & commit** when you're satisfied
14+- **Approve & commit** when you're satisfied (in jj repos, just approve — changes are autocommitted)
15
16 ## Install
17
18@@ -40,13 +40,15 @@ Opens a web UI at `http://localhost:5678` showing all uncommitted changes.
19
20 ### Reviewing a project
21
22-Run from inside any git repository:
23+Run from inside any git or jj repository:
24
25 ```sh
26 lcr # Review current directory
27 lcr /path/to/project # Review a different project
28 ```
29
30+The repository type is auto-detected: if a `.jj/` directory is present (and the `jj` CLI is available), the Jujutsu client is used; otherwise git is used. This works for colocated repos too.
31+
32 ### Running multiple instances
33
34 Each instance needs its own port:
35@@ -62,20 +64,20 @@ PORT=5679 lcr /path/to/other # Second project on port 5679
36 2. Click the `+` button on any line to add a comment
37 3. Choose comment type: **comment**, **suggestion**, or **question**
38 4. Add comments across multiple files
39-5. Approve individual files (checkbox in sidebar) — approved files are staged for git
40+5. Approve individual files (checkbox in sidebar) — in git repos approved files are staged; in jj repos approval is tracked by the tool
41 6. When done, click **Review** and choose:
42 - **Request Changes** — sends your review to Claude Code for another iteration
43- - **Approve & Commit** — opens commit dialog with approved/all file options
44+ - **Approve & Commit** (git) / **Approve** (jj) — in git, opens the commit dialog; in jj, changes are autocommitted so the review is simply marked approved
45
46 ### Diff scope
47
48-- **Uncommitted** (default) — shows uncommitted changes vs HEAD
49-- **Worktree** — shows the full branch diff (all commits since the branch diverged from main/master/development, plus uncommitted changes)
50+- **Uncommitted** (default) — git: uncommitted changes vs HEAD; jj: changes in the working-copy commit `@` vs its parent (`jj diff -r @`). If `@` is a merge, jj diffs against the auto-merge of all parents.
51+- **Worktree** — git: the full branch diff (all commits since the branch diverged from main/master/development, plus uncommitted changes); jj: the diff from `trunk()` to `@`
52
53 ### Diff modes
54
55 - **Full Diff** — shows all changes in the current scope (staged + unstaged, or full branch)
56-- **Needs Review** — shows only unstaged changes, so you can focus on what hasn't been approved yet
57+- **Needs Review** — git: shows only unstaged changes; jj: shows only files that haven't been approved yet
58
59 ### Export options
60
61@@ -99,7 +101,7 @@ When AI makes changes after you've submitted a review, comments on lines that ch
62 ### File approval
63
64 Click the checkbox next to any file in the sidebar to approve it. Approved files are:
65-- Staged in git (`git add`)
66+- git: staged (`git add`); jj: tracked as approved in memory (jj has no staging area)
67 - Shown with a strikethrough in the sidebar
68 - Excluded from the "Needs Review" diff mode
69
70@@ -121,7 +123,7 @@ If an approved file is modified again, its approval status is reset.
71 | Variable | Default | Description |
72 |----------|---------|-------------|
73 | `PORT` | `5678` | HTTP server port |
74-| `LCR_REPO_DIR` | Current directory | Path to the git repository to review |
75+| `LCR_REPO_DIR` | Current directory | Path to the git or jj repository to review |
76 | `VITE_LCR_WS_PORT` | `PORT + 1000` | WebSocket port for the terminal (dev mode only) |
77
78 ### Claude Code integration
79@@ -183,7 +185,7 @@ node bin/lcr.js /path/to/project
80 src/
81 lib/
82 components/ # Svelte UI components (DiffView, FileTree, Terminal, etc.)
83- server/ # Server-side code (git operations, review store, terminal)
84+ server/ # Server-side code (VCS abstraction, git/jj clients, review store, terminal)
85 stores/ # Svelte stores (files, review, UI state)
86 types/ # TypeScript interfaces
87 routes/
88@@ -195,6 +197,7 @@ bin/
89
90 ## Notes
91
92+- Jujutsu repos are auto-detected by the presence of a `.jj/` directory and require the `jj` CLI on `PATH`. In jj repos there is no commit step: the working copy is autocommitted, so the review action is simply **Approve**
93 - Comments are stored in memory and reset when the server restarts
94 - The `.lcr-review.json` and `.lcr-review.md` export files are created in the project root — add them to `.gitignore` if needed
95 - Syntax highlighting is powered by [Shiki](https://shiki.matsu.io/) (same engine as VS Code)
+7,
-4
1@@ -8,11 +8,14 @@ import { fileURLToPath } from 'url';
2 const args = process.argv.slice(2);
3 const repoDir = resolve(args[0] || process.cwd());
4
5-// Check if directory is a git repo
6-if (!existsSync(join(repoDir, '.git'))) {
7- console.error('Error: Not a git repository. Run this command from within a git repo.');
8+// Check if directory is a git or jj repo
9+const isGit = existsSync(join(repoDir, '.git'));
10+const isJj = existsSync(join(repoDir, '.jj'));
11+if (!isGit && !isJj) {
12+ console.error('Error: Not a git or jj repository. Run this command from within a git or jj repo.');
13 process.exit(1);
14 }
15+const vcs = isJj ? 'jj' : 'git';
16
17 // Set repo dir for the server
18 process.env.LCR_REPO_DIR = repoDir;
19@@ -45,7 +48,7 @@ try {
20 server.listen(port, '127.0.0.1', async () => {
21 const url = `http://localhost:${port}`;
22 console.log(`\n Local Code Review`);
23- console.log(` Reviewing: ${repoDir}`);
24+ console.log(` Reviewing: ${repoDir} (${vcs})`);
25 console.log(` Server: ${url}\n`);
26
27 // Open browser
+65,
-0
1@@ -0,0 +1,65 @@
2+{
3+ "nodes": {
4+ "devenv": {
5+ "locked": {
6+ "dir": "src/modules",
7+ "lastModified": 1790415795,
8+ "narHash": "sha256-nvpxhuC///gvHzRj9/8A+3+2frKEP8kaabBuQDRO4G4=",
9+ "owner": "cachix",
10+ "repo": "devenv",
11+ "rev": "6d76db3889deba50ba7d906ec710d59fcd86354a",
12+ "type": "github"
13+ },
14+ "original": {
15+ "dir": "src/modules",
16+ "owner": "cachix",
17+ "repo": "devenv",
18+ "type": "github"
19+ }
20+ },
21+ "nixpkgs": {
22+ "inputs": {
23+ "nixpkgs-src": "nixpkgs-src"
24+ },
25+ "locked": {
26+ "lastModified": 1789506231,
27+ "narHash": "sha256-vNkJbtmqyBfFhn/HnzQo4ROuoyYWuy/allqTfJb4kMY=",
28+ "owner": "cachix",
29+ "repo": "devenv-nixpkgs",
30+ "rev": "c2f38fe7f9e04d9aadd354d380f2bd40531d9737",
31+ "type": "github"
32+ },
33+ "original": {
34+ "owner": "cachix",
35+ "ref": "rolling",
36+ "repo": "devenv-nixpkgs",
37+ "type": "github"
38+ }
39+ },
40+ "nixpkgs-src": {
41+ "flake": false,
42+ "locked": {
43+ "lastModified": 1789370336,
44+ "narHash": "sha256-6RSEDHIWQtesQKWSu5qRai8L2h4KgCgMEfJHstW99G4=",
45+ "owner": "NixOS",
46+ "repo": "nixpkgs",
47+ "rev": "c7def046b9a883d46974757852106483d741586f",
48+ "type": "github"
49+ },
50+ "original": {
51+ "owner": "NixOS",
52+ "ref": "nixpkgs-unstable",
53+ "repo": "nixpkgs",
54+ "type": "github"
55+ }
56+ },
57+ "root": {
58+ "inputs": {
59+ "devenv": "devenv",
60+ "nixpkgs": "nixpkgs"
61+ }
62+ }
63+ },
64+ "root": "root",
65+ "version": 7
66+}
+46,
-0
1@@ -0,0 +1,46 @@
2+{ pkgs, lib, config, inputs, ... }:
3+
4+{
5+ # https://devenv.sh/basics/
6+ env.GREET = "devenv";
7+
8+ # https://devenv.sh/packages/
9+ packages = [
10+ pkgs.git
11+ pkgs.jujutsu
12+ ];
13+
14+ # https://devenv.sh/languages/
15+ languages.javascript.enable = true;
16+ languages.javascript.corepack.enable = true;
17+ languages.javascript.pnpm.enable = true;
18+
19+ # https://devenv.sh/processes/
20+ # processes.dev.exec = "${lib.getExe pkgs.watchexec} -n -- ls -la";
21+
22+ # https://devenv.sh/services/
23+ # services.postgres.enable = true;
24+
25+ # https://devenv.sh/scripts/
26+ scripts.hello.exec = ''
27+ '';
28+
29+ # https://devenv.sh/basics/
30+ enterShell = ''
31+ '';
32+
33+ # https://devenv.sh/tasks/
34+ # tasks = {
35+ # "myproj:setup".exec = "mytool build";
36+ # "devenv:enterShell".after = [ "myproj:setup" ];
37+ # };
38+
39+ # https://devenv.sh/tests/
40+ enterTest = ''
41+ '';
42+
43+ # https://devenv.sh/git-hooks/
44+ # git-hooks.hooks.shellcheck.enable = true;
45+
46+ # See full reference at https://devenv.sh/reference/options/
47+}
+18,
-0
1@@ -0,0 +1,18 @@
2+# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
3+inputs:
4+ nixpkgs:
5+ url: github:cachix/devenv-nixpkgs/rolling
6+
7+# If you're using non-OSS software, you can set allow_unfree to true.
8+# allow_unfree: true
9+
10+# If you're not willing to allow unsupported packages:
11+# allow_unsupported_system: false
12+
13+# If you're willing to use a package that's vulnerable
14+# permitted_insecure_packages:
15+# - "openssl-1.1.1w"
16+
17+# If you have more than one devenv you can merge them
18+#imports:
19+# - ./backend
+0,
-3396
1@@ -1,3396 +0,0 @@
2-{
3- "name": "local-code-review",
4- "version": "0.1.1",
5- "lockfileVersion": 3,
6- "requires": true,
7- "packages": {
8- "": {
9- "name": "local-code-review",
10- "version": "0.1.1",
11- "license": "MIT",
12- "dependencies": {
13- "@xterm/addon-fit": "^0.11.0",
14- "@xterm/xterm": "^6.0.0",
15- "diff2html": "^3.4.56",
16- "node-pty": "^1.2.0-beta.12",
17- "open": "^11.0.0",
18- "shiki": "^4.0.2",
19- "simple-git": "^3.33.0",
20- "ws": "^8.20.0"
21- },
22- "bin": {
23- "lcr": "bin/lcr.js",
24- "local-code-review": "bin/lcr.js"
25- },
26- "devDependencies": {
27- "@sveltejs/adapter-node": "^5.5.2",
28- "@sveltejs/kit": "^2.50.2",
29- "@sveltejs/vite-plugin-svelte": "^6.2.4",
30- "@tailwindcss/vite": "^4.1.18",
31- "@types/ws": "^8.18.1",
32- "svelte": "^5.54.0",
33- "svelte-check": "^4.4.2",
34- "tailwindcss": "^4.1.18",
35- "typescript": "^5.9.3",
36- "vite": "^7.3.1"
37- },
38- "engines": {
39- "node": ">=18"
40- }
41- },
42- "node_modules/@esbuild/aix-ppc64": {
43- "version": "0.27.4",
44- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz",
45- "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==",
46- "cpu": [
47- "ppc64"
48- ],
49- "dev": true,
50- "license": "MIT",
51- "optional": true,
52- "os": [
53- "aix"
54- ],
55- "engines": {
56- "node": ">=18"
57- }
58- },
59- "node_modules/@esbuild/android-arm": {
60- "version": "0.27.4",
61- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz",
62- "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==",
63- "cpu": [
64- "arm"
65- ],
66- "dev": true,
67- "license": "MIT",
68- "optional": true,
69- "os": [
70- "android"
71- ],
72- "engines": {
73- "node": ">=18"
74- }
75- },
76- "node_modules/@esbuild/android-arm64": {
77- "version": "0.27.4",
78- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz",
79- "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==",
80- "cpu": [
81- "arm64"
82- ],
83- "dev": true,
84- "license": "MIT",
85- "optional": true,
86- "os": [
87- "android"
88- ],
89- "engines": {
90- "node": ">=18"
91- }
92- },
93- "node_modules/@esbuild/android-x64": {
94- "version": "0.27.4",
95- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz",
96- "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==",
97- "cpu": [
98- "x64"
99- ],
100- "dev": true,
101- "license": "MIT",
102- "optional": true,
103- "os": [
104- "android"
105- ],
106- "engines": {
107- "node": ">=18"
108- }
109- },
110- "node_modules/@esbuild/darwin-arm64": {
111- "version": "0.27.4",
112- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz",
113- "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==",
114- "cpu": [
115- "arm64"
116- ],
117- "dev": true,
118- "license": "MIT",
119- "optional": true,
120- "os": [
121- "darwin"
122- ],
123- "engines": {
124- "node": ">=18"
125- }
126- },
127- "node_modules/@esbuild/darwin-x64": {
128- "version": "0.27.4",
129- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz",
130- "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==",
131- "cpu": [
132- "x64"
133- ],
134- "dev": true,
135- "license": "MIT",
136- "optional": true,
137- "os": [
138- "darwin"
139- ],
140- "engines": {
141- "node": ">=18"
142- }
143- },
144- "node_modules/@esbuild/freebsd-arm64": {
145- "version": "0.27.4",
146- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz",
147- "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==",
148- "cpu": [
149- "arm64"
150- ],
151- "dev": true,
152- "license": "MIT",
153- "optional": true,
154- "os": [
155- "freebsd"
156- ],
157- "engines": {
158- "node": ">=18"
159- }
160- },
161- "node_modules/@esbuild/freebsd-x64": {
162- "version": "0.27.4",
163- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz",
164- "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==",
165- "cpu": [
166- "x64"
167- ],
168- "dev": true,
169- "license": "MIT",
170- "optional": true,
171- "os": [
172- "freebsd"
173- ],
174- "engines": {
175- "node": ">=18"
176- }
177- },
178- "node_modules/@esbuild/linux-arm": {
179- "version": "0.27.4",
180- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz",
181- "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==",
182- "cpu": [
183- "arm"
184- ],
185- "dev": true,
186- "license": "MIT",
187- "optional": true,
188- "os": [
189- "linux"
190- ],
191- "engines": {
192- "node": ">=18"
193- }
194- },
195- "node_modules/@esbuild/linux-arm64": {
196- "version": "0.27.4",
197- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz",
198- "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==",
199- "cpu": [
200- "arm64"
201- ],
202- "dev": true,
203- "license": "MIT",
204- "optional": true,
205- "os": [
206- "linux"
207- ],
208- "engines": {
209- "node": ">=18"
210- }
211- },
212- "node_modules/@esbuild/linux-ia32": {
213- "version": "0.27.4",
214- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz",
215- "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==",
216- "cpu": [
217- "ia32"
218- ],
219- "dev": true,
220- "license": "MIT",
221- "optional": true,
222- "os": [
223- "linux"
224- ],
225- "engines": {
226- "node": ">=18"
227- }
228- },
229- "node_modules/@esbuild/linux-loong64": {
230- "version": "0.27.4",
231- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz",
232- "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==",
233- "cpu": [
234- "loong64"
235- ],
236- "dev": true,
237- "license": "MIT",
238- "optional": true,
239- "os": [
240- "linux"
241- ],
242- "engines": {
243- "node": ">=18"
244- }
245- },
246- "node_modules/@esbuild/linux-mips64el": {
247- "version": "0.27.4",
248- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz",
249- "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==",
250- "cpu": [
251- "mips64el"
252- ],
253- "dev": true,
254- "license": "MIT",
255- "optional": true,
256- "os": [
257- "linux"
258- ],
259- "engines": {
260- "node": ">=18"
261- }
262- },
263- "node_modules/@esbuild/linux-ppc64": {
264- "version": "0.27.4",
265- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz",
266- "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==",
267- "cpu": [
268- "ppc64"
269- ],
270- "dev": true,
271- "license": "MIT",
272- "optional": true,
273- "os": [
274- "linux"
275- ],
276- "engines": {
277- "node": ">=18"
278- }
279- },
280- "node_modules/@esbuild/linux-riscv64": {
281- "version": "0.27.4",
282- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz",
283- "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==",
284- "cpu": [
285- "riscv64"
286- ],
287- "dev": true,
288- "license": "MIT",
289- "optional": true,
290- "os": [
291- "linux"
292- ],
293- "engines": {
294- "node": ">=18"
295- }
296- },
297- "node_modules/@esbuild/linux-s390x": {
298- "version": "0.27.4",
299- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz",
300- "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==",
301- "cpu": [
302- "s390x"
303- ],
304- "dev": true,
305- "license": "MIT",
306- "optional": true,
307- "os": [
308- "linux"
309- ],
310- "engines": {
311- "node": ">=18"
312- }
313- },
314- "node_modules/@esbuild/linux-x64": {
315- "version": "0.27.4",
316- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz",
317- "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==",
318- "cpu": [
319- "x64"
320- ],
321- "dev": true,
322- "license": "MIT",
323- "optional": true,
324- "os": [
325- "linux"
326- ],
327- "engines": {
328- "node": ">=18"
329- }
330- },
331- "node_modules/@esbuild/netbsd-arm64": {
332- "version": "0.27.4",
333- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz",
334- "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==",
335- "cpu": [
336- "arm64"
337- ],
338- "dev": true,
339- "license": "MIT",
340- "optional": true,
341- "os": [
342- "netbsd"
343- ],
344- "engines": {
345- "node": ">=18"
346- }
347- },
348- "node_modules/@esbuild/netbsd-x64": {
349- "version": "0.27.4",
350- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz",
351- "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==",
352- "cpu": [
353- "x64"
354- ],
355- "dev": true,
356- "license": "MIT",
357- "optional": true,
358- "os": [
359- "netbsd"
360- ],
361- "engines": {
362- "node": ">=18"
363- }
364- },
365- "node_modules/@esbuild/openbsd-arm64": {
366- "version": "0.27.4",
367- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz",
368- "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==",
369- "cpu": [
370- "arm64"
371- ],
372- "dev": true,
373- "license": "MIT",
374- "optional": true,
375- "os": [
376- "openbsd"
377- ],
378- "engines": {
379- "node": ">=18"
380- }
381- },
382- "node_modules/@esbuild/openbsd-x64": {
383- "version": "0.27.4",
384- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz",
385- "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==",
386- "cpu": [
387- "x64"
388- ],
389- "dev": true,
390- "license": "MIT",
391- "optional": true,
392- "os": [
393- "openbsd"
394- ],
395- "engines": {
396- "node": ">=18"
397- }
398- },
399- "node_modules/@esbuild/openharmony-arm64": {
400- "version": "0.27.4",
401- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz",
402- "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==",
403- "cpu": [
404- "arm64"
405- ],
406- "dev": true,
407- "license": "MIT",
408- "optional": true,
409- "os": [
410- "openharmony"
411- ],
412- "engines": {
413- "node": ">=18"
414- }
415- },
416- "node_modules/@esbuild/sunos-x64": {
417- "version": "0.27.4",
418- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz",
419- "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==",
420- "cpu": [
421- "x64"
422- ],
423- "dev": true,
424- "license": "MIT",
425- "optional": true,
426- "os": [
427- "sunos"
428- ],
429- "engines": {
430- "node": ">=18"
431- }
432- },
433- "node_modules/@esbuild/win32-arm64": {
434- "version": "0.27.4",
435- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz",
436- "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==",
437- "cpu": [
438- "arm64"
439- ],
440- "dev": true,
441- "license": "MIT",
442- "optional": true,
443- "os": [
444- "win32"
445- ],
446- "engines": {
447- "node": ">=18"
448- }
449- },
450- "node_modules/@esbuild/win32-ia32": {
451- "version": "0.27.4",
452- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz",
453- "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==",
454- "cpu": [
455- "ia32"
456- ],
457- "dev": true,
458- "license": "MIT",
459- "optional": true,
460- "os": [
461- "win32"
462- ],
463- "engines": {
464- "node": ">=18"
465- }
466- },
467- "node_modules/@esbuild/win32-x64": {
468- "version": "0.27.4",
469- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz",
470- "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==",
471- "cpu": [
472- "x64"
473- ],
474- "dev": true,
475- "license": "MIT",
476- "optional": true,
477- "os": [
478- "win32"
479- ],
480- "engines": {
481- "node": ">=18"
482- }
483- },
484- "node_modules/@jridgewell/gen-mapping": {
485- "version": "0.3.13",
486- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
487- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
488- "dev": true,
489- "license": "MIT",
490- "dependencies": {
491- "@jridgewell/sourcemap-codec": "^1.5.0",
492- "@jridgewell/trace-mapping": "^0.3.24"
493- }
494- },
495- "node_modules/@jridgewell/remapping": {
496- "version": "2.3.5",
497- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
498- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
499- "dev": true,
500- "license": "MIT",
501- "dependencies": {
502- "@jridgewell/gen-mapping": "^0.3.5",
503- "@jridgewell/trace-mapping": "^0.3.24"
504- }
505- },
506- "node_modules/@jridgewell/resolve-uri": {
507- "version": "3.1.2",
508- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
509- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
510- "dev": true,
511- "license": "MIT",
512- "engines": {
513- "node": ">=6.0.0"
514- }
515- },
516- "node_modules/@jridgewell/sourcemap-codec": {
517- "version": "1.5.5",
518- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
519- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
520- "dev": true,
521- "license": "MIT"
522- },
523- "node_modules/@jridgewell/trace-mapping": {
524- "version": "0.3.31",
525- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
526- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
527- "dev": true,
528- "license": "MIT",
529- "dependencies": {
530- "@jridgewell/resolve-uri": "^3.1.0",
531- "@jridgewell/sourcemap-codec": "^1.4.14"
532- }
533- },
534- "node_modules/@kwsites/file-exists": {
535- "version": "1.1.1",
536- "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
537- "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
538- "license": "MIT",
539- "dependencies": {
540- "debug": "^4.1.1"
541- }
542- },
543- "node_modules/@kwsites/promise-deferred": {
544- "version": "1.1.1",
545- "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
546- "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
547- "license": "MIT"
548- },
549- "node_modules/@polka/url": {
550- "version": "1.0.0-next.29",
551- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
552- "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
553- "dev": true,
554- "license": "MIT"
555- },
556- "node_modules/@profoundlogic/hogan": {
557- "version": "3.0.4",
558- "resolved": "https://registry.npmjs.org/@profoundlogic/hogan/-/hogan-3.0.4.tgz",
559- "integrity": "sha512-pmNVGuooS30Mm7YbZd5T7E5zYVO6D5Ct91sn4T39mUvMUc3sCGridcnhAufL1/Bz2QzAtzEn0agNrdk3+5yWzw==",
560- "license": "Apache-2.0",
561- "dependencies": {
562- "nopt": "1.0.10"
563- },
564- "bin": {
565- "hulk": "bin/hulk"
566- }
567- },
568- "node_modules/@rollup/plugin-commonjs": {
569- "version": "29.0.2",
570- "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-29.0.2.tgz",
571- "integrity": "sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==",
572- "dev": true,
573- "license": "MIT",
574- "dependencies": {
575- "@rollup/pluginutils": "^5.0.1",
576- "commondir": "^1.0.1",
577- "estree-walker": "^2.0.2",
578- "fdir": "^6.2.0",
579- "is-reference": "1.2.1",
580- "magic-string": "^0.30.3",
581- "picomatch": "^4.0.2"
582- },
583- "engines": {
584- "node": ">=16.0.0 || 14 >= 14.17"
585- },
586- "peerDependencies": {
587- "rollup": "^2.68.0||^3.0.0||^4.0.0"
588- },
589- "peerDependenciesMeta": {
590- "rollup": {
591- "optional": true
592- }
593- }
594- },
595- "node_modules/@rollup/plugin-json": {
596- "version": "6.1.0",
597- "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz",
598- "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==",
599- "dev": true,
600- "license": "MIT",
601- "dependencies": {
602- "@rollup/pluginutils": "^5.1.0"
603- },
604- "engines": {
605- "node": ">=14.0.0"
606- },
607- "peerDependencies": {
608- "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
609- },
610- "peerDependenciesMeta": {
611- "rollup": {
612- "optional": true
613- }
614- }
615- },
616- "node_modules/@rollup/plugin-node-resolve": {
617- "version": "16.0.3",
618- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.3.tgz",
619- "integrity": "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==",
620- "dev": true,
621- "license": "MIT",
622- "dependencies": {
623- "@rollup/pluginutils": "^5.0.1",
624- "@types/resolve": "1.20.2",
625- "deepmerge": "^4.2.2",
626- "is-module": "^1.0.0",
627- "resolve": "^1.22.1"
628- },
629- "engines": {
630- "node": ">=14.0.0"
631- },
632- "peerDependencies": {
633- "rollup": "^2.78.0||^3.0.0||^4.0.0"
634- },
635- "peerDependenciesMeta": {
636- "rollup": {
637- "optional": true
638- }
639- }
640- },
641- "node_modules/@rollup/pluginutils": {
642- "version": "5.3.0",
643- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
644- "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
645- "dev": true,
646- "license": "MIT",
647- "dependencies": {
648- "@types/estree": "^1.0.0",
649- "estree-walker": "^2.0.2",
650- "picomatch": "^4.0.2"
651- },
652- "engines": {
653- "node": ">=14.0.0"
654- },
655- "peerDependencies": {
656- "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
657- },
658- "peerDependenciesMeta": {
659- "rollup": {
660- "optional": true
661- }
662- }
663- },
664- "node_modules/@rollup/rollup-android-arm-eabi": {
665- "version": "4.60.0",
666- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.0.tgz",
667- "integrity": "sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==",
668- "cpu": [
669- "arm"
670- ],
671- "dev": true,
672- "license": "MIT",
673- "optional": true,
674- "os": [
675- "android"
676- ]
677- },
678- "node_modules/@rollup/rollup-android-arm64": {
679- "version": "4.60.0",
680- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.0.tgz",
681- "integrity": "sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==",
682- "cpu": [
683- "arm64"
684- ],
685- "dev": true,
686- "license": "MIT",
687- "optional": true,
688- "os": [
689- "android"
690- ]
691- },
692- "node_modules/@rollup/rollup-darwin-arm64": {
693- "version": "4.60.0",
694- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.0.tgz",
695- "integrity": "sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==",
696- "cpu": [
697- "arm64"
698- ],
699- "dev": true,
700- "license": "MIT",
701- "optional": true,
702- "os": [
703- "darwin"
704- ]
705- },
706- "node_modules/@rollup/rollup-darwin-x64": {
707- "version": "4.60.0",
708- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.0.tgz",
709- "integrity": "sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==",
710- "cpu": [
711- "x64"
712- ],
713- "dev": true,
714- "license": "MIT",
715- "optional": true,
716- "os": [
717- "darwin"
718- ]
719- },
720- "node_modules/@rollup/rollup-freebsd-arm64": {
721- "version": "4.60.0",
722- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.0.tgz",
723- "integrity": "sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==",
724- "cpu": [
725- "arm64"
726- ],
727- "dev": true,
728- "license": "MIT",
729- "optional": true,
730- "os": [
731- "freebsd"
732- ]
733- },
734- "node_modules/@rollup/rollup-freebsd-x64": {
735- "version": "4.60.0",
736- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.0.tgz",
737- "integrity": "sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==",
738- "cpu": [
739- "x64"
740- ],
741- "dev": true,
742- "license": "MIT",
743- "optional": true,
744- "os": [
745- "freebsd"
746- ]
747- },
748- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
749- "version": "4.60.0",
750- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.0.tgz",
751- "integrity": "sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==",
752- "cpu": [
753- "arm"
754- ],
755- "dev": true,
756- "license": "MIT",
757- "optional": true,
758- "os": [
759- "linux"
760- ]
761- },
762- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
763- "version": "4.60.0",
764- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.0.tgz",
765- "integrity": "sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==",
766- "cpu": [
767- "arm"
768- ],
769- "dev": true,
770- "license": "MIT",
771- "optional": true,
772- "os": [
773- "linux"
774- ]
775- },
776- "node_modules/@rollup/rollup-linux-arm64-gnu": {
777- "version": "4.60.0",
778- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.0.tgz",
779- "integrity": "sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==",
780- "cpu": [
781- "arm64"
782- ],
783- "dev": true,
784- "license": "MIT",
785- "optional": true,
786- "os": [
787- "linux"
788- ]
789- },
790- "node_modules/@rollup/rollup-linux-arm64-musl": {
791- "version": "4.60.0",
792- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.0.tgz",
793- "integrity": "sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==",
794- "cpu": [
795- "arm64"
796- ],
797- "dev": true,
798- "license": "MIT",
799- "optional": true,
800- "os": [
801- "linux"
802- ]
803- },
804- "node_modules/@rollup/rollup-linux-loong64-gnu": {
805- "version": "4.60.0",
806- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.0.tgz",
807- "integrity": "sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==",
808- "cpu": [
809- "loong64"
810- ],
811- "dev": true,
812- "license": "MIT",
813- "optional": true,
814- "os": [
815- "linux"
816- ]
817- },
818- "node_modules/@rollup/rollup-linux-loong64-musl": {
819- "version": "4.60.0",
820- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.0.tgz",
821- "integrity": "sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==",
822- "cpu": [
823- "loong64"
824- ],
825- "dev": true,
826- "license": "MIT",
827- "optional": true,
828- "os": [
829- "linux"
830- ]
831- },
832- "node_modules/@rollup/rollup-linux-ppc64-gnu": {
833- "version": "4.60.0",
834- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.0.tgz",
835- "integrity": "sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==",
836- "cpu": [
837- "ppc64"
838- ],
839- "dev": true,
840- "license": "MIT",
841- "optional": true,
842- "os": [
843- "linux"
844- ]
845- },
846- "node_modules/@rollup/rollup-linux-ppc64-musl": {
847- "version": "4.60.0",
848- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.0.tgz",
849- "integrity": "sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==",
850- "cpu": [
851- "ppc64"
852- ],
853- "dev": true,
854- "license": "MIT",
855- "optional": true,
856- "os": [
857- "linux"
858- ]
859- },
860- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
861- "version": "4.60.0",
862- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.0.tgz",
863- "integrity": "sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==",
864- "cpu": [
865- "riscv64"
866- ],
867- "dev": true,
868- "license": "MIT",
869- "optional": true,
870- "os": [
871- "linux"
872- ]
873- },
874- "node_modules/@rollup/rollup-linux-riscv64-musl": {
875- "version": "4.60.0",
876- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.0.tgz",
877- "integrity": "sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==",
878- "cpu": [
879- "riscv64"
880- ],
881- "dev": true,
882- "license": "MIT",
883- "optional": true,
884- "os": [
885- "linux"
886- ]
887- },
888- "node_modules/@rollup/rollup-linux-s390x-gnu": {
889- "version": "4.60.0",
890- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.0.tgz",
891- "integrity": "sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==",
892- "cpu": [
893- "s390x"
894- ],
895- "dev": true,
896- "license": "MIT",
897- "optional": true,
898- "os": [
899- "linux"
900- ]
901- },
902- "node_modules/@rollup/rollup-linux-x64-gnu": {
903- "version": "4.60.0",
904- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.0.tgz",
905- "integrity": "sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==",
906- "cpu": [
907- "x64"
908- ],
909- "dev": true,
910- "license": "MIT",
911- "optional": true,
912- "os": [
913- "linux"
914- ]
915- },
916- "node_modules/@rollup/rollup-linux-x64-musl": {
917- "version": "4.60.0",
918- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.0.tgz",
919- "integrity": "sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==",
920- "cpu": [
921- "x64"
922- ],
923- "dev": true,
924- "license": "MIT",
925- "optional": true,
926- "os": [
927- "linux"
928- ]
929- },
930- "node_modules/@rollup/rollup-openbsd-x64": {
931- "version": "4.60.0",
932- "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.0.tgz",
933- "integrity": "sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==",
934- "cpu": [
935- "x64"
936- ],
937- "dev": true,
938- "license": "MIT",
939- "optional": true,
940- "os": [
941- "openbsd"
942- ]
943- },
944- "node_modules/@rollup/rollup-openharmony-arm64": {
945- "version": "4.60.0",
946- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.0.tgz",
947- "integrity": "sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==",
948- "cpu": [
949- "arm64"
950- ],
951- "dev": true,
952- "license": "MIT",
953- "optional": true,
954- "os": [
955- "openharmony"
956- ]
957- },
958- "node_modules/@rollup/rollup-win32-arm64-msvc": {
959- "version": "4.60.0",
960- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.0.tgz",
961- "integrity": "sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==",
962- "cpu": [
963- "arm64"
964- ],
965- "dev": true,
966- "license": "MIT",
967- "optional": true,
968- "os": [
969- "win32"
970- ]
971- },
972- "node_modules/@rollup/rollup-win32-ia32-msvc": {
973- "version": "4.60.0",
974- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.0.tgz",
975- "integrity": "sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==",
976- "cpu": [
977- "ia32"
978- ],
979- "dev": true,
980- "license": "MIT",
981- "optional": true,
982- "os": [
983- "win32"
984- ]
985- },
986- "node_modules/@rollup/rollup-win32-x64-gnu": {
987- "version": "4.60.0",
988- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.0.tgz",
989- "integrity": "sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==",
990- "cpu": [
991- "x64"
992- ],
993- "dev": true,
994- "license": "MIT",
995- "optional": true,
996- "os": [
997- "win32"
998- ]
999- },
1000- "node_modules/@rollup/rollup-win32-x64-msvc": {
1001- "version": "4.60.0",
1002- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.0.tgz",
1003- "integrity": "sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==",
1004- "cpu": [
1005- "x64"
1006- ],
1007- "dev": true,
1008- "license": "MIT",
1009- "optional": true,
1010- "os": [
1011- "win32"
1012- ]
1013- },
1014- "node_modules/@shikijs/core": {
1015- "version": "4.0.2",
1016- "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz",
1017- "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==",
1018- "license": "MIT",
1019- "dependencies": {
1020- "@shikijs/primitive": "4.0.2",
1021- "@shikijs/types": "4.0.2",
1022- "@shikijs/vscode-textmate": "^10.0.2",
1023- "@types/hast": "^3.0.4",
1024- "hast-util-to-html": "^9.0.5"
1025- },
1026- "engines": {
1027- "node": ">=20"
1028- }
1029- },
1030- "node_modules/@shikijs/engine-javascript": {
1031- "version": "4.0.2",
1032- "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz",
1033- "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==",
1034- "license": "MIT",
1035- "dependencies": {
1036- "@shikijs/types": "4.0.2",
1037- "@shikijs/vscode-textmate": "^10.0.2",
1038- "oniguruma-to-es": "^4.3.4"
1039- },
1040- "engines": {
1041- "node": ">=20"
1042- }
1043- },
1044- "node_modules/@shikijs/engine-oniguruma": {
1045- "version": "4.0.2",
1046- "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz",
1047- "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==",
1048- "license": "MIT",
1049- "dependencies": {
1050- "@shikijs/types": "4.0.2",
1051- "@shikijs/vscode-textmate": "^10.0.2"
1052- },
1053- "engines": {
1054- "node": ">=20"
1055- }
1056- },
1057- "node_modules/@shikijs/langs": {
1058- "version": "4.0.2",
1059- "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz",
1060- "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==",
1061- "license": "MIT",
1062- "dependencies": {
1063- "@shikijs/types": "4.0.2"
1064- },
1065- "engines": {
1066- "node": ">=20"
1067- }
1068- },
1069- "node_modules/@shikijs/primitive": {
1070- "version": "4.0.2",
1071- "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.0.2.tgz",
1072- "integrity": "sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==",
1073- "license": "MIT",
1074- "dependencies": {
1075- "@shikijs/types": "4.0.2",
1076- "@shikijs/vscode-textmate": "^10.0.2",
1077- "@types/hast": "^3.0.4"
1078- },
1079- "engines": {
1080- "node": ">=20"
1081- }
1082- },
1083- "node_modules/@shikijs/themes": {
1084- "version": "4.0.2",
1085- "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz",
1086- "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==",
1087- "license": "MIT",
1088- "dependencies": {
1089- "@shikijs/types": "4.0.2"
1090- },
1091- "engines": {
1092- "node": ">=20"
1093- }
1094- },
1095- "node_modules/@shikijs/types": {
1096- "version": "4.0.2",
1097- "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz",
1098- "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==",
1099- "license": "MIT",
1100- "dependencies": {
1101- "@shikijs/vscode-textmate": "^10.0.2",
1102- "@types/hast": "^3.0.4"
1103- },
1104- "engines": {
1105- "node": ">=20"
1106- }
1107- },
1108- "node_modules/@shikijs/vscode-textmate": {
1109- "version": "10.0.2",
1110- "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
1111- "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
1112- "license": "MIT"
1113- },
1114- "node_modules/@standard-schema/spec": {
1115- "version": "1.1.0",
1116- "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
1117- "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
1118- "dev": true,
1119- "license": "MIT"
1120- },
1121- "node_modules/@sveltejs/acorn-typescript": {
1122- "version": "1.0.9",
1123- "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.9.tgz",
1124- "integrity": "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==",
1125- "dev": true,
1126- "license": "MIT",
1127- "peerDependencies": {
1128- "acorn": "^8.9.0"
1129- }
1130- },
1131- "node_modules/@sveltejs/adapter-node": {
1132- "version": "5.5.4",
1133- "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.5.4.tgz",
1134- "integrity": "sha512-45X92CXW+2J8ZUzPv3eLlKWEzINKiiGeFWTjyER4ZN4sGgNoaoeSkCY/QYNxHpPXy71QPsctwccBo9jJs0ySPQ==",
1135- "dev": true,
1136- "license": "MIT",
1137- "dependencies": {
1138- "@rollup/plugin-commonjs": "^29.0.0",
1139- "@rollup/plugin-json": "^6.1.0",
1140- "@rollup/plugin-node-resolve": "^16.0.0",
1141- "rollup": "^4.59.0"
1142- },
1143- "peerDependencies": {
1144- "@sveltejs/kit": "^2.4.0"
1145- }
1146- },
1147- "node_modules/@sveltejs/kit": {
1148- "version": "2.55.0",
1149- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.55.0.tgz",
1150- "integrity": "sha512-MdFRjevVxmAknf2NbaUkDF16jSIzXMWd4Nfah0Qp8TtQVoSp3bV4jKt8mX7z7qTUTWvgSaxtR0EG5WJf53gcuA==",
1151- "dev": true,
1152- "license": "MIT",
1153- "dependencies": {
1154- "@standard-schema/spec": "^1.0.0",
1155- "@sveltejs/acorn-typescript": "^1.0.5",
1156- "@types/cookie": "^0.6.0",
1157- "acorn": "^8.14.1",
1158- "cookie": "^0.6.0",
1159- "devalue": "^5.6.4",
1160- "esm-env": "^1.2.2",
1161- "kleur": "^4.1.5",
1162- "magic-string": "^0.30.5",
1163- "mrmime": "^2.0.0",
1164- "set-cookie-parser": "^3.0.0",
1165- "sirv": "^3.0.0"
1166- },
1167- "bin": {
1168- "svelte-kit": "svelte-kit.js"
1169- },
1170- "engines": {
1171- "node": ">=18.13"
1172- },
1173- "peerDependencies": {
1174- "@opentelemetry/api": "^1.0.0",
1175- "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0",
1176- "svelte": "^4.0.0 || ^5.0.0-next.0",
1177- "typescript": "^5.3.3",
1178- "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0"
1179- },
1180- "peerDependenciesMeta": {
1181- "@opentelemetry/api": {
1182- "optional": true
1183- },
1184- "typescript": {
1185- "optional": true
1186- }
1187- }
1188- },
1189- "node_modules/@sveltejs/vite-plugin-svelte": {
1190- "version": "6.2.4",
1191- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.4.tgz",
1192- "integrity": "sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==",
1193- "dev": true,
1194- "license": "MIT",
1195- "dependencies": {
1196- "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0",
1197- "deepmerge": "^4.3.1",
1198- "magic-string": "^0.30.21",
1199- "obug": "^2.1.0",
1200- "vitefu": "^1.1.1"
1201- },
1202- "engines": {
1203- "node": "^20.19 || ^22.12 || >=24"
1204- },
1205- "peerDependencies": {
1206- "svelte": "^5.0.0",
1207- "vite": "^6.3.0 || ^7.0.0"
1208- }
1209- },
1210- "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
1211- "version": "5.0.2",
1212- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.2.tgz",
1213- "integrity": "sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==",
1214- "dev": true,
1215- "license": "MIT",
1216- "dependencies": {
1217- "obug": "^2.1.0"
1218- },
1219- "engines": {
1220- "node": "^20.19 || ^22.12 || >=24"
1221- },
1222- "peerDependencies": {
1223- "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0",
1224- "svelte": "^5.0.0",
1225- "vite": "^6.3.0 || ^7.0.0"
1226- }
1227- },
1228- "node_modules/@tailwindcss/node": {
1229- "version": "4.2.2",
1230- "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz",
1231- "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==",
1232- "dev": true,
1233- "license": "MIT",
1234- "dependencies": {
1235- "@jridgewell/remapping": "^2.3.5",
1236- "enhanced-resolve": "^5.19.0",
1237- "jiti": "^2.6.1",
1238- "lightningcss": "1.32.0",
1239- "magic-string": "^0.30.21",
1240- "source-map-js": "^1.2.1",
1241- "tailwindcss": "4.2.2"
1242- }
1243- },
1244- "node_modules/@tailwindcss/oxide": {
1245- "version": "4.2.2",
1246- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz",
1247- "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==",
1248- "dev": true,
1249- "license": "MIT",
1250- "engines": {
1251- "node": ">= 20"
1252- },
1253- "optionalDependencies": {
1254- "@tailwindcss/oxide-android-arm64": "4.2.2",
1255- "@tailwindcss/oxide-darwin-arm64": "4.2.2",
1256- "@tailwindcss/oxide-darwin-x64": "4.2.2",
1257- "@tailwindcss/oxide-freebsd-x64": "4.2.2",
1258- "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2",
1259- "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2",
1260- "@tailwindcss/oxide-linux-arm64-musl": "4.2.2",
1261- "@tailwindcss/oxide-linux-x64-gnu": "4.2.2",
1262- "@tailwindcss/oxide-linux-x64-musl": "4.2.2",
1263- "@tailwindcss/oxide-wasm32-wasi": "4.2.2",
1264- "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2",
1265- "@tailwindcss/oxide-win32-x64-msvc": "4.2.2"
1266- }
1267- },
1268- "node_modules/@tailwindcss/oxide-android-arm64": {
1269- "version": "4.2.2",
1270- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz",
1271- "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==",
1272- "cpu": [
1273- "arm64"
1274- ],
1275- "dev": true,
1276- "license": "MIT",
1277- "optional": true,
1278- "os": [
1279- "android"
1280- ],
1281- "engines": {
1282- "node": ">= 20"
1283- }
1284- },
1285- "node_modules/@tailwindcss/oxide-darwin-arm64": {
1286- "version": "4.2.2",
1287- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz",
1288- "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==",
1289- "cpu": [
1290- "arm64"
1291- ],
1292- "dev": true,
1293- "license": "MIT",
1294- "optional": true,
1295- "os": [
1296- "darwin"
1297- ],
1298- "engines": {
1299- "node": ">= 20"
1300- }
1301- },
1302- "node_modules/@tailwindcss/oxide-darwin-x64": {
1303- "version": "4.2.2",
1304- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz",
1305- "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==",
1306- "cpu": [
1307- "x64"
1308- ],
1309- "dev": true,
1310- "license": "MIT",
1311- "optional": true,
1312- "os": [
1313- "darwin"
1314- ],
1315- "engines": {
1316- "node": ">= 20"
1317- }
1318- },
1319- "node_modules/@tailwindcss/oxide-freebsd-x64": {
1320- "version": "4.2.2",
1321- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz",
1322- "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==",
1323- "cpu": [
1324- "x64"
1325- ],
1326- "dev": true,
1327- "license": "MIT",
1328- "optional": true,
1329- "os": [
1330- "freebsd"
1331- ],
1332- "engines": {
1333- "node": ">= 20"
1334- }
1335- },
1336- "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
1337- "version": "4.2.2",
1338- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz",
1339- "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==",
1340- "cpu": [
1341- "arm"
1342- ],
1343- "dev": true,
1344- "license": "MIT",
1345- "optional": true,
1346- "os": [
1347- "linux"
1348- ],
1349- "engines": {
1350- "node": ">= 20"
1351- }
1352- },
1353- "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
1354- "version": "4.2.2",
1355- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz",
1356- "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==",
1357- "cpu": [
1358- "arm64"
1359- ],
1360- "dev": true,
1361- "license": "MIT",
1362- "optional": true,
1363- "os": [
1364- "linux"
1365- ],
1366- "engines": {
1367- "node": ">= 20"
1368- }
1369- },
1370- "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
1371- "version": "4.2.2",
1372- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz",
1373- "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==",
1374- "cpu": [
1375- "arm64"
1376- ],
1377- "dev": true,
1378- "license": "MIT",
1379- "optional": true,
1380- "os": [
1381- "linux"
1382- ],
1383- "engines": {
1384- "node": ">= 20"
1385- }
1386- },
1387- "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
1388- "version": "4.2.2",
1389- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz",
1390- "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==",
1391- "cpu": [
1392- "x64"
1393- ],
1394- "dev": true,
1395- "license": "MIT",
1396- "optional": true,
1397- "os": [
1398- "linux"
1399- ],
1400- "engines": {
1401- "node": ">= 20"
1402- }
1403- },
1404- "node_modules/@tailwindcss/oxide-linux-x64-musl": {
1405- "version": "4.2.2",
1406- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz",
1407- "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==",
1408- "cpu": [
1409- "x64"
1410- ],
1411- "dev": true,
1412- "license": "MIT",
1413- "optional": true,
1414- "os": [
1415- "linux"
1416- ],
1417- "engines": {
1418- "node": ">= 20"
1419- }
1420- },
1421- "node_modules/@tailwindcss/oxide-wasm32-wasi": {
1422- "version": "4.2.2",
1423- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz",
1424- "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==",
1425- "bundleDependencies": [
1426- "@napi-rs/wasm-runtime",
1427- "@emnapi/core",
1428- "@emnapi/runtime",
1429- "@tybys/wasm-util",
1430- "@emnapi/wasi-threads",
1431- "tslib"
1432- ],
1433- "cpu": [
1434- "wasm32"
1435- ],
1436- "dev": true,
1437- "license": "MIT",
1438- "optional": true,
1439- "dependencies": {
1440- "@emnapi/core": "^1.8.1",
1441- "@emnapi/runtime": "^1.8.1",
1442- "@emnapi/wasi-threads": "^1.1.0",
1443- "@napi-rs/wasm-runtime": "^1.1.1",
1444- "@tybys/wasm-util": "^0.10.1",
1445- "tslib": "^2.8.1"
1446- },
1447- "engines": {
1448- "node": ">=14.0.0"
1449- }
1450- },
1451- "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
1452- "version": "4.2.2",
1453- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz",
1454- "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==",
1455- "cpu": [
1456- "arm64"
1457- ],
1458- "dev": true,
1459- "license": "MIT",
1460- "optional": true,
1461- "os": [
1462- "win32"
1463- ],
1464- "engines": {
1465- "node": ">= 20"
1466- }
1467- },
1468- "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
1469- "version": "4.2.2",
1470- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz",
1471- "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==",
1472- "cpu": [
1473- "x64"
1474- ],
1475- "dev": true,
1476- "license": "MIT",
1477- "optional": true,
1478- "os": [
1479- "win32"
1480- ],
1481- "engines": {
1482- "node": ">= 20"
1483- }
1484- },
1485- "node_modules/@tailwindcss/vite": {
1486- "version": "4.2.2",
1487- "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.2.tgz",
1488- "integrity": "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==",
1489- "dev": true,
1490- "license": "MIT",
1491- "dependencies": {
1492- "@tailwindcss/node": "4.2.2",
1493- "@tailwindcss/oxide": "4.2.2",
1494- "tailwindcss": "4.2.2"
1495- },
1496- "peerDependencies": {
1497- "vite": "^5.2.0 || ^6 || ^7 || ^8"
1498- }
1499- },
1500- "node_modules/@types/cookie": {
1501- "version": "0.6.0",
1502- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
1503- "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
1504- "dev": true,
1505- "license": "MIT"
1506- },
1507- "node_modules/@types/estree": {
1508- "version": "1.0.8",
1509- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1510- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1511- "dev": true,
1512- "license": "MIT"
1513- },
1514- "node_modules/@types/hast": {
1515- "version": "3.0.4",
1516- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
1517- "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
1518- "license": "MIT",
1519- "dependencies": {
1520- "@types/unist": "*"
1521- }
1522- },
1523- "node_modules/@types/mdast": {
1524- "version": "4.0.4",
1525- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
1526- "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
1527- "license": "MIT",
1528- "dependencies": {
1529- "@types/unist": "*"
1530- }
1531- },
1532- "node_modules/@types/node": {
1533- "version": "25.5.0",
1534- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
1535- "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
1536- "dev": true,
1537- "license": "MIT",
1538- "dependencies": {
1539- "undici-types": "~7.18.0"
1540- }
1541- },
1542- "node_modules/@types/resolve": {
1543- "version": "1.20.2",
1544- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
1545- "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
1546- "dev": true,
1547- "license": "MIT"
1548- },
1549- "node_modules/@types/trusted-types": {
1550- "version": "2.0.7",
1551- "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
1552- "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
1553- "dev": true,
1554- "license": "MIT"
1555- },
1556- "node_modules/@types/unist": {
1557- "version": "3.0.3",
1558- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
1559- "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
1560- "license": "MIT"
1561- },
1562- "node_modules/@types/ws": {
1563- "version": "8.18.1",
1564- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
1565- "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
1566- "dev": true,
1567- "license": "MIT",
1568- "dependencies": {
1569- "@types/node": "*"
1570- }
1571- },
1572- "node_modules/@typescript-eslint/types": {
1573- "version": "8.57.2",
1574- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz",
1575- "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==",
1576- "dev": true,
1577- "license": "MIT",
1578- "engines": {
1579- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1580- },
1581- "funding": {
1582- "type": "opencollective",
1583- "url": "https://opencollective.com/typescript-eslint"
1584- }
1585- },
1586- "node_modules/@ungap/structured-clone": {
1587- "version": "1.3.0",
1588- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
1589- "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
1590- "license": "ISC"
1591- },
1592- "node_modules/@xterm/addon-fit": {
1593- "version": "0.11.0",
1594- "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.11.0.tgz",
1595- "integrity": "sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==",
1596- "license": "MIT"
1597- },
1598- "node_modules/@xterm/xterm": {
1599- "version": "6.0.0",
1600- "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-6.0.0.tgz",
1601- "integrity": "sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==",
1602- "license": "MIT",
1603- "workspaces": [
1604- "addons/*"
1605- ]
1606- },
1607- "node_modules/abbrev": {
1608- "version": "1.1.1",
1609- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
1610- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
1611- "license": "ISC"
1612- },
1613- "node_modules/acorn": {
1614- "version": "8.16.0",
1615- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
1616- "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
1617- "dev": true,
1618- "license": "MIT",
1619- "bin": {
1620- "acorn": "bin/acorn"
1621- },
1622- "engines": {
1623- "node": ">=0.4.0"
1624- }
1625- },
1626- "node_modules/aria-query": {
1627- "version": "5.3.1",
1628- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.1.tgz",
1629- "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==",
1630- "dev": true,
1631- "license": "Apache-2.0",
1632- "engines": {
1633- "node": ">= 0.4"
1634- }
1635- },
1636- "node_modules/axobject-query": {
1637- "version": "4.1.0",
1638- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
1639- "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
1640- "dev": true,
1641- "license": "Apache-2.0",
1642- "engines": {
1643- "node": ">= 0.4"
1644- }
1645- },
1646- "node_modules/bundle-name": {
1647- "version": "4.1.0",
1648- "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
1649- "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
1650- "license": "MIT",
1651- "dependencies": {
1652- "run-applescript": "^7.0.0"
1653- },
1654- "engines": {
1655- "node": ">=18"
1656- },
1657- "funding": {
1658- "url": "https://github.com/sponsors/sindresorhus"
1659- }
1660- },
1661- "node_modules/ccount": {
1662- "version": "2.0.1",
1663- "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
1664- "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
1665- "license": "MIT",
1666- "funding": {
1667- "type": "github",
1668- "url": "https://github.com/sponsors/wooorm"
1669- }
1670- },
1671- "node_modules/character-entities-html4": {
1672- "version": "2.1.0",
1673- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
1674- "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
1675- "license": "MIT",
1676- "funding": {
1677- "type": "github",
1678- "url": "https://github.com/sponsors/wooorm"
1679- }
1680- },
1681- "node_modules/character-entities-legacy": {
1682- "version": "3.0.0",
1683- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
1684- "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
1685- "license": "MIT",
1686- "funding": {
1687- "type": "github",
1688- "url": "https://github.com/sponsors/wooorm"
1689- }
1690- },
1691- "node_modules/chokidar": {
1692- "version": "4.0.3",
1693- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
1694- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
1695- "dev": true,
1696- "license": "MIT",
1697- "dependencies": {
1698- "readdirp": "^4.0.1"
1699- },
1700- "engines": {
1701- "node": ">= 14.16.0"
1702- },
1703- "funding": {
1704- "url": "https://paulmillr.com/funding/"
1705- }
1706- },
1707- "node_modules/clsx": {
1708- "version": "2.1.1",
1709- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
1710- "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
1711- "dev": true,
1712- "license": "MIT",
1713- "engines": {
1714- "node": ">=6"
1715- }
1716- },
1717- "node_modules/comma-separated-tokens": {
1718- "version": "2.0.3",
1719- "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
1720- "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
1721- "license": "MIT",
1722- "funding": {
1723- "type": "github",
1724- "url": "https://github.com/sponsors/wooorm"
1725- }
1726- },
1727- "node_modules/commondir": {
1728- "version": "1.0.1",
1729- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
1730- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
1731- "dev": true,
1732- "license": "MIT"
1733- },
1734- "node_modules/cookie": {
1735- "version": "0.6.0",
1736- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
1737- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
1738- "dev": true,
1739- "license": "MIT",
1740- "engines": {
1741- "node": ">= 0.6"
1742- }
1743- },
1744- "node_modules/debug": {
1745- "version": "4.4.3",
1746- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1747- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1748- "license": "MIT",
1749- "dependencies": {
1750- "ms": "^2.1.3"
1751- },
1752- "engines": {
1753- "node": ">=6.0"
1754- },
1755- "peerDependenciesMeta": {
1756- "supports-color": {
1757- "optional": true
1758- }
1759- }
1760- },
1761- "node_modules/deepmerge": {
1762- "version": "4.3.1",
1763- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
1764- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
1765- "dev": true,
1766- "license": "MIT",
1767- "engines": {
1768- "node": ">=0.10.0"
1769- }
1770- },
1771- "node_modules/default-browser": {
1772- "version": "5.5.0",
1773- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz",
1774- "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==",
1775- "license": "MIT",
1776- "dependencies": {
1777- "bundle-name": "^4.1.0",
1778- "default-browser-id": "^5.0.0"
1779- },
1780- "engines": {
1781- "node": ">=18"
1782- },
1783- "funding": {
1784- "url": "https://github.com/sponsors/sindresorhus"
1785- }
1786- },
1787- "node_modules/default-browser-id": {
1788- "version": "5.0.1",
1789- "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
1790- "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
1791- "license": "MIT",
1792- "engines": {
1793- "node": ">=18"
1794- },
1795- "funding": {
1796- "url": "https://github.com/sponsors/sindresorhus"
1797- }
1798- },
1799- "node_modules/define-lazy-prop": {
1800- "version": "3.0.0",
1801- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
1802- "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
1803- "license": "MIT",
1804- "engines": {
1805- "node": ">=12"
1806- },
1807- "funding": {
1808- "url": "https://github.com/sponsors/sindresorhus"
1809- }
1810- },
1811- "node_modules/dequal": {
1812- "version": "2.0.3",
1813- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
1814- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
1815- "license": "MIT",
1816- "engines": {
1817- "node": ">=6"
1818- }
1819- },
1820- "node_modules/detect-libc": {
1821- "version": "2.1.2",
1822- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
1823- "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
1824- "dev": true,
1825- "license": "Apache-2.0",
1826- "engines": {
1827- "node": ">=8"
1828- }
1829- },
1830- "node_modules/devalue": {
1831- "version": "5.6.4",
1832- "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.4.tgz",
1833- "integrity": "sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==",
1834- "dev": true,
1835- "license": "MIT"
1836- },
1837- "node_modules/devlop": {
1838- "version": "1.1.0",
1839- "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
1840- "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
1841- "license": "MIT",
1842- "dependencies": {
1843- "dequal": "^2.0.0"
1844- },
1845- "funding": {
1846- "type": "github",
1847- "url": "https://github.com/sponsors/wooorm"
1848- }
1849- },
1850- "node_modules/diff": {
1851- "version": "8.0.4",
1852- "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
1853- "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
1854- "license": "BSD-3-Clause",
1855- "engines": {
1856- "node": ">=0.3.1"
1857- }
1858- },
1859- "node_modules/diff2html": {
1860- "version": "3.4.56",
1861- "resolved": "https://registry.npmjs.org/diff2html/-/diff2html-3.4.56.tgz",
1862- "integrity": "sha512-u9gfn+BlbHcyO7vItCIC4z49LJDUt31tODzOfAuJ5R1E7IdlRL6KjugcB9zOpejD+XiR+dDZbsnHSQ3g6A/u8A==",
1863- "license": "MIT",
1864- "dependencies": {
1865- "@profoundlogic/hogan": "^3.0.4",
1866- "diff": "^8.0.3"
1867- },
1868- "engines": {
1869- "node": ">=12"
1870- },
1871- "optionalDependencies": {
1872- "highlight.js": "11.11.1"
1873- }
1874- },
1875- "node_modules/enhanced-resolve": {
1876- "version": "5.20.1",
1877- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz",
1878- "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==",
1879- "dev": true,
1880- "license": "MIT",
1881- "dependencies": {
1882- "graceful-fs": "^4.2.4",
1883- "tapable": "^2.3.0"
1884- },
1885- "engines": {
1886- "node": ">=10.13.0"
1887- }
1888- },
1889- "node_modules/esbuild": {
1890- "version": "0.27.4",
1891- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz",
1892- "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==",
1893- "dev": true,
1894- "hasInstallScript": true,
1895- "license": "MIT",
1896- "bin": {
1897- "esbuild": "bin/esbuild"
1898- },
1899- "engines": {
1900- "node": ">=18"
1901- },
1902- "optionalDependencies": {
1903- "@esbuild/aix-ppc64": "0.27.4",
1904- "@esbuild/android-arm": "0.27.4",
1905- "@esbuild/android-arm64": "0.27.4",
1906- "@esbuild/android-x64": "0.27.4",
1907- "@esbuild/darwin-arm64": "0.27.4",
1908- "@esbuild/darwin-x64": "0.27.4",
1909- "@esbuild/freebsd-arm64": "0.27.4",
1910- "@esbuild/freebsd-x64": "0.27.4",
1911- "@esbuild/linux-arm": "0.27.4",
1912- "@esbuild/linux-arm64": "0.27.4",
1913- "@esbuild/linux-ia32": "0.27.4",
1914- "@esbuild/linux-loong64": "0.27.4",
1915- "@esbuild/linux-mips64el": "0.27.4",
1916- "@esbuild/linux-ppc64": "0.27.4",
1917- "@esbuild/linux-riscv64": "0.27.4",
1918- "@esbuild/linux-s390x": "0.27.4",
1919- "@esbuild/linux-x64": "0.27.4",
1920- "@esbuild/netbsd-arm64": "0.27.4",
1921- "@esbuild/netbsd-x64": "0.27.4",
1922- "@esbuild/openbsd-arm64": "0.27.4",
1923- "@esbuild/openbsd-x64": "0.27.4",
1924- "@esbuild/openharmony-arm64": "0.27.4",
1925- "@esbuild/sunos-x64": "0.27.4",
1926- "@esbuild/win32-arm64": "0.27.4",
1927- "@esbuild/win32-ia32": "0.27.4",
1928- "@esbuild/win32-x64": "0.27.4"
1929- }
1930- },
1931- "node_modules/esm-env": {
1932- "version": "1.2.2",
1933- "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz",
1934- "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
1935- "dev": true,
1936- "license": "MIT"
1937- },
1938- "node_modules/esrap": {
1939- "version": "2.2.4",
1940- "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.4.tgz",
1941- "integrity": "sha512-suICpxAmZ9A8bzJjEl/+rLJiDKC0X4gYWUxT6URAWBLvlXmtbZd5ySMu/N2ZGEtMCAmflUDPSehrP9BQcsGcSg==",
1942- "dev": true,
1943- "license": "MIT",
1944- "dependencies": {
1945- "@jridgewell/sourcemap-codec": "^1.4.15",
1946- "@typescript-eslint/types": "^8.2.0"
1947- }
1948- },
1949- "node_modules/estree-walker": {
1950- "version": "2.0.2",
1951- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1952- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
1953- "dev": true,
1954- "license": "MIT"
1955- },
1956- "node_modules/fdir": {
1957- "version": "6.5.0",
1958- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
1959- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
1960- "dev": true,
1961- "license": "MIT",
1962- "engines": {
1963- "node": ">=12.0.0"
1964- },
1965- "peerDependencies": {
1966- "picomatch": "^3 || ^4"
1967- },
1968- "peerDependenciesMeta": {
1969- "picomatch": {
1970- "optional": true
1971- }
1972- }
1973- },
1974- "node_modules/fsevents": {
1975- "version": "2.3.3",
1976- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1977- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1978- "dev": true,
1979- "hasInstallScript": true,
1980- "license": "MIT",
1981- "optional": true,
1982- "os": [
1983- "darwin"
1984- ],
1985- "engines": {
1986- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1987- }
1988- },
1989- "node_modules/function-bind": {
1990- "version": "1.1.2",
1991- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1992- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1993- "dev": true,
1994- "license": "MIT",
1995- "funding": {
1996- "url": "https://github.com/sponsors/ljharb"
1997- }
1998- },
1999- "node_modules/graceful-fs": {
2000- "version": "4.2.11",
2001- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
2002- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
2003- "dev": true,
2004- "license": "ISC"
2005- },
2006- "node_modules/hasown": {
2007- "version": "2.0.2",
2008- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
2009- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
2010- "dev": true,
2011- "license": "MIT",
2012- "dependencies": {
2013- "function-bind": "^1.1.2"
2014- },
2015- "engines": {
2016- "node": ">= 0.4"
2017- }
2018- },
2019- "node_modules/hast-util-to-html": {
2020- "version": "9.0.5",
2021- "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz",
2022- "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==",
2023- "license": "MIT",
2024- "dependencies": {
2025- "@types/hast": "^3.0.0",
2026- "@types/unist": "^3.0.0",
2027- "ccount": "^2.0.0",
2028- "comma-separated-tokens": "^2.0.0",
2029- "hast-util-whitespace": "^3.0.0",
2030- "html-void-elements": "^3.0.0",
2031- "mdast-util-to-hast": "^13.0.0",
2032- "property-information": "^7.0.0",
2033- "space-separated-tokens": "^2.0.0",
2034- "stringify-entities": "^4.0.0",
2035- "zwitch": "^2.0.4"
2036- },
2037- "funding": {
2038- "type": "opencollective",
2039- "url": "https://opencollective.com/unified"
2040- }
2041- },
2042- "node_modules/hast-util-whitespace": {
2043- "version": "3.0.0",
2044- "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
2045- "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
2046- "license": "MIT",
2047- "dependencies": {
2048- "@types/hast": "^3.0.0"
2049- },
2050- "funding": {
2051- "type": "opencollective",
2052- "url": "https://opencollective.com/unified"
2053- }
2054- },
2055- "node_modules/highlight.js": {
2056- "version": "11.11.1",
2057- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz",
2058- "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==",
2059- "license": "BSD-3-Clause",
2060- "optional": true,
2061- "engines": {
2062- "node": ">=12.0.0"
2063- }
2064- },
2065- "node_modules/html-void-elements": {
2066- "version": "3.0.0",
2067- "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
2068- "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
2069- "license": "MIT",
2070- "funding": {
2071- "type": "github",
2072- "url": "https://github.com/sponsors/wooorm"
2073- }
2074- },
2075- "node_modules/is-core-module": {
2076- "version": "2.16.1",
2077- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
2078- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
2079- "dev": true,
2080- "license": "MIT",
2081- "dependencies": {
2082- "hasown": "^2.0.2"
2083- },
2084- "engines": {
2085- "node": ">= 0.4"
2086- },
2087- "funding": {
2088- "url": "https://github.com/sponsors/ljharb"
2089- }
2090- },
2091- "node_modules/is-docker": {
2092- "version": "3.0.0",
2093- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
2094- "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
2095- "license": "MIT",
2096- "bin": {
2097- "is-docker": "cli.js"
2098- },
2099- "engines": {
2100- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2101- },
2102- "funding": {
2103- "url": "https://github.com/sponsors/sindresorhus"
2104- }
2105- },
2106- "node_modules/is-in-ssh": {
2107- "version": "1.0.0",
2108- "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz",
2109- "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==",
2110- "license": "MIT",
2111- "engines": {
2112- "node": ">=20"
2113- },
2114- "funding": {
2115- "url": "https://github.com/sponsors/sindresorhus"
2116- }
2117- },
2118- "node_modules/is-inside-container": {
2119- "version": "1.0.0",
2120- "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
2121- "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
2122- "license": "MIT",
2123- "dependencies": {
2124- "is-docker": "^3.0.0"
2125- },
2126- "bin": {
2127- "is-inside-container": "cli.js"
2128- },
2129- "engines": {
2130- "node": ">=14.16"
2131- },
2132- "funding": {
2133- "url": "https://github.com/sponsors/sindresorhus"
2134- }
2135- },
2136- "node_modules/is-module": {
2137- "version": "1.0.0",
2138- "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
2139- "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
2140- "dev": true,
2141- "license": "MIT"
2142- },
2143- "node_modules/is-reference": {
2144- "version": "1.2.1",
2145- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
2146- "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
2147- "dev": true,
2148- "license": "MIT",
2149- "dependencies": {
2150- "@types/estree": "*"
2151- }
2152- },
2153- "node_modules/is-wsl": {
2154- "version": "3.1.1",
2155- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
2156- "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==",
2157- "license": "MIT",
2158- "dependencies": {
2159- "is-inside-container": "^1.0.0"
2160- },
2161- "engines": {
2162- "node": ">=16"
2163- },
2164- "funding": {
2165- "url": "https://github.com/sponsors/sindresorhus"
2166- }
2167- },
2168- "node_modules/jiti": {
2169- "version": "2.6.1",
2170- "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
2171- "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
2172- "dev": true,
2173- "license": "MIT",
2174- "bin": {
2175- "jiti": "lib/jiti-cli.mjs"
2176- }
2177- },
2178- "node_modules/kleur": {
2179- "version": "4.1.5",
2180- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
2181- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
2182- "dev": true,
2183- "license": "MIT",
2184- "engines": {
2185- "node": ">=6"
2186- }
2187- },
2188- "node_modules/lightningcss": {
2189- "version": "1.32.0",
2190- "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
2191- "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
2192- "dev": true,
2193- "license": "MPL-2.0",
2194- "dependencies": {
2195- "detect-libc": "^2.0.3"
2196- },
2197- "engines": {
2198- "node": ">= 12.0.0"
2199- },
2200- "funding": {
2201- "type": "opencollective",
2202- "url": "https://opencollective.com/parcel"
2203- },
2204- "optionalDependencies": {
2205- "lightningcss-android-arm64": "1.32.0",
2206- "lightningcss-darwin-arm64": "1.32.0",
2207- "lightningcss-darwin-x64": "1.32.0",
2208- "lightningcss-freebsd-x64": "1.32.0",
2209- "lightningcss-linux-arm-gnueabihf": "1.32.0",
2210- "lightningcss-linux-arm64-gnu": "1.32.0",
2211- "lightningcss-linux-arm64-musl": "1.32.0",
2212- "lightningcss-linux-x64-gnu": "1.32.0",
2213- "lightningcss-linux-x64-musl": "1.32.0",
2214- "lightningcss-win32-arm64-msvc": "1.32.0",
2215- "lightningcss-win32-x64-msvc": "1.32.0"
2216- }
2217- },
2218- "node_modules/lightningcss-android-arm64": {
2219- "version": "1.32.0",
2220- "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz",
2221- "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==",
2222- "cpu": [
2223- "arm64"
2224- ],
2225- "dev": true,
2226- "license": "MPL-2.0",
2227- "optional": true,
2228- "os": [
2229- "android"
2230- ],
2231- "engines": {
2232- "node": ">= 12.0.0"
2233- },
2234- "funding": {
2235- "type": "opencollective",
2236- "url": "https://opencollective.com/parcel"
2237- }
2238- },
2239- "node_modules/lightningcss-darwin-arm64": {
2240- "version": "1.32.0",
2241- "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz",
2242- "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==",
2243- "cpu": [
2244- "arm64"
2245- ],
2246- "dev": true,
2247- "license": "MPL-2.0",
2248- "optional": true,
2249- "os": [
2250- "darwin"
2251- ],
2252- "engines": {
2253- "node": ">= 12.0.0"
2254- },
2255- "funding": {
2256- "type": "opencollective",
2257- "url": "https://opencollective.com/parcel"
2258- }
2259- },
2260- "node_modules/lightningcss-darwin-x64": {
2261- "version": "1.32.0",
2262- "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz",
2263- "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==",
2264- "cpu": [
2265- "x64"
2266- ],
2267- "dev": true,
2268- "license": "MPL-2.0",
2269- "optional": true,
2270- "os": [
2271- "darwin"
2272- ],
2273- "engines": {
2274- "node": ">= 12.0.0"
2275- },
2276- "funding": {
2277- "type": "opencollective",
2278- "url": "https://opencollective.com/parcel"
2279- }
2280- },
2281- "node_modules/lightningcss-freebsd-x64": {
2282- "version": "1.32.0",
2283- "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz",
2284- "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==",
2285- "cpu": [
2286- "x64"
2287- ],
2288- "dev": true,
2289- "license": "MPL-2.0",
2290- "optional": true,
2291- "os": [
2292- "freebsd"
2293- ],
2294- "engines": {
2295- "node": ">= 12.0.0"
2296- },
2297- "funding": {
2298- "type": "opencollective",
2299- "url": "https://opencollective.com/parcel"
2300- }
2301- },
2302- "node_modules/lightningcss-linux-arm-gnueabihf": {
2303- "version": "1.32.0",
2304- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz",
2305- "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==",
2306- "cpu": [
2307- "arm"
2308- ],
2309- "dev": true,
2310- "license": "MPL-2.0",
2311- "optional": true,
2312- "os": [
2313- "linux"
2314- ],
2315- "engines": {
2316- "node": ">= 12.0.0"
2317- },
2318- "funding": {
2319- "type": "opencollective",
2320- "url": "https://opencollective.com/parcel"
2321- }
2322- },
2323- "node_modules/lightningcss-linux-arm64-gnu": {
2324- "version": "1.32.0",
2325- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz",
2326- "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==",
2327- "cpu": [
2328- "arm64"
2329- ],
2330- "dev": true,
2331- "license": "MPL-2.0",
2332- "optional": true,
2333- "os": [
2334- "linux"
2335- ],
2336- "engines": {
2337- "node": ">= 12.0.0"
2338- },
2339- "funding": {
2340- "type": "opencollective",
2341- "url": "https://opencollective.com/parcel"
2342- }
2343- },
2344- "node_modules/lightningcss-linux-arm64-musl": {
2345- "version": "1.32.0",
2346- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz",
2347- "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==",
2348- "cpu": [
2349- "arm64"
2350- ],
2351- "dev": true,
2352- "license": "MPL-2.0",
2353- "optional": true,
2354- "os": [
2355- "linux"
2356- ],
2357- "engines": {
2358- "node": ">= 12.0.0"
2359- },
2360- "funding": {
2361- "type": "opencollective",
2362- "url": "https://opencollective.com/parcel"
2363- }
2364- },
2365- "node_modules/lightningcss-linux-x64-gnu": {
2366- "version": "1.32.0",
2367- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz",
2368- "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==",
2369- "cpu": [
2370- "x64"
2371- ],
2372- "dev": true,
2373- "license": "MPL-2.0",
2374- "optional": true,
2375- "os": [
2376- "linux"
2377- ],
2378- "engines": {
2379- "node": ">= 12.0.0"
2380- },
2381- "funding": {
2382- "type": "opencollective",
2383- "url": "https://opencollective.com/parcel"
2384- }
2385- },
2386- "node_modules/lightningcss-linux-x64-musl": {
2387- "version": "1.32.0",
2388- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz",
2389- "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==",
2390- "cpu": [
2391- "x64"
2392- ],
2393- "dev": true,
2394- "license": "MPL-2.0",
2395- "optional": true,
2396- "os": [
2397- "linux"
2398- ],
2399- "engines": {
2400- "node": ">= 12.0.0"
2401- },
2402- "funding": {
2403- "type": "opencollective",
2404- "url": "https://opencollective.com/parcel"
2405- }
2406- },
2407- "node_modules/lightningcss-win32-arm64-msvc": {
2408- "version": "1.32.0",
2409- "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
2410- "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
2411- "cpu": [
2412- "arm64"
2413- ],
2414- "dev": true,
2415- "license": "MPL-2.0",
2416- "optional": true,
2417- "os": [
2418- "win32"
2419- ],
2420- "engines": {
2421- "node": ">= 12.0.0"
2422- },
2423- "funding": {
2424- "type": "opencollective",
2425- "url": "https://opencollective.com/parcel"
2426- }
2427- },
2428- "node_modules/lightningcss-win32-x64-msvc": {
2429- "version": "1.32.0",
2430- "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
2431- "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
2432- "cpu": [
2433- "x64"
2434- ],
2435- "dev": true,
2436- "license": "MPL-2.0",
2437- "optional": true,
2438- "os": [
2439- "win32"
2440- ],
2441- "engines": {
2442- "node": ">= 12.0.0"
2443- },
2444- "funding": {
2445- "type": "opencollective",
2446- "url": "https://opencollective.com/parcel"
2447- }
2448- },
2449- "node_modules/locate-character": {
2450- "version": "3.0.0",
2451- "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
2452- "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
2453- "dev": true,
2454- "license": "MIT"
2455- },
2456- "node_modules/magic-string": {
2457- "version": "0.30.21",
2458- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
2459- "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
2460- "dev": true,
2461- "license": "MIT",
2462- "dependencies": {
2463- "@jridgewell/sourcemap-codec": "^1.5.5"
2464- }
2465- },
2466- "node_modules/mdast-util-to-hast": {
2467- "version": "13.2.1",
2468- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
2469- "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
2470- "license": "MIT",
2471- "dependencies": {
2472- "@types/hast": "^3.0.0",
2473- "@types/mdast": "^4.0.0",
2474- "@ungap/structured-clone": "^1.0.0",
2475- "devlop": "^1.0.0",
2476- "micromark-util-sanitize-uri": "^2.0.0",
2477- "trim-lines": "^3.0.0",
2478- "unist-util-position": "^5.0.0",
2479- "unist-util-visit": "^5.0.0",
2480- "vfile": "^6.0.0"
2481- },
2482- "funding": {
2483- "type": "opencollective",
2484- "url": "https://opencollective.com/unified"
2485- }
2486- },
2487- "node_modules/micromark-util-character": {
2488- "version": "2.1.1",
2489- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
2490- "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
2491- "funding": [
2492- {
2493- "type": "GitHub Sponsors",
2494- "url": "https://github.com/sponsors/unifiedjs"
2495- },
2496- {
2497- "type": "OpenCollective",
2498- "url": "https://opencollective.com/unified"
2499- }
2500- ],
2501- "license": "MIT",
2502- "dependencies": {
2503- "micromark-util-symbol": "^2.0.0",
2504- "micromark-util-types": "^2.0.0"
2505- }
2506- },
2507- "node_modules/micromark-util-encode": {
2508- "version": "2.0.1",
2509- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
2510- "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
2511- "funding": [
2512- {
2513- "type": "GitHub Sponsors",
2514- "url": "https://github.com/sponsors/unifiedjs"
2515- },
2516- {
2517- "type": "OpenCollective",
2518- "url": "https://opencollective.com/unified"
2519- }
2520- ],
2521- "license": "MIT"
2522- },
2523- "node_modules/micromark-util-sanitize-uri": {
2524- "version": "2.0.1",
2525- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
2526- "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
2527- "funding": [
2528- {
2529- "type": "GitHub Sponsors",
2530- "url": "https://github.com/sponsors/unifiedjs"
2531- },
2532- {
2533- "type": "OpenCollective",
2534- "url": "https://opencollective.com/unified"
2535- }
2536- ],
2537- "license": "MIT",
2538- "dependencies": {
2539- "micromark-util-character": "^2.0.0",
2540- "micromark-util-encode": "^2.0.0",
2541- "micromark-util-symbol": "^2.0.0"
2542- }
2543- },
2544- "node_modules/micromark-util-symbol": {
2545- "version": "2.0.1",
2546- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
2547- "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
2548- "funding": [
2549- {
2550- "type": "GitHub Sponsors",
2551- "url": "https://github.com/sponsors/unifiedjs"
2552- },
2553- {
2554- "type": "OpenCollective",
2555- "url": "https://opencollective.com/unified"
2556- }
2557- ],
2558- "license": "MIT"
2559- },
2560- "node_modules/micromark-util-types": {
2561- "version": "2.0.2",
2562- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
2563- "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
2564- "funding": [
2565- {
2566- "type": "GitHub Sponsors",
2567- "url": "https://github.com/sponsors/unifiedjs"
2568- },
2569- {
2570- "type": "OpenCollective",
2571- "url": "https://opencollective.com/unified"
2572- }
2573- ],
2574- "license": "MIT"
2575- },
2576- "node_modules/mri": {
2577- "version": "1.2.0",
2578- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
2579- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
2580- "dev": true,
2581- "license": "MIT",
2582- "engines": {
2583- "node": ">=4"
2584- }
2585- },
2586- "node_modules/mrmime": {
2587- "version": "2.0.1",
2588- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
2589- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
2590- "dev": true,
2591- "license": "MIT",
2592- "engines": {
2593- "node": ">=10"
2594- }
2595- },
2596- "node_modules/ms": {
2597- "version": "2.1.3",
2598- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2599- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2600- "license": "MIT"
2601- },
2602- "node_modules/nanoid": {
2603- "version": "3.3.11",
2604- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
2605- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
2606- "dev": true,
2607- "funding": [
2608- {
2609- "type": "github",
2610- "url": "https://github.com/sponsors/ai"
2611- }
2612- ],
2613- "license": "MIT",
2614- "bin": {
2615- "nanoid": "bin/nanoid.cjs"
2616- },
2617- "engines": {
2618- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
2619- }
2620- },
2621- "node_modules/node-addon-api": {
2622- "version": "7.1.1",
2623- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
2624- "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
2625- "license": "MIT"
2626- },
2627- "node_modules/node-pty": {
2628- "version": "1.2.0-beta.12",
2629- "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.2.0-beta.12.tgz",
2630- "integrity": "sha512-uExTCG/4VmSJa4+TjxFwPXv8BfacmfFEBL6JpxCMDghcwqzvD0yTcGmZ1fKOK6HY33tp0CelLblqTECJizc+Yw==",
2631- "hasInstallScript": true,
2632- "license": "MIT",
2633- "dependencies": {
2634- "node-addon-api": "^7.1.0"
2635- }
2636- },
2637- "node_modules/nopt": {
2638- "version": "1.0.10",
2639- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
2640- "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
2641- "license": "MIT",
2642- "dependencies": {
2643- "abbrev": "1"
2644- },
2645- "bin": {
2646- "nopt": "bin/nopt.js"
2647- },
2648- "engines": {
2649- "node": "*"
2650- }
2651- },
2652- "node_modules/obug": {
2653- "version": "2.1.1",
2654- "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
2655- "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
2656- "dev": true,
2657- "funding": [
2658- "https://github.com/sponsors/sxzz",
2659- "https://opencollective.com/debug"
2660- ],
2661- "license": "MIT"
2662- },
2663- "node_modules/oniguruma-parser": {
2664- "version": "0.12.1",
2665- "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz",
2666- "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==",
2667- "license": "MIT"
2668- },
2669- "node_modules/oniguruma-to-es": {
2670- "version": "4.3.5",
2671- "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.5.tgz",
2672- "integrity": "sha512-Zjygswjpsewa0NLTsiizVuMQZbp0MDyM6lIt66OxsF21npUDlzpHi1Mgb/qhQdkb+dWFTzJmFbEWdvZgRho8eQ==",
2673- "license": "MIT",
2674- "dependencies": {
2675- "oniguruma-parser": "^0.12.1",
2676- "regex": "^6.1.0",
2677- "regex-recursion": "^6.0.2"
2678- }
2679- },
2680- "node_modules/open": {
2681- "version": "11.0.0",
2682- "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz",
2683- "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==",
2684- "license": "MIT",
2685- "dependencies": {
2686- "default-browser": "^5.4.0",
2687- "define-lazy-prop": "^3.0.0",
2688- "is-in-ssh": "^1.0.0",
2689- "is-inside-container": "^1.0.0",
2690- "powershell-utils": "^0.1.0",
2691- "wsl-utils": "^0.3.0"
2692- },
2693- "engines": {
2694- "node": ">=20"
2695- },
2696- "funding": {
2697- "url": "https://github.com/sponsors/sindresorhus"
2698- }
2699- },
2700- "node_modules/path-parse": {
2701- "version": "1.0.7",
2702- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2703- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2704- "dev": true,
2705- "license": "MIT"
2706- },
2707- "node_modules/picocolors": {
2708- "version": "1.1.1",
2709- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2710- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2711- "dev": true,
2712- "license": "ISC"
2713- },
2714- "node_modules/picomatch": {
2715- "version": "4.0.4",
2716- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
2717- "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
2718- "dev": true,
2719- "license": "MIT",
2720- "engines": {
2721- "node": ">=12"
2722- },
2723- "funding": {
2724- "url": "https://github.com/sponsors/jonschlinkert"
2725- }
2726- },
2727- "node_modules/postcss": {
2728- "version": "8.5.8",
2729- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
2730- "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
2731- "dev": true,
2732- "funding": [
2733- {
2734- "type": "opencollective",
2735- "url": "https://opencollective.com/postcss/"
2736- },
2737- {
2738- "type": "tidelift",
2739- "url": "https://tidelift.com/funding/github/npm/postcss"
2740- },
2741- {
2742- "type": "github",
2743- "url": "https://github.com/sponsors/ai"
2744- }
2745- ],
2746- "license": "MIT",
2747- "dependencies": {
2748- "nanoid": "^3.3.11",
2749- "picocolors": "^1.1.1",
2750- "source-map-js": "^1.2.1"
2751- },
2752- "engines": {
2753- "node": "^10 || ^12 || >=14"
2754- }
2755- },
2756- "node_modules/powershell-utils": {
2757- "version": "0.1.0",
2758- "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz",
2759- "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==",
2760- "license": "MIT",
2761- "engines": {
2762- "node": ">=20"
2763- },
2764- "funding": {
2765- "url": "https://github.com/sponsors/sindresorhus"
2766- }
2767- },
2768- "node_modules/property-information": {
2769- "version": "7.1.0",
2770- "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
2771- "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
2772- "license": "MIT",
2773- "funding": {
2774- "type": "github",
2775- "url": "https://github.com/sponsors/wooorm"
2776- }
2777- },
2778- "node_modules/readdirp": {
2779- "version": "4.1.2",
2780- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
2781- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
2782- "dev": true,
2783- "license": "MIT",
2784- "engines": {
2785- "node": ">= 14.18.0"
2786- },
2787- "funding": {
2788- "type": "individual",
2789- "url": "https://paulmillr.com/funding/"
2790- }
2791- },
2792- "node_modules/regex": {
2793- "version": "6.1.0",
2794- "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz",
2795- "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==",
2796- "license": "MIT",
2797- "dependencies": {
2798- "regex-utilities": "^2.3.0"
2799- }
2800- },
2801- "node_modules/regex-recursion": {
2802- "version": "6.0.2",
2803- "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
2804- "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
2805- "license": "MIT",
2806- "dependencies": {
2807- "regex-utilities": "^2.3.0"
2808- }
2809- },
2810- "node_modules/regex-utilities": {
2811- "version": "2.3.0",
2812- "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
2813- "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
2814- "license": "MIT"
2815- },
2816- "node_modules/resolve": {
2817- "version": "1.22.11",
2818- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
2819- "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
2820- "dev": true,
2821- "license": "MIT",
2822- "dependencies": {
2823- "is-core-module": "^2.16.1",
2824- "path-parse": "^1.0.7",
2825- "supports-preserve-symlinks-flag": "^1.0.0"
2826- },
2827- "bin": {
2828- "resolve": "bin/resolve"
2829- },
2830- "engines": {
2831- "node": ">= 0.4"
2832- },
2833- "funding": {
2834- "url": "https://github.com/sponsors/ljharb"
2835- }
2836- },
2837- "node_modules/rollup": {
2838- "version": "4.60.0",
2839- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.0.tgz",
2840- "integrity": "sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==",
2841- "dev": true,
2842- "license": "MIT",
2843- "dependencies": {
2844- "@types/estree": "1.0.8"
2845- },
2846- "bin": {
2847- "rollup": "dist/bin/rollup"
2848- },
2849- "engines": {
2850- "node": ">=18.0.0",
2851- "npm": ">=8.0.0"
2852- },
2853- "optionalDependencies": {
2854- "@rollup/rollup-android-arm-eabi": "4.60.0",
2855- "@rollup/rollup-android-arm64": "4.60.0",
2856- "@rollup/rollup-darwin-arm64": "4.60.0",
2857- "@rollup/rollup-darwin-x64": "4.60.0",
2858- "@rollup/rollup-freebsd-arm64": "4.60.0",
2859- "@rollup/rollup-freebsd-x64": "4.60.0",
2860- "@rollup/rollup-linux-arm-gnueabihf": "4.60.0",
2861- "@rollup/rollup-linux-arm-musleabihf": "4.60.0",
2862- "@rollup/rollup-linux-arm64-gnu": "4.60.0",
2863- "@rollup/rollup-linux-arm64-musl": "4.60.0",
2864- "@rollup/rollup-linux-loong64-gnu": "4.60.0",
2865- "@rollup/rollup-linux-loong64-musl": "4.60.0",
2866- "@rollup/rollup-linux-ppc64-gnu": "4.60.0",
2867- "@rollup/rollup-linux-ppc64-musl": "4.60.0",
2868- "@rollup/rollup-linux-riscv64-gnu": "4.60.0",
2869- "@rollup/rollup-linux-riscv64-musl": "4.60.0",
2870- "@rollup/rollup-linux-s390x-gnu": "4.60.0",
2871- "@rollup/rollup-linux-x64-gnu": "4.60.0",
2872- "@rollup/rollup-linux-x64-musl": "4.60.0",
2873- "@rollup/rollup-openbsd-x64": "4.60.0",
2874- "@rollup/rollup-openharmony-arm64": "4.60.0",
2875- "@rollup/rollup-win32-arm64-msvc": "4.60.0",
2876- "@rollup/rollup-win32-ia32-msvc": "4.60.0",
2877- "@rollup/rollup-win32-x64-gnu": "4.60.0",
2878- "@rollup/rollup-win32-x64-msvc": "4.60.0",
2879- "fsevents": "~2.3.2"
2880- }
2881- },
2882- "node_modules/run-applescript": {
2883- "version": "7.1.0",
2884- "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
2885- "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
2886- "license": "MIT",
2887- "engines": {
2888- "node": ">=18"
2889- },
2890- "funding": {
2891- "url": "https://github.com/sponsors/sindresorhus"
2892- }
2893- },
2894- "node_modules/sade": {
2895- "version": "1.8.1",
2896- "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
2897- "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
2898- "dev": true,
2899- "license": "MIT",
2900- "dependencies": {
2901- "mri": "^1.1.0"
2902- },
2903- "engines": {
2904- "node": ">=6"
2905- }
2906- },
2907- "node_modules/set-cookie-parser": {
2908- "version": "3.1.0",
2909- "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.0.tgz",
2910- "integrity": "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==",
2911- "dev": true,
2912- "license": "MIT"
2913- },
2914- "node_modules/shiki": {
2915- "version": "4.0.2",
2916- "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz",
2917- "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==",
2918- "license": "MIT",
2919- "dependencies": {
2920- "@shikijs/core": "4.0.2",
2921- "@shikijs/engine-javascript": "4.0.2",
2922- "@shikijs/engine-oniguruma": "4.0.2",
2923- "@shikijs/langs": "4.0.2",
2924- "@shikijs/themes": "4.0.2",
2925- "@shikijs/types": "4.0.2",
2926- "@shikijs/vscode-textmate": "^10.0.2",
2927- "@types/hast": "^3.0.4"
2928- },
2929- "engines": {
2930- "node": ">=20"
2931- }
2932- },
2933- "node_modules/simple-git": {
2934- "version": "3.33.0",
2935- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.33.0.tgz",
2936- "integrity": "sha512-D4V/tGC2sjsoNhoMybKyGoE+v8A60hRawKQ1iFRA1zwuDgGZCBJ4ByOzZ5J8joBbi4Oam0qiPH+GhzmSBwbJng==",
2937- "license": "MIT",
2938- "dependencies": {
2939- "@kwsites/file-exists": "^1.1.1",
2940- "@kwsites/promise-deferred": "^1.1.1",
2941- "debug": "^4.4.0"
2942- },
2943- "funding": {
2944- "type": "github",
2945- "url": "https://github.com/steveukx/git-js?sponsor=1"
2946- }
2947- },
2948- "node_modules/sirv": {
2949- "version": "3.0.2",
2950- "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
2951- "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
2952- "dev": true,
2953- "license": "MIT",
2954- "dependencies": {
2955- "@polka/url": "^1.0.0-next.24",
2956- "mrmime": "^2.0.0",
2957- "totalist": "^3.0.0"
2958- },
2959- "engines": {
2960- "node": ">=18"
2961- }
2962- },
2963- "node_modules/source-map-js": {
2964- "version": "1.2.1",
2965- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2966- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2967- "dev": true,
2968- "license": "BSD-3-Clause",
2969- "engines": {
2970- "node": ">=0.10.0"
2971- }
2972- },
2973- "node_modules/space-separated-tokens": {
2974- "version": "2.0.2",
2975- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
2976- "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
2977- "license": "MIT",
2978- "funding": {
2979- "type": "github",
2980- "url": "https://github.com/sponsors/wooorm"
2981- }
2982- },
2983- "node_modules/stringify-entities": {
2984- "version": "4.0.4",
2985- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
2986- "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
2987- "license": "MIT",
2988- "dependencies": {
2989- "character-entities-html4": "^2.0.0",
2990- "character-entities-legacy": "^3.0.0"
2991- },
2992- "funding": {
2993- "type": "github",
2994- "url": "https://github.com/sponsors/wooorm"
2995- }
2996- },
2997- "node_modules/supports-preserve-symlinks-flag": {
2998- "version": "1.0.0",
2999- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
3000- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
3001- "dev": true,
3002- "license": "MIT",
3003- "engines": {
3004- "node": ">= 0.4"
3005- },
3006- "funding": {
3007- "url": "https://github.com/sponsors/ljharb"
3008- }
3009- },
3010- "node_modules/svelte": {
3011- "version": "5.55.0",
3012- "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.55.0.tgz",
3013- "integrity": "sha512-SThllKq6TRMBwPtat7ASnm/9CDXnIhBR0NPGw0ujn2DVYx9rVwsPZxDaDQcYGdUz/3BYVsCzdq7pZarRQoGvtw==",
3014- "dev": true,
3015- "license": "MIT",
3016- "dependencies": {
3017- "@jridgewell/remapping": "^2.3.4",
3018- "@jridgewell/sourcemap-codec": "^1.5.0",
3019- "@sveltejs/acorn-typescript": "^1.0.5",
3020- "@types/estree": "^1.0.5",
3021- "@types/trusted-types": "^2.0.7",
3022- "acorn": "^8.12.1",
3023- "aria-query": "5.3.1",
3024- "axobject-query": "^4.1.0",
3025- "clsx": "^2.1.1",
3026- "devalue": "^5.6.4",
3027- "esm-env": "^1.2.1",
3028- "esrap": "^2.2.2",
3029- "is-reference": "^3.0.3",
3030- "locate-character": "^3.0.0",
3031- "magic-string": "^0.30.11",
3032- "zimmerframe": "^1.1.2"
3033- },
3034- "engines": {
3035- "node": ">=18"
3036- }
3037- },
3038- "node_modules/svelte-check": {
3039- "version": "4.4.5",
3040- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.4.5.tgz",
3041- "integrity": "sha512-1bSwIRCvvmSHrlK52fOlZmVtUZgil43jNL/2H18pRpa+eQjzGt6e3zayxhp1S7GajPFKNM/2PMCG+DZFHlG9fw==",
3042- "dev": true,
3043- "license": "MIT",
3044- "dependencies": {
3045- "@jridgewell/trace-mapping": "^0.3.25",
3046- "chokidar": "^4.0.1",
3047- "fdir": "^6.2.0",
3048- "picocolors": "^1.0.0",
3049- "sade": "^1.7.4"
3050- },
3051- "bin": {
3052- "svelte-check": "bin/svelte-check"
3053- },
3054- "engines": {
3055- "node": ">= 18.0.0"
3056- },
3057- "peerDependencies": {
3058- "svelte": "^4.0.0 || ^5.0.0-next.0",
3059- "typescript": ">=5.0.0"
3060- }
3061- },
3062- "node_modules/svelte/node_modules/is-reference": {
3063- "version": "3.0.3",
3064- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
3065- "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
3066- "dev": true,
3067- "license": "MIT",
3068- "dependencies": {
3069- "@types/estree": "^1.0.6"
3070- }
3071- },
3072- "node_modules/tailwindcss": {
3073- "version": "4.2.2",
3074- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz",
3075- "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==",
3076- "dev": true,
3077- "license": "MIT"
3078- },
3079- "node_modules/tapable": {
3080- "version": "2.3.2",
3081- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz",
3082- "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==",
3083- "dev": true,
3084- "license": "MIT",
3085- "engines": {
3086- "node": ">=6"
3087- },
3088- "funding": {
3089- "type": "opencollective",
3090- "url": "https://opencollective.com/webpack"
3091- }
3092- },
3093- "node_modules/tinyglobby": {
3094- "version": "0.2.15",
3095- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
3096- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
3097- "dev": true,
3098- "license": "MIT",
3099- "dependencies": {
3100- "fdir": "^6.5.0",
3101- "picomatch": "^4.0.3"
3102- },
3103- "engines": {
3104- "node": ">=12.0.0"
3105- },
3106- "funding": {
3107- "url": "https://github.com/sponsors/SuperchupuDev"
3108- }
3109- },
3110- "node_modules/totalist": {
3111- "version": "3.0.1",
3112- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
3113- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
3114- "dev": true,
3115- "license": "MIT",
3116- "engines": {
3117- "node": ">=6"
3118- }
3119- },
3120- "node_modules/trim-lines": {
3121- "version": "3.0.1",
3122- "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
3123- "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
3124- "license": "MIT",
3125- "funding": {
3126- "type": "github",
3127- "url": "https://github.com/sponsors/wooorm"
3128- }
3129- },
3130- "node_modules/typescript": {
3131- "version": "5.9.3",
3132- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
3133- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
3134- "dev": true,
3135- "license": "Apache-2.0",
3136- "bin": {
3137- "tsc": "bin/tsc",
3138- "tsserver": "bin/tsserver"
3139- },
3140- "engines": {
3141- "node": ">=14.17"
3142- }
3143- },
3144- "node_modules/undici-types": {
3145- "version": "7.18.2",
3146- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
3147- "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
3148- "dev": true,
3149- "license": "MIT"
3150- },
3151- "node_modules/unist-util-is": {
3152- "version": "6.0.1",
3153- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
3154- "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
3155- "license": "MIT",
3156- "dependencies": {
3157- "@types/unist": "^3.0.0"
3158- },
3159- "funding": {
3160- "type": "opencollective",
3161- "url": "https://opencollective.com/unified"
3162- }
3163- },
3164- "node_modules/unist-util-position": {
3165- "version": "5.0.0",
3166- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
3167- "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
3168- "license": "MIT",
3169- "dependencies": {
3170- "@types/unist": "^3.0.0"
3171- },
3172- "funding": {
3173- "type": "opencollective",
3174- "url": "https://opencollective.com/unified"
3175- }
3176- },
3177- "node_modules/unist-util-stringify-position": {
3178- "version": "4.0.0",
3179- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
3180- "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
3181- "license": "MIT",
3182- "dependencies": {
3183- "@types/unist": "^3.0.0"
3184- },
3185- "funding": {
3186- "type": "opencollective",
3187- "url": "https://opencollective.com/unified"
3188- }
3189- },
3190- "node_modules/unist-util-visit": {
3191- "version": "5.1.0",
3192- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
3193- "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
3194- "license": "MIT",
3195- "dependencies": {
3196- "@types/unist": "^3.0.0",
3197- "unist-util-is": "^6.0.0",
3198- "unist-util-visit-parents": "^6.0.0"
3199- },
3200- "funding": {
3201- "type": "opencollective",
3202- "url": "https://opencollective.com/unified"
3203- }
3204- },
3205- "node_modules/unist-util-visit-parents": {
3206- "version": "6.0.2",
3207- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
3208- "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
3209- "license": "MIT",
3210- "dependencies": {
3211- "@types/unist": "^3.0.0",
3212- "unist-util-is": "^6.0.0"
3213- },
3214- "funding": {
3215- "type": "opencollective",
3216- "url": "https://opencollective.com/unified"
3217- }
3218- },
3219- "node_modules/vfile": {
3220- "version": "6.0.3",
3221- "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
3222- "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
3223- "license": "MIT",
3224- "dependencies": {
3225- "@types/unist": "^3.0.0",
3226- "vfile-message": "^4.0.0"
3227- },
3228- "funding": {
3229- "type": "opencollective",
3230- "url": "https://opencollective.com/unified"
3231- }
3232- },
3233- "node_modules/vfile-message": {
3234- "version": "4.0.3",
3235- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
3236- "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
3237- "license": "MIT",
3238- "dependencies": {
3239- "@types/unist": "^3.0.0",
3240- "unist-util-stringify-position": "^4.0.0"
3241- },
3242- "funding": {
3243- "type": "opencollective",
3244- "url": "https://opencollective.com/unified"
3245- }
3246- },
3247- "node_modules/vite": {
3248- "version": "7.3.1",
3249- "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
3250- "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
3251- "dev": true,
3252- "license": "MIT",
3253- "dependencies": {
3254- "esbuild": "^0.27.0",
3255- "fdir": "^6.5.0",
3256- "picomatch": "^4.0.3",
3257- "postcss": "^8.5.6",
3258- "rollup": "^4.43.0",
3259- "tinyglobby": "^0.2.15"
3260- },
3261- "bin": {
3262- "vite": "bin/vite.js"
3263- },
3264- "engines": {
3265- "node": "^20.19.0 || >=22.12.0"
3266- },
3267- "funding": {
3268- "url": "https://github.com/vitejs/vite?sponsor=1"
3269- },
3270- "optionalDependencies": {
3271- "fsevents": "~2.3.3"
3272- },
3273- "peerDependencies": {
3274- "@types/node": "^20.19.0 || >=22.12.0",
3275- "jiti": ">=1.21.0",
3276- "less": "^4.0.0",
3277- "lightningcss": "^1.21.0",
3278- "sass": "^1.70.0",
3279- "sass-embedded": "^1.70.0",
3280- "stylus": ">=0.54.8",
3281- "sugarss": "^5.0.0",
3282- "terser": "^5.16.0",
3283- "tsx": "^4.8.1",
3284- "yaml": "^2.4.2"
3285- },
3286- "peerDependenciesMeta": {
3287- "@types/node": {
3288- "optional": true
3289- },
3290- "jiti": {
3291- "optional": true
3292- },
3293- "less": {
3294- "optional": true
3295- },
3296- "lightningcss": {
3297- "optional": true
3298- },
3299- "sass": {
3300- "optional": true
3301- },
3302- "sass-embedded": {
3303- "optional": true
3304- },
3305- "stylus": {
3306- "optional": true
3307- },
3308- "sugarss": {
3309- "optional": true
3310- },
3311- "terser": {
3312- "optional": true
3313- },
3314- "tsx": {
3315- "optional": true
3316- },
3317- "yaml": {
3318- "optional": true
3319- }
3320- }
3321- },
3322- "node_modules/vitefu": {
3323- "version": "1.1.2",
3324- "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.2.tgz",
3325- "integrity": "sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==",
3326- "dev": true,
3327- "license": "MIT",
3328- "workspaces": [
3329- "tests/deps/*",
3330- "tests/projects/*",
3331- "tests/projects/workspace/packages/*"
3332- ],
3333- "peerDependencies": {
3334- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-beta.0"
3335- },
3336- "peerDependenciesMeta": {
3337- "vite": {
3338- "optional": true
3339- }
3340- }
3341- },
3342- "node_modules/ws": {
3343- "version": "8.20.0",
3344- "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
3345- "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
3346- "license": "MIT",
3347- "engines": {
3348- "node": ">=10.0.0"
3349- },
3350- "peerDependencies": {
3351- "bufferutil": "^4.0.1",
3352- "utf-8-validate": ">=5.0.2"
3353- },
3354- "peerDependenciesMeta": {
3355- "bufferutil": {
3356- "optional": true
3357- },
3358- "utf-8-validate": {
3359- "optional": true
3360- }
3361- }
3362- },
3363- "node_modules/wsl-utils": {
3364- "version": "0.3.1",
3365- "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz",
3366- "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==",
3367- "license": "MIT",
3368- "dependencies": {
3369- "is-wsl": "^3.1.0",
3370- "powershell-utils": "^0.1.0"
3371- },
3372- "engines": {
3373- "node": ">=20"
3374- },
3375- "funding": {
3376- "url": "https://github.com/sponsors/sindresorhus"
3377- }
3378- },
3379- "node_modules/zimmerframe": {
3380- "version": "1.1.4",
3381- "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz",
3382- "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==",
3383- "dev": true,
3384- "license": "MIT"
3385- },
3386- "node_modules/zwitch": {
3387- "version": "2.0.4",
3388- "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
3389- "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
3390- "license": "MIT",
3391- "funding": {
3392- "type": "github",
3393- "url": "https://github.com/sponsors/wooorm"
3394- }
3395- }
3396- }
3397-}
+3,
-1
1@@ -30,6 +30,7 @@
2 "@sveltejs/vite-plugin-svelte": "^6.2.4",
3 "@tailwindcss/vite": "^4.1.18",
4 "@types/ws": "^8.18.1",
5+ "esbuild": "^0.28.2",
6 "svelte": "^5.54.0",
7 "svelte-check": "^4.4.2",
8 "tailwindcss": "^4.1.18",
9@@ -45,5 +46,6 @@
10 "shiki": "^4.0.2",
11 "simple-git": "^3.33.0",
12 "ws": "^8.20.0"
13- }
14+ },
15+ "packageManager": "[email protected]+sha512.3ef68f951cb111ac204b4a5a16f0b2ddf0da56a96e0413e81d855d9f0b55ef926714709028e1cd00c405c2c5fb7b9e8ec4dc46777c805d0373c2f2ff00fd20ec"
16 }
+2319,
-0
1@@ -0,0 +1,2319 @@
2+---
3+lockfileVersion: '9.0'
4+
5+importers:
6+
7+ .:
8+ configDependencies: {}
9+ packageManagerDependencies:
10+ pnpm:
11+ specifier: 12.6.0
12+ version: 12.6.0
13+
14+packages:
15+
16+ '@pnpm/[email protected]':
17+ resolution: {integrity: sha512-kviIHft9h02q+7N2In7tSL9T/HRUSGwYmU74YPtsWU5ee7vgqPyC0JT6RRX6miW+NxX1CvHgQxg69qq1qTLJYQ==}
18+ cpu: [arm64]
19+ os: [android]
20+
21+ '@pnpm/[email protected]':
22+ resolution: {integrity: sha512-CT8aJKLq2mtZFE71pr4E5Z2xHL8uGnRGr+NclDqsXlVF4SVcQ2QAs14mWi0C8gjT4hbmi+Q0lJRRIkMAWfjjng==}
23+ cpu: [x64]
24+ os: [android]
25+
26+ '@pnpm/[email protected]':
27+ resolution: {integrity: sha512-rafpVkjzugKBMxSvGQd5wK1x5eOTkD/+lcJIFHeQhvd+BJ8kDisOOvwhQDrpGd4vd2Fx+hhW0P2Ptt638OlhFg==}
28+ cpu: [arm64]
29+ os: [darwin]
30+
31+ '@pnpm/[email protected]':
32+ resolution: {integrity: sha512-72Jpuv1m24gI8zUNcaylYpBWEhBzz1VPhnDIU2GYM2eRP+KsOqVLwV78i+JrihI39zY2NNXmaN4eAKX1inpaDQ==}
33+ cpu: [x64]
34+ os: [darwin]
35+
36+ '@pnpm/[email protected]':
37+ resolution: {integrity: sha512-LON4QgNy1w/XF4uySZIyC/5hEB0oGdelXsY9tSKqstER+2j2X2oHz67skD11RRd/HWFRtMr64shQZ4I9ZoZ0zg==}
38+ cpu: [x64]
39+ os: [freebsd]
40+
41+ '@pnpm/[email protected]':
42+ resolution: {integrity: sha512-BdDpX+DeaMUc5x6WNcE6FkmFy36NwrBbBvwsZU737Zt3u1fTY+iKFPchjEQNCM4rT6q6xvF2oN3ZwExGsJCkxQ==}
43+ cpu: [arm64]
44+ os: [linux]
45+ libc: [musl]
46+
47+ '@pnpm/[email protected]':
48+ resolution: {integrity: sha512-8h2sNoIhHDpHDYqZZCh9PXr6krqW10btb0GHVGuw710muDHlFAHMtUG2ogmaHge6zJG1xgY4Y7mwX5g/LWvrYg==}
49+ cpu: [arm64]
50+ os: [linux]
51+ libc: [glibc]
52+
53+ '@pnpm/[email protected]':
54+ resolution: {integrity: sha512-ld6xgcEhFCFrsVsJhbmdmR714PnsEspO/Ij8w0/D7OSiz2hYGu3fZd5tKRxOI5m6H6Gl0/RRFAPncTHbsgXVjQ==}
55+ cpu: [ppc64]
56+ os: [linux]
57+ libc: [glibc]
58+
59+ '@pnpm/[email protected]':
60+ resolution: {integrity: sha512-HIbImydoC3J8NFt+8MXfhTCf5rO6NjCMyinSAHac0VmV8uCHw+kbQkyAzxV84rzz9ZOzmBOnj0b1N461UIYGsw==}
61+ cpu: [riscv64]
62+ os: [linux]
63+ libc: [glibc]
64+
65+ '@pnpm/[email protected]':
66+ resolution: {integrity: sha512-DjSqT7+BZ/lWcDHwNMuzsRVfyxUimh+D54Xw4tSWbdVVQhtWtNMUyI93LVnwCmsoEpar2gC3SFeAgywx37svKQ==}
67+ cpu: [s390x]
68+ os: [linux]
69+ libc: [glibc]
70+
71+ '@pnpm/[email protected]':
72+ resolution: {integrity: sha512-31lKeGPmRE6xfV6I3VjaEGVFRei14pl/zgoFDK4w+UkbJqOuNl2Ht3O1GuqNIg3Gl14qTEb4kZRAYFHXifDx9A==}
73+ cpu: [x64]
74+ os: [linux]
75+ libc: [musl]
76+
77+ '@pnpm/[email protected]':
78+ resolution: {integrity: sha512-qFWBneHJAJ73W4whtbaFOL1M/7DBC6ILHXuxc7ZPtEhfPuT1zeZiGrmKHoMAfJA+mcm6xhOFljqVTUS+00Jabw==}
79+ cpu: [x64]
80+ os: [linux]
81+ libc: [glibc]
82+
83+ '@pnpm/[email protected]':
84+ resolution: {integrity: sha512-OhfefXEEykZlslSUhR8PPRe6MVPV3Oink/dVfIecE5velpc7j80cZYsHlaDrtRDcm3TPwQHkaRW1SJ1efX9oFg==}
85+ cpu: [arm64]
86+ os: [win32]
87+
88+ '@pnpm/[email protected]':
89+ resolution: {integrity: sha512-L2tuyrD2+Imgxs3VK/ST/2L3xD6vDP0ktJQxM0TaGw7TbAQEMq+RMc8iK6Ew7Id579uzjJe8jSfJID2ZGsOHCA==}
90+ cpu: [x64]
91+ os: [win32]
92+
93+ [email protected]:
94+ resolution: {integrity: sha512-PvaPlRyxEawgS0paFvCy3fDaVqluBBPoHYVdnwtV75JnFHCQKOHNAMQFwsX7e56OxNxGd3yAXQNzwvL/AP0g7A==}
95+ engines: {node: '>=18.*'}
96+ hasBin: true
97+
98+snapshots:
99+
100+ '@pnpm/[email protected]':
101+ optional: true
102+
103+ '@pnpm/[email protected]':
104+ optional: true
105+
106+ '@pnpm/[email protected]':
107+ optional: true
108+
109+ '@pnpm/[email protected]':
110+ optional: true
111+
112+ '@pnpm/[email protected]':
113+ optional: true
114+
115+ '@pnpm/[email protected]':
116+ optional: true
117+
118+ '@pnpm/[email protected]':
119+ optional: true
120+
121+ '@pnpm/[email protected]':
122+ optional: true
123+
124+ '@pnpm/[email protected]':
125+ optional: true
126+
127+ '@pnpm/[email protected]':
128+ optional: true
129+
130+ '@pnpm/[email protected]':
131+ optional: true
132+
133+ '@pnpm/[email protected]':
134+ optional: true
135+
136+ '@pnpm/[email protected]':
137+ optional: true
138+
139+ '@pnpm/[email protected]':
140+ optional: true
141+
142+ [email protected]:
143+ optionalDependencies:
144+ '@pnpm/exe.android-arm64': 12.6.0
145+ '@pnpm/exe.android-x64': 12.6.0
146+ '@pnpm/exe.darwin-arm64': 12.6.0
147+ '@pnpm/exe.darwin-x64': 12.6.0
148+ '@pnpm/exe.freebsd-x64': 12.6.0
149+ '@pnpm/exe.linux-arm64': 12.6.0
150+ '@pnpm/exe.linux-arm64-musl': 12.6.0
151+ '@pnpm/exe.linux-ppc64': 12.6.0
152+ '@pnpm/exe.linux-riscv64': 12.6.0
153+ '@pnpm/exe.linux-s390x': 12.6.0
154+ '@pnpm/exe.linux-x64': 12.6.0
155+ '@pnpm/exe.linux-x64-musl': 12.6.0
156+ '@pnpm/exe.win32-arm64': 12.6.0
157+ '@pnpm/exe.win32-x64': 12.6.0
158+
159+---
160+lockfileVersion: '9.0'
161+
162+settings:
163+ autoInstallPeers: true
164+ excludeLinksFromLockfile: false
165+
166+importers:
167+
168+ .:
169+ dependencies:
170+ '@xterm/addon-fit':
171+ specifier: ^0.11.0
172+ version: 0.11.0
173+ '@xterm/xterm':
174+ specifier: ^6.0.0
175+ version: 6.0.0
176+ diff2html:
177+ specifier: ^3.4.56
178+ version: 3.4.56
179+ node-pty:
180+ specifier: ^1.2.0-beta.12
181+ version: 1.2.0-beta.15
182+ open:
183+ specifier: ^11.0.0
184+ version: 11.0.4
185+ shiki:
186+ specifier: ^4.0.2
187+ version: 4.4.3
188+ simple-git:
189+ specifier: ^3.33.0
190+ version: 3.36.0
191+ ws:
192+ specifier: ^8.20.0
193+ version: 8.21.3
194+ devDependencies:
195+ '@sveltejs/adapter-node':
196+ specifier: ^5.5.2
197+ version: 5.5.7(@sveltejs/[email protected](@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected])))
198+ '@sveltejs/kit':
199+ specifier: ^2.50.2
200+ version: 2.70.3(@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
201+ '@sveltejs/vite-plugin-svelte':
202+ specifier: ^6.2.4
203+ version: 6.2.4([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
204+ '@tailwindcss/vite':
205+ specifier: ^4.1.18
206+ version: 4.3.3([email protected](@types/[email protected])([email protected])([email protected]))
207+ '@types/ws':
208+ specifier: ^8.18.1
209+ version: 8.18.1
210+ esbuild:
211+ specifier: ^0.28.2
212+ version: 0.28.2
213+ svelte:
214+ specifier: ^5.54.0
215+ version: 5.57.1
216+ svelte-check:
217+ specifier: ^4.4.2
218+ version: 4.7.6([email protected])([email protected])([email protected])
219+ tailwindcss:
220+ specifier: ^4.1.18
221+ version: 4.3.3
222+ typescript:
223+ specifier: ^5.9.3
224+ version: 5.9.3
225+ vite:
226+ specifier: ^7.3.1
227+ version: 7.3.6(@types/[email protected])([email protected])([email protected])
228+
229+packages:
230+
231+ '@esbuild/[email protected]':
232+ resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==}
233+ engines: {node: '>=18'}
234+ cpu: [ppc64]
235+ os: [aix]
236+
237+ '@esbuild/[email protected]':
238+ resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==}
239+ engines: {node: '>=18'}
240+ cpu: [arm64]
241+ os: [android]
242+
243+ '@esbuild/[email protected]':
244+ resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==}
245+ engines: {node: '>=18'}
246+ cpu: [arm]
247+ os: [android]
248+
249+ '@esbuild/[email protected]':
250+ resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==}
251+ engines: {node: '>=18'}
252+ cpu: [x64]
253+ os: [android]
254+
255+ '@esbuild/[email protected]':
256+ resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==}
257+ engines: {node: '>=18'}
258+ cpu: [arm64]
259+ os: [darwin]
260+
261+ '@esbuild/[email protected]':
262+ resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==}
263+ engines: {node: '>=18'}
264+ cpu: [x64]
265+ os: [darwin]
266+
267+ '@esbuild/[email protected]':
268+ resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==}
269+ engines: {node: '>=18'}
270+ cpu: [arm64]
271+ os: [freebsd]
272+
273+ '@esbuild/[email protected]':
274+ resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==}
275+ engines: {node: '>=18'}
276+ cpu: [x64]
277+ os: [freebsd]
278+
279+ '@esbuild/[email protected]':
280+ resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==}
281+ engines: {node: '>=18'}
282+ cpu: [arm64]
283+ os: [linux]
284+
285+ '@esbuild/[email protected]':
286+ resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==}
287+ engines: {node: '>=18'}
288+ cpu: [arm]
289+ os: [linux]
290+
291+ '@esbuild/[email protected]':
292+ resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==}
293+ engines: {node: '>=18'}
294+ cpu: [ia32]
295+ os: [linux]
296+
297+ '@esbuild/[email protected]':
298+ resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==}
299+ engines: {node: '>=18'}
300+ cpu: [loong64]
301+ os: [linux]
302+
303+ '@esbuild/[email protected]':
304+ resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==}
305+ engines: {node: '>=18'}
306+ cpu: [mips64el]
307+ os: [linux]
308+
309+ '@esbuild/[email protected]':
310+ resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==}
311+ engines: {node: '>=18'}
312+ cpu: [ppc64]
313+ os: [linux]
314+
315+ '@esbuild/[email protected]':
316+ resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==}
317+ engines: {node: '>=18'}
318+ cpu: [riscv64]
319+ os: [linux]
320+
321+ '@esbuild/[email protected]':
322+ resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==}
323+ engines: {node: '>=18'}
324+ cpu: [s390x]
325+ os: [linux]
326+
327+ '@esbuild/[email protected]':
328+ resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==}
329+ engines: {node: '>=18'}
330+ cpu: [x64]
331+ os: [linux]
332+
333+ '@esbuild/[email protected]':
334+ resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==}
335+ engines: {node: '>=18'}
336+ cpu: [arm64]
337+ os: [netbsd]
338+
339+ '@esbuild/[email protected]':
340+ resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==}
341+ engines: {node: '>=18'}
342+ cpu: [x64]
343+ os: [netbsd]
344+
345+ '@esbuild/[email protected]':
346+ resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==}
347+ engines: {node: '>=18'}
348+ cpu: [arm64]
349+ os: [openbsd]
350+
351+ '@esbuild/[email protected]':
352+ resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==}
353+ engines: {node: '>=18'}
354+ cpu: [x64]
355+ os: [openbsd]
356+
357+ '@esbuild/[email protected]':
358+ resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==}
359+ engines: {node: '>=18'}
360+ cpu: [arm64]
361+ os: [openharmony]
362+
363+ '@esbuild/[email protected]':
364+ resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==}
365+ engines: {node: '>=18'}
366+ cpu: [x64]
367+ os: [sunos]
368+
369+ '@esbuild/[email protected]':
370+ resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==}
371+ engines: {node: '>=18'}
372+ cpu: [arm64]
373+ os: [win32]
374+
375+ '@esbuild/[email protected]':
376+ resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==}
377+ engines: {node: '>=18'}
378+ cpu: [ia32]
379+ os: [win32]
380+
381+ '@esbuild/[email protected]':
382+ resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==}
383+ engines: {node: '>=18'}
384+ cpu: [x64]
385+ os: [win32]
386+
387+ '@jridgewell/[email protected]':
388+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
389+
390+ '@jridgewell/[email protected]':
391+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
392+
393+ '@jridgewell/[email protected]':
394+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
395+ engines: {node: '>=6.0.0'}
396+
397+ '@jridgewell/[email protected]':
398+ resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==}
399+
400+ '@jridgewell/[email protected]':
401+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
402+
403+ '@kwsites/[email protected]':
404+ resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
405+
406+ '@kwsites/[email protected]':
407+ resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
408+
409+ '@napi-rs/[email protected]':
410+ resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==}
411+ engines: {node: ^22.20 || ^24.12 || >=25}
412+ cpu: [x64]
413+ os: [linux]
414+ libc: [glibc]
415+
416+ '@polka/[email protected]':
417+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
418+
419+ '@profoundlogic/[email protected]':
420+ resolution: {integrity: sha512-pmNVGuooS30Mm7YbZd5T7E5zYVO6D5Ct91sn4T39mUvMUc3sCGridcnhAufL1/Bz2QzAtzEn0agNrdk3+5yWzw==}
421+ hasBin: true
422+
423+ '@rollup/[email protected]':
424+ resolution: {integrity: sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg==}
425+ engines: {node: '>=16.0.0 || 14 >= 14.17'}
426+ peerDependencies:
427+ rollup: ^2.68.0||^3.0.0||^4.0.0
428+ peerDependenciesMeta:
429+ rollup:
430+ optional: true
431+
432+ '@rollup/[email protected]':
433+ resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
434+ engines: {node: '>=14.0.0'}
435+ peerDependencies:
436+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
437+ peerDependenciesMeta:
438+ rollup:
439+ optional: true
440+
441+ '@rollup/[email protected]':
442+ resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==}
443+ engines: {node: '>=14.0.0'}
444+ peerDependencies:
445+ rollup: ^2.78.0||^3.0.0||^4.0.0
446+ peerDependenciesMeta:
447+ rollup:
448+ optional: true
449+
450+ '@rollup/[email protected]':
451+ resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==}
452+ engines: {node: '>=14.0.0'}
453+ peerDependencies:
454+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
455+ peerDependenciesMeta:
456+ rollup:
457+ optional: true
458+
459+ '@rollup/[email protected]':
460+ resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==}
461+ engines: {node: '>=14.0.0'}
462+ peerDependencies:
463+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
464+ peerDependenciesMeta:
465+ rollup:
466+ optional: true
467+
468+ '@rollup/[email protected]':
469+ resolution: {integrity: sha512-J25QJU+B78T4FhhBsNpLJyVWOi31mwtpcMwywHmOKH65Q9IWGA81gPj+dnwlhU8wktVriYE+tFAaQgrnJRzAZg==}
470+ cpu: [arm]
471+ os: [android]
472+
473+ '@rollup/[email protected]':
474+ resolution: {integrity: sha512-LDopB3zuZM5Ux9TT2luNEBJW/tYbGU2g1d+VpKk6I+gSKDb+/7sYE6M225gRQt4RbMX6MSwMsVR/phdjVUgRLg==}
475+ cpu: [arm64]
476+ os: [android]
477+
478+ '@rollup/[email protected]':
479+ resolution: {integrity: sha512-wlJEERGfeuHeBavCL2qVnNacOK43NDoZM4sjkeRPymd04OAE9T1zBqDJgmZ+CIsPTYKwdzpUC8vmOw84dwY4Tg==}
480+ cpu: [arm64]
481+ os: [darwin]
482+
483+ '@rollup/[email protected]':
484+ resolution: {integrity: sha512-4nJJGg5jbo2wwPP4JP+LfEBA3bvP8rU9CLuhp7jWvq9sxEyhjQFTFdrqi+/dHEin/pd8jpT0vcehIpnZtmEdcQ==}
485+ cpu: [x64]
486+ os: [darwin]
487+
488+ '@rollup/[email protected]':
489+ resolution: {integrity: sha512-DrZbyCDF1hneuO6jRbvZ2D7+PIBM6yIwYnJpg2vIk58T+wuFpiaGZrfUr59lDWw45bg+IrpTGLPiNi/Fk4w3Cg==}
490+ cpu: [arm64]
491+ os: [freebsd]
492+
493+ '@rollup/[email protected]':
494+ resolution: {integrity: sha512-gqfUVMJMB3mehqywxp6hTBFfgtMQykZY19+cfiaYP0toIJLb/1DZRJHVkQQGP13W4TAwfZDWeg1qBcheTRioXQ==}
495+ cpu: [x64]
496+ os: [freebsd]
497+
498+ '@rollup/[email protected]':
499+ resolution: {integrity: sha512-CFmhpvAwzSaWMlN3VN7UtmoTihlZNzoP0juQib5TQRnYUyDV8dXeWOp29sobWAT6gXl/hQgAClLlEiYozQG3OQ==}
500+ cpu: [arm]
501+ os: [linux]
502+ libc: [glibc]
503+
504+ '@rollup/[email protected]':
505+ resolution: {integrity: sha512-Uc9H8eXCOayV6JLTH5bXKMId6qbhNHa818/BgYjm4jrlq3vZquC9cqyvHBw17xy5Mnj5f+I3gFK5JcEf3hSqrw==}
506+ cpu: [arm]
507+ os: [linux]
508+ libc: [musl]
509+
510+ '@rollup/[email protected]':
511+ resolution: {integrity: sha512-VcPr/szv/1BFw112Kt//fxulXt/JPqzzidU84iW68L2DdjnOO8QFUv2zTSYBEPHD6movBD4z+bbr5y60GYM7Jw==}
512+ cpu: [arm64]
513+ os: [linux]
514+ libc: [glibc]
515+
516+ '@rollup/[email protected]':
517+ resolution: {integrity: sha512-BnxtJ5/91BrIHYIkGrmjz/lbMhqEHt1dPFqIxIFR+jPn0xVc/oUSCtIT089zfp5ufwGDlYz2UC+Fe1SRBpYFbQ==}
518+ cpu: [arm64]
519+ os: [linux]
520+ libc: [musl]
521+
522+ '@rollup/[email protected]':
523+ resolution: {integrity: sha512-LrYcHZwF+fAMNKHYTOQ5osWM4AZF7YF6D+XtsjDyEvljtt11twc+zHVXBLNEjxVSUnKYsOhvVz4Z213eW02COQ==}
524+ cpu: [loong64]
525+ os: [linux]
526+ libc: [glibc]
527+
528+ '@rollup/[email protected]':
529+ resolution: {integrity: sha512-nj7QKQePAAUpCpJHtg0pR0W/b92A9NO17JS3BAQmHDn/yhmkir2p8llrKY9TOhleKIaSzy1JhxS3T9FVld6coA==}
530+ cpu: [loong64]
531+ os: [linux]
532+ libc: [musl]
533+
534+ '@rollup/[email protected]':
535+ resolution: {integrity: sha512-5ylkX6dWMeBKge9nTU+Rxfb+ZfaCIJ9lRqIFaK0eAMcWp7OJbYnLveLgXmm0VrvuLKb8qIK+mHyH0qu88RM+iA==}
536+ cpu: [ppc64]
537+ os: [linux]
538+ libc: [glibc]
539+
540+ '@rollup/[email protected]':
541+ resolution: {integrity: sha512-oHK4ZHYFDKjZviK34I+NwgfbGxgI7ztrNxj2hPTSSNFgeq1a/lEd7dHV2fdGAuTH4Iym3RHJg+vAbWaWG4B7Zg==}
542+ cpu: [ppc64]
543+ os: [linux]
544+ libc: [musl]
545+
546+ '@rollup/[email protected]':
547+ resolution: {integrity: sha512-UcetmHZ6XOXuUByiKZyQmb55ZPr0LABr3Ec/HB9wKZn6CEAFWZkE+hsJErJ9hbPBC7nI0dKuELx7CoV6IM7TMg==}
548+ cpu: [riscv64]
549+ os: [linux]
550+ libc: [glibc]
551+
552+ '@rollup/[email protected]':
553+ resolution: {integrity: sha512-C5CmDPQBtvjVo8cgQsBs+w6WB0JLkiixhgi6hVLV11hERWdn/p0XcPU2OUcZzac9BPOFq7SbaHFa8r3SWEysCQ==}
554+ cpu: [riscv64]
555+ os: [linux]
556+ libc: [musl]
557+
558+ '@rollup/[email protected]':
559+ resolution: {integrity: sha512-lHVQHJFKsuuxLMi3MQO9XVL8Tje3JR82CzB+QDKC5NWBcsIWuwsn9uIM5e3lBhI+fF1/s63qnyYqsg65+8rV/w==}
560+ cpu: [s390x]
561+ os: [linux]
562+ libc: [glibc]
563+
564+ '@rollup/[email protected]':
565+ resolution: {integrity: sha512-3W9bTFcQNJn71cSJVM9RKIiZOy8DO/XLDii8Uv/Pm6WKqDRj7JV3ZfuXIEfyuy5LXpIzAbB/1M4Ukp9GKNa7nA==}
566+ cpu: [x64]
567+ os: [linux]
568+ libc: [glibc]
569+
570+ '@rollup/[email protected]':
571+ resolution: {integrity: sha512-VDC7rRJlee/scpki96GZ27Omf6yU87s1YXwVTpjE5841faVlDYYT565rgfmoR1U0sqL7z5ivQSDjcsF6VRXyBA==}
572+ cpu: [x64]
573+ os: [linux]
574+ libc: [musl]
575+
576+ '@rollup/[email protected]':
577+ resolution: {integrity: sha512-z86Ok2p4pTdv5xqCKZsTooO7yBEiaJR/HzU3Wx8RmWsPoLppnMKROhJusQob8B3IE1ghC343kUW9rC2r+Wf3ig==}
578+ cpu: [x64]
579+ os: [openbsd]
580+
581+ '@rollup/[email protected]':
582+ resolution: {integrity: sha512-IzQmj+xXwQFGhMAMKMQVXkMwMZN3TqkJgAE0nSsqvVwWWciP4AIPMmWRqOQ2GfX7TUDZr+xqGFcBS36CRPGw0g==}
583+ cpu: [arm64]
584+ os: [openharmony]
585+
586+ '@rollup/[email protected]':
587+ resolution: {integrity: sha512-F6qpTaPc9bwBH85kjy0/BLmLSW1uv7AoOXCoRIkg2arlgCYlWYcAbiMkvZuAcaWk9TpCRG//okznLAqLGshkMw==}
588+ cpu: [arm64]
589+ os: [win32]
590+
591+ '@rollup/[email protected]':
592+ resolution: {integrity: sha512-igoDsTFhhwECBeGbUuLeIk7t8Y1apa+cs6mDWpx2EZ0ch7oEQgzHbFUXN9euoHekCAQzXdXApAGkV6jznS7tWw==}
593+ cpu: [ia32]
594+ os: [win32]
595+
596+ '@rollup/[email protected]':
597+ resolution: {integrity: sha512-U3teMeMbXFmaM5D+OTJpsOXd+wV/qftIeYF9kBKL4v73641qyJmoXFtA28DQLsnmlyayEsTe72xpLHrArq6vHw==}
598+ cpu: [x64]
599+ os: [win32]
600+
601+ '@rollup/[email protected]':
602+ resolution: {integrity: sha512-ypfC34F3RKXvCXBglGqGMsUSMKlgwd1HX9AOAlx9RoZZ6GaI42YHVeKpzg3JG+wpBUJYTG+NNZhqbDWL8tBZkw==}
603+ cpu: [x64]
604+ os: [win32]
605+
606+ '@shikijs/[email protected]':
607+ resolution: {integrity: sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg==}
608+ engines: {node: '>=20'}
609+
610+ '@shikijs/[email protected]':
611+ resolution: {integrity: sha512-FbOjFJp9VLdo1Wevs10BBtVxiTWwNLqZh5Gkhjgda/ioL15YOgeSl9n+6XMa3qRlPQzfhFNe641SrynFHYG0nQ==}
612+ engines: {node: '>=20'}
613+
614+ '@shikijs/[email protected]':
615+ resolution: {integrity: sha512-EcOQkxdxGQrc1Row/cC2c96/v1dbZqGnEVu1qTuT/MJmp6+cXCvQussowVmCv5Tqr3KuY3c7IbM6HTW3LJ1k9w==}
616+ engines: {node: '>=20'}
617+
618+ '@shikijs/[email protected]':
619+ resolution: {integrity: sha512-ePic0yfAJGOF83D5wBHK/00EjK65oahBYxFk5epgq33WRv7X9UuxLEV8PtR0szC0z8dl7INIpIodB99JRFlR+A==}
620+ engines: {node: '>=20'}
621+
622+ '@shikijs/[email protected]':
623+ resolution: {integrity: sha512-m0wBeLDQDeIxRdUmrCPdQqfuUamDwRL5isCfYbguKD6NiaKpVbsv+3J81DyIKgNW5h4WAIIr8T4EkgQrBBxvaQ==}
624+ engines: {node: '>=20'}
625+
626+ '@shikijs/[email protected]':
627+ resolution: {integrity: sha512-w8UHjeUnIR965KMWJHUPXOc2mNJUnK3vpVLYLvw5IYU2mnTTJ89E24OrJDBNiJDQ0qzb0tc4l7mrIXx5cFeIyw==}
628+ engines: {node: '>=20'}
629+
630+ '@shikijs/[email protected]':
631+ resolution: {integrity: sha512-UEJxmRR++MAGR6hugn0vgVS2W/6lWAts84FFSrnlH9sP0LNol7E5+NQ792pH8liWUhyMyjhTgSUH3k7iD7tc5g==}
632+ engines: {node: '>=20'}
633+
634+ '@shikijs/[email protected]':
635+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
636+
637+ '@simple-git/[email protected]':
638+ resolution: {integrity: sha512-EtMX6XjRWSastG2SdkmSQByPtJ9dx/NIjnHbpQPCYt62j4RmSx5rgLTGpw0YCjF5h191gZOmBfheOT23cRSFdw==}
639+
640+ '@simple-git/[email protected]':
641+ resolution: {integrity: sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==}
642+
643+ '@standard-schema/[email protected]':
644+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
645+
646+ '@sveltejs/[email protected]':
647+ resolution: {integrity: sha512-wgKggnhZVL9Bfx1OaKKTrYY9BFRk6C8UAkQNUcIv1+llzYrIqy+RZm5HPKzn0NpEBvTVhTqB4kQyllZywsRBRQ==}
648+ peerDependencies:
649+ acorn: ^8.9.0
650+
651+ '@sveltejs/[email protected]':
652+ resolution: {integrity: sha512-uOfc9eVlI3A37RRSaKcgrheBYPrfJwC9VMqDp8x/O6tlKdcLLvHThSWD0KNIbjQ/d+7bwLGx3vx6aowAcRfd2g==}
653+ peerDependencies:
654+ '@sveltejs/kit': ^2.4.0
655+
656+ '@sveltejs/[email protected]':
657+ resolution: {integrity: sha512-UDvEYuZqAMbfB/oXIoqKvbKcb7YczK5zYrzmsGV1zRJk03jntwp8dXiYoIJotxAndsKvcPFtx9H1GRSKFdSHgg==}
658+ engines: {node: '>=18.13'}
659+ hasBin: true
660+ peerDependencies:
661+ '@opentelemetry/api': ^1.0.0
662+ '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0
663+ svelte: ^4.0.0 || ^5.0.0-next.0
664+ typescript: ^5.3.3 || ^6.0.0
665+ vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0
666+ peerDependenciesMeta:
667+ '@opentelemetry/api':
668+ optional: true
669+ typescript:
670+ optional: true
671+
672+ '@sveltejs/[email protected]':
673+ resolution: {integrity: sha512-VT3qmUb8pRV2QrZjd8iAmtg8lf4W0TIjZbvXtz5MKei/q96teWZgGJyyidJzOjzZzvdq616eSRVeMYIQChUTAQ==}
674+ engines: {node: '>= 18.0.0'}
675+
676+ '@sveltejs/[email protected]':
677+ resolution: {integrity: sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==}
678+ engines: {node: ^20.19 || ^22.12 || >=24}
679+ peerDependencies:
680+ '@sveltejs/vite-plugin-svelte': ^6.0.0-next.0
681+ svelte: ^5.0.0
682+ vite: ^6.3.0 || ^7.0.0
683+
684+ '@sveltejs/[email protected]':
685+ resolution: {integrity: sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==}
686+ engines: {node: ^20.19 || ^22.12 || >=24}
687+ peerDependencies:
688+ svelte: ^5.0.0
689+ vite: ^6.3.0 || ^7.0.0
690+
691+ '@tailwindcss/[email protected]':
692+ resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==}
693+
694+ '@tailwindcss/[email protected]':
695+ resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==}
696+ engines: {node: '>= 20'}
697+ cpu: [arm64]
698+ os: [android]
699+
700+ '@tailwindcss/[email protected]':
701+ resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==}
702+ engines: {node: '>= 20'}
703+ cpu: [arm64]
704+ os: [darwin]
705+
706+ '@tailwindcss/[email protected]':
707+ resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==}
708+ engines: {node: '>= 20'}
709+ cpu: [x64]
710+ os: [darwin]
711+
712+ '@tailwindcss/[email protected]':
713+ resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==}
714+ engines: {node: '>= 20'}
715+ cpu: [x64]
716+ os: [freebsd]
717+
718+ '@tailwindcss/[email protected]':
719+ resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==}
720+ engines: {node: '>= 20'}
721+ cpu: [arm]
722+ os: [linux]
723+
724+ '@tailwindcss/[email protected]':
725+ resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==}
726+ engines: {node: '>= 20'}
727+ cpu: [arm64]
728+ os: [linux]
729+ libc: [glibc]
730+
731+ '@tailwindcss/[email protected]':
732+ resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==}
733+ engines: {node: '>= 20'}
734+ cpu: [arm64]
735+ os: [linux]
736+ libc: [musl]
737+
738+ '@tailwindcss/[email protected]':
739+ resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==}
740+ engines: {node: '>= 20'}
741+ cpu: [x64]
742+ os: [linux]
743+ libc: [glibc]
744+
745+ '@tailwindcss/[email protected]':
746+ resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==}
747+ engines: {node: '>= 20'}
748+ cpu: [x64]
749+ os: [linux]
750+ libc: [musl]
751+
752+ '@tailwindcss/[email protected]':
753+ resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==}
754+ engines: {node: '>=14.0.0'}
755+ cpu: [wasm32]
756+ bundledDependencies:
757+ - '@napi-rs/wasm-runtime'
758+ - '@emnapi/core'
759+ - '@emnapi/runtime'
760+ - '@tybys/wasm-util'
761+ - '@emnapi/wasi-threads'
762+ - tslib
763+
764+ '@tailwindcss/[email protected]':
765+ resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==}
766+ engines: {node: '>= 20'}
767+ cpu: [arm64]
768+ os: [win32]
769+
770+ '@tailwindcss/[email protected]':
771+ resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==}
772+ engines: {node: '>= 20'}
773+ cpu: [x64]
774+ os: [win32]
775+
776+ '@tailwindcss/[email protected]':
777+ resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==}
778+ engines: {node: '>= 20'}
779+
780+ '@tailwindcss/[email protected]':
781+ resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==}
782+ peerDependencies:
783+ vite: ^5.2.0 || ^6 || ^7 || ^8
784+
785+ '@types/[email protected]':
786+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
787+
788+ '@types/[email protected]':
789+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
790+
791+ '@types/[email protected]':
792+ resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==}
793+
794+ '@types/[email protected]':
795+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
796+
797+ '@types/[email protected]':
798+ resolution: {integrity: sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==}
799+
800+ '@types/[email protected]':
801+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
802+
803+ '@types/[email protected]':
804+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
805+
806+ '@types/[email protected]':
807+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
808+
809+ '@ungap/[email protected]':
810+ resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==}
811+
812+ '@xterm/[email protected]':
813+ resolution: {integrity: sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==}
814+
815+ '@xterm/[email protected]':
816+ resolution: {integrity: sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==}
817+
818+ [email protected]:
819+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
820+
821+ [email protected]:
822+ resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==}
823+ engines: {node: '>=0.4.0'}
824+ hasBin: true
825+
826+ [email protected]:
827+ resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==}
828+ engines: {node: '>= 0.4'}
829+
830+ [email protected]:
831+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
832+ engines: {node: '>= 0.4'}
833+
834+ [email protected]:
835+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
836+ engines: {node: '>=18'}
837+
838+ [email protected]:
839+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
840+
841+ [email protected]:
842+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
843+
844+ [email protected]:
845+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
846+
847+ [email protected]:
848+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
849+ engines: {node: '>= 14.16.0'}
850+
851+ [email protected]:
852+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
853+ engines: {node: '>=6'}
854+
855+ [email protected]:
856+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
857+
858+ [email protected]:
859+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
860+
861+ [email protected]:
862+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
863+ engines: {node: '>= 0.6'}
864+
865+ [email protected]:
866+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
867+ engines: {node: '>=6.0'}
868+ peerDependencies:
869+ supports-color: '*'
870+ peerDependenciesMeta:
871+ supports-color:
872+ optional: true
873+
874+ [email protected]:
875+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
876+ engines: {node: '>=0.10.0'}
877+
878+ [email protected]:
879+ resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
880+ engines: {node: '>=18'}
881+
882+ [email protected]:
883+ resolution: {integrity: sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==}
884+ engines: {node: '>=18'}
885+
886+ [email protected]:
887+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
888+ engines: {node: '>=12'}
889+
890+ [email protected]:
891+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
892+ engines: {node: '>=6'}
893+
894+ [email protected]:
895+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
896+ engines: {node: '>=8'}
897+
898+ [email protected]:
899+ resolution: {integrity: sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==}
900+
901+ [email protected]:
902+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
903+
904+ [email protected]:
905+ resolution: {integrity: sha512-u9gfn+BlbHcyO7vItCIC4z49LJDUt31tODzOfAuJ5R1E7IdlRL6KjugcB9zOpejD+XiR+dDZbsnHSQ3g6A/u8A==}
906+ engines: {node: '>=12'}
907+
908+ [email protected]:
909+ resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==}
910+ engines: {node: '>=0.3.1'}
911+
912+ [email protected]:
913+ resolution: {integrity: sha512-nGXts5znJzmWPu+mIE9izCOzdg63oJca2mDzGWWTth7sr4aCToKcoyFVBQwN75Ij5Pf6p510EwkTqViTRzDV+w==}
914+ engines: {node: '>=10.13.0'}
915+
916+ [email protected]:
917+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
918+ engines: {node: '>= 0.4'}
919+
920+ [email protected]:
921+ resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==}
922+ engines: {node: '>=18'}
923+ hasBin: true
924+
925+ [email protected]:
926+ resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
927+
928+ [email protected]:
929+ resolution: {integrity: sha512-X+t0J3EQKrrw5lgpgjn4hKjD17cHCZBZIcp2OUOyH7teMjH67gNRR2p+b1rMYavBkRN6VfHPWJOPY7w+VwQf/g==}
930+ peerDependencies:
931+ '@typescript-eslint/types': ^8.2.0
932+ peerDependenciesMeta:
933+ '@typescript-eslint/types':
934+ optional: true
935+
936+ [email protected]:
937+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
938+
939+ [email protected]:
940+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
941+ engines: {node: '>=12.0.0'}
942+ peerDependencies:
943+ picomatch: ^3 || ^4
944+ peerDependenciesMeta:
945+ picomatch:
946+ optional: true
947+
948+ [email protected]:
949+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
950+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
951+ os: [darwin]
952+
953+ [email protected]:
954+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
955+
956+ [email protected]:
957+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
958+
959+ [email protected]:
960+ resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
961+ engines: {node: '>= 0.4'}
962+
963+ [email protected]:
964+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
965+
966+ [email protected]:
967+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
968+
969+ [email protected]:
970+ resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
971+ engines: {node: '>=12.0.0'}
972+
973+ [email protected]:
974+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
975+
976+ [email protected]:
977+ resolution: {integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==}
978+ engines: {node: '>= 0.4'}
979+
980+ [email protected]:
981+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
982+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
983+ hasBin: true
984+
985+ [email protected]:
986+ resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
987+ engines: {node: '>=20'}
988+
989+ [email protected]:
990+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
991+ engines: {node: '>=14.16'}
992+ hasBin: true
993+
994+ [email protected]:
995+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
996+
997+ [email protected]:
998+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
999+
1000+ [email protected]:
1001+ resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
1002+
1003+ [email protected]:
1004+ resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
1005+ engines: {node: '>=16'}
1006+
1007+ [email protected]:
1008+ resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
1009+ hasBin: true
1010+
1011+ [email protected]:
1012+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1013+ engines: {node: '>=6'}
1014+
1015+ [email protected]:
1016+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
1017+ engines: {node: '>= 12.0.0'}
1018+ cpu: [arm64]
1019+ os: [android]
1020+
1021+ [email protected]:
1022+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
1023+ engines: {node: '>= 12.0.0'}
1024+ cpu: [arm64]
1025+ os: [darwin]
1026+
1027+ [email protected]:
1028+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
1029+ engines: {node: '>= 12.0.0'}
1030+ cpu: [x64]
1031+ os: [darwin]
1032+
1033+ [email protected]:
1034+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
1035+ engines: {node: '>= 12.0.0'}
1036+ cpu: [x64]
1037+ os: [freebsd]
1038+
1039+ [email protected]:
1040+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
1041+ engines: {node: '>= 12.0.0'}
1042+ cpu: [arm]
1043+ os: [linux]
1044+
1045+ [email protected]:
1046+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
1047+ engines: {node: '>= 12.0.0'}
1048+ cpu: [arm64]
1049+ os: [linux]
1050+ libc: [glibc]
1051+
1052+ [email protected]:
1053+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
1054+ engines: {node: '>= 12.0.0'}
1055+ cpu: [arm64]
1056+ os: [linux]
1057+ libc: [musl]
1058+
1059+ [email protected]:
1060+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
1061+ engines: {node: '>= 12.0.0'}
1062+ cpu: [x64]
1063+ os: [linux]
1064+ libc: [glibc]
1065+
1066+ [email protected]:
1067+ resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
1068+ engines: {node: '>= 12.0.0'}
1069+ cpu: [x64]
1070+ os: [linux]
1071+ libc: [musl]
1072+
1073+ [email protected]:
1074+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
1075+ engines: {node: '>= 12.0.0'}
1076+ cpu: [arm64]
1077+ os: [win32]
1078+
1079+ [email protected]:
1080+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
1081+ engines: {node: '>= 12.0.0'}
1082+ cpu: [x64]
1083+ os: [win32]
1084+
1085+ [email protected]:
1086+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
1087+ engines: {node: '>= 12.0.0'}
1088+
1089+ [email protected]:
1090+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
1091+
1092+ [email protected]:
1093+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
1094+
1095+ [email protected]:
1096+ resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
1097+
1098+ [email protected]:
1099+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
1100+
1101+ [email protected]:
1102+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
1103+
1104+ [email protected]:
1105+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
1106+
1107+ [email protected]:
1108+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
1109+
1110+ [email protected]:
1111+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
1112+
1113+ [email protected]:
1114+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1115+ engines: {node: '>=4'}
1116+
1117+ [email protected]:
1118+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
1119+ engines: {node: '>=10'}
1120+
1121+ [email protected]:
1122+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1123+
1124+ [email protected]:
1125+ resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==}
1126+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1127+ hasBin: true
1128+
1129+ [email protected]:
1130+ resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
1131+
1132+ [email protected]:
1133+ resolution: {integrity: sha512-vORSzHXi4Ofl7HemVWpuudLqCPdaQb4LfpRCUpE5HPxhp4JYscl8zZwxh11p26v2wvW24WMwnMfLjhRLixrfxA==}
1134+
1135+ [email protected]:
1136+ resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
1137+ hasBin: true
1138+
1139+ [email protected]:
1140+ resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==}
1141+ engines: {node: '>=12.20.0'}
1142+
1143+ [email protected]:
1144+ resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
1145+
1146+ [email protected]:
1147+ resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
1148+
1149+ [email protected]:
1150+ resolution: {integrity: sha512-++Zlftm0kVLPmzC06t6epuWmcRMDbI4z5P3NNX979WA/k23+NtSOynEGzsVfZwguKw2mi5umVgnBlJQMwRz4Pg==}
1151+ engines: {node: '>=20'}
1152+
1153+ [email protected]:
1154+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1155+
1156+ [email protected]:
1157+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1158+
1159+ [email protected]:
1160+ resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==}
1161+ engines: {node: '>=12'}
1162+
1163+ [email protected]:
1164+ resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==}
1165+ engines: {node: ^10 || ^12 || >=14}
1166+
1167+ [email protected]:
1168+ resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
1169+ engines: {node: '>=20'}
1170+
1171+ [email protected]:
1172+ resolution: {integrity: sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==}
1173+ engines: {node: '>=20'}
1174+
1175+ [email protected]:
1176+ resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==}
1177+
1178+ [email protected]:
1179+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
1180+ engines: {node: '>= 14.18.0'}
1181+
1182+ [email protected]:
1183+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
1184+
1185+ [email protected]:
1186+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
1187+
1188+ [email protected]:
1189+ resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
1190+
1191+ [email protected]:
1192+ resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
1193+ engines: {node: '>= 0.4'}
1194+ hasBin: true
1195+
1196+ [email protected]:
1197+ resolution: {integrity: sha512-KRWwmNLlPw5M7HcdYfm15oBv9n9LPtjzpzCIxS/phwqvPyxHSoKX6Y2YU3pxSPfy0CLquVgsx/j/hBi6OvH1Nw==}
1198+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1199+ hasBin: true
1200+
1201+ [email protected]:
1202+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
1203+ engines: {node: '>=18'}
1204+
1205+ [email protected]:
1206+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1207+ engines: {node: '>=6'}
1208+
1209+ [email protected]:
1210+ resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==}
1211+
1212+ [email protected]:
1213+ resolution: {integrity: sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==}
1214+ engines: {node: '>=20'}
1215+
1216+ [email protected]:
1217+ resolution: {integrity: sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q==}
1218+
1219+ [email protected]:
1220+ resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
1221+ engines: {node: '>=18'}
1222+
1223+ [email protected]:
1224+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1225+ engines: {node: '>=0.10.0'}
1226+
1227+ [email protected]:
1228+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
1229+
1230+ [email protected]:
1231+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
1232+
1233+ [email protected]:
1234+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1235+ engines: {node: '>= 0.4'}
1236+
1237+ [email protected]:
1238+ resolution: {integrity: sha512-t2scM//ZuVbSY/T2w6FSBw1v9s2NEmh/g+sy1lqtosW5ylBV5AF4wFb1Ts9Kf3MbfPDUDJDZ9L436YT0SPTdvw==}
1239+ engines: {node: '>= 18.0.0'}
1240+ hasBin: true
1241+ peerDependencies:
1242+ svelte: ^4.0.0 || ^5.0.0-next.0
1243+ typescript: ^5.0.0 || ^6.0.0
1244+
1245+ [email protected]:
1246+ resolution: {integrity: sha512-Uqj49lWKB+iSSnneuwiYYJ7MZgkB+eXr0LXBhv4uDuAkXqnWmq65Sxflfvp0Lc6MdKjMUxGaeOKWJqz5SNiVIA==}
1247+ engines: {node: '>=18'}
1248+
1249+ [email protected]:
1250+ resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==}
1251+
1252+ [email protected]:
1253+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
1254+ engines: {node: '>=6'}
1255+
1256+ [email protected]:
1257+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
1258+ engines: {node: '>=12.0.0'}
1259+
1260+ [email protected]:
1261+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
1262+ engines: {node: '>=6'}
1263+
1264+ [email protected]:
1265+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
1266+
1267+ [email protected]:
1268+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
1269+ engines: {node: '>=14.17'}
1270+ hasBin: true
1271+
1272+ [email protected]:
1273+ resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==}
1274+
1275+ [email protected]:
1276+ resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
1277+
1278+ [email protected]:
1279+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
1280+
1281+ [email protected]:
1282+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
1283+
1284+ [email protected]:
1285+ resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==}
1286+
1287+ [email protected]:
1288+ resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
1289+
1290+ [email protected]:
1291+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
1292+
1293+ [email protected]:
1294+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
1295+
1296+ [email protected]:
1297+ resolution: {integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==}
1298+ engines: {node: ^20.19.0 || >=22.12.0}
1299+ hasBin: true
1300+ peerDependencies:
1301+ '@types/node': ^20.19.0 || >=22.12.0
1302+ jiti: '>=1.21.0'
1303+ less: ^4.0.0
1304+ lightningcss: ^1.21.0
1305+ sass: ^1.70.0
1306+ sass-embedded: ^1.70.0
1307+ stylus: '>=0.54.8'
1308+ sugarss: ^5.0.0
1309+ terser: ^5.16.0
1310+ tsx: ^4.8.1
1311+ yaml: ^2.4.2
1312+ peerDependenciesMeta:
1313+ '@types/node':
1314+ optional: true
1315+ jiti:
1316+ optional: true
1317+ less:
1318+ optional: true
1319+ lightningcss:
1320+ optional: true
1321+ sass:
1322+ optional: true
1323+ sass-embedded:
1324+ optional: true
1325+ stylus:
1326+ optional: true
1327+ sugarss:
1328+ optional: true
1329+ terser:
1330+ optional: true
1331+ tsx:
1332+ optional: true
1333+ yaml:
1334+ optional: true
1335+
1336+ [email protected]:
1337+ resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
1338+ peerDependencies:
1339+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
1340+ peerDependenciesMeta:
1341+ vite:
1342+ optional: true
1343+
1344+ [email protected]:
1345+ resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==}
1346+ engines: {node: '>=10.0.0'}
1347+ peerDependencies:
1348+ bufferutil: ^4.0.1
1349+ utf-8-validate: '>=5.0.2'
1350+ peerDependenciesMeta:
1351+ bufferutil:
1352+ optional: true
1353+ utf-8-validate:
1354+ optional: true
1355+
1356+ [email protected]:
1357+ resolution: {integrity: sha512-Hl0ZOAs672vg+06kfujwRhoS6/jehvULrlFkuF2dRu6pHgA8U06h3xqNIqNNU1LTXPcedxByAR4GS6pwQK0mgA==}
1358+ engines: {node: '>=20'}
1359+
1360+ [email protected]:
1361+ resolution: {integrity: sha512-msJxIvYDYcoNL+PJsu+7qmpDWsYmAxTY+2TNYXXF0hzBzBk0BMecOqDOG/EckUoKCuKwObfbugIl8QpqHDXeFA==}
1362+
1363+ [email protected]:
1364+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
1365+
1366+snapshots:
1367+
1368+ '@esbuild/[email protected]':
1369+ optional: true
1370+
1371+ '@esbuild/[email protected]':
1372+ optional: true
1373+
1374+ '@esbuild/[email protected]':
1375+ optional: true
1376+
1377+ '@esbuild/[email protected]':
1378+ optional: true
1379+
1380+ '@esbuild/[email protected]':
1381+ optional: true
1382+
1383+ '@esbuild/[email protected]':
1384+ optional: true
1385+
1386+ '@esbuild/[email protected]':
1387+ optional: true
1388+
1389+ '@esbuild/[email protected]':
1390+ optional: true
1391+
1392+ '@esbuild/[email protected]':
1393+ optional: true
1394+
1395+ '@esbuild/[email protected]':
1396+ optional: true
1397+
1398+ '@esbuild/[email protected]':
1399+ optional: true
1400+
1401+ '@esbuild/[email protected]':
1402+ optional: true
1403+
1404+ '@esbuild/[email protected]':
1405+ optional: true
1406+
1407+ '@esbuild/[email protected]':
1408+ optional: true
1409+
1410+ '@esbuild/[email protected]':
1411+ optional: true
1412+
1413+ '@esbuild/[email protected]':
1414+ optional: true
1415+
1416+ '@esbuild/[email protected]':
1417+ optional: true
1418+
1419+ '@esbuild/[email protected]':
1420+ optional: true
1421+
1422+ '@esbuild/[email protected]':
1423+ optional: true
1424+
1425+ '@esbuild/[email protected]':
1426+ optional: true
1427+
1428+ '@esbuild/[email protected]':
1429+ optional: true
1430+
1431+ '@esbuild/[email protected]':
1432+ optional: true
1433+
1434+ '@esbuild/[email protected]':
1435+ optional: true
1436+
1437+ '@esbuild/[email protected]':
1438+ optional: true
1439+
1440+ '@esbuild/[email protected]':
1441+ optional: true
1442+
1443+ '@esbuild/[email protected]':
1444+ optional: true
1445+
1446+ '@jridgewell/[email protected]':
1447+ dependencies:
1448+ '@jridgewell/sourcemap-codec': 1.6.0
1449+ '@jridgewell/trace-mapping': 0.3.31
1450+
1451+ '@jridgewell/[email protected]':
1452+ dependencies:
1453+ '@jridgewell/gen-mapping': 0.3.13
1454+ '@jridgewell/trace-mapping': 0.3.31
1455+
1456+ '@jridgewell/[email protected]': {}
1457+
1458+ '@jridgewell/[email protected]': {}
1459+
1460+ '@jridgewell/[email protected]':
1461+ dependencies:
1462+ '@jridgewell/resolve-uri': 3.1.2
1463+ '@jridgewell/sourcemap-codec': 1.6.0
1464+
1465+ '@kwsites/[email protected]':
1466+ dependencies:
1467+ debug: 4.4.3
1468+ transitivePeerDependencies:
1469+ - supports-color
1470+
1471+ '@kwsites/[email protected]': {}
1472+
1473+ '@napi-rs/[email protected]':
1474+ optional: true
1475+
1476+ '@polka/[email protected]': {}
1477+
1478+ '@profoundlogic/[email protected]':
1479+ dependencies:
1480+ nopt: 1.0.10
1481+
1482+ '@rollup/[email protected]([email protected])':
1483+ dependencies:
1484+ '@rollup/pluginutils': 5.4.0([email protected])
1485+ commondir: 1.0.1
1486+ estree-walker: 2.0.2
1487+ fdir: 6.5.0([email protected])
1488+ is-reference: 1.2.1
1489+ magic-string: 0.30.21
1490+ picomatch: 4.0.7
1491+ optionalDependencies:
1492+ rollup: 4.63.5
1493+
1494+ '@rollup/[email protected]([email protected])':
1495+ dependencies:
1496+ '@rollup/pluginutils': 5.4.0([email protected])
1497+ optionalDependencies:
1498+ rollup: 4.63.5
1499+
1500+ '@rollup/[email protected]([email protected])':
1501+ dependencies:
1502+ '@rollup/pluginutils': 5.4.0([email protected])
1503+ '@types/resolve': 1.20.2
1504+ deepmerge: 4.3.1
1505+ is-module: 1.0.0
1506+ resolve: 1.22.12
1507+ optionalDependencies:
1508+ rollup: 4.63.5
1509+
1510+ '@rollup/[email protected]([email protected])':
1511+ dependencies:
1512+ '@rollup/pluginutils': 5.4.0([email protected])
1513+ magic-string: 0.30.21
1514+ optionalDependencies:
1515+ rollup: 4.63.5
1516+
1517+ '@rollup/[email protected]([email protected])':
1518+ dependencies:
1519+ '@types/estree': 1.0.9
1520+ estree-walker: 2.0.2
1521+ picomatch: 4.0.7
1522+ optionalDependencies:
1523+ rollup: 4.63.5
1524+
1525+ '@rollup/[email protected]':
1526+ optional: true
1527+
1528+ '@rollup/[email protected]':
1529+ optional: true
1530+
1531+ '@rollup/[email protected]':
1532+ optional: true
1533+
1534+ '@rollup/[email protected]':
1535+ optional: true
1536+
1537+ '@rollup/[email protected]':
1538+ optional: true
1539+
1540+ '@rollup/[email protected]':
1541+ optional: true
1542+
1543+ '@rollup/[email protected]':
1544+ optional: true
1545+
1546+ '@rollup/[email protected]':
1547+ optional: true
1548+
1549+ '@rollup/[email protected]':
1550+ optional: true
1551+
1552+ '@rollup/[email protected]':
1553+ optional: true
1554+
1555+ '@rollup/[email protected]':
1556+ optional: true
1557+
1558+ '@rollup/[email protected]':
1559+ optional: true
1560+
1561+ '@rollup/[email protected]':
1562+ optional: true
1563+
1564+ '@rollup/[email protected]':
1565+ optional: true
1566+
1567+ '@rollup/[email protected]':
1568+ optional: true
1569+
1570+ '@rollup/[email protected]':
1571+ optional: true
1572+
1573+ '@rollup/[email protected]':
1574+ optional: true
1575+
1576+ '@rollup/[email protected]':
1577+ optional: true
1578+
1579+ '@rollup/[email protected]':
1580+ optional: true
1581+
1582+ '@rollup/[email protected]':
1583+ optional: true
1584+
1585+ '@rollup/[email protected]':
1586+ optional: true
1587+
1588+ '@rollup/[email protected]':
1589+ optional: true
1590+
1591+ '@rollup/[email protected]':
1592+ optional: true
1593+
1594+ '@rollup/[email protected]':
1595+ optional: true
1596+
1597+ '@rollup/[email protected]':
1598+ optional: true
1599+
1600+ '@shikijs/[email protected]':
1601+ dependencies:
1602+ '@shikijs/primitive': 4.4.3
1603+ '@shikijs/types': 4.4.3
1604+ '@shikijs/vscode-textmate': 10.0.2
1605+ '@types/hast': 3.0.5
1606+ hast-util-to-html: 9.0.5
1607+
1608+ '@shikijs/[email protected]':
1609+ dependencies:
1610+ '@shikijs/types': 4.4.3
1611+ '@shikijs/vscode-textmate': 10.0.2
1612+ oniguruma-to-es: 4.3.6
1613+
1614+ '@shikijs/[email protected]':
1615+ dependencies:
1616+ '@shikijs/types': 4.4.3
1617+ '@shikijs/vscode-textmate': 10.0.2
1618+
1619+ '@shikijs/[email protected]':
1620+ dependencies:
1621+ '@shikijs/types': 4.4.3
1622+
1623+ '@shikijs/[email protected]':
1624+ dependencies:
1625+ '@shikijs/types': 4.4.3
1626+ '@shikijs/vscode-textmate': 10.0.2
1627+ '@types/hast': 3.0.5
1628+
1629+ '@shikijs/[email protected]':
1630+ dependencies:
1631+ '@shikijs/types': 4.4.3
1632+
1633+ '@shikijs/[email protected]':
1634+ dependencies:
1635+ '@shikijs/vscode-textmate': 10.0.2
1636+ '@types/hast': 3.0.5
1637+
1638+ '@shikijs/[email protected]': {}
1639+
1640+ '@simple-git/[email protected]': {}
1641+
1642+ '@simple-git/[email protected]':
1643+ dependencies:
1644+ '@simple-git/args-pathspec': 1.0.4
1645+
1646+ '@standard-schema/[email protected]': {}
1647+
1648+ '@sveltejs/[email protected]([email protected])':
1649+ dependencies:
1650+ acorn: 8.18.0
1651+
1652+ '@sveltejs/[email protected](@sveltejs/[email protected](@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected])))':
1653+ dependencies:
1654+ '@rollup/plugin-commonjs': 29.0.3([email protected])
1655+ '@rollup/plugin-json': 6.1.0([email protected])
1656+ '@rollup/plugin-node-resolve': 16.0.3([email protected])
1657+ '@rollup/plugin-replace': 6.0.3([email protected])
1658+ '@sveltejs/kit': 2.70.3(@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
1659+ rollup: 4.63.5
1660+
1661+ '@sveltejs/[email protected](@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected]))':
1662+ dependencies:
1663+ '@standard-schema/spec': 1.1.0
1664+ '@sveltejs/acorn-typescript': 1.0.13([email protected])
1665+ '@sveltejs/vite-plugin-svelte': 6.2.4([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
1666+ '@types/cookie': 0.6.0
1667+ acorn: 8.18.0
1668+ cookie: 0.6.0
1669+ devalue: 5.9.4
1670+ esm-env: 1.2.2
1671+ kleur: 4.1.5
1672+ magic-string: 0.30.21
1673+ mrmime: 2.0.1
1674+ set-cookie-parser: 3.1.2
1675+ sirv: 3.0.2
1676+ svelte: 5.57.1
1677+ vite: 7.3.6(@types/[email protected])([email protected])([email protected])
1678+ optionalDependencies:
1679+ typescript: 5.9.3
1680+
1681+ '@sveltejs/[email protected]': {}
1682+
1683+ '@sveltejs/[email protected](@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected](@types/[email protected])([email protected])([email protected]))':
1684+ dependencies:
1685+ '@sveltejs/vite-plugin-svelte': 6.2.4([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
1686+ obug: 2.2.1
1687+ svelte: 5.57.1
1688+ vite: 7.3.6(@types/[email protected])([email protected])([email protected])
1689+
1690+ '@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected]))':
1691+ dependencies:
1692+ '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/[email protected]([email protected])([email protected](@types/[email protected])([email protected])([email protected])))([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
1693+ deepmerge: 4.3.1
1694+ magic-string: 0.30.21
1695+ obug: 2.2.1
1696+ svelte: 5.57.1
1697+ vite: 7.3.6(@types/[email protected])([email protected])([email protected])
1698+ vitefu: 1.1.3([email protected](@types/[email protected])([email protected])([email protected]))
1699+
1700+ '@tailwindcss/[email protected]':
1701+ dependencies:
1702+ '@jridgewell/remapping': 2.3.5
1703+ enhanced-resolve: 5.25.1
1704+ jiti: 2.7.0
1705+ lightningcss: 1.32.0
1706+ magic-string: 0.30.21
1707+ source-map-js: 1.2.1
1708+ tailwindcss: 4.3.3
1709+
1710+ '@tailwindcss/[email protected]':
1711+ optional: true
1712+
1713+ '@tailwindcss/[email protected]':
1714+ optional: true
1715+
1716+ '@tailwindcss/[email protected]':
1717+ optional: true
1718+
1719+ '@tailwindcss/[email protected]':
1720+ optional: true
1721+
1722+ '@tailwindcss/[email protected]':
1723+ optional: true
1724+
1725+ '@tailwindcss/[email protected]':
1726+ optional: true
1727+
1728+ '@tailwindcss/[email protected]':
1729+ optional: true
1730+
1731+ '@tailwindcss/[email protected]':
1732+ optional: true
1733+
1734+ '@tailwindcss/[email protected]':
1735+ optional: true
1736+
1737+ '@tailwindcss/[email protected]':
1738+ optional: true
1739+
1740+ '@tailwindcss/[email protected]':
1741+ optional: true
1742+
1743+ '@tailwindcss/[email protected]':
1744+ optional: true
1745+
1746+ '@tailwindcss/[email protected]':
1747+ optionalDependencies:
1748+ '@tailwindcss/oxide-android-arm64': 4.3.3
1749+ '@tailwindcss/oxide-darwin-arm64': 4.3.3
1750+ '@tailwindcss/oxide-darwin-x64': 4.3.3
1751+ '@tailwindcss/oxide-freebsd-x64': 4.3.3
1752+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3
1753+ '@tailwindcss/oxide-linux-arm64-gnu': 4.3.3
1754+ '@tailwindcss/oxide-linux-arm64-musl': 4.3.3
1755+ '@tailwindcss/oxide-linux-x64-gnu': 4.3.3
1756+ '@tailwindcss/oxide-linux-x64-musl': 4.3.3
1757+ '@tailwindcss/oxide-wasm32-wasi': 4.3.3
1758+ '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3
1759+ '@tailwindcss/oxide-win32-x64-msvc': 4.3.3
1760+
1761+ '@tailwindcss/[email protected]([email protected](@types/[email protected])([email protected])([email protected]))':
1762+ dependencies:
1763+ '@tailwindcss/node': 4.3.3
1764+ '@tailwindcss/oxide': 4.3.3
1765+ tailwindcss: 4.3.3
1766+ vite: 7.3.6(@types/[email protected])([email protected])([email protected])
1767+
1768+ '@types/[email protected]': {}
1769+
1770+ '@types/[email protected]': {}
1771+
1772+ '@types/[email protected]':
1773+ dependencies:
1774+ '@types/unist': 3.0.3
1775+
1776+ '@types/[email protected]':
1777+ dependencies:
1778+ '@types/unist': 3.0.3
1779+
1780+ '@types/[email protected]':
1781+ dependencies:
1782+ undici-types: 8.9.0
1783+
1784+ '@types/[email protected]': {}
1785+
1786+ '@types/[email protected]': {}
1787+
1788+ '@types/[email protected]':
1789+ dependencies:
1790+ '@types/node': 26.6.2
1791+
1792+ '@ungap/[email protected]': {}
1793+
1794+ '@xterm/[email protected]': {}
1795+
1796+ '@xterm/[email protected]': {}
1797+
1798+ [email protected]: {}
1799+
1800+ [email protected]: {}
1801+
1802+ [email protected]: {}
1803+
1804+ [email protected]: {}
1805+
1806+ [email protected]:
1807+ dependencies:
1808+ run-applescript: 7.1.0
1809+
1810+ [email protected]: {}
1811+
1812+ [email protected]: {}
1813+
1814+ [email protected]: {}
1815+
1816+ [email protected]:
1817+ dependencies:
1818+ readdirp: 4.1.2
1819+
1820+ [email protected]: {}
1821+
1822+ [email protected]: {}
1823+
1824+ [email protected]: {}
1825+
1826+ [email protected]: {}
1827+
1828+ [email protected]:
1829+ dependencies:
1830+ ms: 2.1.3
1831+
1832+ [email protected]: {}
1833+
1834+ [email protected]: {}
1835+
1836+ [email protected]:
1837+ dependencies:
1838+ bundle-name: 4.1.0
1839+ default-browser-id: 5.0.1
1840+
1841+ [email protected]: {}
1842+
1843+ [email protected]: {}
1844+
1845+ [email protected]: {}
1846+
1847+ [email protected]: {}
1848+
1849+ [email protected]:
1850+ dependencies:
1851+ dequal: 2.0.3
1852+
1853+ [email protected]:
1854+ dependencies:
1855+ '@profoundlogic/hogan': 3.0.4
1856+ diff: 8.0.4
1857+ optionalDependencies:
1858+ highlight.js: 11.11.1
1859+
1860+ [email protected]: {}
1861+
1862+ [email protected]:
1863+ dependencies:
1864+ graceful-fs: 4.2.11
1865+ tapable: 2.3.3
1866+
1867+ [email protected]: {}
1868+
1869+ [email protected]:
1870+ optionalDependencies:
1871+ '@esbuild/aix-ppc64': 0.28.2
1872+ '@esbuild/android-arm': 0.28.2
1873+ '@esbuild/android-arm64': 0.28.2
1874+ '@esbuild/android-x64': 0.28.2
1875+ '@esbuild/darwin-arm64': 0.28.2
1876+ '@esbuild/darwin-x64': 0.28.2
1877+ '@esbuild/freebsd-arm64': 0.28.2
1878+ '@esbuild/freebsd-x64': 0.28.2
1879+ '@esbuild/linux-arm': 0.28.2
1880+ '@esbuild/linux-arm64': 0.28.2
1881+ '@esbuild/linux-ia32': 0.28.2
1882+ '@esbuild/linux-loong64': 0.28.2
1883+ '@esbuild/linux-mips64el': 0.28.2
1884+ '@esbuild/linux-ppc64': 0.28.2
1885+ '@esbuild/linux-riscv64': 0.28.2
1886+ '@esbuild/linux-s390x': 0.28.2
1887+ '@esbuild/linux-x64': 0.28.2
1888+ '@esbuild/netbsd-arm64': 0.28.2
1889+ '@esbuild/netbsd-x64': 0.28.2
1890+ '@esbuild/openbsd-arm64': 0.28.2
1891+ '@esbuild/openbsd-x64': 0.28.2
1892+ '@esbuild/openharmony-arm64': 0.28.2
1893+ '@esbuild/sunos-x64': 0.28.2
1894+ '@esbuild/win32-arm64': 0.28.2
1895+ '@esbuild/win32-ia32': 0.28.2
1896+ '@esbuild/win32-x64': 0.28.2
1897+
1898+ [email protected]: {}
1899+
1900+ [email protected]:
1901+ dependencies:
1902+ '@jridgewell/sourcemap-codec': 1.6.0
1903+
1904+ [email protected]: {}
1905+
1906+ [email protected]([email protected]):
1907+ optionalDependencies:
1908+ picomatch: 4.0.7
1909+
1910+ [email protected]:
1911+ optional: true
1912+
1913+ [email protected]: {}
1914+
1915+ [email protected]: {}
1916+
1917+ [email protected]:
1918+ dependencies:
1919+ function-bind: 1.1.2
1920+
1921+ [email protected]:
1922+ dependencies:
1923+ '@types/hast': 3.0.5
1924+ '@types/unist': 3.0.3
1925+ ccount: 2.0.1
1926+ comma-separated-tokens: 2.0.3
1927+ hast-util-whitespace: 3.0.0
1928+ html-void-elements: 3.0.0
1929+ mdast-util-to-hast: 13.2.1
1930+ property-information: 7.2.0
1931+ space-separated-tokens: 2.0.2
1932+ stringify-entities: 4.0.4
1933+ zwitch: 2.0.4
1934+
1935+ [email protected]:
1936+ dependencies:
1937+ '@types/hast': 3.0.5
1938+
1939+ [email protected]:
1940+ optional: true
1941+
1942+ [email protected]: {}
1943+
1944+ [email protected]:
1945+ dependencies:
1946+ hasown: 2.0.4
1947+
1948+ [email protected]: {}
1949+
1950+ [email protected]: {}
1951+
1952+ [email protected]:
1953+ dependencies:
1954+ is-docker: 3.0.0
1955+
1956+ [email protected]: {}
1957+
1958+ [email protected]:
1959+ dependencies:
1960+ '@types/estree': 1.0.9
1961+
1962+ [email protected]:
1963+ dependencies:
1964+ '@types/estree': 1.0.9
1965+
1966+ [email protected]:
1967+ dependencies:
1968+ is-inside-container: 1.0.0
1969+
1970+ [email protected]: {}
1971+
1972+ [email protected]: {}
1973+
1974+ [email protected]:
1975+ optional: true
1976+
1977+ [email protected]:
1978+ optional: true
1979+
1980+ [email protected]:
1981+ optional: true
1982+
1983+ [email protected]:
1984+ optional: true
1985+
1986+ [email protected]:
1987+ optional: true
1988+
1989+ [email protected]:
1990+ optional: true
1991+
1992+ [email protected]:
1993+ optional: true
1994+
1995+ [email protected]:
1996+ optional: true
1997+
1998+ [email protected]:
1999+ optional: true
2000+
2001+ [email protected]:
2002+ optional: true
2003+
2004+ [email protected]:
2005+ optional: true
2006+
2007+ [email protected]:
2008+ dependencies:
2009+ detect-libc: 2.1.2
2010+ optionalDependencies:
2011+ lightningcss-android-arm64: 1.32.0
2012+ lightningcss-darwin-arm64: 1.32.0
2013+ lightningcss-darwin-x64: 1.32.0
2014+ lightningcss-freebsd-x64: 1.32.0
2015+ lightningcss-linux-arm-gnueabihf: 1.32.0
2016+ lightningcss-linux-arm64-gnu: 1.32.0
2017+ lightningcss-linux-arm64-musl: 1.32.0
2018+ lightningcss-linux-x64-gnu: 1.32.0
2019+ lightningcss-linux-x64-musl: 1.32.0
2020+ lightningcss-win32-arm64-msvc: 1.32.0
2021+ lightningcss-win32-x64-msvc: 1.32.0
2022+
2023+ [email protected]: {}
2024+
2025+ [email protected]:
2026+ dependencies:
2027+ '@jridgewell/sourcemap-codec': 1.6.0
2028+
2029+ [email protected]:
2030+ dependencies:
2031+ '@types/hast': 3.0.5
2032+ '@types/mdast': 4.0.4
2033+ '@ungap/structured-clone': 1.4.0
2034+ devlop: 1.1.0
2035+ micromark-util-sanitize-uri: 2.0.1
2036+ trim-lines: 3.0.1
2037+ unist-util-position: 5.0.0
2038+ unist-util-visit: 5.1.0
2039+ vfile: 6.0.3
2040+
2041+ [email protected]:
2042+ dependencies:
2043+ micromark-util-symbol: 2.0.1
2044+ micromark-util-types: 2.0.2
2045+
2046+ [email protected]: {}
2047+
2048+ [email protected]:
2049+ dependencies:
2050+ micromark-util-character: 2.1.1
2051+ micromark-util-encode: 2.0.1
2052+ micromark-util-symbol: 2.0.1
2053+
2054+ [email protected]: {}
2055+
2056+ [email protected]: {}
2057+
2058+ [email protected]: {}
2059+
2060+ [email protected]: {}
2061+
2062+ [email protected]: {}
2063+
2064+ [email protected]: {}
2065+
2066+ [email protected]: {}
2067+
2068+ [email protected]:
2069+ dependencies:
2070+ node-addon-api: 7.1.1
2071+
2072+ [email protected]:
2073+ dependencies:
2074+ abbrev: 1.1.1
2075+
2076+ [email protected]: {}
2077+
2078+ [email protected]: {}
2079+
2080+ [email protected]:
2081+ dependencies:
2082+ oniguruma-parser: 0.12.2
2083+ regex: 6.1.0
2084+ regex-recursion: 6.0.2
2085+
2086+ [email protected]:
2087+ dependencies:
2088+ default-browser: 5.5.1
2089+ define-lazy-prop: 3.0.0
2090+ is-in-ssh: 1.0.0
2091+ is-inside-container: 1.0.0
2092+ powershell-utils: 0.2.1
2093+ wsl-utils: 1.0.0
2094+
2095+ [email protected]: {}
2096+
2097+ [email protected]: {}
2098+
2099+ [email protected]: {}
2100+
2101+ [email protected]:
2102+ dependencies:
2103+ nanoid: 3.3.19
2104+ picocolors: 1.1.1
2105+ source-map-js: 1.2.1
2106+
2107+ [email protected]: {}
2108+
2109+ [email protected]: {}
2110+
2111+ [email protected]: {}
2112+
2113+ [email protected]: {}
2114+
2115+ [email protected]:
2116+ dependencies:
2117+ regex-utilities: 2.3.0
2118+
2119+ [email protected]: {}
2120+
2121+ [email protected]:
2122+ dependencies:
2123+ regex-utilities: 2.3.0
2124+
2125+ [email protected]:
2126+ dependencies:
2127+ es-errors: 1.3.0
2128+ is-core-module: 2.17.0
2129+ path-parse: 1.0.7
2130+ supports-preserve-symlinks-flag: 1.0.0
2131+
2132+ [email protected]:
2133+ dependencies:
2134+ '@types/estree': 1.0.9
2135+ optionalDependencies:
2136+ '@napi-rs/lzma-linux-x64-gnu': 1.5.1
2137+ '@rollup/rollup-android-arm-eabi': 4.63.5
2138+ '@rollup/rollup-android-arm64': 4.63.5
2139+ '@rollup/rollup-darwin-arm64': 4.63.5
2140+ '@rollup/rollup-darwin-x64': 4.63.5
2141+ '@rollup/rollup-freebsd-arm64': 4.63.5
2142+ '@rollup/rollup-freebsd-x64': 4.63.5
2143+ '@rollup/rollup-linux-arm-gnueabihf': 4.63.5
2144+ '@rollup/rollup-linux-arm-musleabihf': 4.63.5
2145+ '@rollup/rollup-linux-arm64-gnu': 4.63.5
2146+ '@rollup/rollup-linux-arm64-musl': 4.63.5
2147+ '@rollup/rollup-linux-loong64-gnu': 4.63.5
2148+ '@rollup/rollup-linux-loong64-musl': 4.63.5
2149+ '@rollup/rollup-linux-ppc64-gnu': 4.63.5
2150+ '@rollup/rollup-linux-ppc64-musl': 4.63.5
2151+ '@rollup/rollup-linux-riscv64-gnu': 4.63.5
2152+ '@rollup/rollup-linux-riscv64-musl': 4.63.5
2153+ '@rollup/rollup-linux-s390x-gnu': 4.63.5
2154+ '@rollup/rollup-linux-x64-gnu': 4.63.5
2155+ '@rollup/rollup-linux-x64-musl': 4.63.5
2156+ '@rollup/rollup-openbsd-x64': 4.63.5
2157+ '@rollup/rollup-openharmony-arm64': 4.63.5
2158+ '@rollup/rollup-win32-arm64-msvc': 4.63.5
2159+ '@rollup/rollup-win32-ia32-msvc': 4.63.5
2160+ '@rollup/rollup-win32-x64-gnu': 4.63.5
2161+ '@rollup/rollup-win32-x64-msvc': 4.63.5
2162+ fsevents: 2.3.3
2163+
2164+ [email protected]: {}
2165+
2166+ [email protected]:
2167+ dependencies:
2168+ mri: 1.2.0
2169+
2170+ [email protected]: {}
2171+
2172+ [email protected]:
2173+ dependencies:
2174+ '@shikijs/core': 4.4.3
2175+ '@shikijs/engine-javascript': 4.4.3
2176+ '@shikijs/engine-oniguruma': 4.4.3
2177+ '@shikijs/langs': 4.4.3
2178+ '@shikijs/themes': 4.4.3
2179+ '@shikijs/types': 4.4.3
2180+ '@shikijs/vscode-textmate': 10.0.2
2181+ '@types/hast': 3.0.5
2182+
2183+ [email protected]:
2184+ dependencies:
2185+ '@kwsites/file-exists': 1.1.1
2186+ '@kwsites/promise-deferred': 1.1.1
2187+ '@simple-git/args-pathspec': 1.0.4
2188+ '@simple-git/argv-parser': 1.1.1
2189+ debug: 4.4.3
2190+ transitivePeerDependencies:
2191+ - supports-color
2192+
2193+ [email protected]:
2194+ dependencies:
2195+ '@polka/url': 1.0.0-next.29
2196+ mrmime: 2.0.1
2197+ totalist: 3.0.1
2198+
2199+ [email protected]: {}
2200+
2201+ [email protected]: {}
2202+
2203+ [email protected]:
2204+ dependencies:
2205+ character-entities-html4: 2.1.0
2206+ character-entities-legacy: 3.0.0
2207+
2208+ [email protected]: {}
2209+
2210+ [email protected]([email protected])([email protected])([email protected]):
2211+ dependencies:
2212+ '@jridgewell/trace-mapping': 0.3.31
2213+ '@sveltejs/load-config': 0.2.3
2214+ chokidar: 4.0.3
2215+ fdir: 6.5.0([email protected])
2216+ picocolors: 1.1.1
2217+ sade: 1.8.1
2218+ svelte: 5.57.1
2219+ typescript: 5.9.3
2220+ transitivePeerDependencies:
2221+ - picomatch
2222+
2223+ [email protected]:
2224+ dependencies:
2225+ '@jridgewell/remapping': 2.3.5
2226+ '@jridgewell/sourcemap-codec': 1.6.0
2227+ '@sveltejs/acorn-typescript': 1.0.13([email protected])
2228+ '@types/estree': 1.0.9
2229+ acorn: 8.18.0
2230+ aria-query: 5.3.1
2231+ axobject-query: 4.1.0
2232+ clsx: 2.1.1
2233+ devalue: 5.9.4
2234+ esm-env: 1.2.2
2235+ esrap: 2.3.12
2236+ is-reference: 3.0.3
2237+ locate-character: 3.0.0
2238+ magic-string: 0.30.21
2239+ zimmerframe: 1.1.5
2240+ transitivePeerDependencies:
2241+ - '@typescript-eslint/types'
2242+
2243+ [email protected]: {}
2244+
2245+ [email protected]: {}
2246+
2247+ [email protected]:
2248+ dependencies:
2249+ fdir: 6.5.0([email protected])
2250+ picomatch: 4.0.7
2251+
2252+ [email protected]: {}
2253+
2254+ [email protected]: {}
2255+
2256+ [email protected]: {}
2257+
2258+ [email protected]: {}
2259+
2260+ [email protected]:
2261+ dependencies:
2262+ '@types/unist': 3.0.3
2263+
2264+ [email protected]:
2265+ dependencies:
2266+ '@types/unist': 3.0.3
2267+
2268+ [email protected]:
2269+ dependencies:
2270+ '@types/unist': 3.0.3
2271+
2272+ [email protected]:
2273+ dependencies:
2274+ '@types/unist': 3.0.3
2275+ unist-util-is: 6.0.1
2276+
2277+ [email protected]:
2278+ dependencies:
2279+ '@types/unist': 3.0.3
2280+ unist-util-is: 6.0.1
2281+ unist-util-visit-parents: 6.0.2
2282+
2283+ [email protected]:
2284+ dependencies:
2285+ '@types/unist': 3.0.3
2286+ unist-util-stringify-position: 4.0.0
2287+
2288+ [email protected]:
2289+ dependencies:
2290+ '@types/unist': 3.0.3
2291+ vfile-message: 4.0.3
2292+
2293+ [email protected](@types/[email protected])([email protected])([email protected]):
2294+ dependencies:
2295+ esbuild: 0.28.2
2296+ fdir: 6.5.0([email protected])
2297+ picomatch: 4.0.7
2298+ postcss: 8.5.28
2299+ rollup: 4.63.5
2300+ tinyglobby: 0.2.17
2301+ optionalDependencies:
2302+ '@types/node': 26.6.2
2303+ fsevents: 2.3.3
2304+ jiti: 2.7.0
2305+ lightningcss: 1.32.0
2306+
2307+ [email protected]([email protected](@types/[email protected])([email protected])([email protected])):
2308+ optionalDependencies:
2309+ vite: 7.3.6(@types/[email protected])([email protected])([email protected])
2310+
2311+ [email protected]: {}
2312+
2313+ [email protected]:
2314+ dependencies:
2315+ is-wsl: 3.1.1
2316+ powershell-utils: 0.1.0
2317+
2318+ [email protected]: {}
2319+
2320+ [email protected]: {}
+3,
-0
1@@ -0,0 +1,3 @@
2+allowBuilds:
3+ esbuild: true
4+ node-pty: true
1@@ -1,6 +1,6 @@
2 <script lang="ts">
3 import { showCommitDialog } from '$lib/stores/ui.ts';
4- import { uncommittedCount, loadUncommittedFiles } from '$lib/stores/files.ts';
5+ import { uncommittedCount, loadUncommittedFiles, vcs } from '$lib/stores/files.ts';
6
7 let message = $state('');
8 let commitMode = $state<'approved' | 'all'>('approved');
9@@ -48,7 +48,7 @@
10 }
11 </script>
12
13-{#if $showCommitDialog}
14+{#if $showCommitDialog && $vcs !== 'jj'}
15 <!-- svelte-ignore a11y_click_events_have_key_events -->
16 <!-- svelte-ignore a11y_no_static_element_interactions -->
17 <div class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center" onclick={close}>
+10,
-8
1@@ -3,7 +3,7 @@
2 import type { ReviewThread } from '$lib/types/index.ts';
3 import { viewMode, commentingLine } from '$lib/stores/ui.ts';
4 import { threadsByFile } from '$lib/stores/review.ts';
5- import { resetHunk, diffFiles } from '$lib/stores/files.ts';
6+ import { resetHunk, diffFiles, vcs } from '$lib/stores/files.ts';
7 import CommentEditor from './CommentEditor.svelte';
8 import CommentThread from './CommentThread.svelte';
9
10@@ -187,13 +187,15 @@
11 </button>
12 {/if}
13 <span class="flex-1 px-2 py-1">{hunk.header}</span>
14- <button
15- class="text-accent-red/60 hover:text-accent-red hover:bg-hover transition-colors px-2 py-1 text-xs"
16- onclick={() => resetHunk(file.path, hunk.header)}
17- title="Reset this change block"
18- >
19- ↩ Reset
20- </button>
21+ {#if $vcs !== 'jj'}
22+ <button
23+ class="text-accent-red/60 hover:text-accent-red hover:bg-hover transition-colors px-2 py-1 text-xs"
24+ onclick={() => resetHunk(file.path, hunk.header)}
25+ title="Reset this change block"
26+ >
27+ ↩ Reset
28+ </button>
29+ {/if}
30 </div>
31 {/if}
32
+30,
-3
1@@ -1,18 +1,32 @@
2 <script lang="ts">
3 import { viewMode, showCommitDialog, showExportDialog, theme } from '$lib/stores/ui.ts';
4 import { stats, reviewStatus, submitReview } from '$lib/stores/review.ts';
5- import { diffMode, diffScope, baseBranch, approvedCount, uncommittedCount, diffStats, loadAllDiffs, setDiffScope, loadUncommittedFiles } from '$lib/stores/files.ts';
6+ import { diffMode, diffScope, baseBranch, approvedCount, uncommittedCount, diffStats, vcs, loadAllDiffs, setDiffScope, loadUncommittedFiles } from '$lib/stores/files.ts';
7
8 let showReviewMenu = $state(false);
9+ let toast = $state<string | null>(null);
10
11 function openReviewMenu() {
12 showReviewMenu = !showReviewMenu;
13 if (showReviewMenu) loadUncommittedFiles();
14 }
15
16+ function showToast(message: string) {
17+ toast = message;
18+ setTimeout(() => {
19+ toast = null;
20+ }, 3000);
21+ }
22+
23 async function handleApprove() {
24 await submitReview('approved');
25- $showCommitDialog = true;
26+ if ($vcs === 'jj') {
27+ // jj commits the working copy automatically, so there is nothing to
28+ // commit — approving just finalizes the review state.
29+ showToast('Review approved');
30+ } else {
31+ $showCommitDialog = true;
32+ }
33 }
34
35 async function handleRequestChanges() {
36@@ -29,6 +43,13 @@
37 <header class="bg-panel border-b border-border px-4 py-2 flex items-center gap-3">
38 <h1 class="text-sm font-semibold text-primary mr-4">Local Code Review</h1>
39
40+ <span
41+ class="text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border {$vcs === 'jj' ? 'border-accent-blue/40 text-accent-blue' : 'border-border-strong text-muted'}"
42+ title={$vcs === 'jj' ? 'Jujutsu repository' : 'Git repository'}
43+ >
44+ {$vcs}
45+ </span>
46+
47 <!-- View mode toggle -->
48 <div class="flex bg-surface rounded overflow-hidden border border-border">
49 <button
50@@ -160,7 +181,7 @@
51 disabled={$uncommittedCount.total === 0}
52 onclick={() => { handleApprove(); showReviewMenu = false; }}
53 >
54- <span class="text-accent-green mr-2">✓</span> Approve & Commit
55+ <span class="text-accent-green mr-2">✓</span> {$vcs === 'jj' ? 'Approve' : 'Approve & Commit'}
56 {#if $uncommittedCount.total === 0}
57 <span class="text-xs text-muted ml-1">(no uncommitted changes)</span>
58 {/if}
59@@ -168,4 +189,10 @@
60 </div>
61 {/if}
62 </div>
63+
64+ {#if toast}
65+ <div class="fixed bottom-4 right-4 z-50 bg-panel border border-accent-green/40 text-primary text-sm px-4 py-2 rounded-lg shadow-xl">
66+ {toast}
67+ </div>
68+ {/if}
69 </header>
+167,
-0
1@@ -0,0 +1,167 @@
2+import type { DiffFile, DiffHunk } from '$lib/types/index.ts';
3+
4+export function parseDiff(raw: string): DiffFile[] {
5+ if (!raw.trim()) return [];
6+
7+ const files: DiffFile[] = [];
8+ const fileChunks = raw.split(/^diff --git /m).filter(Boolean);
9+
10+ for (const chunk of fileChunks) {
11+ const lines = chunk.split('\n');
12+ let path = '';
13+ let oldPath: string | undefined;
14+
15+ // Parse file header
16+ const headerMatch = lines[0]?.match(/a\/(.+?) b\/(.+)/);
17+ if (headerMatch) {
18+ oldPath = headerMatch[1];
19+ path = headerMatch[2];
20+ if (oldPath === path) oldPath = undefined;
21+ }
22+
23+ const language = getLanguage(path);
24+ const hunks: DiffHunk[] = [];
25+ let currentHunk: DiffHunk | null = null;
26+ let oldLineNum = 0;
27+ let newLineNum = 0;
28+
29+ for (const line of lines) {
30+ const hunkMatch = line.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(.*)/);
31+ if (hunkMatch) {
32+ const oldStart = parseInt(hunkMatch[1], 10);
33+ const oldLines = hunkMatch[2] ? parseInt(hunkMatch[2], 10) : 1;
34+ const newStart = parseInt(hunkMatch[3], 10);
35+ const newLines = hunkMatch[4] ? parseInt(hunkMatch[4], 10) : 1;
36+ currentHunk = {
37+ header: line,
38+ oldStart,
39+ oldLines,
40+ newStart,
41+ newLines,
42+ lines: []
43+ };
44+ hunks.push(currentHunk);
45+ oldLineNum = oldStart;
46+ newLineNum = newStart;
47+ continue;
48+ }
49+
50+ if (!currentHunk) continue;
51+
52+ if (line.startsWith('+')) {
53+ currentHunk.lines.push({
54+ type: 'add',
55+ content: line.substring(1),
56+ newNumber: newLineNum++
57+ });
58+ } else if (line.startsWith('-')) {
59+ currentHunk.lines.push({
60+ type: 'del',
61+ content: line.substring(1),
62+ oldNumber: oldLineNum++
63+ });
64+ } else if (line.startsWith(' ') || line === '') {
65+ // Only treat as context if we're inside a hunk and it looks like a context line
66+ if (line.startsWith(' ')) {
67+ currentHunk.lines.push({
68+ type: 'context',
69+ content: line.substring(1),
70+ oldNumber: oldLineNum++,
71+ newNumber: newLineNum++
72+ });
73+ }
74+ } else if (line.startsWith('\\')) {
75+ // "No newline at end of file" marker — skip
76+ }
77+ }
78+
79+ if (path) {
80+ files.push({ path, oldPath, hunks, language });
81+ }
82+ }
83+
84+ return files;
85+}
86+
87+export function getLanguage(filePath: string): string {
88+ const ext = filePath.split('.').pop()?.toLowerCase() || '';
89+ const map: Record<string, string> = {
90+ ts: 'typescript',
91+ tsx: 'tsx',
92+ js: 'javascript',
93+ jsx: 'jsx',
94+ py: 'python',
95+ rb: 'ruby',
96+ go: 'go',
97+ rs: 'rust',
98+ java: 'java',
99+ kt: 'kotlin',
100+ kts: 'kotlin',
101+ swift: 'swift',
102+ cs: 'csharp',
103+ fs: 'fsharp',
104+ php: 'php',
105+ r: 'r',
106+ lua: 'lua',
107+ dart: 'dart',
108+ scala: 'scala',
109+ groovy: 'groovy',
110+ pl: 'perl',
111+ pm: 'perl',
112+ ex: 'elixir',
113+ exs: 'elixir',
114+ erl: 'erlang',
115+ hs: 'haskell',
116+ clj: 'clojure',
117+ css: 'css',
118+ scss: 'scss',
119+ less: 'less',
120+ html: 'html',
121+ htm: 'html',
122+ xml: 'xml',
123+ svg: 'xml',
124+ svelte: 'svelte',
125+ vue: 'vue',
126+ json: 'json',
127+ jsonc: 'jsonc',
128+ yaml: 'yaml',
129+ yml: 'yaml',
130+ toml: 'toml',
131+ ini: 'ini',
132+ md: 'markdown',
133+ mdx: 'mdx',
134+ sh: 'bash',
135+ bash: 'bash',
136+ zsh: 'bash',
137+ fish: 'fish',
138+ ps1: 'powershell',
139+ sql: 'sql',
140+ graphql: 'graphql',
141+ gql: 'graphql',
142+ proto: 'proto',
143+ c: 'c',
144+ cpp: 'cpp',
145+ cc: 'cpp',
146+ cxx: 'cpp',
147+ h: 'c',
148+ hpp: 'cpp',
149+ m: 'objective-c',
150+ mm: 'objective-cpp',
151+ zig: 'zig',
152+ nim: 'nim',
153+ tf: 'hcl',
154+ dockerfile: 'dockerfile',
155+ makefile: 'makefile',
156+ cmake: 'cmake'
157+ };
158+ // Also check filename (no extension)
159+ const filename = filePath.split('/').pop()?.toLowerCase() || '';
160+ const filenameMap: Record<string, string> = {
161+ dockerfile: 'dockerfile',
162+ makefile: 'makefile',
163+ gemfile: 'ruby',
164+ rakefile: 'ruby',
165+ podfile: 'ruby'
166+ };
167+ return map[ext] || filenameMap[filename] || 'text';
168+}
+1,
-1
1@@ -3,7 +3,7 @@ import { join } from 'path';
2 import { spawn } from 'child_process';
3 import type { ReviewExport, ReviewExportFile, ReviewExportThread } from '$lib/types/index.ts';
4 import { readFile } from 'fs/promises';
5-import { getRepoDir, getRepoInfo, getStatus, getFileContent } from './git.ts';
6+import { getRepoDir, getRepoInfo, getStatus, getFileContent } from './vcs.ts';
7 import { getReview, getThreads, getContextFiles } from './review-store.ts';
8
9 export async function buildExport(): Promise<ReviewExport> {
+30,
-175
1@@ -1,21 +1,18 @@
2 import simpleGit, { type SimpleGit } from 'simple-git';
3-import type { FileChange, DiffFile, DiffHunk, DiffLine, DiffScope } from '$lib/types/index.ts';
4-import { getWorktreeApprovals } from './review-store.ts';
5+import type { FileChange, DiffMode, DiffScope } from '$lib/types/index.ts';
6+import { getWorktreeApprovals, approveWorktreeFile, unapproveWorktreeFile } from './review-store.ts';
7+import { getRepoDir } from './repo.ts';
8
9 let git: SimpleGit;
10
11 export function getGit(): SimpleGit {
12 if (!git) {
13- const repoDir = process.env.LCR_REPO_DIR || process.cwd();
14+ const repoDir = getRepoDir();
15 git = simpleGit(repoDir);
16 }
17 return git;
18 }
19
20-export function getRepoDir(): string {
21- return process.env.LCR_REPO_DIR || process.cwd();
22-}
23-
24 export async function getStatus(): Promise<FileChange[]> {
25 const g = getGit();
26 const status = await g.status();
27@@ -150,172 +147,6 @@ export async function getDiff(filePath?: string): Promise<string> {
28 return result;
29 }
30
31-export function parseDiff(raw: string): DiffFile[] {
32- if (!raw.trim()) return [];
33-
34- const files: DiffFile[] = [];
35- const fileChunks = raw.split(/^diff --git /m).filter(Boolean);
36-
37- for (const chunk of fileChunks) {
38- const lines = chunk.split('\n');
39- let path = '';
40- let oldPath: string | undefined;
41-
42- // Parse file header
43- const headerMatch = lines[0]?.match(/a\/(.+?) b\/(.+)/);
44- if (headerMatch) {
45- oldPath = headerMatch[1];
46- path = headerMatch[2];
47- if (oldPath === path) oldPath = undefined;
48- }
49-
50- const language = getLanguage(path);
51- const hunks: DiffHunk[] = [];
52- let currentHunk: DiffHunk | null = null;
53- let oldLineNum = 0;
54- let newLineNum = 0;
55-
56- for (const line of lines) {
57- const hunkMatch = line.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(.*)/);
58- if (hunkMatch) {
59- const oldStart = parseInt(hunkMatch[1], 10);
60- const oldLines = hunkMatch[2] ? parseInt(hunkMatch[2], 10) : 1;
61- const newStart = parseInt(hunkMatch[3], 10);
62- const newLines = hunkMatch[4] ? parseInt(hunkMatch[4], 10) : 1;
63- currentHunk = {
64- header: line,
65- oldStart,
66- oldLines,
67- newStart,
68- newLines,
69- lines: []
70- };
71- hunks.push(currentHunk);
72- oldLineNum = oldStart;
73- newLineNum = newStart;
74- continue;
75- }
76-
77- if (!currentHunk) continue;
78-
79- if (line.startsWith('+')) {
80- currentHunk.lines.push({
81- type: 'add',
82- content: line.substring(1),
83- newNumber: newLineNum++
84- });
85- } else if (line.startsWith('-')) {
86- currentHunk.lines.push({
87- type: 'del',
88- content: line.substring(1),
89- oldNumber: oldLineNum++
90- });
91- } else if (line.startsWith(' ') || line === '') {
92- // Only treat as context if we're inside a hunk and it looks like a context line
93- if (line.startsWith(' ')) {
94- currentHunk.lines.push({
95- type: 'context',
96- content: line.substring(1),
97- oldNumber: oldLineNum++,
98- newNumber: newLineNum++
99- });
100- }
101- } else if (line.startsWith('\\')) {
102- // "No newline at end of file" marker — skip
103- }
104- }
105-
106- if (path) {
107- files.push({ path, oldPath, hunks, language });
108- }
109- }
110-
111- return files;
112-}
113-
114-function getLanguage(filePath: string): string {
115- const ext = filePath.split('.').pop()?.toLowerCase() || '';
116- const map: Record<string, string> = {
117- ts: 'typescript',
118- tsx: 'tsx',
119- js: 'javascript',
120- jsx: 'jsx',
121- py: 'python',
122- rb: 'ruby',
123- go: 'go',
124- rs: 'rust',
125- java: 'java',
126- kt: 'kotlin',
127- kts: 'kotlin',
128- swift: 'swift',
129- cs: 'csharp',
130- fs: 'fsharp',
131- php: 'php',
132- r: 'r',
133- lua: 'lua',
134- dart: 'dart',
135- scala: 'scala',
136- groovy: 'groovy',
137- pl: 'perl',
138- pm: 'perl',
139- ex: 'elixir',
140- exs: 'elixir',
141- erl: 'erlang',
142- hs: 'haskell',
143- clj: 'clojure',
144- css: 'css',
145- scss: 'scss',
146- less: 'less',
147- html: 'html',
148- htm: 'html',
149- xml: 'xml',
150- svg: 'xml',
151- svelte: 'svelte',
152- vue: 'vue',
153- json: 'json',
154- jsonc: 'jsonc',
155- yaml: 'yaml',
156- yml: 'yaml',
157- toml: 'toml',
158- ini: 'ini',
159- md: 'markdown',
160- mdx: 'mdx',
161- sh: 'bash',
162- bash: 'bash',
163- zsh: 'bash',
164- fish: 'fish',
165- ps1: 'powershell',
166- sql: 'sql',
167- graphql: 'graphql',
168- gql: 'graphql',
169- proto: 'proto',
170- c: 'c',
171- cpp: 'cpp',
172- cc: 'cpp',
173- cxx: 'cpp',
174- h: 'c',
175- hpp: 'cpp',
176- m: 'objective-c',
177- mm: 'objective-cpp',
178- zig: 'zig',
179- nim: 'nim',
180- tf: 'hcl',
181- dockerfile: 'dockerfile',
182- makefile: 'makefile',
183- cmake: 'cmake'
184- };
185- // Also check filename (no extension)
186- const filename = filePath.split('/').pop()?.toLowerCase() || '';
187- const filenameMap: Record<string, string> = {
188- dockerfile: 'dockerfile',
189- makefile: 'makefile',
190- gemfile: 'ruby',
191- rakefile: 'ruby',
192- podfile: 'ruby'
193- };
194- return map[ext] || filenameMap[filename] || 'text';
195-}
196-
197 export async function getFileContent(filePath: string, ref: string = 'HEAD'): Promise<string> {
198 const g = getGit();
199 try {
200@@ -409,8 +240,6 @@ export async function commit(message: string): Promise<string> {
201 return result.commit;
202 }
203
204-export type DiffMode = 'full' | 'unstaged';
205-
206 export async function getDiffByMode(mode: DiffMode, filePath?: string, scope?: DiffScope): Promise<string> {
207 if (mode === 'unstaged') {
208 return getUnstagedDiff(filePath);
209@@ -635,3 +464,29 @@ export async function getRepoInfo(): Promise<{ branch: string; repoName: string
210 const repoName = repoDir.split('/').pop() || 'unknown';
211 return { branch: branch.trim(), repoName };
212 }
213+
214+// --- Unified VCS interface helpers (git implementation) ---
215+
216+export async function approveFile(filePath: string, scope?: DiffScope): Promise<void> {
217+ if (scope === 'worktree') {
218+ approveWorktreeFile(filePath);
219+ } else {
220+ await stageFile(filePath);
221+ }
222+}
223+
224+export async function unapproveFile(filePath: string, scope?: DiffScope): Promise<void> {
225+ if (scope === 'worktree') {
226+ unapproveWorktreeFile(filePath);
227+ } else {
228+ await unstageFile(filePath);
229+ }
230+}
231+
232+export async function getOldRef(scope: DiffScope = 'uncommitted'): Promise<string> {
233+ if (scope === 'worktree') {
234+ const { mergeBase } = await getBaseBranchInfo();
235+ if (mergeBase) return mergeBase;
236+ }
237+ return 'HEAD';
238+}
+230,
-0
1@@ -0,0 +1,230 @@
2+import { execFile } from 'child_process';
3+import { promisify } from 'util';
4+import type { FileChange, DiffMode, DiffScope } from '$lib/types/index.ts';
5+import { parseDiff } from './diff-parser.ts';
6+import { getRepoDir } from './repo.ts';
7+import { getWorktreeApprovals, approveWorktreeFile, unapproveWorktreeFile } from './review-store.ts';
8+
9+const execFileAsync = promisify(execFile);
10+
11+// jj takes a repository-wide lock for each command. Several API routes issue
12+// multiple jj calls in parallel, so serialize them through a queue to avoid
13+// "concurrent modification" failures.
14+let queue: Promise<unknown> = Promise.resolve();
15+
16+function jjExec(args: string[]): Promise<string> {
17+ const result = queue.then(() =>
18+ execFileAsync('jj', args, {
19+ cwd: getRepoDir(),
20+ encoding: 'utf-8',
21+ maxBuffer: 64 * 1024 * 1024
22+ })
23+ );
24+ // Keep the queue alive whether or not the command succeeds.
25+ queue = result.then(
26+ () => undefined,
27+ () => undefined
28+ );
29+ return result.then((r) => r.stdout);
30+}
31+
32+let jjAvailableCache: boolean | null = null;
33+
34+export async function isJjAvailable(): Promise<boolean> {
35+ if (jjAvailableCache !== null) return jjAvailableCache;
36+ try {
37+ await execFileAsync('jj', ['--version'], { cwd: getRepoDir() });
38+ jjAvailableCache = true;
39+ } catch {
40+ jjAvailableCache = false;
41+ }
42+ return jjAvailableCache;
43+}
44+
45+// Maps new path -> status/oldPath by inspecting Git-format diff headers.
46+function parseGitStatuses(raw: string): Map<string, { status: FileChange['status']; oldPath?: string }> {
47+ const map = new Map<string, { status: FileChange['status']; oldPath?: string }>();
48+ const chunks = raw.split(/^diff --git /m).filter(Boolean);
49+ for (const chunk of chunks) {
50+ const lines = chunk.split('\n');
51+ const header = lines[0]?.match(/a\/(.+?) b\/(.+)/);
52+ if (!header) continue;
53+ const oldPath = header[1];
54+ const newPath = header[2];
55+
56+ let status: FileChange['status'] = 'modified';
57+ if (lines.some((l) => l.startsWith('new file mode'))) status = 'added';
58+ else if (lines.some((l) => l.startsWith('deleted file mode'))) status = 'deleted';
59+ else if (oldPath !== newPath) status = 'renamed';
60+
61+ map.set(newPath, { status, oldPath: status === 'renamed' ? oldPath : undefined });
62+ }
63+ return map;
64+}
65+
66+function filesFromRaw(raw: string): FileChange[] {
67+ const parsed = parseDiff(raw);
68+ const statuses = parseGitStatuses(raw);
69+ const approvals = getWorktreeApprovals();
70+
71+ return parsed.map((f) => {
72+ const meta = statuses.get(f.path);
73+ let additions = 0;
74+ let deletions = 0;
75+ for (const hunk of f.hunks) {
76+ for (const line of hunk.lines) {
77+ if (line.type === 'add') additions++;
78+ else if (line.type === 'del') deletions++;
79+ }
80+ }
81+ return {
82+ path: f.path,
83+ oldPath: meta?.oldPath ?? f.oldPath,
84+ status: meta?.status ?? 'modified',
85+ staged: false,
86+ approved: approvals.has(f.path),
87+ additions,
88+ deletions
89+ };
90+ });
91+}
92+
93+// Diff revision arguments. `jj diff -r @` already handles merge commits: when @
94+// has multiple parents jj auto-merges them and diffs the merged result against
95+// @, which is exactly "changes since the parents". Do not "simplify" this to an
96+// explicit parents() revset.
97+async function revArgs(scope?: DiffScope): Promise<string[]> {
98+ if (scope === 'worktree') {
99+ const { mergeBase } = await getBaseBranchInfo();
100+ if (mergeBase) return ['--from', mergeBase, '--to', '@'];
101+ }
102+ return ['-r', '@'];
103+}
104+
105+async function diffFor(paths: string[], scope?: DiffScope): Promise<string> {
106+ const args = ['diff', '--git', '--color=never', ...(await revArgs(scope))];
107+ if (paths.length > 0) args.push('--', ...paths);
108+ try {
109+ return await jjExec(args);
110+ } catch {
111+ return '';
112+ }
113+}
114+
115+export async function getStatus(): Promise<FileChange[]> {
116+ return filesFromRaw(await diffFor([], 'uncommitted'));
117+}
118+
119+export async function getWorktreeStatus(): Promise<FileChange[]> {
120+ return filesFromRaw(await diffFor([], 'worktree'));
121+}
122+
123+let cachedBaseBranchInfo: { baseBranch: string | null; mergeBase: string | null } | null = null;
124+
125+export async function getBaseBranchInfo(): Promise<{ baseBranch: string | null; mergeBase: string | null }> {
126+ if (cachedBaseBranchInfo) return cachedBaseBranchInfo;
127+
128+ try {
129+ const id = (await jjExec(['log', '-r', 'trunk()', '--no-graph', '-T', 'commit_id'])).trim();
130+ // trunk() falls back to the root commit when no main-like bookmark exists.
131+ if (!id || /^0+$/.test(id)) {
132+ cachedBaseBranchInfo = { baseBranch: null, mergeBase: null };
133+ return cachedBaseBranchInfo;
134+ }
135+ const bookmarks = (
136+ await jjExec(['log', '-r', 'trunk()', '--no-graph', '-T', 'bookmarks.join(" ")'])
137+ ).trim();
138+ const baseBranch = bookmarks.split(/\s+/).filter(Boolean)[0] || 'trunk';
139+ cachedBaseBranchInfo = { baseBranch, mergeBase: id };
140+ } catch {
141+ cachedBaseBranchInfo = { baseBranch: null, mergeBase: null };
142+ }
143+ return cachedBaseBranchInfo;
144+}
145+
146+export async function getOldRef(scope: DiffScope = 'uncommitted'): Promise<string> {
147+ if (scope === 'worktree') {
148+ const { mergeBase } = await getBaseBranchInfo();
149+ if (mergeBase) return mergeBase;
150+ }
151+ return '@-';
152+}
153+
154+export async function getDiffByMode(mode: DiffMode, filePath?: string, scope?: DiffScope): Promise<string> {
155+ if (mode === 'unstaged') {
156+ return getUnstagedDiff(filePath, scope);
157+ }
158+ return diffFor(filePath ? [filePath] : [], scope);
159+}
160+
161+// jj has no staging area. "Needs Review" therefore means "not yet approved" —
162+// approval is tracked in memory rather than in an index.
163+async function getUnstagedDiff(filePath?: string, scope?: DiffScope): Promise<string> {
164+ const approved = getWorktreeApprovals();
165+
166+ if (filePath) {
167+ if (approved.has(filePath)) return '';
168+ return diffFor([filePath], scope);
169+ }
170+
171+ const status = scope === 'worktree' ? await getWorktreeStatus() : await getStatus();
172+ const unapproved = status.filter((f) => !f.approved).map((f) => f.path);
173+ if (unapproved.length === 0) return '';
174+ return diffFor(unapproved, scope);
175+}
176+
177+export async function getFileContent(filePath: string, ref: string = '@-'): Promise<string> {
178+ const rev = ref === 'HEAD' ? '@-' : ref;
179+ try {
180+ return await jjExec(['file', 'show', '-r', rev, '--', filePath]);
181+ } catch {
182+ return '';
183+ }
184+}
185+
186+export async function approveFile(filePath: string, _scope?: DiffScope): Promise<void> {
187+ approveWorktreeFile(filePath);
188+}
189+
190+export async function unapproveFile(filePath: string, _scope?: DiffScope): Promise<void> {
191+ unapproveWorktreeFile(filePath);
192+}
193+
194+export async function resetFile(filePath: string): Promise<void> {
195+ await jjExec(['restore', '--from', '@-', '--', filePath]);
196+}
197+
198+export async function resetHunk(_filePath: string, _hunkHeader: string): Promise<void> {
199+ throw new Error('Hunk reset is not supported in jj repositories; reset the whole file instead.');
200+}
201+
202+export async function commitStaged(_message: string): Promise<string> {
203+ throw new Error('jj changes are committed automatically; there is nothing to commit.');
204+}
205+
206+export async function commitAll(_message: string): Promise<string> {
207+ throw new Error('jj changes are committed automatically; there is nothing to commit.');
208+}
209+
210+export async function getRepoInfo(): Promise<{ branch: string; repoName: string }> {
211+ const repoDir = getRepoDir();
212+ const repoName = repoDir.split('/').pop() || 'unknown';
213+
214+ let branch = '@';
215+ try {
216+ const bookmarks = (
217+ await jjExec(['log', '-r', '@', '--no-graph', '-T', 'bookmarks.join(" ")'])
218+ ).trim();
219+ if (bookmarks) {
220+ branch = bookmarks.split(/\s+/)[0];
221+ } else {
222+ const changeId = (
223+ await jjExec(['log', '-r', '@', '--no-graph', '-T', 'commit_id.short()'])
224+ ).trim();
225+ if (changeId) branch = changeId;
226+ }
227+ } catch {
228+ // Leave the placeholder branch
229+ }
230+ return { branch, repoName };
231+}
+1,
-1
1@@ -1,7 +1,7 @@
2 import { join } from 'path';
3 import { EventEmitter } from 'events';
4 import { findClaude } from './export.ts';
5-import { getRepoDir } from './git.ts';
6+import { getRepoDir } from './vcs.ts';
7
8 // node-pty is a native module — dynamic import to avoid bundling issues
9 let pty: typeof import('node-pty') | null = null;
+3,
-0
1@@ -0,0 +1,3 @@
2+export function getRepoDir(): string {
3+ return process.env.LCR_REPO_DIR || process.cwd();
4+}
+105,
-0
1@@ -0,0 +1,105 @@
2+import { existsSync } from 'fs';
3+import { join } from 'path';
4+import type { FileChange, DiffMode, DiffScope } from '$lib/types/index.ts';
5+import { getRepoDir } from './repo.ts';
6+import * as git from './git.ts';
7+import * as jj from './jj.ts';
8+
9+export { getRepoDir };
10+export { parseDiff, getLanguage } from './diff-parser.ts';
11+export type { DiffMode };
12+
13+export type VcsKind = 'git' | 'jj';
14+
15+let cachedKind: VcsKind | null = null;
16+
17+/**
18+ * Detect which VCS client to use. A `.jj/` directory wins over `.git` (jj repos
19+ * are often colocated with git), as long as the `jj` binary is actually
20+ * available. Falls back to git with a warning otherwise.
21+ */
22+export async function getVcsKind(): Promise<VcsKind> {
23+ if (cachedKind) return cachedKind;
24+
25+ const repoDir = getRepoDir();
26+ const hasJj = existsSync(join(repoDir, '.jj'));
27+ const hasGit = existsSync(join(repoDir, '.git'));
28+
29+ if (hasJj && (await jj.isJjAvailable())) {
30+ cachedKind = 'jj';
31+ return cachedKind;
32+ }
33+
34+ if (hasJj && !hasGit) {
35+ throw new Error(
36+ 'Found a .jj directory but the `jj` CLI is not available on PATH. Install jujutsu to review this repository.'
37+ );
38+ }
39+
40+ if (hasJj) {
41+ console.warn(' Warning: .jj directory found but `jj` is unavailable; falling back to git.');
42+ }
43+
44+ cachedKind = 'git';
45+ return cachedKind;
46+}
47+
48+async function impl(): Promise<typeof git | typeof jj> {
49+ return (await getVcsKind()) === 'jj' ? jj : git;
50+}
51+
52+export async function getStatus(): Promise<FileChange[]> {
53+ return (await impl()).getStatus();
54+}
55+
56+export async function getWorktreeStatus(): Promise<FileChange[]> {
57+ return (await impl()).getWorktreeStatus();
58+}
59+
60+export async function getBaseBranchInfo(): Promise<{ baseBranch: string | null; mergeBase: string | null }> {
61+ return (await impl()).getBaseBranchInfo();
62+}
63+
64+export async function getOldRef(scope: DiffScope = 'uncommitted'): Promise<string> {
65+ return (await impl()).getOldRef(scope);
66+}
67+
68+export async function getDiffByMode(
69+ mode: DiffMode,
70+ filePath?: string,
71+ scope?: DiffScope
72+): Promise<string> {
73+ return (await impl()).getDiffByMode(mode, filePath, scope);
74+}
75+
76+export async function getFileContent(filePath: string, ref: string = 'HEAD'): Promise<string> {
77+ return (await impl()).getFileContent(filePath, ref);
78+}
79+
80+export async function approveFile(filePath: string, scope?: DiffScope): Promise<void> {
81+ return (await impl()).approveFile(filePath, scope);
82+}
83+
84+export async function unapproveFile(filePath: string, scope?: DiffScope): Promise<void> {
85+ return (await impl()).unapproveFile(filePath, scope);
86+}
87+
88+export async function resetFile(filePath: string): Promise<void> {
89+ return (await impl()).resetFile(filePath);
90+}
91+
92+export async function resetHunk(filePath: string, hunkHeader: string): Promise<void> {
93+ return (await impl()).resetHunk(filePath, hunkHeader);
94+}
95+
96+export async function commitStaged(message: string): Promise<string> {
97+ return (await impl()).commitStaged(message);
98+}
99+
100+export async function commitAll(message: string): Promise<string> {
101+ return (await impl()).commitAll(message);
102+}
103+
104+export async function getRepoInfo(): Promise<{ branch: string; repoName: string }> {
105+ return (await impl()).getRepoInfo();
106+}
+11,
-0
1@@ -12,6 +12,17 @@ export const loading = writable(false);
2 export const diffMode = writable<DiffMode>('full');
3 export const diffScope = writable<DiffScope>('uncommitted');
4 export const baseBranch = writable<string | null>(null);
5+export const vcs = writable<'git' | 'jj'>('git');
6+
7+export async function loadRepoInfo() {
8+ try {
9+ const res = await fetch('/api/repo');
10+ const data = await res.json();
11+ if (data.vcs === 'jj' || data.vcs === 'git') vcs.set(data.vcs);
12+ } catch {
13+ // Keep the git default
14+ }
15+}
16
17 export const selectedDiff = derived([diffFiles, selectedFile], ([$diffFiles, $selectedFile]) => {
18 if (!$selectedFile) return null;
+2,
-0
1@@ -35,3 +35,5 @@ export interface DiffLine {
2 }
3
4 export type DiffScope = 'uncommitted' | 'worktree';
5+
6+export type DiffMode = 'full' | 'unstaged';
+2,
-1
1@@ -6,7 +6,7 @@
2 import CommitDialog from '$lib/components/CommitDialog.svelte';
3 import ExportDialog from '$lib/components/ExportDialog.svelte';
4 import TerminalPanel from '$lib/components/TerminalPanel.svelte';
5- import { files, selectedFile, selectedDiff, selectedFileData, loadFiles, loadAllDiffs, toggleApproval, diffScope, diffMode } from '$lib/stores/files.ts';
6+ import { files, selectedFile, selectedDiff, selectedFileData, loadFiles, loadAllDiffs, loadRepoInfo, toggleApproval, diffScope, diffMode } from '$lib/stores/files.ts';
7 import { loadComments } from '$lib/stores/review.ts';
8 import { sidebarOpen } from '$lib/stores/ui.ts';
9 import { toggleTerminal } from '$lib/stores/terminal.ts';
10@@ -39,6 +39,7 @@
11
12 onMount(async () => {
13 try {
14+ await loadRepoInfo();
15 await loadFiles();
16 await loadAllDiffs();
17 await loadComments();
+1,
-1
1@@ -8,7 +8,7 @@ import {
2 getStats,
3 markOutdated
4 } from '$lib/server/review-store.ts';
5-import { getRepoDir } from '$lib/server/git.ts';
6+import { getRepoDir } from '$lib/server/vcs.ts';
7 import { readFile } from 'fs/promises';
8 import { join } from 'path';
9 import type { RequestHandler } from './$types.ts';
+1,
-1
1@@ -1,5 +1,5 @@
2 import { json } from '@sveltejs/kit';
3-import { commitStaged, commitAll } from '$lib/server/git.ts';
4+import { commitStaged, commitAll } from '$lib/server/vcs.ts';
5 import { clearAll } from '$lib/server/review-store.ts';
6 import type { RequestHandler } from './$types.ts';
7
+1,
-1
1@@ -1,5 +1,5 @@
2 import { json } from '@sveltejs/kit';
3-import { getRepoDir } from '$lib/server/git.ts';
4+import { getRepoDir } from '$lib/server/vcs.ts';
5 import { highlightLines } from '$lib/server/highlighter.ts';
6 import { readFile } from 'fs/promises';
7 import { join } from 'path';
+3,
-8
1@@ -1,11 +1,10 @@
2 import { json } from '@sveltejs/kit';
3-import { getDiffByMode, parseDiff, getFileContent, getBaseBranchInfo } from '$lib/server/git.ts';
4-import type { DiffMode } from '$lib/server/git.ts';
5+import { getDiffByMode, parseDiff, getFileContent, getOldRef, getRepoDir } from '$lib/server/vcs.ts';
6+import type { DiffMode } from '$lib/types/index.ts';
7 import type { DiffFile, DiffScope } from '$lib/types/index.ts';
8 import { highlightLines } from '$lib/server/highlighter.ts';
9 import { readFile } from 'fs/promises';
10 import { join } from 'path';
11-import { getRepoDir } from '$lib/server/git.ts';
12 import type { RequestHandler } from './$types.ts';
13
14 async function applyHighlighting(files: DiffFile[], oldRef: string = 'HEAD'): Promise<void> {
15@@ -100,11 +99,7 @@ export const GET: RequestHandler = async ({ url }) => {
16 }
17
18 // Determine the old ref for syntax highlighting
19- let oldRef = 'HEAD';
20- if (scope === 'worktree') {
21- const { mergeBase } = await getBaseBranchInfo();
22- if (mergeBase) oldRef = mergeBase;
23- }
24+ const oldRef = await getOldRef(scope);
25
26 // Skip highlighting for very large files
27 const filesToHighlight = parsed.filter((f) => (f.totalLines || 0) <= MAX_LINES_FOR_HIGHLIGHTING);
+3,
-14
1@@ -1,6 +1,5 @@
2 import { json } from '@sveltejs/kit';
3-import { getStatus, getWorktreeStatus, getBaseBranchInfo, stageFile, unstageFile, resetFile, resetHunk } from '$lib/server/git.ts';
4-import { approveWorktreeFile, unapproveWorktreeFile } from '$lib/server/review-store.ts';
5+import { getStatus, getWorktreeStatus, getBaseBranchInfo, approveFile, unapproveFile, resetFile, resetHunk } from '$lib/server/vcs.ts';
6 import type { DiffScope } from '$lib/types/index.ts';
7 import type { RequestHandler } from './$types.ts';
8
9@@ -31,20 +30,10 @@ export const POST: RequestHandler = async ({ request }) => {
10 return json({ error: 'Missing path or action' }, { status: 400 });
11 }
12
13- const isWorktree = scope === 'worktree';
14-
15 if (action === 'approve') {
16- if (isWorktree) {
17- approveWorktreeFile(path);
18- } else {
19- await stageFile(path);
20- }
21+ await approveFile(path, scope);
22 } else if (action === 'unapprove') {
23- if (isWorktree) {
24- unapproveWorktreeFile(path);
25- } else {
26- await unstageFile(path);
27- }
28+ await unapproveFile(path, scope);
29 } else if (action === 'reset') {
30 await resetFile(path);
31 } else if (action === 'reset-hunk') {
+12,
-0
1@@ -0,0 +1,12 @@
2+import { json } from '@sveltejs/kit';
3+import { getRepoInfo, getVcsKind } from '$lib/server/vcs.ts';
4+import type { RequestHandler } from './$types.ts';
5+
6+export const GET: RequestHandler = async () => {
7+ try {
8+ const [vcs, info] = await Promise.all([getVcsKind(), getRepoInfo()]);
9+ return json({ vcs, ...info });
10+ } catch (err) {
11+ return json({ error: String(err) }, { status: 500 });
12+ }
13+};