From df35ee6632e8413cdbf4b686c1205fc4db3f843b Mon Sep 17 00:00:00 2001 From: "Claude (Beletage)" Date: Mon, 20 Apr 2026 03:21:18 +0300 Subject: [PATCH] =?UTF-8?q?Build:=20Arhitectura=20Rom=C3=A2niei=20?= =?UTF-8?q?=E2=80=94=20interactive=203D=20scrollytelling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Astro 6 + Tailwind 4 + Three.js + GSAP/Lenis stack. - Hero with animated procedural 3D Maramures house silhouette - Six typology sections (Maramures, cula, sasesc, interbelic, comunist, contemporan), each with a low-poly Three.js model and interactive drag-to-rotate - 5-question quiz that recommends a typology, with native + social share - Beletage backlinks throughout: footer, header CTA, dedicated section, quiz result, share strip - Full SEO: dynamic OG image, JSON-LD WebSite/Organization/Article, sitemap (i18n), robots, canonical, hreflang - RO primary, EN landing variant - Romanian-warm palette (terra/wood/sky-mist/bone), Fraunces + Inter fonts - Lazy-init Three scenes via IntersectionObserver, prefers-reduced-motion respected Static output, ready for Cloudflare Pages. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 24 + .vscode/extensions.json | 4 + .vscode/launch.json | 11 + README.md | 43 + astro.config.mjs | 29 + package-lock.json | 5527 +++++++++++++++++++++++++++++++++ package.json | 27 + public/apple-touch-icon.png | Bin 0 -> 3304 bytes public/favicon.ico | Bin 0 -> 655 bytes public/favicon.svg | 6 + public/og.png | Bin 0 -> 109250 bytes public/robots.txt | 4 + public/site.webmanifest | 14 + scripts/gen-og.mjs | 92 + src/components/Beletage.astro | 105 + src/components/Header.astro | 55 + src/components/Hero.astro | 96 + src/components/Intro.astro | 34 + src/components/Quiz.astro | 224 ++ src/components/Typology.astro | 101 + src/data/typologies.ts | 136 + src/layouts/Layout.astro | 203 ++ src/pages/en/index.astro | 77 + src/pages/index.astro | 31 + src/styles/global.css | 137 + src/three/bootstrap.ts | 61 + src/three/houses.ts | 529 ++++ tsconfig.json | 5 + 28 files changed, 7575 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 README.md create mode 100644 astro.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 public/og.png create mode 100644 public/robots.txt create mode 100644 public/site.webmanifest create mode 100644 scripts/gen-og.mjs create mode 100644 src/components/Beletage.astro create mode 100644 src/components/Header.astro create mode 100644 src/components/Hero.astro create mode 100644 src/components/Intro.astro create mode 100644 src/components/Quiz.astro create mode 100644 src/components/Typology.astro create mode 100644 src/data/typologies.ts create mode 100644 src/layouts/Layout.astro create mode 100644 src/pages/en/index.astro create mode 100644 src/pages/index.astro create mode 100644 src/styles/global.css create mode 100644 src/three/bootstrap.ts create mode 100644 src/three/houses.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16d54bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..87b813a --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Astro Starter Kit: Minimal + +```sh +npm create astro@latest -- --template minimal +``` + +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! + +## 🚀 Project Structure + +Inside of your Astro project, you'll see the following folders and files: + +```text +/ +├── public/ +├── src/ +│ └── pages/ +│ └── index.astro +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. + +Any static assets, like images, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## 👀 Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..783686f --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,29 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import sitemap from '@astrojs/sitemap'; +import tailwindcss from '@tailwindcss/vite'; + +export default defineConfig({ + site: 'https://2d3d.ro', + integrations: [ + sitemap({ + i18n: { + defaultLocale: 'ro', + locales: { ro: 'ro-RO', en: 'en-US' }, + }, + }), + ], + vite: { + plugins: [tailwindcss()], + build: { + cssCodeSplit: true, + }, + }, + build: { + inlineStylesheets: 'auto', + }, + prefetch: { + prefetchAll: true, + defaultStrategy: 'viewport', + }, +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9bf5d5f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5527 @@ +{ + "name": "2d3d-ro", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "2d3d-ro", + "version": "0.0.1", + "dependencies": { + "@astrojs/sitemap": "^3.7.2", + "@tailwindcss/vite": "^4.2.2", + "astro": "^6.1.8", + "gsap": "^3.15.0", + "lenis": "^1.3.23", + "tailwindcss": "^4.2.2", + "three": "^0.184.0" + }, + "devDependencies": { + "@types/three": "^0.184.0", + "sharp": "^0.34.5" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-3.0.1.tgz", + "integrity": "sha512-z97oYbdebO5aoWzuJ/8q5hLK232+17KcLZ7cJ8BCWk6+qNzVxn/gftC0KzMBUTD8WAaBkPpNSQK6PXLnNrZ0CA==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.8.0.tgz", + "integrity": "sha512-J56GrhEiV+4dmrGLPNOl2pZjpHXAndWVyiVDYGDuw6MWKpBSEMLdFxHzeM/6sqaknw9M+HFfHZAcvi3OfT3D/w==", + "license": "MIT", + "dependencies": { + "picomatch": "^4.0.3" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.1.0.tgz", + "integrity": "sha512-P+HnCsu2js3BoTc8kFmu+E9gOcFeMdPris75g+Zl4sY8+bBRbSQV6xzcBDbZ27eE7yBGEGQoqjpChx+KJYIPYQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.8.0", + "@astrojs/prism": "4.0.1", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.1.tgz", + "integrity": "sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.2.tgz", + "integrity": "sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.1.tgz", + "integrity": "sha512-7fcIxXS9J4ls5tr8b3ww9rbAIz2+HrhNJYZdkAhhB4za/I5IZ/60g+Bs8q7zwG0tOIZfNB4JWhVJ1Qkl/OrNCw==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "is-wsl": "^3.1.1", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.2.0.tgz", + "integrity": "sha512-qfxof/3T3t9DPU/Rj3OmcFyZInceqj/NVtO9rwIuJqCUgh32gwPjpFQQp/ben07qKlhpwq7GzfWpST4qdJ5Drg==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.1.3", + "sisteransi": "^1.0.5" + } + }, + "node_modules/@clack/prompts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.2.0.tgz", + "integrity": "sha512-4jmztR9fMqPMjz6H/UZXj0zEmE43ha1euENwkckKKel4XpSfokExPo5AiVStdHSAlHekz4d0CA/r45Ok1E4D3w==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.2.0", + "fast-string-width": "^1.1.0", + "fast-wrap-ansi": "^0.1.3", + "sisteransi": "^1.0.5" + } + }, + "node_modules/@dimforge/rapier3d-compat": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", + "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "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==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "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==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "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/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz", + "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.0.2", + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz", + "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz", + "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz", + "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.0.2.tgz", + "integrity": "sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz", + "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz", + "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "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/@tailwindcss/node": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz", + "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz", + "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-x64": "4.2.2", + "@tailwindcss/oxide-freebsd-x64": "4.2.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-x64-musl": "4.2.2", + "@tailwindcss/oxide-wasm32-wasi": "4.2.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz", + "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz", + "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz", + "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz", + "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz", + "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz", + "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz", + "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz", + "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz", + "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz", + "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz", + "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz", + "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.2.tgz", + "integrity": "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.2.2", + "@tailwindcss/oxide": "4.2.2", + "tailwindcss": "4.2.2" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "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/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "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.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "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/stats.js": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", + "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.184.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.184.0.tgz", + "integrity": "sha512-4mY2tZAu0y0B0567w7013BBXSpsP0+Z48NJvmNo4Y/Pf76yCyz6Jw4P3tUVs10WuYNXXZ+wmHyGWpCek3amJxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@dimforge/rapier3d-compat": "~0.12.0", + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": ">=0.5.17", + "fflate": "~0.8.2", + "meshoptimizer": "~1.1.1" + } + }, + "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/@types/webxr": { + "version": "0.5.24", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", + "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "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/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astro": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/astro/-/astro-6.1.8.tgz", + "integrity": "sha512-6fT9M12U3fpi13DiPavNKDIoBflASTSxmKTEe+zXhWtlebQuOqfOnIrMWyRmlXp+mgDsojmw+fVFG9LUTzKSog==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^3.0.1", + "@astrojs/internal-helpers": "0.8.0", + "@astrojs/markdown-remark": "7.1.0", + "@astrojs/telemetry": "3.3.1", + "@capsizecss/unpack": "^4.0.0", + "@clack/prompts": "^1.1.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.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": "^1.1.1", + "devalue": "^5.6.3", + "diff": "^8.0.3", + "dset": "^3.1.4", + "es-module-lexer": "^2.0.0", + "esbuild": "^0.27.3", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.2", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "obug": "^2.1.1", + "p-limit": "^7.3.0", + "p-queue": "^9.1.0", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "rehype": "^13.0.2", + "semver": "^7.7.4", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "svgo": "^4.0.1", + "tinyclip": "^0.1.12", + "tinyexec": "^1.0.4", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.4", + "unist-util-visit": "^5.1.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^7.3.1", + "vitefu": "^1.1.2", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.3.6" + }, + "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.34.0" + } + }, + "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/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/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/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/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/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": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "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-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "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": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "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/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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.7.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.7.1.tgz", + "integrity": "sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA==", + "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": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "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/dom-serializer/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/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/enhanced-resolve": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "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/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-string-truncated-width": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-1.2.1.tgz", + "integrity": "sha512-Q9acT/+Uu3GwGj+5w/zsGuQjh9O1TyywhIwAxHudtWrgF09nHOPrvTLhQevPbttcxjr/SNN7mJmfOw/B1bXgow==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-1.1.0.tgz", + "integrity": "sha512-O3fwIVIH5gKB38QNbdg+3760ZmGz0SZMgvwJbA1b2TGXceKE6A2cOlfogh1iw8lr049zPyd7YADHy+B7U4W9bQ==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^1.2.0" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.1.6.tgz", + "integrity": "sha512-HlUwET7a5gqjURj70D5jl7aC3Zmy4weA1SHUfM0JFI0Ptq987NH2TwbBFLoERhfwk+E+eaq4EK3jXoT+R3yp3w==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^1.1.0" + } + }, + "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.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, + "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/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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/gsap": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.15.0.tgz", + "integrity": "sha512-dMW4CWBTUK1AEEDeZc1g4xpPGIrSf9fJF960qbTZmN/QwZIWY5wgliS6JWl9/25fpTGJrMRtSjGtOmPnfjZB+A==", + "license": "Standard 'no charge' license: https://gsap.com/standard-license." + }, + "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/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "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/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "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-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "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/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/lenis": { + "version": "1.3.23", + "resolved": "https://registry.npmjs.org/lenis/-/lenis-1.3.23.tgz", + "integrity": "sha512-YxYq3TJqj9sJNv0V9SkyQHejt14xwyIwgDaaMK89Uf9SxQfIszu+gTQSSphh6BWlLTNVKvvXAGkg+Zf+oFIevg==", + "license": "MIT", + "workspaces": [ + "packages/*", + "playground", + "playground/*" + ], + "funding": { + "type": "github", + "url": "https://github.com/sponsors/darkroomengineering" + }, + "peerDependencies": { + "@nuxt/kit": ">=3.0.0", + "react": ">=17.0.0", + "vue": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "react": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "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.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "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/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", + "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.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/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.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/meshoptimizer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-1.1.1.tgz", + "integrity": "sha512-oRFNWJRDA/WTrVj7NWvqa5HqE1t9MYDj2VaWirQCzCCrAd2GHrqR/sQezCxiWATPNlKTcRaPRHPJwIRoPBAp5g==", + "dev": true, + "license": "MIT" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "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-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "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-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.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-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "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" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "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-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "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" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^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-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "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" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "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-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^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.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "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": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "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.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "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.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "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.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.0.tgz", + "integrity": "sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.1.2.tgz", + "integrity": "sha512-ktsDOALzTYTWWF1PbkNVg2rOt+HaOaMWJMUnt7T3qf5tvZ1L8dBW3tObzprBcXNMKkwj+yFSLqHso0x+UFcJXw==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "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.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "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/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shiki": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz", + "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.0.2", + "@shikijs/engine-javascript": "4.0.2", + "@shikijs/engine-oniguruma": "4.0.2", + "@shikijs/langs": "4.0.2", + "@shikijs/themes": "4.0.2", + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "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.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "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/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "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/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", + "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/three": { + "version": "0.184.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz", + "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==", + "license": "MIT" + }, + "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/tinyclip": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-0.1.12.tgz", + "integrity": "sha512-Ae3OVUqifDw0wBriIBS7yVaW44Dp6eSHQcyq4Igc7eN2TJH/2YsicswaW+J/OuMvhpDPOKEgpAZCjkb4hpoyeA==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, + "node_modules/tinyexec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "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/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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==", + "license": "0BSD", + "optional": true + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "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-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "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.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.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-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.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-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.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/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-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.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": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "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", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "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/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/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.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "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..3ee9cbc --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "2d3d-ro", + "type": "module", + "version": "0.0.1", + "engines": { + "node": ">=22.12.0" + }, + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/sitemap": "^3.7.2", + "@tailwindcss/vite": "^4.2.2", + "astro": "^6.1.8", + "gsap": "^3.15.0", + "lenis": "^1.3.23", + "tailwindcss": "^4.2.2", + "three": "^0.184.0" + }, + "devDependencies": { + "@types/three": "^0.184.0", + "sharp": "^0.34.5" + } +} diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eebabcb2c0af2fdd39c754c66789209ce0fa6574 GIT binary patch literal 3304 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 literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7f48a94d16071d6c8d06478c7458ab12e675019c GIT binary patch literal 655 zcmV;A0&x9_P)Rl-XF(A`bsas&GH{e7U1}Ri zJr5jR8B2*Jd6$=$AqgTM2o2FV$WZ9|#jJ3mmpEs{jB0ps@*Kxv}=RB|IJih8Z&fqwCG`%bN0000#bW%=J zQ=IH#a_&L{B{_6Lu_3m>0bMN%+@aOmN_3G~H^8EGi>+bXO=;-|Z`uFnf==AdP z{Oj-S=ltmI=<4`LcLE*&009F@L_t(|+I`d4ZUZ3@1<*Uo7H^LoCw6-8z4wsbd;b4l zA}zMFtOw2mLX6O5Mgl}(5P=uOM4%=tnuHiuAp%(G<c=npm$Fz%eL + + + + + diff --git a/public/og.png b/public/og.png new file mode 100644 index 0000000000000000000000000000000000000000..eb46ba6dd21e2de80220202b8a8cd0b307fbaf85 GIT binary patch literal 109250 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 + + + + + + + + + + + + + + + + + + + + + + ${Array.from({ length: 20 }).map((_, i) => ``).join('')} + ${Array.from({ length: 11 }).map((_, i) => ``).join('')} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PATRIMONIU CONSTRUIT · 2026 + Arhitectura + României + de la cula la zgârie-nori + + + + + 2d3d.ro + de Beletage + + +`; + +await sharp(Buffer.from(svg)).png({ quality: 92 }).toFile(join(outDir, 'og.png')); +console.log('Generated og.png'); + +// Also apple-touch-icon +const ati = ` + + + + + + +`; +await sharp(Buffer.from(ati)).resize(180, 180).png().toFile(join(outDir, 'apple-touch-icon.png')); +console.log('Generated apple-touch-icon.png'); diff --git a/src/components/Beletage.astro b/src/components/Beletage.astro new file mode 100644 index 0000000..f67e262 --- /dev/null +++ b/src/components/Beletage.astro @@ -0,0 +1,105 @@ +--- +--- + +
+
+
+
+

Cine a făcut asta

+

+ Realizat de Beletage, + birou de arhitectură din Cluj-Napoca. +

+

+ Proiectăm locuințe individuale, ansambluri rezidențiale, spații de birouri și amenajări + publice. Lucrăm cu BIM, integrăm patrimoniul în soluții contemporane și ținem mereu cont de + climă, lumină și buget. +

+

+ Acest proiect — 2D3D.ro — este un cadou pentru oricine vrea să înțeleagă mai bine cum am + ajuns să locuim astăzi. Dacă ai un proiect propriu, hai să-l discutăm. +

+ + +
+ +
+
+
+
+

"

+

+ Casele bune nu se construiesc împotriva locului. Se construiesc cu locul — + cu lumina lui, cu ploaia lui, cu poveștile lui. +

+

— Echipa Beletage

+ +
    +
  • Locuințe individuale
  • +
  • Ansambluri rezidențiale
  • +
  • Spații de birouri
  • +
  • Amenajări publice
  • +
  • Reabilitări
  • +
  • Consultanță BIM
  • +
+ +

+ Cluj-Napoca · România · beletage.ro +

+
+
+
+
+
+
+ + +
+
+

+ Ți-a plăcut? Trimite mai departe. +

+

+ E un proiect făcut pentru a fi împărțit. Cu cât îl vede mai multă lume, cu atât mai bine pentru patrimoniul nostru construit. +

+
+ Facebook + X / Twitter + WhatsApp + LinkedIn + +
+
+ + +
diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..da76670 --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,55 @@ +--- +const navItems = [ + { href: '#poveste', label: 'Povestea' }, + { href: '#tipologii', label: 'Tipologii' }, + { href: '#quiz', label: 'Quiz' }, + { href: '#beletage', label: 'Beletage' }, +]; +--- + +
+ +
+ + diff --git a/src/components/Hero.astro b/src/components/Hero.astro new file mode 100644 index 0000000..6c6fb11 --- /dev/null +++ b/src/components/Hero.astro @@ -0,0 +1,96 @@ +--- +// Hero with rotating Maramures-style house silhouette behind hero text +--- + +
+ +
+ + + + + +
+ +
+

+ Patrimoniu construit · 2026 +

+ +

+ Arhitectura României, + de la cula olteană + la zgârie-norul de azi. +

+ +

+ Șase tipologii care au definit cum locuiesc românii. + Modele 3D interactive, povești scurte, materiale, fapte. Scroll-uiește. +

+ + + + +
+
+
Tipologii
+
6
+
+
+
Ani de istorie
+
800+
+
+
+
Sub UNESCO
+
15
+
+
+
+ + + +
+ + diff --git a/src/components/Intro.astro b/src/components/Intro.astro new file mode 100644 index 0000000..fc3a389 --- /dev/null +++ b/src/components/Intro.astro @@ -0,0 +1,34 @@ +--- +--- + +
+
+
+

Despre

+

+ De ce arată casele noastre așa cum arată? +

+
+ +
+

+ Pentru că pe aceste pământuri au trecut romanii, slavii, ungurii, sașii, turcii, austriecii și + sovieticii — și fiecare a lăsat în urmă un mod de a tăia un acoperiș, de a sparge un zid pentru o + fereastră, de a aşeza o casă față de drum. +

+

+ Pentru că în Maramureș plouă șapte luni pe an și acoperișurile s-au înălțat ca să nu țină zăpada. + Pentru că în Oltenia trecea graniță între imperii și casa boierească s-a transformat în cetate. + Pentru că în interbelic Bucureștiul a vrut să-și inventeze identitatea — și a făcut-o cu hublouri și balcoane curbate. +

+

+ Arhitectura este memoria unui popor turnată în beton, lemn și piatră. +

+

+ Acest proiect prezintă șase tipologii care, împreună, povestesc cum am ajuns să locuim astăzi. + Fiecare model este simplificat — păstrează esența formei, ignoră detaliul. + Pentru detaliu, mergi în satul de la munte. Pentru context — citește mai jos. +

+
+
+
diff --git a/src/components/Quiz.astro b/src/components/Quiz.astro new file mode 100644 index 0000000..b597f57 --- /dev/null +++ b/src/components/Quiz.astro @@ -0,0 +1,224 @@ +--- +import { typologies } from '../data/typologies'; + +const questions = [ + { + q: 'Unde te-ai vedea trăind cel mai bine?', + a: [ + { text: 'Sat de munte, izolat, cu pădure pe lângă', tag: 'maramures' }, + { text: 'Câmpie largă, cu vedere până la orizont', tag: 'cula' }, + { text: 'Sătuc medieval cu zid de cetate', tag: 'sasesc' }, + { text: 'Cartier vechi de oraș, cu cafenele', tag: 'interbelic' }, + { text: 'Apartament cu vedere la oraș', tag: 'comunist' }, + { text: 'Periferie verde, casă pasivă', tag: 'contemporan' }, + ], + }, + { + q: 'Materialul tău preferat?', + a: [ + { text: 'Lemn aparent, plin de noduri', tag: 'maramures' }, + { text: 'Piatră grosolană', tag: 'cula' }, + { text: 'Cărămidă văruită', tag: 'sasesc' }, + { text: 'Marmură și fier forjat', tag: 'interbelic' }, + { text: 'Nu mă deranjează tencuiala', tag: 'comunist' }, + { text: 'Sticlă, beton aparent, lemn lamelar', tag: 'contemporan' }, + ], + }, + { + q: 'Ce-ți spune mai mult cuvântul "acasă"?', + a: [ + { text: 'Un acoperiș înalt și un foc în cameră', tag: 'maramures' }, + { text: 'Un loc unde te poți apăra', tag: 'cula' }, + { text: 'Tradiție, ordine, simetrie', tag: 'sasesc' }, + { text: 'Un balcon și o seară de primăvară', tag: 'interbelic' }, + { text: 'Vecini care te știu de 30 de ani', tag: 'comunist' }, + { text: 'Lumină naturală peste tot', tag: 'contemporan' }, + ], + }, + { + q: 'Ce te enervează cel mai tare la o casă?', + a: [ + { text: 'Plasticul vizibil', tag: 'maramures' }, + { text: 'Pereții subțiri prin care auzi totul', tag: 'cula' }, + { text: 'Asimetria fără rost', tag: 'sasesc' }, + { text: 'Lipsa unui detaliu, a unei fineți', tag: 'interbelic' }, + { text: 'Holurile lungi și inutile', tag: 'comunist' }, + { text: 'Factura mare la încălzire', tag: 'contemporan' }, + ], + }, + { + q: 'Ce ai face primul când te-ai muta?', + a: [ + { text: 'Aș face un foc în șemineu', tag: 'maramures' }, + { text: 'Aș schimba broaștele pe la uși', tag: 'cula' }, + { text: 'Aș aranja simetric mobila', tag: 'sasesc' }, + { text: 'Aș pune un pian în living', tag: 'interbelic' }, + { text: 'Aș sparge un perete între bucătărie și living', tag: 'comunist' }, + { text: 'Aș pune panouri solare pe acoperiș', tag: 'contemporan' }, + ], + }, +]; + +const typoMap = Object.fromEntries(typologies.map((t) => [t.id, t])); +--- + +
+
+ +
+
+

Joc

+

+ Ce stil de casă ți s-ar potrivi? +

+

+ 5 întrebări, 30 de secunde. La final primești tipologia ta și o poți distribui prietenilor. +

+
+ +
+ +
+ Întrebarea 1 din {questions.length} + 0% +
+
+
+
+ +
+ +

Se încarcă quiz-ul...

+
+
+ + +
+
+ + diff --git a/src/components/Typology.astro b/src/components/Typology.astro new file mode 100644 index 0000000..07a60a3 --- /dev/null +++ b/src/components/Typology.astro @@ -0,0 +1,101 @@ +--- +import type { Typology } from '../data/typologies'; +export interface Props { + typology: Typology; + index: number; +} +const { typology: t, index } = Astro.props; +const isEven = index % 2 === 0; +--- + +
+ +
+

+ {t.era} · {t.region.toUpperCase()} +

+
+ +
+ {/* Canvas — alternates side */} +
+
+
+ + +
+ ↻ Trage pentru a roti +
+
+ + +
+ {t.tags.map((tag) => ( + + {tag} + + ))} +
+
+ + {/* Text */} +
+
+ + 0{index + 1} + +

+ {t.region} · {t.era} +

+
+ +

+ {t.title} +

+ +

+ {t.subtitle} +

+ +

+ {t.intro} +

+ +

+ {t.story} +

+ + +
+ {t.facts.map((f) => ( +
+
{f.label}
+
{f.value}
+
+ ))} +
+ + +
+

Materiale

+

{t.materials.join(' · ')}

+
+
+
+
diff --git a/src/data/typologies.ts b/src/data/typologies.ts new file mode 100644 index 0000000..3103bb9 --- /dev/null +++ b/src/data/typologies.ts @@ -0,0 +1,136 @@ +export type Typology = { + id: string; + era: string; + region: string; + title: string; + subtitle: string; + intro: string; + story: string; + facts: { label: string; value: string }[]; + materials: string[]; + palette: { sky: string; sun: string; ground: string; accent: string }; + tags: string[]; +}; + +export const typologies: Typology[] = [ + { + id: 'maramures', + era: 'sec. XVII–XIX', + region: 'Maramureș', + title: 'Casa de lemn maramureșeană', + subtitle: 'Catedrale forestiere ridicate fără un singur cui', + intro: + 'O lume construită din brad și stejar, unde fiecare bârnă povestește despre un munte tăiat cu securea și ridicat cu rugăciuni.', + story: + 'Casele din Maramureș urcă spre cer cu acoperișuri ascuțite, gândite să nu lase zăpada să se așeze. Pridvorul sculptat — singura podoabă — încadrează intrarea ca o icoană. Stâlpii torsionați, soarele tăiat în lemn și funia răsucită nu sunt decor: sunt rugăciuni cioplite. Tehnica este "blockbau", bârne îmbinate la colțuri "în coadă de rândunică", fără cuie de fier. O casă bună ținea șapte generații.', + facts: [ + { label: 'Tehnică', value: 'Blockbau cu îmbinări în coadă de rândunică' }, + { label: 'Acoperiș', value: 'Șindrilă de brad, pantă 60°+' }, + { label: 'Înălțime poartă', value: 'Până la 5 metri' }, + { label: 'UNESCO', value: '8 biserici de lemn' }, + ], + materials: ['Brad', 'Stejar', 'Șindrilă', 'Piatră de râu'], + palette: { sky: '#cfdde6', sun: '#f4cfb1', ground: '#5e3a1a', accent: '#8a4226' }, + tags: ['#patrimoniu', '#lemn', '#vernacular'], + }, + { + id: 'cula', + era: 'sec. XVII–XIX', + region: 'Oltenia', + title: 'Cula olteană', + subtitle: 'Casa-cetate a boierilor de margine', + intro: + 'Un turn alb, gros, ridicat în plin câmp. Jumătate locuință, jumătate fortăreață. Răspunsul oltean la vremurile când marginea imperiilor trecea exact prin curtea ta.', + story: + 'Numele vine din turcescul "kule" — turn. Culele oltenești au pereți de piatră de un metru grosime, ferestre înguste cât să tragi cu pușca prin ele, și o singură intrare la etaj, accesată pe scară mobilă. La parter — beciul boltit. Sus — odăile cu loggie umbrită, deschise spre câmpia Doljului. Au supraviețuit nu pentru că erau frumoase, ci pentru că erau imposibil de cucerit.', + facts: [ + { label: 'Pereți', value: 'Piatră de râu, grosime 80–120 cm' }, + { label: 'Etaje', value: '2–3, parterul oarbă' }, + { label: 'Câte mai există', value: '~20 din peste 100' }, + { label: 'Funcție', value: 'Locuit + apărare + depozit' }, + ], + materials: ['Piatră', 'Cărămidă arsă', 'Lemn de stejar', 'Var'], + palette: { sky: '#b6d4e3', sun: '#fae8da', ground: '#604527', accent: '#b35831' }, + tags: ['#fortificat', '#piatră', '#boieresc'], + }, + { + id: 'sasesc', + era: 'sec. XII–XIX', + region: 'Transilvania', + title: 'Casa săsească ardeleană', + subtitle: 'Disciplină germanică în soare transilvan', + intro: + 'Frontoane înalte la stradă, curți lungi în spate, ziduri groase. Sașii au ridicat sate care arată ca niște fortărețe joase, dar se locuiește în ele de 800 de ani.', + story: + 'Coloniștii sași aduși de regii Ungariei în secolul XII au adus cu ei un mod de a construi atât de coerent încât satele lor — Viscri, Biertan, Mălâncrav — au devenit patrimoniu UNESCO. Casa stă perpendiculară pe stradă, cu fronton pictat în culori pastel. În spate, curtea lungă conține grajdul, șura, atelierul. Bisericile sunt fortificate, cu turnuri-cetate. Totul e gândit pentru durată.', + facts: [ + { label: 'Vechime sate', value: '800+ ani' }, + { label: 'UNESCO', value: '7 sate cu biserici fortificate' }, + { label: 'Frontoane', value: 'Pictate în pastel: roz, ocru, verde apă' }, + { label: 'Ferestre', value: 'Mici, simetrice, cu obloane lemn' }, + ], + materials: ['Cărămidă', 'Var stins', 'Țiglă olane', 'Lemn'], + palette: { sky: '#dbeaf2', sun: '#f4cfb1', ground: '#a17a4b', accent: '#d4703f' }, + tags: ['#UNESCO', '#colonist', '#patrimoniu'], + }, + { + id: 'interbelic', + era: '1920–1940', + region: 'București', + title: 'Vila interbelică bucureșteană', + subtitle: 'Micul Paris își construiește identitatea', + intro: + 'Două decenii de neliniștită modernitate. Bucureștiul se reinventează — neoromânesc, art deco, modernism cubist — într-o cursă pentru identitatea noii Românii Mari.', + story: + 'Între războaie, București a construit cu o pasiune rar întâlnită. Stilul neoromânesc al lui Mincu — pridvoare cioplite, ceramică smălțuită, arcade trilobate — căuta o "românitate" arhitecturală. Apoi a venit modernismul: Horia Creangă, Marcel Iancu, Henrieta Delavrancea au ridicat vile cubiste cu ferestre orizontale, terase și balcoane curbate ca punțile unui transatlantic. Multe stau încă, ascunse după garduri de fier forjat.', + facts: [ + { label: 'Arhitecți cheie', value: 'Mincu, Creangă, Iancu, Delavrancea' }, + { label: 'Stiluri', value: 'Neoromânesc, Art Deco, Modernist' }, + { label: 'Câte au rămas', value: '~5000 protejate, mii nemarcate' }, + { label: 'Detaliu signature', value: 'Hublou, terasă, ferestre bandă' }, + ], + materials: ['Beton armat', 'Cărămidă', 'Marmură', 'Fier forjat'], + palette: { sky: '#f1f7fa', sun: '#fdf6f1', ground: '#cfbf94', accent: '#347697' }, + tags: ['#interbelic', '#modernism', '#București'], + }, + { + id: 'comunist', + era: '1960–1989', + region: 'Național', + title: 'Blocul comunist', + subtitle: 'Un acoperiș peste cap pentru douăzeci de milioane', + intro: + 'Iubit, urât, omniprezent. Blocul de prefabricate a strâns jumătate din populația țării într-o singură generație. Astăzi îl reciclăm, îl izolăm, îl reinventăm.', + story: + 'Industrializarea forțată a mutat țăranii în orașe. Răspunsul: blocuri de panouri prefabricate, ridicate săptămânal, după modele tipizate (T744, OD16, IPCT). Apartamentul de două camere — 47 m², bucătărie de 4 m², debara cât o cabină telefonică — a devenit format standard. Astăzi, acoperit cu polistiren și vopsit roz-galben, se restructurează: fațade ventilate, terase verzi, pereți deschiși între bucătărie și living. Banalul devine teren de proiectare.', + facts: [ + { label: 'Construite', value: '~2.3 milioane apartamente (1965–89)' }, + { label: 'Format tipic', value: 'Panou prefabricat, 9–10 etaje' }, + { label: 'Suprafață medie', value: '47 m² (2 cam.) / 67 m² (3 cam.)' }, + { label: 'Reabilitare azi', value: 'Termoizolație + restructurare interior' }, + ], + materials: ['Beton prefabricat', 'BCA', 'Polistiren', 'Tencuială'], + palette: { sky: '#dbeaf2', sun: '#f1ecdf', ground: '#7e5d36', accent: '#285d79' }, + tags: ['#prefabricat', '#urban', '#reabilitare'], + }, + { + id: 'contemporan', + era: '2000–prezent', + region: 'Național', + title: 'Contemporanul: lemn, sticlă, lumină', + subtitle: 'Locuință care învață din vernacular', + intro: + 'O nouă generație de arhitecți români privește înapoi spre maramureș, cula, casa săsească — și înainte, spre Passive House, BIM, lemn lamelar. Rezultatul: case calde, eficiente, ancorate.', + story: + 'După 2000, arhitectura românească contemporană a încetat să mai imite. Birouri ca SAMI, ADN, Igloo, Starh sau studiouri tinere din Cluj și București au redescoperit acoperișul în două ape, lemnul aparent, pridvorul. Le-au combinat cu pereți de sticlă pe sud, izolație de 30 cm, panouri solare, ventilație cu recuperare. O casă "tradițională" de azi consumă mai puțin decât un apartament. Patrimoniul nu mai e copiat — e tradus.', + facts: [ + { label: 'Standarde', value: 'Passive House, nZEB, BREEAM' }, + { label: 'Materiale-cheie', value: 'CLT (lemn lamelar), triplu vitraj' }, + { label: 'Consum', value: '15 kWh/m²·an (vs. 150 la blocul vechi)' }, + { label: 'Tehnologii', value: 'BIM, gemeni digitali, prefabricate' }, + ], + materials: ['CLT', 'Sticlă triplă', 'Beton aparent', 'Țiglă ceramică'], + palette: { sky: '#b6d4e3', sun: '#fae8da', ground: '#bf9b6f', accent: '#8a4226' }, + tags: ['#sustenabil', '#BIM', '#contemporan'], + }, +]; diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..6e67df6 --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,203 @@ +--- +import '../styles/global.css'; + +export interface Props { + title?: string; + description?: string; + ogImage?: string; + canonical?: string; + lang?: 'ro' | 'en'; + noIndex?: boolean; +} + +const { + title = 'Arhitectura României — De la cula la zgârie-nori', + description = 'Șase tipologii arhitecturale care au definit România, povestite în 3D interactiv: casa maramureșeană, cula olteană, casa săsească, vila interbelică, blocul comunist și casa contemporană.', + ogImage = '/og.png', + canonical = Astro.url.href, + lang = 'ro', + noIndex = false, +} = Astro.props; + +const siteName = '2D3D — Arhitectura României'; +const siteUrl = 'https://2d3d.ro'; +const fullTitle = title.includes('2D3D') || title.includes('Arhitectura') ? title : `${title} · ${siteName}`; + +const jsonLd = { + '@context': 'https://schema.org', + '@graph': [ + { + '@type': 'WebSite', + '@id': `${siteUrl}/#website`, + url: siteUrl, + name: siteName, + description, + inLanguage: lang === 'ro' ? 'ro-RO' : 'en-US', + publisher: { '@id': `${siteUrl}/#org` }, + }, + { + '@type': 'Organization', + '@id': `${siteUrl}/#org`, + name: 'Beletage SRL', + url: 'https://beletage.ro', + logo: `${siteUrl}/beletage-logo.svg`, + sameAs: ['https://beletage.ro'], + description: 'Birou de arhitectură din Cluj-Napoca, autorul acestui proiect de divulgare a patrimoniului arhitectural românesc.', + address: { + '@type': 'PostalAddress', + addressLocality: 'Cluj-Napoca', + addressCountry: 'RO', + }, + }, + { + '@type': 'Article', + '@id': `${siteUrl}/#article`, + headline: title, + description, + image: `${siteUrl}${ogImage}`, + author: { '@id': `${siteUrl}/#org` }, + publisher: { '@id': `${siteUrl}/#org` }, + datePublished: '2026-04-20', + dateModified: '2026-04-20', + inLanguage: lang === 'ro' ? 'ro-RO' : 'en-US', + mainEntityOfPage: { '@id': `${siteUrl}/#website` }, + }, + ], +}; +--- + + + + + + + + + {fullTitle} + + + + + {noIndex && } + {!noIndex && } + + + + + + + + + + + + + + + {/* Open Graph */} + + + + + + + + + + + {lang === 'ro' && } + {lang === 'en' && } + + {/* Twitter */} + + + + + + + + + + Sari la conținut + + + + + + +
+ +
+ +
+
+
+
+

2D3D.ro

+

+ Un proiect de divulgare a patrimoniului arhitectural românesc. + De la cula olteană la casa pasivă contemporană — povestite în 3D. +

+
+ +
+

Realizat de

+ + Beletage + +

+ Birou de arhitectură din Cluj-Napoca. Proiectăm case, locuințe colective și + spații publice cu atenție la context, lumină și durabilitate. + + Vezi portofoliul Beletage → + +

+
+ +
+

Surse & inspirație

+
    +
  • Institutul Național al Patrimoniului
  • +
  • UNESCO World Heritage Centre
  • +
  • Ordinul Arhitecților din România
  • +
  • Studiouri membre OAR Cluj
  • +
+
+
+ +
+

© 2026 Beletage SRL. Conținut sub licență CC-BY 4.0.

+ +
+
+
+ + diff --git a/src/pages/en/index.astro b/src/pages/en/index.astro new file mode 100644 index 0000000..8f4d138 --- /dev/null +++ b/src/pages/en/index.astro @@ -0,0 +1,77 @@ +--- +import Layout from '../../layouts/Layout.astro'; +import Header from '../../components/Header.astro'; +--- + + +
+ +
+
+ +
+

Built heritage · 2026

+

+ Romanian architecture, in 3D. +

+

+ Six typologies that shaped how Romanians live — from the wooden churches of Maramureș + to the panel blocks of late socialism. Interactive low-poly 3D models, short stories, facts. +

+

+ The full experience is currently in Romanian. An English version is coming. + Until then, the visuals speak for themselves — head to the + Romanian homepage. +

+ + + +
+
+
Typologies
+
6
+
+
+
Years of history
+
800+
+
+
+
UNESCO sites
+
15
+
+
+
+
+ +
+
+

Why this exists

+

+ A small love letter to Romanian built heritage. +

+

+ 2D3D.ro is a free, open project by Beletage, + an architecture office based in Cluj-Napoca. We design houses, residential ensembles and + public spaces — and along the way, we built this site to share what we love about + the buildings of Romania. +

+

+ + Visit beletage.ro → + +

+
+
+ diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..71dc108 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,31 @@ +--- +import Layout from '../layouts/Layout.astro'; +import Header from '../components/Header.astro'; +import Hero from '../components/Hero.astro'; +import Intro from '../components/Intro.astro'; +import Typology from '../components/Typology.astro'; +import Quiz from '../components/Quiz.astro'; +import Beletage from '../components/Beletage.astro'; +import { typologies } from '../data/typologies'; +--- + + +
+ + + +
+ {typologies.map((t, i) => )} +
+ + + + + + diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..65ae236 --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1,137 @@ +@import "tailwindcss"; + +@theme { + /* Romanian earth & sky palette */ + --color-terra-50: #fdf6f1; + --color-terra-100: #fae8da; + --color-terra-200: #f4cfb1; + --color-terra-300: #ecae82; + --color-terra-400: #e08c5a; + --color-terra-500: #d4703f; + --color-terra-600: #b35831; + --color-terra-700: #8a4226; + --color-terra-800: #5e2d1a; + --color-terra-900: #3a1c10; + --color-terra-950: #1f0e08; + + --color-wood-50: #f9f5ef; + --color-wood-100: #ede2cf; + --color-wood-200: #d8bf9e; + --color-wood-300: #bf9b6f; + --color-wood-400: #a17a4b; + --color-wood-500: #7e5d36; + --color-wood-600: #604527; + --color-wood-700: #41301a; + --color-wood-800: #261c0f; + --color-wood-900: #110c06; + + --color-sky-mist-50: #f1f7fa; + --color-sky-mist-100: #dbeaf2; + --color-sky-mist-200: #b6d4e3; + --color-sky-mist-300: #84b6cd; + --color-sky-mist-400: #5394b3; + --color-sky-mist-500: #347697; + --color-sky-mist-600: #285d79; + --color-sky-mist-700: #1f475c; + --color-sky-mist-800: #142e3c; + --color-sky-mist-900: #0a1820; + + --color-bone-50: #faf8f3; + --color-bone-100: #f1ecdf; + --color-bone-200: #e2d8be; + --color-bone-300: #cfbf94; + --color-bone-400: #b9a06a; + + --color-ink-900: #15110c; + --color-ink-800: #261f17; + + --font-display: "Fraunces", "Georgia", "Times New Roman", serif; + --font-sans: "Inter", "system-ui", sans-serif; + --font-mono: "JetBrains Mono", "Menlo", monospace; + + --animate-float: float 6s ease-in-out infinite; + --animate-shimmer: shimmer 2.4s linear infinite; + --animate-fade-up: fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) both; +} + +@keyframes float { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-12px); } +} +@keyframes shimmer { + 0% { background-position: -200% 0; } + 100% { background-position: 200% 0; } +} +@keyframes fade-up { + from { opacity: 0; transform: translateY(24px); } + to { opacity: 1; transform: translateY(0); } +} + +html { + scroll-behavior: smooth; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; +} + +body { + background: linear-gradient(180deg, #faf8f3 0%, #f1ecdf 100%); + color: var(--color-ink-900); + font-family: var(--font-sans); + overflow-x: hidden; +} + +::selection { + background: var(--color-terra-500); + color: var(--color-bone-50); +} + +.font-display { + font-family: var(--font-display); + font-feature-settings: "ss01", "ss02"; + letter-spacing: -0.02em; +} + +.title-balance { text-wrap: balance; } +.text-balance { text-wrap: balance; } +.text-pretty { text-wrap: pretty; } + +.grain { + position: relative; + isolation: isolate; +} +.grain::after { + content: ""; + position: absolute; + inset: 0; + background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.6 0 0 0 0 0.4 0 0 0 0 0.2 0 0 0 0.18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); + opacity: 0.45; + mix-blend-mode: multiply; + pointer-events: none; + z-index: 1; +} + +.shimmer-text { + background: linear-gradient(90deg, var(--color-terra-700) 0%, var(--color-terra-400) 50%, var(--color-terra-700) 100%); + background-size: 200% auto; + -webkit-background-clip: text; + background-clip: text; + color: transparent; + animation: var(--animate-shimmer); +} + +.canvas-fade-edges { + -webkit-mask-image: radial-gradient(ellipse at center, #000 60%, transparent 95%); + mask-image: radial-gradient(ellipse at center, #000 60%, transparent 95%); +} + +@media (prefers-reduced-motion: reduce) { + html { scroll-behavior: auto; } + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + } +} diff --git a/src/three/bootstrap.ts b/src/three/bootstrap.ts new file mode 100644 index 0000000..f941d4a --- /dev/null +++ b/src/three/bootstrap.ts @@ -0,0 +1,61 @@ +import { createHouseScene, type HouseId, type SceneCtx } from './houses'; + +const sceneMap = new WeakMap(); + +function ensureScene(canvas: HTMLCanvasElement) { + if (sceneMap.has(canvas)) return sceneMap.get(canvas)!; + const id = canvas.dataset.houseId as HouseId; + if (!id) return null; + const ctx = createHouseScene(canvas, id); + const resize = () => { + const r = canvas.getBoundingClientRect(); + ctx.setSize(r.width, r.height); + }; + resize(); + const ro = new ResizeObserver(resize); + ro.observe(canvas); + sceneMap.set(canvas, ctx); + return ctx; +} + +function init() { + const canvases = document.querySelectorAll('canvas[data-house-canvas]'); + if (!canvases.length) return; + + // Use IntersectionObserver to lazy-init scenes only when scrolled into view + const io = new IntersectionObserver( + (entries) => { + for (const entry of entries) { + if (entry.isIntersecting) { + ensureScene(entry.target as HTMLCanvasElement); + } + } + }, + { rootMargin: '300px 0px' } + ); + + canvases.forEach((c) => io.observe(c)); + + // Hide drag hint after first user interaction + document.querySelectorAll('[data-typology]').forEach((sec) => { + const canvas = sec.querySelector('canvas[data-house-canvas]'); + const hint = sec.querySelector('[data-hint]'); + if (!canvas || !hint) return; + let hidden = false; + const hide = () => { + if (hidden) return; + hidden = true; + hint.style.transition = 'opacity 0.4s'; + hint.style.opacity = '0'; + setTimeout(() => hint.remove(), 500); + }; + canvas.addEventListener('pointerdown', hide, { once: true }); + setTimeout(hide, 6000); + }); +} + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', init); +} else { + init(); +} diff --git a/src/three/houses.ts b/src/three/houses.ts new file mode 100644 index 0000000..f13c34d --- /dev/null +++ b/src/three/houses.ts @@ -0,0 +1,529 @@ +import * as THREE from 'three'; + +export type HouseId = 'maramures' | 'cula' | 'sasesc' | 'interbelic' | 'comunist' | 'contemporan'; + +const TAU = Math.PI * 2; + +function makeRoofMaterial(color: string) { + return new THREE.MeshStandardMaterial({ color, roughness: 0.85, metalness: 0.05, flatShading: true }); +} +function makeWallMaterial(color: string) { + return new THREE.MeshStandardMaterial({ color, roughness: 0.95, metalness: 0, flatShading: true }); +} +function makeWindowMaterial() { + return new THREE.MeshStandardMaterial({ color: '#fdf6f1', emissive: '#f4cfb1', emissiveIntensity: 0.45, roughness: 0.4 }); +} + +/* ----------- Maramureș: tall steep-roofed wooden church-like house ----------- */ +function buildMaramures(): THREE.Group { + const g = new THREE.Group(); + const wood = makeWallMaterial('#5e3a1a'); + const darkWood = makeWallMaterial('#3a1c10'); + const shingle = makeRoofMaterial('#2d1810'); + + // Stone foundation + const found = new THREE.Mesh(new THREE.BoxGeometry(2.4, 0.3, 1.6), makeWallMaterial('#b9a06a')); + found.position.y = 0.15; + g.add(found); + + // Log walls + for (let i = 0; i < 8; i++) { + const log = new THREE.Mesh(new THREE.BoxGeometry(2.3, 0.15, 1.5), i % 2 ? wood : darkWood); + log.position.y = 0.35 + i * 0.16; + g.add(log); + } + + // Pridvor posts + const postGeo = new THREE.CylinderGeometry(0.07, 0.07, 1.6, 8); + for (const x of [-1.05, 1.05]) { + const p = new THREE.Mesh(postGeo, darkWood); + p.position.set(x, 1.05, 0.85); + g.add(p); + } + + // Steep gable roof (very tall) + const roofH = 3.2; + const roofGeo = new THREE.ConeGeometry(1.85, roofH, 4, 1); + roofGeo.rotateY(Math.PI / 4); + const roof = new THREE.Mesh(roofGeo, shingle); + roof.position.y = 1.85 + roofH / 2; + roof.scale.set(1, 1, 0.62); + g.add(roof); + + // Tiny tower on top + const tower = new THREE.Mesh(new THREE.ConeGeometry(0.15, 0.6, 8), shingle); + tower.position.y = 1.85 + roofH + 0.3; + g.add(tower); + + // Door + const door = new THREE.Mesh(new THREE.BoxGeometry(0.55, 1.0, 0.05), darkWood); + door.position.set(0, 0.8, 0.78); + g.add(door); + + // Carved sun on door lintel + const sun = new THREE.Mesh(new THREE.RingGeometry(0.12, 0.18, 12), darkWood); + sun.position.set(0, 1.5, 0.79); + g.add(sun); + + return g; +} + +/* ----------- Cula olteană: tall stone tower house ----------- */ +function buildCula(): THREE.Group { + const g = new THREE.Group(); + const stone = makeWallMaterial('#e2d8be'); + const stoneDark = makeWallMaterial('#cfbf94'); + const roof = makeRoofMaterial('#7e5d36'); + const woodDark = makeWallMaterial('#4a2818'); + + // Base stone block + const base = new THREE.Mesh(new THREE.BoxGeometry(2, 1.6, 1.8), stoneDark); + base.position.y = 0.8; + g.add(base); + + // Upper floor (slightly inset) + const upper = new THREE.Mesh(new THREE.BoxGeometry(2.2, 1.2, 2), stone); + upper.position.y = 2.2; + g.add(upper); + + // Top floor with loggia + const top = new THREE.Mesh(new THREE.BoxGeometry(2.2, 0.95, 2), stone); + top.position.y = 3.3; + g.add(top); + + // Loggia arches (front) + for (const x of [-0.7, 0, 0.7]) { + const arch = new THREE.Mesh(new THREE.BoxGeometry(0.45, 0.65, 0.3), woodDark); + arch.position.set(x, 3.2, 0.95); + g.add(arch); + } + + // Hipped roof + const r = new THREE.Mesh(new THREE.ConeGeometry(1.7, 1, 4, 1), roof); + r.rotateY(Math.PI / 4); + r.scale.set(1, 1, 0.92); + r.position.y = 4.3; + g.add(r); + + // Narrow defense windows on lower + for (const y of [0.7, 1.3]) { + for (const x of [-0.6, 0, 0.6]) { + const w = new THREE.Mesh(new THREE.BoxGeometry(0.08, 0.25, 0.05), woodDark); + w.position.set(x, y, 0.92); + g.add(w); + } + } + + // Door at upper level (defensive entry) + const door = new THREE.Mesh(new THREE.BoxGeometry(0.5, 0.85, 0.05), woodDark); + door.position.set(0, 2.05, 1.02); + g.add(door); + + return g; +} + +/* ----------- Casa săsească: gabled long house perpendicular to street ----------- */ +function buildSasesc(): THREE.Group { + const g = new THREE.Group(); + const wall = makeWallMaterial('#f1ecdf'); + const trim = makeWallMaterial('#d4703f'); + const roof = makeRoofMaterial('#8a4226'); + const wood = makeWallMaterial('#5e2d1a'); + const window = makeWindowMaterial(); + + // Long body + const body = new THREE.Mesh(new THREE.BoxGeometry(2, 1.7, 4), wall); + body.position.y = 0.85; + g.add(body); + + // Gable triangle (front) + const gable = new THREE.Shape(); + gable.moveTo(-1, 0); + gable.lineTo(1, 0); + gable.lineTo(0, 1.3); + gable.closePath(); + const gableGeo = new THREE.ExtrudeGeometry(gable, { depth: 0.05, bevelEnabled: false }); + const gFront = new THREE.Mesh(gableGeo, wall); + gFront.position.set(0, 1.7, 2.0); + g.add(gFront); + const gBack = gFront.clone(); + gBack.position.z = -2.05; + g.add(gBack); + + // Pitched roof — two planes + const roofPlaneGeo = new THREE.PlaneGeometry(2.35, 4.2); + const angle = Math.atan(1.3 / 1); + const left = new THREE.Mesh(roofPlaneGeo, roof); + left.rotation.x = -Math.PI / 2; + left.rotation.y = -angle; + left.position.set(-0.55, 2.32, 0); + g.add(left); + const right = left.clone(); + right.rotation.y = angle; + right.position.x = 0.55; + g.add(right); + + // Door on gable + const door = new THREE.Mesh(new THREE.BoxGeometry(0.5, 1.0, 0.06), wood); + door.position.set(0, 0.5, 2.04); + g.add(door); + + // Windows symmetric on gable + for (const [x, y] of [[-0.5, 1.1], [0.5, 1.1], [0, 2.4]] as [number, number][]) { + const w = new THREE.Mesh(new THREE.BoxGeometry(0.4, 0.5, 0.06), window); + w.position.set(x, y, 2.04); + g.add(w); + const tr = new THREE.Mesh(new THREE.BoxGeometry(0.46, 0.06, 0.07), trim); + tr.position.set(x, y - 0.3, 2.05); + g.add(tr); + } + + // Side windows + for (let i = -1; i <= 1; i++) { + const w = new THREE.Mesh(new THREE.BoxGeometry(0.06, 0.5, 0.4), window); + w.position.set(1.02, 1.1, i * 1.1); + g.add(w); + const wL = w.clone(); + wL.position.x = -1.02; + g.add(wL); + } + + // Chimney + const chim = new THREE.Mesh(new THREE.BoxGeometry(0.3, 0.7, 0.3), trim); + chim.position.set(0, 2.6, -1.2); + g.add(chim); + + return g; +} + +/* ----------- Interbelic: cubist modernist villa with curved balcony ----------- */ +function buildInterbelic(): THREE.Group { + const g = new THREE.Group(); + const wall = makeWallMaterial('#faf8f3'); + const trim = makeWallMaterial('#cfbf94'); + const accent = makeWallMaterial('#347697'); + const window = makeWindowMaterial(); + const dark = makeWallMaterial('#15110c'); + + // Ground floor + const f1 = new THREE.Mesh(new THREE.BoxGeometry(3, 1.4, 2.4), wall); + f1.position.y = 0.7; + g.add(f1); + + // First floor + const f2 = new THREE.Mesh(new THREE.BoxGeometry(3.4, 1.3, 2.4), wall); + f2.position.y = 2.05; + g.add(f2); + + // Curved balcony (cylinder section) + const balcony = new THREE.Mesh( + new THREE.CylinderGeometry(0.9, 0.9, 1.3, 24, 1, true, -Math.PI / 2, Math.PI), + wall + ); + balcony.position.set(0, 2.05, 1.4); + balcony.scale.set(1, 1, 0.55); + g.add(balcony); + + // Balcony rail + const rail = new THREE.Mesh(new THREE.TorusGeometry(0.9, 0.04, 8, 24, Math.PI), dark); + rail.rotation.x = Math.PI / 2; + rail.position.set(0, 2.7, 1.4); + rail.scale.set(1, 0.55, 1); + g.add(rail); + + // Flat roof + parapet + const roofTop = new THREE.Mesh(new THREE.BoxGeometry(3.5, 0.1, 2.5), trim); + roofTop.position.y = 2.75; + g.add(roofTop); + + // Hublou (porthole) accent + const hublou = new THREE.Mesh(new THREE.RingGeometry(0.16, 0.22, 24), accent); + hublou.position.set(-1.3, 1.9, 1.21); + g.add(hublou); + + // Horizontal window bands + for (let i = 0; i < 4; i++) { + const w = new THREE.Mesh(new THREE.BoxGeometry(0.55, 0.55, 0.04), window); + w.position.set(-1.0 + i * 0.65, 0.85, 1.21); + g.add(w); + } + // Upper band + const longW = new THREE.Mesh(new THREE.BoxGeometry(2.4, 0.45, 0.04), window); + longW.position.set(0, 2.15, -1.21); + g.add(longW); + + // Door + const door = new THREE.Mesh(new THREE.BoxGeometry(0.5, 1.1, 0.05), accent); + door.position.set(1.1, 0.55, 1.22); + g.add(door); + + return g; +} + +/* ----------- Comunist: panel block ----------- */ +function buildComunist(): THREE.Group { + const g = new THREE.Group(); + const wall = makeWallMaterial('#e2d8be'); + const panelLine = makeWallMaterial('#a17a4b'); + const balcony = makeWallMaterial('#b35831'); + const window = makeWindowMaterial(); + + const floors = 9; + const cols = 5; + const W = 4; + const D = 1.3; + const H = floors * 0.55; + + // Main mass + const block = new THREE.Mesh(new THREE.BoxGeometry(W, H, D), wall); + block.position.y = H / 2; + g.add(block); + + // Window grid + balconies + for (let f = 0; f < floors; f++) { + for (let c = 0; c < cols; c++) { + const x = -W / 2 + (c + 0.5) * (W / cols); + const y = 0.18 + f * 0.55; + const win = new THREE.Mesh(new THREE.BoxGeometry(W / cols - 0.18, 0.32, 0.04), window); + win.position.set(x, y, D / 2 + 0.01); + g.add(win); + const winB = win.clone(); + winB.position.z = -D / 2 - 0.01; + g.add(winB); + // Every other column has tiny balcony + if (c % 2 === 1 && f > 0) { + const bal = new THREE.Mesh(new THREE.BoxGeometry(W / cols - 0.05, 0.12, 0.25), balcony); + bal.position.set(x, y - 0.22, D / 2 + 0.13); + g.add(bal); + } + } + // Horizontal panel line + const line = new THREE.Mesh(new THREE.BoxGeometry(W + 0.04, 0.04, D + 0.04), panelLine); + line.position.y = (f + 1) * 0.55 - 0.275; + g.add(line); + } + + // Flat roof + small water tank + const tank = new THREE.Mesh(new THREE.BoxGeometry(0.6, 0.4, 0.6), panelLine); + tank.position.set(W / 4, H + 0.2, 0); + g.add(tank); + + return g; +} + +/* ----------- Contemporary: low-pitch wood + glass ----------- */ +function buildContemporan(): THREE.Group { + const g = new THREE.Group(); + const wall = makeWallMaterial('#f1ecdf'); + const wood = makeWallMaterial('#7e5d36'); + const woodLight = makeWallMaterial('#bf9b6f'); + const glass = new THREE.MeshPhysicalMaterial({ + color: '#84b6cd', + transmission: 0.6, + transparent: true, + opacity: 0.55, + roughness: 0.05, + metalness: 0.1, + clearcoat: 1, + }); + const roof = makeRoofMaterial('#3a1c10'); + + // Concrete base / plinth + const plinth = new THREE.Mesh(new THREE.BoxGeometry(4, 0.25, 2.4), makeWallMaterial('#cfbf94')); + plinth.position.y = 0.125; + g.add(plinth); + + // Volume A (white plaster, larger) + const volA = new THREE.Mesh(new THREE.BoxGeometry(2.6, 1.6, 2.2), wall); + volA.position.set(-0.6, 1.05, 0); + g.add(volA); + + // Volume B (wood-clad, smaller, offset) + const volB = new THREE.Mesh(new THREE.BoxGeometry(1.8, 1.4, 2.2), woodLight); + volB.position.set(1.3, 0.95, 0); + g.add(volB); + + // Wood slat pattern on volume B (front face) + for (let i = -7; i <= 7; i++) { + const slat = new THREE.Mesh(new THREE.BoxGeometry(0.05, 1.35, 0.04), wood); + slat.position.set(1.3 + i * 0.12, 0.95, 1.13); + g.add(slat); + } + + // Big glass wall (south facing on volume A) + const glazing = new THREE.Mesh(new THREE.BoxGeometry(2.4, 1.4, 0.04), glass); + glazing.position.set(-0.6, 1.05, 1.12); + g.add(glazing); + + // Glass mullions + for (let i = -2; i <= 2; i++) { + const m = new THREE.Mesh(new THREE.BoxGeometry(0.04, 1.4, 0.06), wood); + m.position.set(-0.6 + i * 0.6, 1.05, 1.13); + g.add(m); + } + // Top + bottom mullion + const topM = new THREE.Mesh(new THREE.BoxGeometry(2.4, 0.05, 0.06), wood); + topM.position.set(-0.6, 1.75, 1.13); + g.add(topM); + const botM = topM.clone(); + botM.position.y = 0.35; + g.add(botM); + + // Low pitch roof on A (single slope) + const roofGeo = new THREE.BoxGeometry(2.7, 0.08, 2.3); + const roofA = new THREE.Mesh(roofGeo, roof); + roofA.position.set(-0.6, 1.92, 0); + roofA.rotation.x = -0.18; + g.add(roofA); + + // Flat roof on B with overhang + const roofB = new THREE.Mesh(new THREE.BoxGeometry(2.0, 0.08, 2.4), roof); + roofB.position.set(1.3, 1.7, 0); + g.add(roofB); + + // Solar panel rectangle on roof A + const solar = new THREE.Mesh(new THREE.BoxGeometry(1.4, 0.04, 0.9), new THREE.MeshStandardMaterial({ color: '#15110c', metalness: 0.4, roughness: 0.3 })); + solar.position.set(-0.6, 2.0, -0.4); + solar.rotation.x = -0.18; + g.add(solar); + + return g; +} + +const builders: Record THREE.Group> = { + maramures: buildMaramures, + cula: buildCula, + sasesc: buildSasesc, + interbelic: buildInterbelic, + comunist: buildComunist, + contemporan: buildContemporan, +}; + +export function buildHouse(id: HouseId): THREE.Group { + return builders[id](); +} + +export type SceneCtx = { + renderer: THREE.WebGLRenderer; + scene: THREE.Scene; + camera: THREE.PerspectiveCamera; + house: THREE.Group; + destroy: () => void; + setSize: (w: number, h: number) => void; +}; + +export function createHouseScene(canvas: HTMLCanvasElement, id: HouseId, opts?: { background?: string; autoRotate?: boolean }): SceneCtx { + const dpr = Math.min(window.devicePixelRatio || 1, 2); + const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: true }); + renderer.setPixelRatio(dpr); + renderer.setClearColor(0x000000, 0); + renderer.toneMapping = THREE.ACESFilmicToneMapping; + renderer.toneMappingExposure = 1.05; + + const scene = new THREE.Scene(); + if (opts?.background) scene.background = new THREE.Color(opts.background); + + const camera = new THREE.PerspectiveCamera(35, 1, 0.1, 100); + camera.position.set(6, 4.2, 7); + camera.lookAt(0, 1.6, 0); + + // Lighting — warm key + cool fill + rim + const hemi = new THREE.HemisphereLight(0xfdf6f1, 0x3a1c10, 0.6); + scene.add(hemi); + const key = new THREE.DirectionalLight(0xffeacc, 1.4); + key.position.set(5, 8, 5); + scene.add(key); + const fill = new THREE.DirectionalLight(0x84b6cd, 0.45); + fill.position.set(-6, 4, -3); + scene.add(fill); + const rim = new THREE.DirectionalLight(0xffffff, 0.4); + rim.position.set(0, 3, -8); + scene.add(rim); + + // Ground disc + const ground = new THREE.Mesh( + new THREE.CircleGeometry(8, 48), + new THREE.MeshStandardMaterial({ color: '#ede2cf', roughness: 1, metalness: 0 }) + ); + ground.rotation.x = -Math.PI / 2; + ground.position.y = 0; + scene.add(ground); + + const house = builders[id](); + scene.add(house); + + // Soft shadow circle under house + const shadow = new THREE.Mesh( + new THREE.CircleGeometry(2.2, 32), + new THREE.MeshBasicMaterial({ color: 0x261f17, transparent: true, opacity: 0.18 }) + ); + shadow.rotation.x = -Math.PI / 2; + shadow.position.y = 0.005; + scene.add(shadow); + + let raf = 0; + const clock = new THREE.Clock(); + let scrollAdd = 0; + + function tick() { + const t = clock.getElapsedTime(); + if (opts?.autoRotate !== false) { + house.rotation.y = t * 0.25 + scrollAdd; + } + renderer.render(scene, camera); + raf = requestAnimationFrame(tick); + } + tick(); + + function setSize(w: number, h: number) { + renderer.setSize(w, h, false); + camera.aspect = w / h; + camera.updateProjectionMatrix(); + } + + // Pointer interaction — drag to rotate + let dragging = false; + let lastX = 0; + const onDown = (e: PointerEvent) => { + dragging = true; + lastX = e.clientX; + canvas.setPointerCapture(e.pointerId); + }; + const onMove = (e: PointerEvent) => { + if (!dragging) return; + const dx = e.clientX - lastX; + lastX = e.clientX; + scrollAdd += dx * 0.01; + }; + const onUp = (e: PointerEvent) => { + dragging = false; + try { canvas.releasePointerCapture(e.pointerId); } catch {} + }; + canvas.addEventListener('pointerdown', onDown); + canvas.addEventListener('pointermove', onMove); + canvas.addEventListener('pointerup', onUp); + canvas.addEventListener('pointercancel', onUp); + + return { + renderer, + scene, + camera, + house, + setSize, + destroy() { + cancelAnimationFrame(raf); + canvas.removeEventListener('pointerdown', onDown); + canvas.removeEventListener('pointermove', onMove); + canvas.removeEventListener('pointerup', onUp); + canvas.removeEventListener('pointercancel', onUp); + renderer.dispose(); + scene.traverse((o) => { + const m = o as THREE.Mesh; + if (m.geometry) m.geometry.dispose(); + const mat = (m as any).material; + if (Array.isArray(mat)) mat.forEach((x: any) => x.dispose && x.dispose()); + else if (mat?.dispose) mat.dispose(); + }); + }, + }; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..8bf91d3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +}