From dc04a53eb1ec7185d08193143bd4d5f6311cc867 Mon Sep 17 00:00:00 2001 From: Vladimir Penkin Date: Mon, 12 Oct 2026 16:55:33 -0400 Subject: [PATCH 01/27] Scaffold Astro 7 project alongside the old site Co-Authored-By: Claude Opus 5.5 --- .gitignore | 6 +- .nojekyll | 0 .nvmrc | 1 + astro.config.mjs | 9 + package-lock.json | 5616 +++++++++++++++++++++++++++++++++++++++++ package.json | 34 + src/pages/index.astro | 3 + tsconfig.json | 5 + vitest.config.ts | 5 + 9 files changed, 5678 insertions(+), 1 deletion(-) create mode 100644 .nojekyll create mode 100644 .nvmrc create mode 100644 astro.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/pages/index.astro create mode 100644 tsconfig.json create mode 100644 vitest.config.ts diff --git a/.gitignore b/.gitignore index 496ee2c..2ae129e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -.DS_Store \ No newline at end of file +.DS_Store +node_modules/ +dist/ +.astro/ +.superpowers/ diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..a45fd52 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..df21fa9 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,9 @@ +import { defineConfig } from 'astro/config'; +import sitemap from '@astrojs/sitemap'; + +export default defineConfig({ + site: 'https://penk.in', + trailingSlash: 'never', + build: { format: 'file' }, + integrations: [sitemap({ filter: (page) => !page.endsWith('/404') })], +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ad5d1b5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5616 @@ +{ + "name": "penk.in", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "penk.in", + "dependencies": { + "@astrojs/sitemap": "3.7.4", + "@fontsource/jetbrains-mono": "5.3.0", + "@fontsource/schibsted-grotesk": "5.3.0", + "@resvg/resvg-js": "2.6.2", + "astro": "7.3.8", + "js-yaml": "5.4.3", + "lucide-static": "1.55.0", + "marked": "18.1.1", + "satori": "0.51.0", + "sharp": "0.35.5", + "simple-icons": "16.35.0" + }, + "devDependencies": { + "@astrojs/check": "0.9.10", + "png-to-ico": "3.0.2", + "typescript": "6.0.3", + "vitest": "5.0.4" + } + }, + "node_modules/@astrojs/astro2tsx": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/astro2tsx/-/astro2tsx-0.1.2.tgz", + "integrity": "sha512-Uj/M9zbrhu5cIZEvWAGTbQJRKSxXWJ/E59BZwt7F+chrKhbfttW+9rkS/l+1QxoJP1KU3UnpM62M7yszfAI0WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "1.11.3", + "@napi-rs/wasm-runtime": "1.2.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/astro2tsx/node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.4.tgz", + "integrity": "sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" + } + }, + "node_modules/@astrojs/check": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.10.tgz", + "integrity": "sha512-zgx/UQMozdjOa3bOxjgeCFdtpE3c9rRX6xHwa+2QXvy8z8Akifu2AtubHyv/zzC2znO8dl8fFWL4K+Ba9kS8HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/language-server": "^2.16.7", + "chokidar": "^4.0.3", + "kleur": "^4.1.5", + "yargs": "^18.0.0" + }, + "bin": { + "astro-check": "bin/astro-check.js" + }, + "peerDependencies": { + "typescript": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/@astrojs/check/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@astrojs/check/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@astrojs/compiler-binding": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.5.1.tgz", + "integrity": "sha512-oczyolLUl9mNrtuBuNjuvn5thpHrFLXAHAWGTRg0JDHQ8cGVsVeFekOu2uSoQGgainJIi+A3/9m0DyYwz3Nlnw==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@astrojs/compiler-binding-android-arm64": "0.5.1", + "@astrojs/compiler-binding-darwin-arm64": "0.5.1", + "@astrojs/compiler-binding-darwin-x64": "0.5.1", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.5.1", + "@astrojs/compiler-binding-linux-arm64-musl": "0.5.1", + "@astrojs/compiler-binding-linux-x64-gnu": "0.5.1", + "@astrojs/compiler-binding-linux-x64-musl": "0.5.1", + "@astrojs/compiler-binding-wasm32-wasi": "0.5.1", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.5.1", + "@astrojs/compiler-binding-win32-x64-msvc": "0.5.1" + } + }, + "node_modules/@astrojs/compiler-binding-android-arm64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-android-arm64/-/compiler-binding-android-arm64-0.5.1.tgz", + "integrity": "sha512-nMb2nMIJtcWLNH+fV75Enmi+jp4tIOYOfsv4XtpgdOWkqc9P4uSSdK5u1xb340AzrXo5V18SxLl/nc3vcqtamQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-arm64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.5.1.tgz", + "integrity": "sha512-5k4+nZ/WRt+dcVow4z7rBuI7iv9A58h/uQ91YJe1PrTivbcCkq3u2Ynx/AZJwII4CsZawBCeGpojkFjutZBhBQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-x64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.5.1.tgz", + "integrity": "sha512-0Buw+YST9Ff2EqQyhRMQujuFq/dijLw3zXWhsvI0dJ2pGrT38iVoxTEca2eBX/PfhlwkVWSRJEKO5gMqKHyeHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.5.1.tgz", + "integrity": "sha512-x5LRpyCoMKuu3INr18cn42YhwSOaRpp9b5Ny3eJJ/sWVeejC16Zeshu1JlvlSmEZACLeWxU5JM0RX6T6nI+YyA==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.5.1.tgz", + "integrity": "sha512-mL7tQEuDk3rGfaKmrO63nw6WBy1TPVioQGmVyjcAr+C+a/k3SVMYBytNSMqH9mZPT/Swj30JaZ2N842Z1NnOEQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.5.1.tgz", + "integrity": "sha512-uLGc9jtxwiDe4cQyhNPQim4ECiB/YzbWlXssfLAv8r374kArfTwBHjwR2+j+XVyF71yCx5mF9YNRclRqdNBgeg==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-musl": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.5.1.tgz", + "integrity": "sha512-G0cywinaQUc8v1MrytvYKUX7svTDMmYtOCZfxjwKPbJi59zIqM+Ll0rWgO0GQWLZH3XoPYo19ZwlP3Xt9ep9YA==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.5.1.tgz", + "integrity": "sha512-yMhLL8asmLydoAdnEZxAw6eLfNDs3YJl6jqn0pjPt6zrb2U5qIDLnii4/twThpIFODKkQ6YDpBRTOz/vSfZCxw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.3", + "@emnapi/runtime": "1.11.3", + "@napi-rs/wasm-runtime": "^1.2.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.5.1.tgz", + "integrity": "sha512-aClIG6poFt3Wf/bZykrEAX2nAnKvBHW6RXiKUa69QjBtWH0/FOlOAjnFcxRNlhej2AMWNYFx0o+LGjwMcH8P7Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.5.1.tgz", + "integrity": "sha512-/E6uBCagY70YpWqssBC+/FuniNSloeQPRgj7l3LDWiqjxIyTLnIgX1sTt18FU7jrigetpSnC9cHAM6b6IxSgPw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-rs": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.5.1.tgz", + "integrity": "sha512-1k1acnX7DepIiea9U9/Y+d1hdAFfylu1ZQQkkYgRSwBOBAsXInolyZuh/2tax+83vu/A+hOYP6P3+265RvMTvw==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-binding": "0.5.1" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.12.0.tgz", + "integrity": "sha512-pKPuwCDtO0L7zgmt1JGd9X4Aes1+0SX3IEBSqBNPHsScYdPMlfmed3Y7DTbXyF7E+8ylnb563o/0OzGQPOFehw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.8.0", + "unified": "^11.0.5", + "yaml": "^2.9.1" + } + }, + "node_modules/@astrojs/language-server": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.17.2.tgz", + "integrity": "sha512-WzqCBYo0RtKrkPLPMnTz2+UOQPosaFhoG/PvoSyPIgBU0BKeS6qeaYv7Rscq7P1LxJdoN0VosQF2h2TZTsIGHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/astro2tsx": "^0.1.2", + "@astrojs/yaml2ts": "^0.2.4", + "@volar/kit": "~2.4.28", + "@volar/language-core": "~2.4.28", + "@volar/language-server": "~2.4.28", + "@volar/language-service": "~2.4.28", + "muggle-string": "^0.4.1", + "tinyglobby": "^0.2.17", + "volar-service-css": "0.0.71", + "volar-service-emmet": "0.0.71", + "volar-service-html": "0.0.71", + "volar-service-prettier": "0.0.71", + "volar-service-typescript": "0.0.71", + "volar-service-typescript-twoslash-queries": "0.0.71", + "volar-service-yaml": "0.0.71", + "vscode-html-languageservice": "^5.6.2", + "vscode-uri": "^3.2.0" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-satteri": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.4.3.tgz", + "integrity": "sha512-PFbEHPnwUlLvpXd7RXrrKM+j12akF4bG+DSuNuoN+3eiwjOwp4HaPi+QQdbkBV7QEYXmzyKca50OJsmGxhNIUA==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.12.0", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "satteri": "^0.10.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.2.tgz", + "integrity": "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.4.tgz", + "integrity": "sha512-LbKNC24bdUWcQf/pThB6qLlSqHojxGjZDURIzFocY8rlWnAn2t74nnhnK6S5x0NHriHoAduLEpVjRykmeGiVvA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.3.tgz", + "integrity": "sha512-C1TLn5sPJr0x4vk56piHWKbnqlEB8BKyte5Y45V02U+D7BGO5eMqZDH5aPjnkXQWJggvmsTXxH03QMZ9NgWLzQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "package-manager-detector": "^1.6.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.4.tgz", + "integrity": "sha512-8oddpOae35pJsXPQXhTkM0ypfKPskVsh2bCxRtbf7e+/Epw2nReakFYpLKjZMEr75CsoF203PMnCocpfz0s69A==", + "dev": true, + "license": "MIT", + "dependencies": { + "yaml": "^2.8.3" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.9.tgz", + "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bruits/satteri-darwin-arm64": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-arm64/-/satteri-darwin-arm64-0.10.5.tgz", + "integrity": "sha512-27KTVl4TJkVahMy/ohyA7qd4938G5UNneFUz/PsScYfpIhj0IVAS23mpcJXdPF44sa6nva198lmV/cKIb2YPyA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-darwin-x64": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-x64/-/satteri-darwin-x64-0.10.5.tgz", + "integrity": "sha512-IjnLe3nKspq6qaeqGgjT7MT8VrTV74yWRlaag7ZdNsI8TDAYZ0iPxMCo+9KQZHUk5EyVB+reBI/PFWL5KuFw9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-gnu": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-gnu/-/satteri-linux-arm64-gnu-0.10.5.tgz", + "integrity": "sha512-glkYXZCJywjP13v67eAyAMSJdF+ncvEbYvgi/wOtffL9tQ27lr/zsyzUfgs+ovjJ9d8JNQKiXeiArJcX8PJL9w==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-musl": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-musl/-/satteri-linux-arm64-musl-0.10.5.tgz", + "integrity": "sha512-yWdgG1g17Nh2QyGVlFUxGRa3FEFwiMcpZEyMNWkbM3deC94cmVc+/i9OuyFpdKuWo3GkgoCtYVOoxk1uCnCZIA==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-gnu": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-gnu/-/satteri-linux-x64-gnu-0.10.5.tgz", + "integrity": "sha512-FVaLoPT1fBgGl0J+AYebyyXJYBachGl8Oyyrf1lye4RTqCB4S0Gwkj1uM9RJyThUOvx5VUmAT1CnNh1SFHA+kw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-musl": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-musl/-/satteri-linux-x64-musl-0.10.5.tgz", + "integrity": "sha512-EHpVAx2bqW3GINHTKkljtxVfQmVDGWIuwOYOP5YghTj+0PkBa2o8oKPRtQ9Kbsr1Fye8jtUcDjhwj2jMNugZKg==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-wasm32-wasi": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-wasm32-wasi/-/satteri-wasm32-wasi-0.10.5.tgz", + "integrity": "sha512-ypz8c/Zmipxp4IoeDa228Gstv6TLzVmNs3yC6wKCoNSOjx1iwpgzu87Y3hTkXFdwChVGU85qeUDuOIarGUZQLw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-win32-arm64-msvc": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-arm64-msvc/-/satteri-win32-arm64-msvc-0.10.5.tgz", + "integrity": "sha512-siTV88nb0LRqNpkL2gXboqCwVdq95sLtzMHS1/3eONV2gLbB3NAK46wmSMvCO/yquBvI2lvaFIfd8P12ecsxBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@bruits/satteri-win32-x64-msvc": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-x64-msvc/-/satteri-win32-x64-msvc-0.10.5.tgz", + "integrity": "sha512-C3IfPvfvMXmlzBxaMPKFS1XiuV9pu2mC7YqkPk7PSvTgPZ8gbdASIpHpztDLvTTQjqZ0z1Ol8tK5X+V6XXC0wQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.5.1.tgz", + "integrity": "sha512-iHTrHA8MtVuLl2TfZySmcKv1qO2PoyC9Z7pfSDozEuV5vtY3/wcOPKJXlqJ5Oq2Cx5DDGQGAMVx6HZfRRoVEbQ==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@clack/prompts": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.8.1.tgz", + "integrity": "sha512-dlT1m5e/0yUL0kRNcQn7yGLVThkgbB0Ga/1AmfDDC/8ik6AIiSf2QLQO2zPYvefsHP0aFgxO93cVLCCfDp7kzQ==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.5.1", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.1.tgz", + "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", + "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.2.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", + "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fontsource/jetbrains-mono": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.3.0.tgz", + "integrity": "sha512-fqDfB5I9f1p1TV486aUgB9t8zP84P0O1FtQR5Ol9vjwPy+S+EIGlVYm1cvj2W5shcZMTg2nZFdVMoH5wFu8a1A==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/schibsted-grotesk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/schibsted-grotesk/-/schibsted-grotesk-5.3.0.tgz", + "integrity": "sha512-9k+Fd2eg7umKxI2JV2HtDcOkXEM0iJx0u4Iu1b+QHikVU8Sl/MtozJ/mtZfsltR6xnVGSQjpcxXQeJPW0KGpIA==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.5.tgz", + "integrity": "sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.5.tgz", + "integrity": "sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-freebsd-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.5.tgz", + "integrity": "sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==", + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "dependencies": { + "@img/sharp-wasm32": "0.35.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.4.tgz", + "integrity": "sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.4.tgz", + "integrity": "sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.4.tgz", + "integrity": "sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.4.tgz", + "integrity": "sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.4.tgz", + "integrity": "sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.4.tgz", + "integrity": "sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.4.tgz", + "integrity": "sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.4.tgz", + "integrity": "sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.4.tgz", + "integrity": "sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.4.tgz", + "integrity": "sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.5.tgz", + "integrity": "sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.5.tgz", + "integrity": "sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.5.tgz", + "integrity": "sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.5.tgz", + "integrity": "sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.5.tgz", + "integrity": "sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.5.tgz", + "integrity": "sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.5.tgz", + "integrity": "sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.5.tgz", + "integrity": "sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.5.tgz", + "integrity": "sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.11.3" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-webcontainers-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.5.tgz", + "integrity": "sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/sharp-wasm32": "0.35.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.5.tgz", + "integrity": "sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.5.tgz", + "integrity": "sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.5.tgz", + "integrity": "sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.5.tgz", + "integrity": "sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@oxc-project/types": { + "version": "0.153.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.153.0.tgz", + "integrity": "sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/oxc-project" + } + }, + "node_modules/@resvg/resvg-js": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.2.tgz", + "integrity": "sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==", + "license": "MPL-2.0", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@resvg/resvg-js-android-arm-eabi": "2.6.2", + "@resvg/resvg-js-android-arm64": "2.6.2", + "@resvg/resvg-js-darwin-arm64": "2.6.2", + "@resvg/resvg-js-darwin-x64": "2.6.2", + "@resvg/resvg-js-linux-arm-gnueabihf": "2.6.2", + "@resvg/resvg-js-linux-arm64-gnu": "2.6.2", + "@resvg/resvg-js-linux-arm64-musl": "2.6.2", + "@resvg/resvg-js-linux-x64-gnu": "2.6.2", + "@resvg/resvg-js-linux-x64-musl": "2.6.2", + "@resvg/resvg-js-win32-arm64-msvc": "2.6.2", + "@resvg/resvg-js-win32-ia32-msvc": "2.6.2", + "@resvg/resvg-js-win32-x64-msvc": "2.6.2" + } + }, + "node_modules/@resvg/resvg-js-android-arm-eabi": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz", + "integrity": "sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-android-arm64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.2.tgz", + "integrity": "sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-arm64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.2.tgz", + "integrity": "sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-x64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.2.tgz", + "integrity": "sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm-gnueabihf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.2.tgz", + "integrity": "sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.2.tgz", + "integrity": "sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-musl": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.2.tgz", + "integrity": "sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.2.tgz", + "integrity": "sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-musl": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.2.tgz", + "integrity": "sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-arm64-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.2.tgz", + "integrity": "sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-ia32-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.2.tgz", + "integrity": "sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==", + "cpu": [ + "ia32" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-x64-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.2.tgz", + "integrity": "sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@rolldown/binding-android-arm-eabi": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.13.tgz", + "integrity": "sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.13.tgz", + "integrity": "sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.13.tgz", + "integrity": "sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.13.tgz", + "integrity": "sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.13.tgz", + "integrity": "sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.13.tgz", + "integrity": "sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.13.tgz", + "integrity": "sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.13.tgz", + "integrity": "sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.13.tgz", + "integrity": "sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.13.tgz", + "integrity": "sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.13.tgz", + "integrity": "sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.13.tgz", + "integrity": "sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.13.tgz", + "integrity": "sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.13.tgz", + "integrity": "sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.13.tgz", + "integrity": "sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.5.0.tgz", + "integrity": "sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.5.0", + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.5.0.tgz", + "integrity": "sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.5.0.tgz", + "integrity": "sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.5.0.tgz", + "integrity": "sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.5.0.tgz", + "integrity": "sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.5.0.tgz", + "integrity": "sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.5.0.tgz", + "integrity": "sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@shuding/opentype.js": { + "version": "1.4.0-beta.0", + "resolved": "https://registry.npmjs.org/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz", + "integrity": "sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==", + "license": "MIT", + "dependencies": { + "fflate": "^0.7.3", + "string.prototype.codepointat": "^0.2.1" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", + "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.19.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.19.2.tgz", + "integrity": "sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==", + "license": "MIT", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "license": "ISC" + }, + "node_modules/@vitest/mocker": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.4.tgz", + "integrity": "sha512-tqAlrYWce4iUxhr3ncNohejtCTOcHeE8XWrSNZY3OhPoDn01yeGv+gnaBy64ATp7o6pb03eIbBAjzmibpc9vIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.31", + "@vitest/spy": "5.0.4", + "estree-walker": "^3.0.3", + "magic-string": "^1.4.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9 || ^3.0.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/spy": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.4.tgz", + "integrity": "sha512-MZKk/gSkm2q+ICobMxCpH1mA+cCAWm8WV7UhxlqGjq/sJ3AGc1BqFOs5CRVXxH78wQtme9q/NAAgBquj4AcyMw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@volar/kit": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.28.tgz", + "integrity": "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/language-server": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.28.tgz", + "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.28.tgz", + "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.11.0.tgz", + "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-i18n": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ajv-i18n/-/ajv-i18n-4.2.0.tgz", + "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.0.0-beta.0" + } + }, + "node_modules/am-i-vibing": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.5.0.tgz", + "integrity": "sha512-KLcsDhqf1XRrJmJr+9I/C0EX2K+sGrAGZFgkmd84c8TJO9zJBu+/kFInjazu1KfJWFhWDKdRWkpBzEs7s35DVA==", + "license": "MIT", + "dependencies": { + "process-ancestry": "^0.1.0" + }, + "bin": { + "am-i-vibing": "dist/cli.mjs" + } + }, + "node_modules/ansi-regex": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz", + "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/astro": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.3.8.tgz", + "integrity": "sha512-LHzDHSaV+YzZiR3EFndDYTLLeNeuMtP1qX1FLcCNUUHOCqTTIWPczy2UV3zpA5VqvJe5cWZolqM9Z8JFqR2i9w==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-rs": "^0.5.1", + "@astrojs/internal-helpers": "0.12.0", + "@astrojs/markdown-satteri": "0.4.3", + "@astrojs/telemetry": "3.3.3", + "@capsizecss/unpack": "^4.0.1", + "@clack/prompts": "^1.8.1", + "@oslojs/encoding": "^1.1.0", + "am-i-vibing": "^0.5.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^2.0.1", + "devalue": "^5.9.4", + "diff": "^9.0.0", + "dset": "^3.1.4", + "es-module-lexer": "^3.0.2", + "find-proc": "0.2.0", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.6", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "jsonc-parser": "^3.3.1", + "magic-string": "^1.4.2", + "magicast": "^0.5.5", + "mrmime": "^2.0.1", + "neotraverse": "^1.0.1", + "obug": "^3.0.0", + "p-limit": "^7.3.3", + "p-queue": "^9.3.3", + "package-manager-detector": "^1.8.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.7", + "rolldown": "^1.2.11", + "shiki": "^4.4.3", + "smol-toml": "^1.9.0", + "svgo": "^4.1.0", + "tinyclip": "^1.0.3", + "tinyexec": "^1.3.1", + "tinyglobby": "^0.2.17", + "ultrahtml": "^1.7.0", + "unifont": "~0.7.5", + "unstorage": "^1.17.5", + "verkit": "^0.5.0", + "vite": "^8.3.1", + "vitefu": "^1.1.3", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.6.5" + }, + "bin": { + "astro": "bin/astro.mjs" + }, + "engines": { + "node": ">=22.12.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.35.4" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "^7.3.0" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", + "integrity": "sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } + }, + "node_modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-background-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/css-background-parser/-/css-background-parser-0.1.0.tgz", + "integrity": "sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==", + "license": "MIT" + }, + "node_modules/css-box-shadow": { + "version": "1.0.0-3", + "resolved": "https://registry.npmjs.org/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz", + "integrity": "sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==", + "license": "MIT" + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-gradient-parser": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/css-gradient-parser/-/css-gradient-parser-0.0.17.tgz", + "integrity": "sha512-w2Xy9UMMwlKtou0vlRnXvWglPAceXCTtcmVSo8ZBUvqCV5aXEFP/PC6d+I464810I9FT++UACwTD5511bmGPUg==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.4.tgz", + "integrity": "sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz", + "integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/emmet": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex-xs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-2.0.1.tgz", + "integrity": "sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-3.0.3.tgz", + "integrity": "sha512-yWGe1O/j+almnV4hOYrmZo8u58JdnmXEMneRQAYkWtqSiT86yoMIEKF4rpqEDj52tbYl3xceBD3DQIBwcsC9Pw==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/expect-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", + "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-uri": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", + "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fflate": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz", + "integrity": "sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==", + "license": "MIT" + }, + "node_modules/find-proc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/find-proc/-/find-proc-0.2.0.tgz", + "integrity": "sha512-a6h2nTrgB3g5Wrn4au9Ux4kMk7IJtyF6oA8uGn+mk3weLZssUtc1cp6meHIzzuW2o1srrBAxzkmXLbqjRkgB6w==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.7.0.tgz", + "integrity": "sha512-XjH1AECxf0giL2V1aU8vKyRR2ppRUb5c0EvT7zuJTokQ74bNo52zOtghqdWIqrhUD79fo3x0WfKZdOqxF6LG1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.6.tgz", + "integrity": "sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "engines": { + "node": ">=20.20.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/harfbuzzjs": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/harfbuzzjs/-/harfbuzzjs-0.10.0.tgz", + "integrity": "sha512-SN8LVwCOzvTq3OPNd0+EAghgXugItz56wst567D1vs7LnnKGWprhi3EG58aVOBwhN8HEbQxL4I9NDWkcXUutRw==", + "license": "MIT" + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hex-rgb": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", + "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz", + "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==", + "license": "BSD-2-Clause" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-docker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.3.tgz", + "integrity": "sha512-yzzNtgczwgoVHNigCyKTXcQJU4Y8t/ikU4UxXW0BvrLfHTGWZhsNcOT2s/a7vn81/4KqVnNmHjaUEPlvWnNwVw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.mjs" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/lru-cache": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/lucide-static": { + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/lucide-static/-/lucide-static-1.55.0.tgz", + "integrity": "sha512-h18lunTFsIJWnY0FMRPjXeO9KcAtNi7fDqtqgWHOFbssfgUWsctn/pA7bpiyrd4g1DuBOJ24CsRnPfkYblwm/A==", + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", + "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.6.0" + } + }, + "node_modules/magicast": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.5.tgz", + "integrity": "sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "source-map-js": "^1.2.1" + } + }, + "node_modules/marked": { + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-18.1.1.tgz", + "integrity": "sha512-zEGgrtUG8crk+TrMacJSVABU4DYDDkS8uqgU3ohrn/2fW9C2AEfUrO3m6IhpIpQpl7YcVpiXXC9cSMWDANT3dg==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.3.tgz", + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-1.0.1.tgz", + "integrity": "sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz", + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/obug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/obug/-/obug-3.0.0.tgz", + "integrity": "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.12.tgz", + "integrity": "sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.3.tgz", + "integrity": "sha512-SKgVvDU5TNIxQ4r30U75BNLC6a+6GOEjngrk/ysM5+Zu3oJuk1SC5ApzIzY/7PjCEjoVPMWJ0zho/4QUiEB7TQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.5.tgz", + "integrity": "sha512-Lki/zhXFVmDhesBUn/yHRLW9Bte7mE7xoFHzTR8sIomV7a2z+LxYAPkGvdfidNiu4fKSfjtawixxSHcZci5QcQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.2.tgz", + "integrity": "sha512-prbX4Z3YszrFNgH+MW5Zoeq3baXrMtP/MQnFeET90UB/GtGcGDQ5Usg9OCy6ETjTTntOw1SL2z9fMPUppN3Guw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.9.0.tgz", + "integrity": "sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==", + "license": "MIT" + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, + "node_modules/parse-css-color": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/parse-css-color/-/parse-css-color-0.2.1.tgz", + "integrity": "sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.1.4", + "hex-rgb": "^4.1.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/png-to-ico": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/png-to-ico/-/png-to-ico-3.0.2.tgz", + "integrity": "sha512-36vvp3/YF7LPYkUEOj08/WgB1wI63qW391YfOhOWckgOtGkarr9+EhPBimcCmRP7fJaG4EaXQhTTaQ8qqdj8aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "^25.5.0", + "minimist": "^1.2.8", + "pngjs": "^7.0.0" + }, + "bin": { + "png-to-ico": "bin/cli.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/png-to-ico/node_modules/@types/node": { + "version": "25.9.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.9.tgz", + "integrity": "sha512-b4e2xxj/yMeT2hNlD6x7zNFiQK2Dlmkb9CQ6v3/1G2RezKN4YS2lcEv8lzGm1mhs4f2lM4yNAMI/zUDBZBBt7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, + "node_modules/pngjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/postcss": { + "version": "8.5.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz", + "integrity": "sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.20", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prettier": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz", + "integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-ancestry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/process-ancestry/-/process-ancestry-0.1.0.tgz", + "integrity": "sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rolldown": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.13.tgz", + "integrity": "sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==", + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.153.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm-eabi": "1.2.13", + "@rolldown/binding-android-arm64": "1.2.13", + "@rolldown/binding-darwin-arm64": "1.2.13", + "@rolldown/binding-darwin-x64": "1.2.13", + "@rolldown/binding-freebsd-x64": "1.2.13", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.13", + "@rolldown/binding-linux-arm64-gnu": "1.2.13", + "@rolldown/binding-linux-arm64-musl": "1.2.13", + "@rolldown/binding-linux-ppc64-gnu": "1.2.13", + "@rolldown/binding-linux-s390x-gnu": "1.2.13", + "@rolldown/binding-linux-x64-gnu": "1.2.13", + "@rolldown/binding-linux-x64-musl": "1.2.13", + "@rolldown/binding-openharmony-arm64": "1.2.13", + "@rolldown/binding-win32-arm64-msvc": "1.2.13", + "@rolldown/binding-win32-x64-msvc": "1.2.13" + } + }, + "node_modules/satori": { + "version": "0.51.0", + "resolved": "https://registry.npmjs.org/satori/-/satori-0.51.0.tgz", + "integrity": "sha512-wGtRqiISQemplyXY8E/kGEnNFhpGLCV9k1XqLAJG1bzaNgJzozF0Jpq3ndpjYauc745ce7RUYviM3AtsaYBlzA==", + "license": "MPL-2.0", + "dependencies": { + "@shuding/opentype.js": "1.4.0-beta.0", + "css-background-parser": "^0.1.0", + "css-box-shadow": "1.0.0-3", + "css-gradient-parser": "^0.0.17", + "css-to-react-native": "^3.0.0", + "emoji-regex-xs": "^2.0.1", + "escape-html": "^1.0.3", + "fflate": "0.7.3", + "harfbuzzjs": "0.10.0", + "linebreak": "^1.1.0", + "parse-css-color": "^0.2.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/satteri": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/satteri/-/satteri-0.10.5.tgz", + "integrity": "sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.5", + "@types/mdast": "^4.0.4", + "@types/unist": "^3.0.3" + }, + "optionalDependencies": { + "@bruits/satteri-darwin-arm64": "0.10.5", + "@bruits/satteri-darwin-x64": "0.10.5", + "@bruits/satteri-linux-arm64-gnu": "0.10.5", + "@bruits/satteri-linux-arm64-musl": "0.10.5", + "@bruits/satteri-linux-x64-gnu": "0.10.5", + "@bruits/satteri-linux-x64-musl": "0.10.5", + "@bruits/satteri-wasm32-wasi": "0.10.5", + "@bruits/satteri-win32-arm64-msvc": "0.10.5", + "@bruits/satteri-win32-x64-msvc": "0.10.5" + } + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.5.tgz", + "integrity": "sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==", + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.1.0", + "detect-libc": "^2.1.2", + "semver": "^7.8.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.35.5", + "@img/sharp-darwin-x64": "0.35.5", + "@img/sharp-freebsd-wasm32": "0.35.5", + "@img/sharp-libvips-darwin-arm64": "1.3.4", + "@img/sharp-libvips-darwin-x64": "1.3.4", + "@img/sharp-libvips-linux-arm": "1.3.4", + "@img/sharp-libvips-linux-arm64": "1.3.4", + "@img/sharp-libvips-linux-ppc64": "1.3.4", + "@img/sharp-libvips-linux-riscv64": "1.3.4", + "@img/sharp-libvips-linux-s390x": "1.3.4", + "@img/sharp-libvips-linux-x64": "1.3.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4", + "@img/sharp-libvips-linuxmusl-x64": "1.3.4", + "@img/sharp-linux-arm": "0.35.5", + "@img/sharp-linux-arm64": "0.35.5", + "@img/sharp-linux-ppc64": "0.35.5", + "@img/sharp-linux-riscv64": "0.35.5", + "@img/sharp-linux-s390x": "0.35.5", + "@img/sharp-linux-x64": "0.35.5", + "@img/sharp-linuxmusl-arm64": "0.35.5", + "@img/sharp-linuxmusl-x64": "0.35.5", + "@img/sharp-webcontainers-wasm32": "0.35.5", + "@img/sharp-win32-arm64": "0.35.5", + "@img/sharp-win32-ia32": "0.35.5", + "@img/sharp-win32-x64": "0.35.5" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/shiki": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.5.0.tgz", + "integrity": "sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.5.0", + "@shikijs/engine-javascript": "4.5.0", + "@shikijs/engine-oniguruma": "4.5.0", + "@shikijs/langs": "4.5.0", + "@shikijs/themes": "4.5.0", + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/simple-icons": { + "version": "16.35.0", + "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-16.35.0.tgz", + "integrity": "sha512-TCfl/2+GTrx0nCo4pEWGvxhOb8c6NsqOU1OpwjtF4lwJAthB8IYVD0fuIMjLMg6JFuG1YBO0t1iETQqJLqkoJA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/simple-icons" + }, + { + "type": "github", + "url": "https://github.com/sponsors/simple-icons" + } + ], + "license": "CC0-1.0", + "engines": { + "node": ">=0.12.18" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, + "node_modules/smol-toml": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.9.1.tgz", + "integrity": "sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/std-env": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.3.0.tgz", + "integrity": "sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.3.0.tgz", + "integrity": "sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", + "license": "MIT" + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/svgo": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.1.0.tgz", + "integrity": "sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^6.0.0", + "css-tree": "^3.0.1", + "css-what": "^7.0.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "1.6.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.2.tgz", + "integrity": "sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/tinyclip": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-1.0.3.tgz", + "integrity": "sha512-nTv2raKFMzGG6JJp0lpNDsRPdfFE6UHlu2rVEjXo8vkx1ZS3LW2CVXqIaLu8xZlu+6tbFs9V58Qc/Jmk/Ii7wA==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, + "node_modules/tinyexec": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "devOptional": true, + "license": "0BSD" + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz", + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-8.11.2.tgz", + "integrity": "sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==", + "license": "MIT", + "engines": { + "node": ">=22.19.0" + } + }, + "node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", + "license": "MIT" + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.5.tgz", + "integrity": "sha512-ULe/Cs+ZIsq+dcFofNkhqielCrUJnb5mr+Yc4EBM2VlL+6OZR6+cjtI2mT1bJvRBrVncqHAbLURxmPLcCXzWMg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ohash": "^2.0.11", + "undici": "^8.0.0" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/verkit": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.5.0.tgz", + "integrity": "sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==", + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz", + "integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==", + "license": "MIT", + "dependencies": { + "lightningcss": "^1.33.0", + "picomatch": "^4.0.7", + "postcss": "^8.5.29", + "rolldown": "~1.2.12", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.7.1", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.4.tgz", + "integrity": "sha512-z0WxZRV2Sg48wF0FSgMq3TFG8JS38/Qr96vZVZdX6+Em9raQTvnXQvdTFJe2m3rfyJnEHeHQ/snceIdi8D1pVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/mocker": "5.0.4", + "chai": "^6.3.0", + "es-module-lexer": "^2.3.2", + "expect-type": "^1.4.0", + "magic-string": "^1.4.3", + "obug": "^3.0.0", + "picomatch": "^4.0.7", + "std-env": "^4.3.0", + "tinybench": "^6.2.2", + "tinyexec": "^1.3.1", + "tinyglobby": "^0.2.17", + "why-is-node-running": "3.2.1" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^22.12.0 || ^24.0.0 || >=26.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "5.0.4", + "@vitest/browser-preview": "5.0.4", + "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", + "@vitest/coverage-istanbul": "5.0.4", + "@vitest/coverage-v8": "5.0.4", + "@vitest/ui": "5.0.4", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/vitest/node_modules/es-module-lexer": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/volar-service-css": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.71.tgz", + "integrity": "sha512-wRRFt9BpjMKCazcgOh67MSjUjiWUCAh99DyYSDIOTuxaRjEtDC7PpB0k1Y1wbJIW/pVtMUSVbpPo3UGSm0Byxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.71.tgz", + "integrity": "sha512-zqjzt6bN95e3CUstBm0PBFAJnrfz0ZAARka87fart46/gNCLLuP3Vujy8V/J8HEziTFLnfkgIASLFYPUhonJcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/css-parser": "^0.4.1", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.71.tgz", + "integrity": "sha512-e8tHPhgQ7ooLfudAEIku+kgd9pWkq3SSz8RbnQDI1+Eb8wbenkLGHqoirLqz5ORLV6wIMr2Iv08RWBG5eOcgpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.71.tgz", + "integrity": "sha512-Rz7JVH3qD108UCdmIEiZvOBNljMt2nLFdbN8AXcDfn7xD9F5I2aCIsDVqBbXw21PsnxG0b7MfwtNF+zPS/NKUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.71.tgz", + "integrity": "sha512-yTtM/BVT6hoyEYnDtaCyAtNhdNeS/mhTTABlBOdw3NNiRBUin3IznFJpgfjer4c6RYopiPjjQjc9VFhxVl1mLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.71.tgz", + "integrity": "sha512-9K2k72s4n7rV9s4bX0MyjbX9iBribvKZbBJKuEmTCZfeWJXs6Yh7bGpY4eoc7UufAjvpheBqwyZCOIPBvxCv0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.71.tgz", + "integrity": "sha512-qYGWGuVpUTnZGu5P/CR4KLK4aIR8RrcVnmfZ2eRcj9q/I8VZCoC5yy9FtEvfNvnDp4MU17yhdJcvpQPIqhJS2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.23.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.10.tgz", + "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-css-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-html-languageservice": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.2.tgz", + "integrity": "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.3.tgz", + "integrity": "sha512-qETYf9PCl1lVfwR+oBmMfc4vP2nqLNA35ABxorw3j06+xlKRgDVxbLgKm4Y/xPL0YWdeDjLoI4ImICIT3nB0zQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.18.4.tgz", + "integrity": "sha512-CCXbyr99dafRJzJH/0Ryk7ly5T8XPmSR0//OuF2w4m+9JiOin7zcAT5iET8GRE7Z9taFBejb3GbM0a0mbjdbrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "9.0.3", + "vscode-languageserver-types": "3.18.4" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.15.tgz", + "integrity": "sha512-Gsfr9S8LU3S6885cS+NaleasJ0n3V5y/SOTqHCifQiXWFw3G9w9/YItDfwHrlCz+dSZWWZ8ilYVMcJe7Sz7Sxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.18.4.tgz", + "integrity": "sha512-nQsacoiijvl0fRf2q28uFDrAVwRhdCa3QveiF7/CX0r18mLR5FU/1WskSsCKOjmEbtteKUnY8x8Yzxop+k0zwg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver/node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.2.0.tgz", + "integrity": "sha512-m2gXo3bn0G1kT9InzMf07fTbqMbGtyckj3bH5ktLO+1Ssv+yiATZ4dhwaQv9UZWxJh6E9IFGnQyjgWVDWVBDrg==", + "dev": true, + "license": "MIT" + }, + "node_modules/why-is-node-running": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.1.tgz", + "integrity": "sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==", + "dev": true, + "license": "MIT", + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=20.11" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yaml-language-server": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.23.0.tgz", + "integrity": "sha512-3qVyCOexLCWw06PQa5kRPwvMWMZ/eZeCRWUvgD6a0OkqL/4iCnxy2WumbWifa937Uo5xhyWJ0uxlU39ljhNh7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "ajv-i18n": "^4.2.0", + "prettier": "^3.8.1", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^9.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-uri": "^3.0.2", + "yaml": "2.8.3" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + } + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "dev": true, + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.2.0.tgz", + "integrity": "sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^8.2.1", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz", + "integrity": "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5135929 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "penk.in", + "private": true, + "type": "module", + "scripts": { + "dev": "astro dev", + "check": "astro check", + "build": "rm -rf node_modules/.astro && astro check && astro build", + "preview": "astro preview", + "test:unit": "vitest run tests/unit", + "test:dist": "vitest run tests/dist", + "test": "npm run test:unit && npm run build && npm run test:dist", + "icons": "node scripts/make-icons.mjs" + }, + "dependencies": { + "@astrojs/sitemap": "3.7.4", + "@fontsource/jetbrains-mono": "5.3.0", + "@fontsource/schibsted-grotesk": "5.3.0", + "@resvg/resvg-js": "2.6.2", + "astro": "7.3.8", + "js-yaml": "5.4.3", + "lucide-static": "1.55.0", + "marked": "18.1.1", + "satori": "0.51.0", + "sharp": "0.35.5", + "simple-icons": "16.35.0" + }, + "devDependencies": { + "@astrojs/check": "0.9.10", + "png-to-ico": "3.0.2", + "typescript": "6.0.3", + "vitest": "5.0.4" + } +} diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..f68962c --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,3 @@ +--- +--- +

penk.in rebuild in progress

diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..1c7cb7a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist", "css", "js", "images"] +} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..aefccb5 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { include: ['tests/**/*.test.ts'] }, +}); From 70b2f4ff5a3153fba3b54f7b53f875ad2d9fe73b Mon Sep 17 00:00:00 2001 From: Vladimir Penkin Date: Mon, 12 Oct 2026 16:56:56 -0400 Subject: [PATCH 02/27] Add YAML, date, grouping and inline Markdown helpers Co-Authored-By: Claude Opus 5.5 --- src/lib/dates.ts | 32 +++++++++++++++++++++++ src/lib/group.ts | 21 ++++++++++++++++ src/lib/markdown.ts | 6 +++++ src/lib/yaml-loader.ts | 30 ++++++++++++++++++++++ tests/unit/dates.test.ts | 46 ++++++++++++++++++++++++++++++++++ tests/unit/group.test.ts | 31 +++++++++++++++++++++++ tests/unit/markdown.test.ts | 8 ++++++ tests/unit/yaml-loader.test.ts | 35 ++++++++++++++++++++++++++ 8 files changed, 209 insertions(+) create mode 100644 src/lib/dates.ts create mode 100644 src/lib/group.ts create mode 100644 src/lib/markdown.ts create mode 100644 src/lib/yaml-loader.ts create mode 100644 tests/unit/dates.test.ts create mode 100644 tests/unit/group.test.ts create mode 100644 tests/unit/markdown.test.ts create mode 100644 tests/unit/yaml-loader.test.ts diff --git a/src/lib/dates.ts b/src/lib/dates.ts new file mode 100644 index 0000000..aaea4a2 --- /dev/null +++ b/src/lib/dates.ts @@ -0,0 +1,32 @@ +export type PartialDate = number | string; + +const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + +export function yearOf(d: PartialDate): number { + return typeof d === 'number' ? d : Number(d.slice(0, 4)); +} + +export function formatPartialDate(d: PartialDate): string { + if (typeof d === 'number') return String(d); + const [year, month, day] = d.split('-'); + const monthName = MONTHS[Number(month) - 1]; + return day ? `${monthName} ${Number(day)}, ${year}` : `${monthName} ${year}`; +} + +export function formatPeriod(start?: PartialDate, end?: PartialDate | 'present'): string { + if (start === undefined && end === undefined) return ''; + if (start === undefined) return end === 'present' ? 'present' : formatPartialDate(end!); + const from = formatPartialDate(start); + if (end === undefined) return from; + const to = end === 'present' ? 'present' : formatPartialDate(end); + return from === to ? from : `${from} – ${to}`; +} + +export function decadeOf(d: PartialDate): string { + return `${Math.floor(yearOf(d) / 10) * 10}s`; +} + +export function sortKey(d: PartialDate): string { + if (typeof d === 'number') return `${d}-00-00`; + return d.length === 7 ? `${d}-00` : d; +} diff --git a/src/lib/group.ts b/src/lib/group.ts new file mode 100644 index 0000000..b1cd4db --- /dev/null +++ b/src/lib/group.ts @@ -0,0 +1,21 @@ +import { sortKey, type PartialDate } from './dates'; + +export interface Group { + key: string; + items: T[]; +} + +export function groupBy(items: T[], keyOf: (item: T) => string): Group[] { + const groups = new Map(); + for (const item of items) { + const key = keyOf(item); + const bucket = groups.get(key); + if (bucket) bucket.push(item); + else groups.set(key, [item]); + } + return [...groups].map(([key, grouped]) => ({ key, items: grouped })); +} + +export function newestFirst(items: T[], dateOf: (item: T) => PartialDate): T[] { + return [...items].sort((a, b) => sortKey(dateOf(b)).localeCompare(sortKey(dateOf(a)))); +} diff --git a/src/lib/markdown.ts b/src/lib/markdown.ts new file mode 100644 index 0000000..c070ec0 --- /dev/null +++ b/src/lib/markdown.ts @@ -0,0 +1,6 @@ +import { marked } from 'marked'; + +/** Render trusted inline Markdown (links, emphasis) to HTML, without a wrapping

. */ +export function inline(markdown: string): string { + return marked.parseInline(markdown, { async: false }) as string; +} diff --git a/src/lib/yaml-loader.ts b/src/lib/yaml-loader.ts new file mode 100644 index 0000000..9a128f3 --- /dev/null +++ b/src/lib/yaml-loader.ts @@ -0,0 +1,30 @@ +import { CORE_SCHEMA, load } from 'js-yaml'; + +// CORE_SCHEMA keeps `2026-03-15` as a string instead of turning it into a Date. + +/** Parse YAML text. Blank or comment-only text yields null, since js-yaml rejects it outright. */ +function loadYaml(text: string): unknown { + const hasContent = text.split('\n').some((line) => { + const trimmed = line.trim(); + return trimmed !== '' && !trimmed.startsWith('#'); + }); + return hasContent ? load(text, { schema: CORE_SCHEMA }) : null; +} + +/** Parse a YAML file whose top level is a list. Entry ids are their 1-based positions. */ +export function parseYamlList(text: string): Record[] { + const data = loadYaml(text); + if (!Array.isArray(data) || data.length === 0) { + throw new Error('Expected a non-empty YAML list at the top level'); + } + return data.map((item, index) => ({ id: String(index + 1), ...(item as object) })); +} + +/** Parse a YAML file whose top level is a single mapping. It becomes one entry with id "main". */ +export function parseYamlDocument(text: string): Record[] { + const data = loadYaml(text); + if (data === null || typeof data !== 'object' || Array.isArray(data)) { + throw new Error('Expected a YAML mapping at the top level'); + } + return [{ id: 'main', ...(data as object) }]; +} diff --git a/tests/unit/dates.test.ts b/tests/unit/dates.test.ts new file mode 100644 index 0000000..331a12e --- /dev/null +++ b/tests/unit/dates.test.ts @@ -0,0 +1,46 @@ +import { describe, expect, it } from 'vitest'; +import { decadeOf, formatPartialDate, formatPeriod, sortKey, yearOf } from '../../src/lib/dates'; + +describe('yearOf', () => { + it('handles all partial date shapes', () => { + expect(yearOf(2015)).toBe(2015); + expect(yearOf('2026-03')).toBe(2026); + expect(yearOf('2026-03-15')).toBe(2026); + }); +}); + +describe('formatPartialDate', () => { + it('formats year, month and day precision', () => { + expect(formatPartialDate(2015)).toBe('2015'); + expect(formatPartialDate('2026-03')).toBe('Mar 2026'); + expect(formatPartialDate('2026-03-05')).toBe('Mar 5, 2026'); + }); +}); + +describe('formatPeriod', () => { + it('formats ranges with a spaced en dash', () => { + expect(formatPeriod(2015, 2026)).toBe('2015 – 2026'); + expect(formatPeriod(2025, 'present')).toBe('2025 – present'); + }); + + it('collapses equal or missing ends', () => { + expect(formatPeriod(2015)).toBe('2015'); + expect(formatPeriod(2015, 2015)).toBe('2015'); + expect(formatPeriod()).toBe(''); + }); +}); + +describe('decadeOf', () => { + it('returns the decade label', () => { + expect(decadeOf(2015)).toBe('2010s'); + expect(decadeOf('2020-01')).toBe('2020s'); + }); +}); + +describe('sortKey', () => { + it('pads to YYYY-MM-DD so strings sort chronologically', () => { + expect(sortKey(2015)).toBe('2015-00-00'); + expect(sortKey('2026-03')).toBe('2026-03-00'); + expect(sortKey('2026-03-15')).toBe('2026-03-15'); + }); +}); diff --git a/tests/unit/group.test.ts b/tests/unit/group.test.ts new file mode 100644 index 0000000..60fc1d3 --- /dev/null +++ b/tests/unit/group.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, it } from 'vitest'; +import { groupBy, newestFirst } from '../../src/lib/group'; + +describe('groupBy', () => { + it('groups by key in first-seen order', () => { + const groups = groupBy(['a1', 'b1', 'a2'], (s) => s[0]); + expect(groups).toEqual([ + { key: 'a', items: ['a1', 'a2'] }, + { key: 'b', items: ['b1'] }, + ]); + }); +}); + +describe('newestFirst', () => { + it('sorts by partial date descending, stable for ties', () => { + const items = [ + { n: 'old', d: 2015 }, + { n: 'mar', d: '2026-03' }, + { n: 'tie1', d: 2020 }, + { n: 'day', d: '2026-03-15' }, + { n: 'tie2', d: 2020 }, + ]; + expect(newestFirst(items, (i) => i.d).map((i) => i.n)).toEqual(['day', 'mar', 'tie1', 'tie2', 'old']); + }); + + it('does not mutate the input', () => { + const items = [{ d: 2015 }, { d: 2020 }]; + newestFirst(items, (i) => i.d); + expect(items[0].d).toBe(2015); + }); +}); diff --git a/tests/unit/markdown.test.ts b/tests/unit/markdown.test.ts new file mode 100644 index 0000000..86d2b0a --- /dev/null +++ b/tests/unit/markdown.test.ts @@ -0,0 +1,8 @@ +import { describe, expect, it } from 'vitest'; +import { inline } from '../../src/lib/markdown'; + +describe('inline', () => { + it('renders links and emphasis without a wrapping paragraph', () => { + expect(inline('see [x](https://x.com) **b**')).toBe('see x b'); + }); +}); diff --git a/tests/unit/yaml-loader.test.ts b/tests/unit/yaml-loader.test.ts new file mode 100644 index 0000000..750236f --- /dev/null +++ b/tests/unit/yaml-loader.test.ts @@ -0,0 +1,35 @@ +import { describe, expect, it } from 'vitest'; +import { parseYamlDocument, parseYamlList } from '../../src/lib/yaml-loader'; + +describe('parseYamlList', () => { + it('assigns 1-based string ids in file order', () => { + expect(parseYamlList('- title: A\n- title: B\n')).toEqual([ + { id: '1', title: 'A' }, + { id: '2', title: 'B' }, + ]); + }); + + it('keeps dates as strings and years as numbers', () => { + expect(parseYamlList('- a: 2026-03-15\n b: 2026-03\n c: 2015\n')).toEqual([ + { id: '1', a: '2026-03-15', b: '2026-03', c: 2015 }, + ]); + }); + + it('rejects a mapping', () => { + expect(() => parseYamlList('title: A\n')).toThrow('non-empty YAML list'); + }); + + it('rejects an empty file', () => { + expect(() => parseYamlList('')).toThrow('non-empty YAML list'); + }); +}); + +describe('parseYamlDocument', () => { + it('wraps a mapping as the single entry "main"', () => { + expect(parseYamlDocument('name: V\nstart: 2015\n')).toEqual([{ id: 'main', name: 'V', start: 2015 }]); + }); + + it('rejects a list', () => { + expect(() => parseYamlDocument('- a: 1\n')).toThrow('YAML mapping'); + }); +}); From 00f18cbda8cb828ef6d3a3133e31b2a60d626cf3 Mon Sep 17 00:00:00 2001 From: Vladimir Penkin Date: Mon, 12 Oct 2026 16:59:02 -0400 Subject: [PATCH 03/27] =?UTF-8?q?Add=20content=20collections,=20schemas,?= =?UTF-8?q?=20r=C3=A9sum=C3=A9=20from=20CV=20and=20seed=20content?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- public/Vladimir_Penkin_CV_2026.pdf | Bin 0 -> 73831 bytes src/assets/avatar.png | Bin 0 -> 108005 bytes src/content.config.ts | 94 +++++++++++++++++++++++ src/content/books.yaml | 4 + src/content/life.yaml | 15 ++++ src/content/links.yaml | 14 ++++ src/content/pages/about.md | 14 ++++ src/content/pages/contact.md | 6 ++ src/content/pages/home.md | 5 ++ src/content/resume.yaml | 117 +++++++++++++++++++++++++++++ src/lib/content.ts | 25 ++++++ src/pages/index.astro | 11 ++- 12 files changed, 304 insertions(+), 1 deletion(-) create mode 100644 public/Vladimir_Penkin_CV_2026.pdf create mode 100644 src/assets/avatar.png create mode 100644 src/content.config.ts create mode 100644 src/content/books.yaml create mode 100644 src/content/life.yaml create mode 100644 src/content/links.yaml create mode 100644 src/content/pages/about.md create mode 100644 src/content/pages/contact.md create mode 100644 src/content/pages/home.md create mode 100644 src/content/resume.yaml create mode 100644 src/lib/content.ts diff --git a/public/Vladimir_Penkin_CV_2026.pdf b/public/Vladimir_Penkin_CV_2026.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9ee2ddd7c8ece49efcb4e918b812cb32ccb6ccea GIT binary patch literal 73831 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 literal 0 HcmV?d00001 diff --git a/src/assets/avatar.png b/src/assets/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..67677bc20b13dd17c3abac96b59db1196ec44754 GIT binary patch literal 108005 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 I#!MBT+ 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

HMdEa9vYH0%JR?zk)}w9 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 literal 0 HcmV?d00001 diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 0000000..badeb9d --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,94 @@ +import { defineCollection } from 'astro:content'; +import { file, glob } from 'astro/loaders'; +import { z } from 'astro/zod'; +import { parseYamlDocument, parseYamlList } from './lib/yaml-loader'; + +const partialDate = z.union([ + z.number().int().min(1900).max(2100), + z.string().regex(/^\d{4}-\d{2}(-\d{2})?$/, 'use YYYY, YYYY-MM or YYYY-MM-DD'), +]); +const endDate = z.union([partialDate, z.literal('present')]); + +const role = z.object({ + title: z.string(), + start: partialDate.optional(), + end: endDate.optional(), + location: z.string().optional(), + context: z.string().optional(), + highlights: z.array(z.string()).default([]), +}); + +const company = z.object({ + company: z.string(), + url: z.string().url().optional(), + location: z.string().optional(), + start: partialDate.optional(), + end: endDate.optional(), + roles: z.array(role).min(1), +}); + +const resume = defineCollection({ + loader: file('src/content/resume.yaml', { parser: parseYamlDocument }), + schema: z.object({ + name: z.string(), + title: z.string(), + location: z.string(), + contact: z.object({ email: z.string().email(), github: z.string(), linkedin: z.string() }), + pdf: z.string().startsWith('/'), + profile: z.array(z.string()).min(1), + skills: z.array(z.object({ label: z.string(), items: z.array(z.string()).min(1) })).min(1), + experience: z.array(company).min(1), + projects: z.object({ intro: z.string().optional(), items: z.array(z.string()).min(1) }), + education: z + .array( + z.object({ + school: z.string(), + location: z.string().optional(), + field: z.string(), + start: partialDate, + end: partialDate, + }), + ) + .min(1), + languages: z.array(z.object({ language: z.string(), level: z.string() })).min(1), + }), +}); + +const life = defineCollection({ + loader: file('src/content/life.yaml', { parser: parseYamlList }), + schema: z.object({ + date: partialDate, + title: z.string(), + description: z.string().optional(), + url: z.string().url().optional(), + }), +}); + +const books = defineCollection({ + loader: file('src/content/books.yaml', { parser: parseYamlList }), + schema: z.object({ + title: z.string(), + author: z.string(), + read: partialDate, + rating: z.number().int().min(1).max(5).optional(), + note: z.string().optional(), + url: z.string().url().optional(), + }), +}); + +const links = defineCollection({ + loader: file('src/content/links.yaml', { parser: parseYamlList }), + schema: z.object({ + topic: z.string(), + links: z + .array(z.object({ title: z.string(), url: z.string().url(), note: z.string().optional() })) + .min(1), + }), +}); + +const pages = defineCollection({ + loader: glob({ pattern: '*.md', base: 'src/content/pages' }), + schema: z.object({ title: z.string(), description: z.string() }), +}); + +export const collections = { resume, life, books, links, pages }; diff --git a/src/content/books.yaml b/src/content/books.yaml new file mode 100644 index 0000000..0e22a84 --- /dev/null +++ b/src/content/books.yaml @@ -0,0 +1,4 @@ +# Books I've read. read: YYYY or YYYY-MM. rating (1–5), note and url are optional. +- title: "PLACEHOLDER — replace with a real book" + author: Nobody + read: 2026 diff --git a/src/content/life.yaml b/src/content/life.yaml new file mode 100644 index 0000000..34f82c4 --- /dev/null +++ b/src/content/life.yaml @@ -0,0 +1,15 @@ +# Life milestones, any order (the page sorts newest first and groups by decade). +# date: YYYY, YYYY-MM or YYYY-MM-DD. description and url are optional. +- date: 2007 + title: Started studying Computer Science + description: Southern Federal University, Taganrog, Russia. +- date: 2007 + title: First job as a web developer +- date: 2012 + title: Moved to Medellín, Colombia + description: Co-founded StaunchRobots, a Rails development shop. +- date: 2015 + title: Joined Rev +- date: 2025 + title: Became tech lead for SmartDepo + description: Led its integration into Rev’s platform after the acquisition. diff --git a/src/content/links.yaml b/src/content/links.yaml new file mode 100644 index 0000000..a4183dc --- /dev/null +++ b/src/content/links.yaml @@ -0,0 +1,14 @@ +# Curated links, grouped by topic. note is optional. +- topic: Personal sites I like + links: + - { title: Tania Rascia, url: https://www.taniarascia.com/ } + - { title: Railcode, url: https://railcode.dev/ } + - { title: Natalie Somersall, url: https://some-natalie.dev/ } + - { title: Xuanwo, url: https://xuanwo.io/ } + - { title: Paul Stamatiou, url: https://paulstamatiou.com/ } + - { title: マリウス, url: https://xn--gckvb8fzb.com/ } + - { title: Spencer, url: https://spenc.es/ } + - { title: Anand Chowdhary, url: https://anandchowdhary.com/ } + - { title: Andrew Martin, url: https://andrewmart.in/ } + - { title: Dusted Codes, url: https://dusted.codes/ } + - { title: How is Felix today?, url: https://howisfelix.today/ } diff --git a/src/content/pages/about.md b/src/content/pages/about.md new file mode 100644 index 0000000..1cb87f3 --- /dev/null +++ b/src/content/pages/about.md @@ -0,0 +1,14 @@ +--- +title: About +description: About Vladimir Penkin, software engineer in San Francisco. +--- +I studied computer science at Southern Federal University in Taganrog. I like writing code and +learning new things. I love to travel and have lived in Colombia. + +I'm a generalist. I believe with a good knowledge base you can do stuff, and the language or +framework is not that important. You take a performance hit at the beginning, but in the end you +can always grow wiser and bring something new to the table. + +I've worked with Ruby, C#, TypeScript and JavaScript, and I'm dabbling in Go and Python. + +More: my [résumé](/resume), [life so far](/life) and [the books I've read](/books). diff --git a/src/content/pages/contact.md b/src/content/pages/contact.md new file mode 100644 index 0000000..0ee85f0 --- /dev/null +++ b/src/content/pages/contact.md @@ -0,0 +1,6 @@ +--- +title: Contact +description: How to get in touch with Vladimir Penkin. +--- +The best way to reach me is email: [work@penk.in](mailto:work@penk.in). I'm also on GitHub and +LinkedIn. Say hi. diff --git a/src/content/pages/home.md b/src/content/pages/home.md new file mode 100644 index 0000000..217d966 --- /dev/null +++ b/src/content/pages/home.md @@ -0,0 +1,5 @@ +--- +title: Vladimir Penkin +description: Staff software engineer in San Francisco. Platform & backend. +--- +Staff software engineer in San Francisco. Platform & backend. diff --git a/src/content/resume.yaml b/src/content/resume.yaml new file mode 100644 index 0000000..fc5036e --- /dev/null +++ b/src/content/resume.yaml @@ -0,0 +1,117 @@ +# Source: ~/Documents/Cover Letter(CV)/Vladimir_Penkin_CV_2026.pdf +# Keep in sync by hand: when the CV changes, replace public/Vladimir_Penkin_CV_2026.pdf +# and update this file in the same commit. If the PDF file name changes, update `pdf`. +name: Vladimir Penkin +title: Staff Software Engineer · Platform & Backend +location: San Francisco, California +contact: + email: work@penk.in + github: shell + linkedin: vladimirpenkin +pdf: /Vladimir_Penkin_CV_2026.pdf + +profile: + - Staff Software Engineer with 19 years building web products, including 11 at Rev through its ~10x revenue growth. + - "Most recently tech lead for SmartDepo, an acquired legal-AI product: led its integration into Rev’s platform in 4 months, moved it onto Kubernetes and Terraform, and owned its LLM summarization pipelines. Backend in C#/.NET and Python; hands-on with Kubernetes, Terraform, CI/CD, AWS and Linux. Deep expertise in complex browser editors (React, ProseMirror)." + - Looking for Staff Backend or Platform engineering roles. Open to full-stack engineering for the right opportunity. + +skills: + - { label: AI/LLM, items: [LiteLLM, summarization pipelines, scikit-learn, spaCy] } + - { label: Platform Engineering, items: [Kubernetes, Docker, Helm, Terraform, Infrastructure as Code, CI/CD] } + - { label: Cloud & Infrastructure, items: [AWS, Azure, Linux] } + - { label: Databases, items: [PostgreSQL, MSSQL, MongoDB, Supabase, Snowflake, Looker] } + - { label: Observability, items: [Prometheus, Grafana] } + - { label: CI/CD & Tooling, items: [Jenkins, GitHub Actions, Ansible] } + - { label: Programming, items: ["C#", Python, Ruby, Node.js, TypeScript/JavaScript] } + - { label: Frontend, items: [React, Next.js, ProseMirror] } + - { label: Communication, items: [Cross-team communication, Remote work] } + +experience: + - company: Rev.com + url: http://rev.com/ + start: 2015 + end: 2026 + roles: + - title: Staff SWE, Technical Lead (SmartDepo) + start: 2025 + end: 2026 + context: "[SmartDepo](https://www.smartdepo.law/): legal deposition-summary product acquired by Rev in 2025. Inherited with no CI, tests, staging or secrets management, and only one engineer able to work on it." + highlights: + - Delivered Multi-Witness processing, SmartDepo’s key product milestone of the year, coordinating changes across the AI backend, web frontend, database schemas and admin tooling; shipped on deadline and expanded the product’s addressable market. + - Owned hierarchical LLM summarization pipelines for legal depositions, mixing open-weight and commercial models via LiteLLM; processed ~1,000 depositions per week. + - Led technical integration of SmartDepo into Rev’s platform (auth, infrastructure, observability, scaling) in 4 months. + - Rebuilt delivery on Jenkins, Kubernetes and Terraform, going from 2 deploys per month to multiple per day; added unit tests and database migrations, keeping schemas in sync from local to production. + - Migrated the backend from AWS Lambda to Kubernetes and Terraform for reliability, adding dev and staging environments alongside production. + - Replaced hardcoded secrets with proper secrets management across a system split between 4 vendors (Supabase, Vercel, Azure, AWS). + - Mentored incoming engineers, contractors and QA through a year of heavy team turnover; upheld engineering standards across SmartDepo and Rev Legal through code review. + - title: Staff SWE (Rev Legal) + start: 2023 + end: 2025 + highlights: + - Led the launch of Legal Essentials, a new high-margin product tier. + - Built checkout and ordering for Rev Legal offerings, handling millions of dollars in orders per year. + - Designed the workflow that turns a marketplace job into a final legal deliverable. + - Developed an editor for legal transcripts and depositions. + - Set up checkout and workflow analytics pipelines in Snowflake and Looker. + - Built foundational infrastructure for Legal Live Capture, a real-time streaming editor for documenting legal proceedings; piloted with select customers. + - title: Senior SWE (Freelancer Platform & Editors) + start: 2015 + end: 2022 + highlights: + - Led development of Rev’s four core work editors (transcription, ASR review, captions, subtitles) through Rev’s ~10x revenue growth. + - Scaled the editors to tens of thousands of freelancers transcribing millions of minutes of audio, with autosave every second. + - "Built freelancer marketplace tools: application process, earnings and performance dashboards, rating and quality control." + - Migrated a significant share of services from .NET Framework to .NET Core as part of a year-long company-wide migration. + - Owned the multi-caption selection epic end to end, from technical approach to coordinating other engineers’ contributions; mentored newer engineers through code review and pairing. + + - company: StaunchRobots + location: Medellín + start: 2012 + end: 2013 + roles: + - title: Co-founder + highlights: + - Co-founded a Rails development shop with a US-based partner and relocated to Medellín, Colombia. Led engineering while my partner ran sales, clients and operations. + - Built an international team of up to 7 engineers from Colombia, Brazil, Russia, Romania and the US, working from our Medellín office and remotely. Recruited developers from Brazil. + - Worked full-time as a senior Rails engineer, embedded in US clients’ teams (BigBinary, Verdacom, TruckingOffice). + - Trained new hires in Ruby and Rails and mentored the team on engineering problems. Ran a free Ruby course for 5 aspiring developers. + + - company: Early Career + roles: + - title: Self-employed / Freelance + location: Russia + start: 2009 + end: 2012 + highlights: + - Developed bespoke project management tool for [arbel-designs.com](https://web.archive.org/web/20110206060859/http://www.arbel-designs.com/). + - Built data crawlers and analytics pipelines at Visual Systems Research Group (VSRG). + - Developed CV application tool and file conversion service at [Jobstar.se](http://jobstar.se/). + - Application design, maintenance and upgrade for Ruby projects at [railsrescue.com](https://railsrescue.com/). + - title: Web Developer (employed) + location: Russia + start: 2007 + end: 2011 + highlights: + - Built bespoke auctions platform on top of Magento e-commerce solution for [bstock.com](https://bstock.com/). + - Developed e-commerce websites and modules using Magento e-commerce framework, bespoke plugins for WordPress platform, Zend Framework, PHP, MySQL at [oggetto.team](https://oggetto.team/). + - Developed admin panel and spellchecking solution for WebMail product at [afterlogic.com](http://afterlogic.com/). + +projects: + intro: "Personal projects:" + items: + - "[Homelab automation (shell/infra)](https://github.com/shell/infra) — running a few servers at home and in the public cloud to provide self-governed services for myself and my family. Using Proxmox, Ansible, Grafana, Prometheus, Talos Linux, Kubernetes cluster, Terraform, Tailscale, Cloudflare." + - "[Vscode-jump-to-alternative](https://github.com/shell/vscode-jump-to-alternative) — a VS Code extension to jump between code and test files." + - "[Map to Poster](https://maptoposter.penk.in/) — lets you create striking map posters." + - "Prize winner: MyGengo API Wrapper contest for [Ruby](https://github.com/shell/mugen) and [Zend Framework](https://github.com/shell/zf-mygengo)." + +education: + - school: Southern Federal University + location: Taganrog, Russia + field: Computer Science + start: 2007 + end: 2011 + +languages: + - { language: English, level: Fluent } + - { language: Russian, level: Native } + - { language: Spanish, level: basic } diff --git a/src/lib/content.ts b/src/lib/content.ts new file mode 100644 index 0000000..abfc523 --- /dev/null +++ b/src/lib/content.ts @@ -0,0 +1,25 @@ +import { getCollection, getEntry, type CollectionEntry, type CollectionKey } from 'astro:content'; + +// Astro only logs (does not fail) when a YAML file can't be parsed, leaving the +// collection empty. Every page loads content through these helpers so an +// empty or missing collection fails the build instead of shipping a blank page. + +export async function requireCollection(name: C): Promise[]> { + const items = (await getCollection(name)) as CollectionEntry[]; + if (items.length === 0) { + throw new Error(`Content collection "${name}" is empty or failed to load. Check src/content/${name}.yaml`); + } + return items; +} + +export async function requireDocument(name: C): Promise> { + const entry = (await getEntry(name, 'main')) as CollectionEntry | undefined; + if (!entry) throw new Error(`Content document "${name}" failed to load. Check src/content/${name}.yaml`); + return entry; +} + +export async function requirePage(id: 'home' | 'about' | 'contact'): Promise> { + const entry = await getEntry('pages', id); + if (!entry) throw new Error(`Page "${id}" is missing. Expected src/content/pages/${id}.md`); + return entry; +} diff --git a/src/pages/index.astro b/src/pages/index.astro index f68962c..2d7461f 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,3 +1,12 @@ --- +import { requireCollection, requireDocument, requirePage } from '../lib/content'; + +const resume = await requireDocument('resume'); +const counts = { + life: (await requireCollection('life')).length, + books: (await requireCollection('books')).length, + links: (await requireCollection('links')).length, +}; +const home = await requirePage('home'); --- -

penk.in rebuild in progress

+

{home.data.title} · {resume.data.experience.length} companies · {JSON.stringify(counts)}

From bf80f5157d46264e2708dba40cf6f301f08ebd8b Mon Sep 17 00:00:00 2001 From: Vladimir Penkin Date: Mon, 12 Oct 2026 17:01:12 -0400 Subject: [PATCH 04/27] Add design tokens, base layout, theme toggle and homepage Co-Authored-By: Claude Opus 5.5 --- .gitignore | 2 +- public/apple-touch-icon.png | Bin 0 -> 20791 bytes public/favicon.ico | Bin 0 -> 15086 bytes public/icon-192.png | Bin 0 -> 30143 bytes public/robots.txt | 4 ++ scripts/make-icons.mjs | 20 ++++++++++ src/components/AvatarCard.astro | 20 ++++++++++ src/components/Footer.astro | 10 +++++ src/components/Icon.astro | 10 +++++ src/components/Nav.astro | 18 +++++++++ src/components/SocialLinks.astro | 15 +++++++ src/components/ThemeToggle.astro | 16 ++++++++ src/layouts/Base.astro | 64 ++++++++++++++++++++++++++++++ src/lib/icons.ts | 24 +++++++++++ src/lib/site.ts | 28 +++++++++++++ src/pages/index.astro | 20 ++++++---- src/styles/global.css | 66 +++++++++++++++++++++++++++++++ src/styles/tokens.css | 42 ++++++++++++++++++++ tests/dist/helpers.ts | 8 ++++ tests/dist/home.test.ts | 47 ++++++++++++++++++++++ 20 files changed, 405 insertions(+), 9 deletions(-) create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.ico create mode 100644 public/icon-192.png create mode 100644 public/robots.txt create mode 100644 scripts/make-icons.mjs create mode 100644 src/components/AvatarCard.astro create mode 100644 src/components/Footer.astro create mode 100644 src/components/Icon.astro create mode 100644 src/components/Nav.astro create mode 100644 src/components/SocialLinks.astro create mode 100644 src/components/ThemeToggle.astro create mode 100644 src/layouts/Base.astro create mode 100644 src/lib/icons.ts create mode 100644 src/lib/site.ts create mode 100644 src/styles/global.css create mode 100644 src/styles/tokens.css create mode 100644 tests/dist/helpers.ts create mode 100644 tests/dist/home.test.ts diff --git a/.gitignore b/.gitignore index 2ae129e..66a48d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ .DS_Store node_modules/ -dist/ +/dist/ .astro/ .superpowers/ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eb173024be82fb093b9899dc1fc3b41a43e0eec5 GIT binary patch literal 20791 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 literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f3428fcc2765b371808b8bf8493cc7c4a7d005e6 GIT binary patch literal 15086 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 R@vMFA7g|W_7202i{|~uC{rms` literal 0 HcmV?d00001 diff --git a/public/icon-192.png b/public/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..439983124d46e69d44a77ce2af56425d09b6b197 GIT binary patch literal 30143 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 HW+DFr&8>A` literal 0 HcmV?d00001 diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..14fbf39 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://penk.in/sitemap-index.xml diff --git a/scripts/make-icons.mjs b/scripts/make-icons.mjs new file mode 100644 index 0000000..c927468 --- /dev/null +++ b/scripts/make-icons.mjs @@ -0,0 +1,20 @@ +// Regenerate favicons from the avatar: `npm run icons`. Outputs are committed to public/. +import { writeFile } from 'node:fs/promises'; +import sharp from 'sharp'; +import pngToIco from 'png-to-ico'; + +const SRC = 'src/assets/avatar.png'; +const BG = '#0d1117'; + +const png = (size) => sharp(SRC).resize(size, size).png().toBuffer(); + +// iOS fills transparency with black, so the touch icon gets the site background and some padding. +const touch = await sharp({ create: { width: 180, height: 180, channels: 4, background: BG } }) + .composite([{ input: await sharp(SRC).resize(150, 150).png().toBuffer(), gravity: 'center' }]) + .png() + .toBuffer(); + +await writeFile('public/favicon.ico', await pngToIco([await png(16), await png(32), await png(48)])); +await writeFile('public/icon-192.png', await png(192)); +await writeFile('public/apple-touch-icon.png', touch); +console.log('Wrote public/favicon.ico, public/icon-192.png, public/apple-touch-icon.png'); diff --git a/src/components/AvatarCard.astro b/src/components/AvatarCard.astro new file mode 100644 index 0000000..b49f176 --- /dev/null +++ b/src/components/AvatarCard.astro @@ -0,0 +1,20 @@ +--- +import { Image } from 'astro:assets'; +import avatar from '../assets/avatar.png'; + +interface Props { + size?: number; + class?: string; +} +const { size = 160, class: className } = Astro.props; +--- +Illustrated portrait of Vladimir Penkin diff --git a/src/components/Footer.astro b/src/components/Footer.astro new file mode 100644 index 0000000..002cf76 --- /dev/null +++ b/src/components/Footer.astro @@ -0,0 +1,10 @@ +--- +import { SITE } from '../lib/site'; +import SocialLinks from './SocialLinks.astro'; + +const year = new Date().getFullYear(); +--- +
+ © {year} {SITE.name} + +
diff --git a/src/components/Icon.astro b/src/components/Icon.astro new file mode 100644 index 0000000..d830f1e --- /dev/null +++ b/src/components/Icon.astro @@ -0,0 +1,10 @@ +--- +import { ICONS, type IconName } from '../lib/icons'; + +interface Props { + name: IconName; + class?: string; +} +const { name, class: className } = Astro.props; +--- +