[READ-ONLY] Mirror of https://github.com/flo-bit/blog-template. minimalistic astro blog template flo-bit.dev/blog-template/
astro blog template
0

Configure Feed

Select the types of activity you want to include in your feed.

first commit

author
Florian
date (Oct 26, 2024, 1:01 AM +0200) commit 40ac61cc
+10146
+39
.github/workflows/deploy.yml
··· 1 + name: Deploy to GitHub Pages 2 + 3 + on: 4 + # Trigger the workflow every time you push to the `main` branch 5 + # Using a different branch name? Replace `main` with your branch’s name 6 + push: 7 + branches: [ main ] 8 + # Allows you to run this workflow manually from the Actions tab on GitHub. 9 + workflow_dispatch: 10 + 11 + # Allow this job to clone the repo and create a page deployment 12 + permissions: 13 + contents: read 14 + pages: write 15 + id-token: write 16 + 17 + jobs: 18 + build: 19 + runs-on: ubuntu-latest 20 + steps: 21 + - name: Checkout your repository using git 22 + uses: actions/checkout@v4 23 + - name: Install, build, and upload your site 24 + uses: withastro/action@v3 25 + # with: 26 + # path: . # The root location of your Astro project inside the repository. (optional) 27 + # node-version: 20 # The specific version of Node that should be used to build your site. Defaults to 20. (optional) 28 + # package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional) 29 + 30 + deploy: 31 + needs: build 32 + runs-on: ubuntu-latest 33 + environment: 34 + name: github-pages 35 + url: ${{ steps.deployment.outputs.page_url }} 36 + steps: 37 + - name: Deploy to GitHub Pages 38 + id: deployment 39 + uses: actions/deploy-pages@v4
+26
.gitignore
··· 1 + # build output 2 + dist/ 3 + # generated types 4 + .astro/ 5 + 6 + # dependencies 7 + node_modules/ 8 + 9 + # logs 10 + npm-debug.log* 11 + yarn-debug.log* 12 + yarn-error.log* 13 + pnpm-debug.log* 14 + 15 + 16 + # environment variables 17 + .env 18 + .env.production 19 + 20 + # macOS-specific files 21 + .DS_Store 22 + 23 + # jetbrains setting folder 24 + .idea/ 25 + 26 + public/pagefind/
+4
.vscode/extensions.json
··· 1 + { 2 + "recommendations": ["astro-build.astro-vscode", "unifiedjs.vscode-mdx"], 3 + "unwantedRecommendations": [] 4 + }
+11
.vscode/launch.json
··· 1 + { 2 + "version": "0.2.0", 3 + "configurations": [ 4 + { 5 + "command": "./node_modules/.bin/astro dev", 6 + "name": "Development server", 7 + "request": "launch", 8 + "type": "node-terminal" 9 + } 10 + ] 11 + }
+18
README.md
··· 1 + # astro blog template 2 + 3 + Features: 4 + 5 + - ✅ 100/100 Lighthouse performance 6 + - ✅ SEO-friendly with canonical URLs and OpenGraph data 7 + - ✅ Sitemap support 8 + - ✅ RSS Feed support 9 + - ✅ Markdown & MDX support 10 + - ✅ Pagination 11 + - ✅ Syntax highlighting (+ copy button) 12 + - ✅ Dark and light mode with toggle button or auto-detect 13 + - ✅ Search included 14 + - ✅ Tags for posts 15 + - ✅ Super easy to deploy as a static site 16 + - ✅ Some prebuilt components for you to use 17 + - ✅ Easy to customize 18 + - ✅ Automatic OpenGraph image generation
+56
astro.config.mjs
··· 1 + // @ts-check 2 + import { defineConfig } from "astro/config"; 3 + import { resolve } from "path"; 4 + 5 + import mdx from "@astrojs/mdx"; 6 + import sitemap from "@astrojs/sitemap"; 7 + import tailwind from "@astrojs/tailwind"; 8 + import svelte from "@astrojs/svelte"; 9 + import pagefind from "vite-plugin-pagefind"; 10 + import { BASE } from "./src/consts"; 11 + 12 + // https://astro.build/config 13 + export default defineConfig({ 14 + vite: { 15 + resolve: { 16 + alias: { 17 + $components: resolve("./src/components"), 18 + $layouts: resolve("./src/layouts"), 19 + $pages: resolve("./src/pages"), 20 + $assets: resolve("./src/assets"), 21 + $content: resolve("./src/content"), 22 + }, 23 + }, 24 + ssr: { 25 + noExternal: [BASE + "/pagefind/pagefind.js"], 26 + }, 27 + plugins: [pagefind()], 28 + build: { 29 + rollupOptions: { 30 + external: [BASE + "/pagefind/pagefind.js"], 31 + }, 32 + }, 33 + }, 34 + 35 + integrations: [mdx(), sitemap(), tailwind(), svelte()], 36 + 37 + markdown: { 38 + shikiConfig: { 39 + // Choose from Shiki's built-in themes (or add your own) 40 + // https://shiki.style/themes 41 + // Alternatively, provide multiple themes 42 + // See note below for using dual light/dark themes 43 + themes: { 44 + light: "github-light", 45 + dark: "github-dark", 46 + }, 47 + }, 48 + }, 49 + 50 + prefetch: { 51 + prefetchAll: true, 52 + }, 53 + site: "https://flo-bit.dev", 54 + base: BASE, 55 + output: "static", 56 + });
+8018
package-lock.json
··· 1 + { 2 + "name": "astro-scaffold", 3 + "version": "0.0.1", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "astro-scaffold", 9 + "version": "0.0.1", 10 + "dependencies": { 11 + "@astrojs/check": "^0.9.4", 12 + "@astrojs/mdx": "^3.1.8", 13 + "@astrojs/rss": "^4.0.9", 14 + "@astrojs/sitemap": "^3.2.1", 15 + "@astrojs/svelte": "^5.7.2", 16 + "@astrojs/tailwind": "^5.1.2", 17 + "@tailwindcss/forms": "^0.5.9", 18 + "astro": "^4.16.7", 19 + "astro-og-canvas": "^0.5.4", 20 + "svelte": "^5.1.1", 21 + "tailwindcss": "^3.4.14", 22 + "typescript": "^5.6.3" 23 + }, 24 + "devDependencies": { 25 + "@tailwindcss/typography": "^0.5.15", 26 + "pagefind": "^1.1.1", 27 + "vite-plugin-pagefind": "^0.2.10" 28 + } 29 + }, 30 + "node_modules/@alloc/quick-lru": { 31 + "version": "5.2.0", 32 + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 33 + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 34 + "engines": { 35 + "node": ">=10" 36 + }, 37 + "funding": { 38 + "url": "https://github.com/sponsors/sindresorhus" 39 + } 40 + }, 41 + "node_modules/@ampproject/remapping": { 42 + "version": "2.3.0", 43 + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 44 + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 45 + "dependencies": { 46 + "@jridgewell/gen-mapping": "^0.3.5", 47 + "@jridgewell/trace-mapping": "^0.3.24" 48 + }, 49 + "engines": { 50 + "node": ">=6.0.0" 51 + } 52 + }, 53 + "node_modules/@astrojs/check": { 54 + "version": "0.9.4", 55 + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.4.tgz", 56 + "integrity": "sha512-IOheHwCtpUfvogHHsvu0AbeRZEnjJg3MopdLddkJE70mULItS/Vh37BHcI00mcOJcH1vhD3odbpvWokpxam7xA==", 57 + "dependencies": { 58 + "@astrojs/language-server": "^2.15.0", 59 + "chokidar": "^4.0.1", 60 + "kleur": "^4.1.5", 61 + "yargs": "^17.7.2" 62 + }, 63 + "bin": { 64 + "astro-check": "dist/bin.js" 65 + }, 66 + "peerDependencies": { 67 + "typescript": "^5.0.0" 68 + } 69 + }, 70 + "node_modules/@astrojs/compiler": { 71 + "version": "2.10.3", 72 + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.10.3.tgz", 73 + "integrity": "sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==" 74 + }, 75 + "node_modules/@astrojs/internal-helpers": { 76 + "version": "0.4.1", 77 + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.4.1.tgz", 78 + "integrity": "sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==" 79 + }, 80 + "node_modules/@astrojs/language-server": { 81 + "version": "2.15.3", 82 + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.15.3.tgz", 83 + "integrity": "sha512-2qYkHkiqduB2F6OY+zAikd2hZP1xq5LqB0RqLCMoT7KLbfspnx6qtxOueF2n1P4+YUXRHUJVfLA4FoJCEfoMDg==", 84 + "dependencies": { 85 + "@astrojs/compiler": "^2.10.3", 86 + "@astrojs/yaml2ts": "^0.2.1", 87 + "@jridgewell/sourcemap-codec": "^1.4.15", 88 + "@volar/kit": "~2.4.5", 89 + "@volar/language-core": "~2.4.5", 90 + "@volar/language-server": "~2.4.5", 91 + "@volar/language-service": "~2.4.5", 92 + "fast-glob": "^3.2.12", 93 + "muggle-string": "^0.4.1", 94 + "volar-service-css": "0.0.61", 95 + "volar-service-emmet": "0.0.61", 96 + "volar-service-html": "0.0.61", 97 + "volar-service-prettier": "0.0.61", 98 + "volar-service-typescript": "0.0.61", 99 + "volar-service-typescript-twoslash-queries": "0.0.61", 100 + "volar-service-yaml": "0.0.61", 101 + "vscode-html-languageservice": "^5.2.0", 102 + "vscode-uri": "^3.0.8" 103 + }, 104 + "bin": { 105 + "astro-ls": "bin/nodeServer.js" 106 + }, 107 + "peerDependencies": { 108 + "prettier": "^3.0.0", 109 + "prettier-plugin-astro": ">=0.11.0" 110 + }, 111 + "peerDependenciesMeta": { 112 + "prettier": { 113 + "optional": true 114 + }, 115 + "prettier-plugin-astro": { 116 + "optional": true 117 + } 118 + } 119 + }, 120 + "node_modules/@astrojs/markdown-remark": { 121 + "version": "5.3.0", 122 + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.3.0.tgz", 123 + "integrity": "sha512-r0Ikqr0e6ozPb5bvhup1qdWnSPUvQu6tub4ZLYaKyG50BXZ0ej6FhGz3GpChKpH7kglRFPObJd/bDyf2VM9pkg==", 124 + "dependencies": { 125 + "@astrojs/prism": "3.1.0", 126 + "github-slugger": "^2.0.0", 127 + "hast-util-from-html": "^2.0.3", 128 + "hast-util-to-text": "^4.0.2", 129 + "import-meta-resolve": "^4.1.0", 130 + "mdast-util-definitions": "^6.0.0", 131 + "rehype-raw": "^7.0.0", 132 + "rehype-stringify": "^10.0.1", 133 + "remark-gfm": "^4.0.0", 134 + "remark-parse": "^11.0.0", 135 + "remark-rehype": "^11.1.1", 136 + "remark-smartypants": "^3.0.2", 137 + "shiki": "^1.22.0", 138 + "unified": "^11.0.5", 139 + "unist-util-remove-position": "^5.0.0", 140 + "unist-util-visit": "^5.0.0", 141 + "unist-util-visit-parents": "^6.0.1", 142 + "vfile": "^6.0.3" 143 + } 144 + }, 145 + "node_modules/@astrojs/mdx": { 146 + "version": "3.1.8", 147 + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-3.1.8.tgz", 148 + "integrity": "sha512-4o/+pvgoLFG0eG96cFs4t3NzZAIAOYu57fKAprWHXJrnq/qdBV0av6BYDjoESxvxNILUYoj8sdZVWtlPWVDLog==", 149 + "dependencies": { 150 + "@astrojs/markdown-remark": "5.3.0", 151 + "@mdx-js/mdx": "^3.0.1", 152 + "acorn": "^8.12.1", 153 + "es-module-lexer": "^1.5.4", 154 + "estree-util-visit": "^2.0.0", 155 + "gray-matter": "^4.0.3", 156 + "hast-util-to-html": "^9.0.3", 157 + "kleur": "^4.1.5", 158 + "rehype-raw": "^7.0.0", 159 + "remark-gfm": "^4.0.0", 160 + "remark-smartypants": "^3.0.2", 161 + "source-map": "^0.7.4", 162 + "unist-util-visit": "^5.0.0", 163 + "vfile": "^6.0.3" 164 + }, 165 + "engines": { 166 + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" 167 + }, 168 + "peerDependencies": { 169 + "astro": "^4.8.0" 170 + } 171 + }, 172 + "node_modules/@astrojs/prism": { 173 + "version": "3.1.0", 174 + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz", 175 + "integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==", 176 + "dependencies": { 177 + "prismjs": "^1.29.0" 178 + }, 179 + "engines": { 180 + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" 181 + } 182 + }, 183 + "node_modules/@astrojs/rss": { 184 + "version": "4.0.9", 185 + "resolved": "https://registry.npmjs.org/@astrojs/rss/-/rss-4.0.9.tgz", 186 + "integrity": "sha512-W1qeLc/WP1vMS5xXa+BnaLU0paeSeGjN8RJVAoBaOIkQuKXjIUA9hvPno89heo73in5i67g40gy70oeeHMqp6A==", 187 + "dependencies": { 188 + "fast-xml-parser": "^4.5.0", 189 + "kleur": "^4.1.5" 190 + } 191 + }, 192 + "node_modules/@astrojs/sitemap": { 193 + "version": "3.2.1", 194 + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.2.1.tgz", 195 + "integrity": "sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==", 196 + "dependencies": { 197 + "sitemap": "^8.0.0", 198 + "stream-replace-string": "^2.0.0", 199 + "zod": "^3.23.8" 200 + } 201 + }, 202 + "node_modules/@astrojs/svelte": { 203 + "version": "5.7.2", 204 + "resolved": "https://registry.npmjs.org/@astrojs/svelte/-/svelte-5.7.2.tgz", 205 + "integrity": "sha512-d3nfPe7OMoDqdw7SXfvYlyCSB4p84p92IIvEsu5E1jDPFbS1mlC76hjAlr0nJHQfV1MZPWifEmmfgDBWLCuS8g==", 206 + "dependencies": { 207 + "@sveltejs/vite-plugin-svelte": "^3.1.2", 208 + "svelte2tsx": "^0.7.21" 209 + }, 210 + "engines": { 211 + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" 212 + }, 213 + "peerDependencies": { 214 + "astro": "^4.0.0", 215 + "svelte": "^4.0.0 || ^5.0.0-next.190", 216 + "typescript": "^5.3.3" 217 + } 218 + }, 219 + "node_modules/@astrojs/tailwind": { 220 + "version": "5.1.2", 221 + "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-5.1.2.tgz", 222 + "integrity": "sha512-IvOF0W/dtHElcXvhrPR35nHmhyV3cfz1EzPitMGtU7sYy9Hci3BNK1To6FWmVuuNKPxza1IgCGetSynJZL7fOg==", 223 + "dependencies": { 224 + "autoprefixer": "^10.4.20", 225 + "postcss": "^8.4.47", 226 + "postcss-load-config": "^4.0.2" 227 + }, 228 + "peerDependencies": { 229 + "astro": "^3.0.0 || ^4.0.0 || ^5.0.0-beta.0", 230 + "tailwindcss": "^3.0.24" 231 + } 232 + }, 233 + "node_modules/@astrojs/telemetry": { 234 + "version": "3.1.0", 235 + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz", 236 + "integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==", 237 + "dependencies": { 238 + "ci-info": "^4.0.0", 239 + "debug": "^4.3.4", 240 + "dlv": "^1.1.3", 241 + "dset": "^3.1.3", 242 + "is-docker": "^3.0.0", 243 + "is-wsl": "^3.0.0", 244 + "which-pm-runs": "^1.1.0" 245 + }, 246 + "engines": { 247 + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" 248 + } 249 + }, 250 + "node_modules/@astrojs/yaml2ts": { 251 + "version": "0.2.1", 252 + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.1.tgz", 253 + "integrity": "sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==", 254 + "dependencies": { 255 + "yaml": "^2.5.0" 256 + } 257 + }, 258 + "node_modules/@babel/code-frame": { 259 + "version": "7.25.9", 260 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.9.tgz", 261 + "integrity": "sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==", 262 + "dependencies": { 263 + "@babel/highlight": "^7.25.9", 264 + "picocolors": "^1.0.0" 265 + }, 266 + "engines": { 267 + "node": ">=6.9.0" 268 + } 269 + }, 270 + "node_modules/@babel/compat-data": { 271 + "version": "7.25.9", 272 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.9.tgz", 273 + "integrity": "sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==", 274 + "engines": { 275 + "node": ">=6.9.0" 276 + } 277 + }, 278 + "node_modules/@babel/core": { 279 + "version": "7.25.9", 280 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", 281 + "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", 282 + "dependencies": { 283 + "@ampproject/remapping": "^2.2.0", 284 + "@babel/code-frame": "^7.25.9", 285 + "@babel/generator": "^7.25.9", 286 + "@babel/helper-compilation-targets": "^7.25.9", 287 + "@babel/helper-module-transforms": "^7.25.9", 288 + "@babel/helpers": "^7.25.9", 289 + "@babel/parser": "^7.25.9", 290 + "@babel/template": "^7.25.9", 291 + "@babel/traverse": "^7.25.9", 292 + "@babel/types": "^7.25.9", 293 + "convert-source-map": "^2.0.0", 294 + "debug": "^4.1.0", 295 + "gensync": "^1.0.0-beta.2", 296 + "json5": "^2.2.3", 297 + "semver": "^6.3.1" 298 + }, 299 + "engines": { 300 + "node": ">=6.9.0" 301 + }, 302 + "funding": { 303 + "type": "opencollective", 304 + "url": "https://opencollective.com/babel" 305 + } 306 + }, 307 + "node_modules/@babel/core/node_modules/semver": { 308 + "version": "6.3.1", 309 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 310 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 311 + "bin": { 312 + "semver": "bin/semver.js" 313 + } 314 + }, 315 + "node_modules/@babel/generator": { 316 + "version": "7.25.9", 317 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", 318 + "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", 319 + "dependencies": { 320 + "@babel/types": "^7.25.9", 321 + "@jridgewell/gen-mapping": "^0.3.5", 322 + "@jridgewell/trace-mapping": "^0.3.25", 323 + "jsesc": "^3.0.2" 324 + }, 325 + "engines": { 326 + "node": ">=6.9.0" 327 + } 328 + }, 329 + "node_modules/@babel/helper-annotate-as-pure": { 330 + "version": "7.25.9", 331 + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", 332 + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", 333 + "dependencies": { 334 + "@babel/types": "^7.25.9" 335 + }, 336 + "engines": { 337 + "node": ">=6.9.0" 338 + } 339 + }, 340 + "node_modules/@babel/helper-compilation-targets": { 341 + "version": "7.25.9", 342 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", 343 + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", 344 + "dependencies": { 345 + "@babel/compat-data": "^7.25.9", 346 + "@babel/helper-validator-option": "^7.25.9", 347 + "browserslist": "^4.24.0", 348 + "lru-cache": "^5.1.1", 349 + "semver": "^6.3.1" 350 + }, 351 + "engines": { 352 + "node": ">=6.9.0" 353 + } 354 + }, 355 + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { 356 + "version": "6.3.1", 357 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 358 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 359 + "bin": { 360 + "semver": "bin/semver.js" 361 + } 362 + }, 363 + "node_modules/@babel/helper-module-imports": { 364 + "version": "7.25.9", 365 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", 366 + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", 367 + "dependencies": { 368 + "@babel/traverse": "^7.25.9", 369 + "@babel/types": "^7.25.9" 370 + }, 371 + "engines": { 372 + "node": ">=6.9.0" 373 + } 374 + }, 375 + "node_modules/@babel/helper-module-transforms": { 376 + "version": "7.25.9", 377 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz", 378 + "integrity": "sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==", 379 + "dependencies": { 380 + "@babel/helper-module-imports": "^7.25.9", 381 + "@babel/helper-simple-access": "^7.25.9", 382 + "@babel/helper-validator-identifier": "^7.25.9", 383 + "@babel/traverse": "^7.25.9" 384 + }, 385 + "engines": { 386 + "node": ">=6.9.0" 387 + }, 388 + "peerDependencies": { 389 + "@babel/core": "^7.0.0" 390 + } 391 + }, 392 + "node_modules/@babel/helper-plugin-utils": { 393 + "version": "7.25.9", 394 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", 395 + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", 396 + "engines": { 397 + "node": ">=6.9.0" 398 + } 399 + }, 400 + "node_modules/@babel/helper-simple-access": { 401 + "version": "7.25.9", 402 + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", 403 + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", 404 + "dependencies": { 405 + "@babel/traverse": "^7.25.9", 406 + "@babel/types": "^7.25.9" 407 + }, 408 + "engines": { 409 + "node": ">=6.9.0" 410 + } 411 + }, 412 + "node_modules/@babel/helper-string-parser": { 413 + "version": "7.25.9", 414 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", 415 + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", 416 + "engines": { 417 + "node": ">=6.9.0" 418 + } 419 + }, 420 + "node_modules/@babel/helper-validator-identifier": { 421 + "version": "7.25.9", 422 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", 423 + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", 424 + "engines": { 425 + "node": ">=6.9.0" 426 + } 427 + }, 428 + "node_modules/@babel/helper-validator-option": { 429 + "version": "7.25.9", 430 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", 431 + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", 432 + "engines": { 433 + "node": ">=6.9.0" 434 + } 435 + }, 436 + "node_modules/@babel/helpers": { 437 + "version": "7.25.9", 438 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.9.tgz", 439 + "integrity": "sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==", 440 + "dependencies": { 441 + "@babel/template": "^7.25.9", 442 + "@babel/types": "^7.25.9" 443 + }, 444 + "engines": { 445 + "node": ">=6.9.0" 446 + } 447 + }, 448 + "node_modules/@babel/highlight": { 449 + "version": "7.25.9", 450 + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", 451 + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", 452 + "dependencies": { 453 + "@babel/helper-validator-identifier": "^7.25.9", 454 + "chalk": "^2.4.2", 455 + "js-tokens": "^4.0.0", 456 + "picocolors": "^1.0.0" 457 + }, 458 + "engines": { 459 + "node": ">=6.9.0" 460 + } 461 + }, 462 + "node_modules/@babel/parser": { 463 + "version": "7.25.9", 464 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.9.tgz", 465 + "integrity": "sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==", 466 + "dependencies": { 467 + "@babel/types": "^7.25.9" 468 + }, 469 + "bin": { 470 + "parser": "bin/babel-parser.js" 471 + }, 472 + "engines": { 473 + "node": ">=6.0.0" 474 + } 475 + }, 476 + "node_modules/@babel/plugin-syntax-jsx": { 477 + "version": "7.25.9", 478 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", 479 + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", 480 + "dependencies": { 481 + "@babel/helper-plugin-utils": "^7.25.9" 482 + }, 483 + "engines": { 484 + "node": ">=6.9.0" 485 + }, 486 + "peerDependencies": { 487 + "@babel/core": "^7.0.0-0" 488 + } 489 + }, 490 + "node_modules/@babel/plugin-transform-react-jsx": { 491 + "version": "7.25.9", 492 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", 493 + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", 494 + "dependencies": { 495 + "@babel/helper-annotate-as-pure": "^7.25.9", 496 + "@babel/helper-module-imports": "^7.25.9", 497 + "@babel/helper-plugin-utils": "^7.25.9", 498 + "@babel/plugin-syntax-jsx": "^7.25.9", 499 + "@babel/types": "^7.25.9" 500 + }, 501 + "engines": { 502 + "node": ">=6.9.0" 503 + }, 504 + "peerDependencies": { 505 + "@babel/core": "^7.0.0-0" 506 + } 507 + }, 508 + "node_modules/@babel/template": { 509 + "version": "7.25.9", 510 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", 511 + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", 512 + "dependencies": { 513 + "@babel/code-frame": "^7.25.9", 514 + "@babel/parser": "^7.25.9", 515 + "@babel/types": "^7.25.9" 516 + }, 517 + "engines": { 518 + "node": ">=6.9.0" 519 + } 520 + }, 521 + "node_modules/@babel/traverse": { 522 + "version": "7.25.9", 523 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", 524 + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", 525 + "dependencies": { 526 + "@babel/code-frame": "^7.25.9", 527 + "@babel/generator": "^7.25.9", 528 + "@babel/parser": "^7.25.9", 529 + "@babel/template": "^7.25.9", 530 + "@babel/types": "^7.25.9", 531 + "debug": "^4.3.1", 532 + "globals": "^11.1.0" 533 + }, 534 + "engines": { 535 + "node": ">=6.9.0" 536 + } 537 + }, 538 + "node_modules/@babel/types": { 539 + "version": "7.25.9", 540 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.9.tgz", 541 + "integrity": "sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==", 542 + "dependencies": { 543 + "@babel/helper-string-parser": "^7.25.9", 544 + "@babel/helper-validator-identifier": "^7.25.9" 545 + }, 546 + "engines": { 547 + "node": ">=6.9.0" 548 + } 549 + }, 550 + "node_modules/@emmetio/abbreviation": { 551 + "version": "2.3.3", 552 + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", 553 + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", 554 + "dependencies": { 555 + "@emmetio/scanner": "^1.0.4" 556 + } 557 + }, 558 + "node_modules/@emmetio/css-abbreviation": { 559 + "version": "2.1.8", 560 + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", 561 + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", 562 + "dependencies": { 563 + "@emmetio/scanner": "^1.0.4" 564 + } 565 + }, 566 + "node_modules/@emmetio/css-parser": { 567 + "version": "0.4.0", 568 + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.0.tgz", 569 + "integrity": "sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==", 570 + "dependencies": { 571 + "@emmetio/stream-reader": "^2.2.0", 572 + "@emmetio/stream-reader-utils": "^0.1.0" 573 + } 574 + }, 575 + "node_modules/@emmetio/html-matcher": { 576 + "version": "1.3.0", 577 + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", 578 + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", 579 + "dependencies": { 580 + "@emmetio/scanner": "^1.0.0" 581 + } 582 + }, 583 + "node_modules/@emmetio/scanner": { 584 + "version": "1.0.4", 585 + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", 586 + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" 587 + }, 588 + "node_modules/@emmetio/stream-reader": { 589 + "version": "2.2.0", 590 + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", 591 + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==" 592 + }, 593 + "node_modules/@emmetio/stream-reader-utils": { 594 + "version": "0.1.0", 595 + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", 596 + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==" 597 + }, 598 + "node_modules/@emnapi/runtime": { 599 + "version": "1.3.1", 600 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", 601 + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", 602 + "optional": true, 603 + "dependencies": { 604 + "tslib": "^2.4.0" 605 + } 606 + }, 607 + "node_modules/@esbuild/aix-ppc64": { 608 + "version": "0.21.5", 609 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", 610 + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", 611 + "cpu": [ 612 + "ppc64" 613 + ], 614 + "optional": true, 615 + "os": [ 616 + "aix" 617 + ], 618 + "engines": { 619 + "node": ">=12" 620 + } 621 + }, 622 + "node_modules/@esbuild/android-arm": { 623 + "version": "0.21.5", 624 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", 625 + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", 626 + "cpu": [ 627 + "arm" 628 + ], 629 + "optional": true, 630 + "os": [ 631 + "android" 632 + ], 633 + "engines": { 634 + "node": ">=12" 635 + } 636 + }, 637 + "node_modules/@esbuild/android-arm64": { 638 + "version": "0.21.5", 639 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", 640 + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", 641 + "cpu": [ 642 + "arm64" 643 + ], 644 + "optional": true, 645 + "os": [ 646 + "android" 647 + ], 648 + "engines": { 649 + "node": ">=12" 650 + } 651 + }, 652 + "node_modules/@esbuild/android-x64": { 653 + "version": "0.21.5", 654 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", 655 + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", 656 + "cpu": [ 657 + "x64" 658 + ], 659 + "optional": true, 660 + "os": [ 661 + "android" 662 + ], 663 + "engines": { 664 + "node": ">=12" 665 + } 666 + }, 667 + "node_modules/@esbuild/darwin-arm64": { 668 + "version": "0.21.5", 669 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", 670 + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", 671 + "cpu": [ 672 + "arm64" 673 + ], 674 + "optional": true, 675 + "os": [ 676 + "darwin" 677 + ], 678 + "engines": { 679 + "node": ">=12" 680 + } 681 + }, 682 + "node_modules/@esbuild/darwin-x64": { 683 + "version": "0.21.5", 684 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", 685 + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", 686 + "cpu": [ 687 + "x64" 688 + ], 689 + "optional": true, 690 + "os": [ 691 + "darwin" 692 + ], 693 + "engines": { 694 + "node": ">=12" 695 + } 696 + }, 697 + "node_modules/@esbuild/freebsd-arm64": { 698 + "version": "0.21.5", 699 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", 700 + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", 701 + "cpu": [ 702 + "arm64" 703 + ], 704 + "optional": true, 705 + "os": [ 706 + "freebsd" 707 + ], 708 + "engines": { 709 + "node": ">=12" 710 + } 711 + }, 712 + "node_modules/@esbuild/freebsd-x64": { 713 + "version": "0.21.5", 714 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", 715 + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", 716 + "cpu": [ 717 + "x64" 718 + ], 719 + "optional": true, 720 + "os": [ 721 + "freebsd" 722 + ], 723 + "engines": { 724 + "node": ">=12" 725 + } 726 + }, 727 + "node_modules/@esbuild/linux-arm": { 728 + "version": "0.21.5", 729 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", 730 + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", 731 + "cpu": [ 732 + "arm" 733 + ], 734 + "optional": true, 735 + "os": [ 736 + "linux" 737 + ], 738 + "engines": { 739 + "node": ">=12" 740 + } 741 + }, 742 + "node_modules/@esbuild/linux-arm64": { 743 + "version": "0.21.5", 744 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", 745 + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", 746 + "cpu": [ 747 + "arm64" 748 + ], 749 + "optional": true, 750 + "os": [ 751 + "linux" 752 + ], 753 + "engines": { 754 + "node": ">=12" 755 + } 756 + }, 757 + "node_modules/@esbuild/linux-ia32": { 758 + "version": "0.21.5", 759 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", 760 + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", 761 + "cpu": [ 762 + "ia32" 763 + ], 764 + "optional": true, 765 + "os": [ 766 + "linux" 767 + ], 768 + "engines": { 769 + "node": ">=12" 770 + } 771 + }, 772 + "node_modules/@esbuild/linux-loong64": { 773 + "version": "0.21.5", 774 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", 775 + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", 776 + "cpu": [ 777 + "loong64" 778 + ], 779 + "optional": true, 780 + "os": [ 781 + "linux" 782 + ], 783 + "engines": { 784 + "node": ">=12" 785 + } 786 + }, 787 + "node_modules/@esbuild/linux-mips64el": { 788 + "version": "0.21.5", 789 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", 790 + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", 791 + "cpu": [ 792 + "mips64el" 793 + ], 794 + "optional": true, 795 + "os": [ 796 + "linux" 797 + ], 798 + "engines": { 799 + "node": ">=12" 800 + } 801 + }, 802 + "node_modules/@esbuild/linux-ppc64": { 803 + "version": "0.21.5", 804 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", 805 + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", 806 + "cpu": [ 807 + "ppc64" 808 + ], 809 + "optional": true, 810 + "os": [ 811 + "linux" 812 + ], 813 + "engines": { 814 + "node": ">=12" 815 + } 816 + }, 817 + "node_modules/@esbuild/linux-riscv64": { 818 + "version": "0.21.5", 819 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", 820 + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", 821 + "cpu": [ 822 + "riscv64" 823 + ], 824 + "optional": true, 825 + "os": [ 826 + "linux" 827 + ], 828 + "engines": { 829 + "node": ">=12" 830 + } 831 + }, 832 + "node_modules/@esbuild/linux-s390x": { 833 + "version": "0.21.5", 834 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", 835 + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", 836 + "cpu": [ 837 + "s390x" 838 + ], 839 + "optional": true, 840 + "os": [ 841 + "linux" 842 + ], 843 + "engines": { 844 + "node": ">=12" 845 + } 846 + }, 847 + "node_modules/@esbuild/linux-x64": { 848 + "version": "0.21.5", 849 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", 850 + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", 851 + "cpu": [ 852 + "x64" 853 + ], 854 + "optional": true, 855 + "os": [ 856 + "linux" 857 + ], 858 + "engines": { 859 + "node": ">=12" 860 + } 861 + }, 862 + "node_modules/@esbuild/netbsd-x64": { 863 + "version": "0.21.5", 864 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", 865 + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", 866 + "cpu": [ 867 + "x64" 868 + ], 869 + "optional": true, 870 + "os": [ 871 + "netbsd" 872 + ], 873 + "engines": { 874 + "node": ">=12" 875 + } 876 + }, 877 + "node_modules/@esbuild/openbsd-x64": { 878 + "version": "0.21.5", 879 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", 880 + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", 881 + "cpu": [ 882 + "x64" 883 + ], 884 + "optional": true, 885 + "os": [ 886 + "openbsd" 887 + ], 888 + "engines": { 889 + "node": ">=12" 890 + } 891 + }, 892 + "node_modules/@esbuild/sunos-x64": { 893 + "version": "0.21.5", 894 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", 895 + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", 896 + "cpu": [ 897 + "x64" 898 + ], 899 + "optional": true, 900 + "os": [ 901 + "sunos" 902 + ], 903 + "engines": { 904 + "node": ">=12" 905 + } 906 + }, 907 + "node_modules/@esbuild/win32-arm64": { 908 + "version": "0.21.5", 909 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", 910 + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", 911 + "cpu": [ 912 + "arm64" 913 + ], 914 + "optional": true, 915 + "os": [ 916 + "win32" 917 + ], 918 + "engines": { 919 + "node": ">=12" 920 + } 921 + }, 922 + "node_modules/@esbuild/win32-ia32": { 923 + "version": "0.21.5", 924 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", 925 + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", 926 + "cpu": [ 927 + "ia32" 928 + ], 929 + "optional": true, 930 + "os": [ 931 + "win32" 932 + ], 933 + "engines": { 934 + "node": ">=12" 935 + } 936 + }, 937 + "node_modules/@esbuild/win32-x64": { 938 + "version": "0.21.5", 939 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", 940 + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", 941 + "cpu": [ 942 + "x64" 943 + ], 944 + "optional": true, 945 + "os": [ 946 + "win32" 947 + ], 948 + "engines": { 949 + "node": ">=12" 950 + } 951 + }, 952 + "node_modules/@img/sharp-darwin-arm64": { 953 + "version": "0.33.5", 954 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", 955 + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", 956 + "cpu": [ 957 + "arm64" 958 + ], 959 + "optional": true, 960 + "os": [ 961 + "darwin" 962 + ], 963 + "engines": { 964 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 965 + }, 966 + "funding": { 967 + "url": "https://opencollective.com/libvips" 968 + }, 969 + "optionalDependencies": { 970 + "@img/sharp-libvips-darwin-arm64": "1.0.4" 971 + } 972 + }, 973 + "node_modules/@img/sharp-darwin-x64": { 974 + "version": "0.33.5", 975 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", 976 + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", 977 + "cpu": [ 978 + "x64" 979 + ], 980 + "optional": true, 981 + "os": [ 982 + "darwin" 983 + ], 984 + "engines": { 985 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 986 + }, 987 + "funding": { 988 + "url": "https://opencollective.com/libvips" 989 + }, 990 + "optionalDependencies": { 991 + "@img/sharp-libvips-darwin-x64": "1.0.4" 992 + } 993 + }, 994 + "node_modules/@img/sharp-libvips-darwin-arm64": { 995 + "version": "1.0.4", 996 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", 997 + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", 998 + "cpu": [ 999 + "arm64" 1000 + ], 1001 + "optional": true, 1002 + "os": [ 1003 + "darwin" 1004 + ], 1005 + "funding": { 1006 + "url": "https://opencollective.com/libvips" 1007 + } 1008 + }, 1009 + "node_modules/@img/sharp-libvips-darwin-x64": { 1010 + "version": "1.0.4", 1011 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", 1012 + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", 1013 + "cpu": [ 1014 + "x64" 1015 + ], 1016 + "optional": true, 1017 + "os": [ 1018 + "darwin" 1019 + ], 1020 + "funding": { 1021 + "url": "https://opencollective.com/libvips" 1022 + } 1023 + }, 1024 + "node_modules/@img/sharp-libvips-linux-arm": { 1025 + "version": "1.0.5", 1026 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", 1027 + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", 1028 + "cpu": [ 1029 + "arm" 1030 + ], 1031 + "optional": true, 1032 + "os": [ 1033 + "linux" 1034 + ], 1035 + "funding": { 1036 + "url": "https://opencollective.com/libvips" 1037 + } 1038 + }, 1039 + "node_modules/@img/sharp-libvips-linux-arm64": { 1040 + "version": "1.0.4", 1041 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", 1042 + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", 1043 + "cpu": [ 1044 + "arm64" 1045 + ], 1046 + "optional": true, 1047 + "os": [ 1048 + "linux" 1049 + ], 1050 + "funding": { 1051 + "url": "https://opencollective.com/libvips" 1052 + } 1053 + }, 1054 + "node_modules/@img/sharp-libvips-linux-s390x": { 1055 + "version": "1.0.4", 1056 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", 1057 + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", 1058 + "cpu": [ 1059 + "s390x" 1060 + ], 1061 + "optional": true, 1062 + "os": [ 1063 + "linux" 1064 + ], 1065 + "funding": { 1066 + "url": "https://opencollective.com/libvips" 1067 + } 1068 + }, 1069 + "node_modules/@img/sharp-libvips-linux-x64": { 1070 + "version": "1.0.4", 1071 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", 1072 + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", 1073 + "cpu": [ 1074 + "x64" 1075 + ], 1076 + "optional": true, 1077 + "os": [ 1078 + "linux" 1079 + ], 1080 + "funding": { 1081 + "url": "https://opencollective.com/libvips" 1082 + } 1083 + }, 1084 + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 1085 + "version": "1.0.4", 1086 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", 1087 + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", 1088 + "cpu": [ 1089 + "arm64" 1090 + ], 1091 + "optional": true, 1092 + "os": [ 1093 + "linux" 1094 + ], 1095 + "funding": { 1096 + "url": "https://opencollective.com/libvips" 1097 + } 1098 + }, 1099 + "node_modules/@img/sharp-libvips-linuxmusl-x64": { 1100 + "version": "1.0.4", 1101 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", 1102 + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", 1103 + "cpu": [ 1104 + "x64" 1105 + ], 1106 + "optional": true, 1107 + "os": [ 1108 + "linux" 1109 + ], 1110 + "funding": { 1111 + "url": "https://opencollective.com/libvips" 1112 + } 1113 + }, 1114 + "node_modules/@img/sharp-linux-arm": { 1115 + "version": "0.33.5", 1116 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", 1117 + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", 1118 + "cpu": [ 1119 + "arm" 1120 + ], 1121 + "optional": true, 1122 + "os": [ 1123 + "linux" 1124 + ], 1125 + "engines": { 1126 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1127 + }, 1128 + "funding": { 1129 + "url": "https://opencollective.com/libvips" 1130 + }, 1131 + "optionalDependencies": { 1132 + "@img/sharp-libvips-linux-arm": "1.0.5" 1133 + } 1134 + }, 1135 + "node_modules/@img/sharp-linux-arm64": { 1136 + "version": "0.33.5", 1137 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", 1138 + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", 1139 + "cpu": [ 1140 + "arm64" 1141 + ], 1142 + "optional": true, 1143 + "os": [ 1144 + "linux" 1145 + ], 1146 + "engines": { 1147 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1148 + }, 1149 + "funding": { 1150 + "url": "https://opencollective.com/libvips" 1151 + }, 1152 + "optionalDependencies": { 1153 + "@img/sharp-libvips-linux-arm64": "1.0.4" 1154 + } 1155 + }, 1156 + "node_modules/@img/sharp-linux-s390x": { 1157 + "version": "0.33.5", 1158 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", 1159 + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", 1160 + "cpu": [ 1161 + "s390x" 1162 + ], 1163 + "optional": true, 1164 + "os": [ 1165 + "linux" 1166 + ], 1167 + "engines": { 1168 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1169 + }, 1170 + "funding": { 1171 + "url": "https://opencollective.com/libvips" 1172 + }, 1173 + "optionalDependencies": { 1174 + "@img/sharp-libvips-linux-s390x": "1.0.4" 1175 + } 1176 + }, 1177 + "node_modules/@img/sharp-linux-x64": { 1178 + "version": "0.33.5", 1179 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", 1180 + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", 1181 + "cpu": [ 1182 + "x64" 1183 + ], 1184 + "optional": true, 1185 + "os": [ 1186 + "linux" 1187 + ], 1188 + "engines": { 1189 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1190 + }, 1191 + "funding": { 1192 + "url": "https://opencollective.com/libvips" 1193 + }, 1194 + "optionalDependencies": { 1195 + "@img/sharp-libvips-linux-x64": "1.0.4" 1196 + } 1197 + }, 1198 + "node_modules/@img/sharp-linuxmusl-arm64": { 1199 + "version": "0.33.5", 1200 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", 1201 + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", 1202 + "cpu": [ 1203 + "arm64" 1204 + ], 1205 + "optional": true, 1206 + "os": [ 1207 + "linux" 1208 + ], 1209 + "engines": { 1210 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1211 + }, 1212 + "funding": { 1213 + "url": "https://opencollective.com/libvips" 1214 + }, 1215 + "optionalDependencies": { 1216 + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" 1217 + } 1218 + }, 1219 + "node_modules/@img/sharp-linuxmusl-x64": { 1220 + "version": "0.33.5", 1221 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", 1222 + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", 1223 + "cpu": [ 1224 + "x64" 1225 + ], 1226 + "optional": true, 1227 + "os": [ 1228 + "linux" 1229 + ], 1230 + "engines": { 1231 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1232 + }, 1233 + "funding": { 1234 + "url": "https://opencollective.com/libvips" 1235 + }, 1236 + "optionalDependencies": { 1237 + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" 1238 + } 1239 + }, 1240 + "node_modules/@img/sharp-wasm32": { 1241 + "version": "0.33.5", 1242 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", 1243 + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", 1244 + "cpu": [ 1245 + "wasm32" 1246 + ], 1247 + "optional": true, 1248 + "dependencies": { 1249 + "@emnapi/runtime": "^1.2.0" 1250 + }, 1251 + "engines": { 1252 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1253 + }, 1254 + "funding": { 1255 + "url": "https://opencollective.com/libvips" 1256 + } 1257 + }, 1258 + "node_modules/@img/sharp-win32-ia32": { 1259 + "version": "0.33.5", 1260 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", 1261 + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", 1262 + "cpu": [ 1263 + "ia32" 1264 + ], 1265 + "optional": true, 1266 + "os": [ 1267 + "win32" 1268 + ], 1269 + "engines": { 1270 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1271 + }, 1272 + "funding": { 1273 + "url": "https://opencollective.com/libvips" 1274 + } 1275 + }, 1276 + "node_modules/@img/sharp-win32-x64": { 1277 + "version": "0.33.5", 1278 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", 1279 + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", 1280 + "cpu": [ 1281 + "x64" 1282 + ], 1283 + "optional": true, 1284 + "os": [ 1285 + "win32" 1286 + ], 1287 + "engines": { 1288 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1289 + }, 1290 + "funding": { 1291 + "url": "https://opencollective.com/libvips" 1292 + } 1293 + }, 1294 + "node_modules/@isaacs/cliui": { 1295 + "version": "8.0.2", 1296 + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 1297 + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 1298 + "dependencies": { 1299 + "string-width": "^5.1.2", 1300 + "string-width-cjs": "npm:string-width@^4.2.0", 1301 + "strip-ansi": "^7.0.1", 1302 + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 1303 + "wrap-ansi": "^8.1.0", 1304 + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 1305 + }, 1306 + "engines": { 1307 + "node": ">=12" 1308 + } 1309 + }, 1310 + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { 1311 + "version": "6.2.1", 1312 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 1313 + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 1314 + "engines": { 1315 + "node": ">=12" 1316 + }, 1317 + "funding": { 1318 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1319 + } 1320 + }, 1321 + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { 1322 + "version": "9.2.2", 1323 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1324 + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" 1325 + }, 1326 + "node_modules/@isaacs/cliui/node_modules/string-width": { 1327 + "version": "5.1.2", 1328 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1329 + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 1330 + "dependencies": { 1331 + "eastasianwidth": "^0.2.0", 1332 + "emoji-regex": "^9.2.2", 1333 + "strip-ansi": "^7.0.1" 1334 + }, 1335 + "engines": { 1336 + "node": ">=12" 1337 + }, 1338 + "funding": { 1339 + "url": "https://github.com/sponsors/sindresorhus" 1340 + } 1341 + }, 1342 + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { 1343 + "version": "8.1.0", 1344 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 1345 + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 1346 + "dependencies": { 1347 + "ansi-styles": "^6.1.0", 1348 + "string-width": "^5.0.1", 1349 + "strip-ansi": "^7.0.1" 1350 + }, 1351 + "engines": { 1352 + "node": ">=12" 1353 + }, 1354 + "funding": { 1355 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1356 + } 1357 + }, 1358 + "node_modules/@jridgewell/gen-mapping": { 1359 + "version": "0.3.5", 1360 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 1361 + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 1362 + "dependencies": { 1363 + "@jridgewell/set-array": "^1.2.1", 1364 + "@jridgewell/sourcemap-codec": "^1.4.10", 1365 + "@jridgewell/trace-mapping": "^0.3.24" 1366 + }, 1367 + "engines": { 1368 + "node": ">=6.0.0" 1369 + } 1370 + }, 1371 + "node_modules/@jridgewell/resolve-uri": { 1372 + "version": "3.1.2", 1373 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 1374 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1375 + "engines": { 1376 + "node": ">=6.0.0" 1377 + } 1378 + }, 1379 + "node_modules/@jridgewell/set-array": { 1380 + "version": "1.2.1", 1381 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 1382 + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 1383 + "engines": { 1384 + "node": ">=6.0.0" 1385 + } 1386 + }, 1387 + "node_modules/@jridgewell/sourcemap-codec": { 1388 + "version": "1.5.0", 1389 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 1390 + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" 1391 + }, 1392 + "node_modules/@jridgewell/trace-mapping": { 1393 + "version": "0.3.25", 1394 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 1395 + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 1396 + "dependencies": { 1397 + "@jridgewell/resolve-uri": "^3.1.0", 1398 + "@jridgewell/sourcemap-codec": "^1.4.14" 1399 + } 1400 + }, 1401 + "node_modules/@mdx-js/mdx": { 1402 + "version": "3.1.0", 1403 + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", 1404 + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", 1405 + "dependencies": { 1406 + "@types/estree": "^1.0.0", 1407 + "@types/estree-jsx": "^1.0.0", 1408 + "@types/hast": "^3.0.0", 1409 + "@types/mdx": "^2.0.0", 1410 + "collapse-white-space": "^2.0.0", 1411 + "devlop": "^1.0.0", 1412 + "estree-util-is-identifier-name": "^3.0.0", 1413 + "estree-util-scope": "^1.0.0", 1414 + "estree-walker": "^3.0.0", 1415 + "hast-util-to-jsx-runtime": "^2.0.0", 1416 + "markdown-extensions": "^2.0.0", 1417 + "recma-build-jsx": "^1.0.0", 1418 + "recma-jsx": "^1.0.0", 1419 + "recma-stringify": "^1.0.0", 1420 + "rehype-recma": "^1.0.0", 1421 + "remark-mdx": "^3.0.0", 1422 + "remark-parse": "^11.0.0", 1423 + "remark-rehype": "^11.0.0", 1424 + "source-map": "^0.7.0", 1425 + "unified": "^11.0.0", 1426 + "unist-util-position-from-estree": "^2.0.0", 1427 + "unist-util-stringify-position": "^4.0.0", 1428 + "unist-util-visit": "^5.0.0", 1429 + "vfile": "^6.0.0" 1430 + }, 1431 + "funding": { 1432 + "type": "opencollective", 1433 + "url": "https://opencollective.com/unified" 1434 + } 1435 + }, 1436 + "node_modules/@nodelib/fs.scandir": { 1437 + "version": "2.1.5", 1438 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1439 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1440 + "dependencies": { 1441 + "@nodelib/fs.stat": "2.0.5", 1442 + "run-parallel": "^1.1.9" 1443 + }, 1444 + "engines": { 1445 + "node": ">= 8" 1446 + } 1447 + }, 1448 + "node_modules/@nodelib/fs.stat": { 1449 + "version": "2.0.5", 1450 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1451 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1452 + "engines": { 1453 + "node": ">= 8" 1454 + } 1455 + }, 1456 + "node_modules/@nodelib/fs.walk": { 1457 + "version": "1.2.8", 1458 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1459 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1460 + "dependencies": { 1461 + "@nodelib/fs.scandir": "2.1.5", 1462 + "fastq": "^1.6.0" 1463 + }, 1464 + "engines": { 1465 + "node": ">= 8" 1466 + } 1467 + }, 1468 + "node_modules/@oslojs/encoding": { 1469 + "version": "1.1.0", 1470 + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", 1471 + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==" 1472 + }, 1473 + "node_modules/@pagefind/darwin-arm64": { 1474 + "version": "1.1.1", 1475 + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.1.1.tgz", 1476 + "integrity": "sha512-tZ9tysUmQpFs2EqWG2+E1gc+opDAhSyZSsgKmFzhnWfkK02YHZhvL5XJXEZDqYy3s1FAKhwjTg8XDxneuBlDZQ==", 1477 + "cpu": [ 1478 + "arm64" 1479 + ], 1480 + "dev": true, 1481 + "optional": true, 1482 + "os": [ 1483 + "darwin" 1484 + ] 1485 + }, 1486 + "node_modules/@pagefind/darwin-x64": { 1487 + "version": "1.1.1", 1488 + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.1.1.tgz", 1489 + "integrity": "sha512-ChohLQ39dLwaxQv0jIQB/SavP3TM5K5ENfDTqIdzLkmfs3+JlzSDyQKcJFjTHYcCzQOZVeieeGq8PdqvLJxJxQ==", 1490 + "cpu": [ 1491 + "x64" 1492 + ], 1493 + "dev": true, 1494 + "optional": true, 1495 + "os": [ 1496 + "darwin" 1497 + ] 1498 + }, 1499 + "node_modules/@pagefind/linux-arm64": { 1500 + "version": "1.1.1", 1501 + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.1.1.tgz", 1502 + "integrity": "sha512-H5P6wDoCoAbdsWp0Zx0DxnLUrwTGWGLu/VI1rcN2CyFdY2EGSvPQsbGBMrseKRNuIrJDFtxHHHyjZ7UbzaM9EA==", 1503 + "cpu": [ 1504 + "arm64" 1505 + ], 1506 + "dev": true, 1507 + "optional": true, 1508 + "os": [ 1509 + "linux" 1510 + ] 1511 + }, 1512 + "node_modules/@pagefind/linux-x64": { 1513 + "version": "1.1.1", 1514 + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.1.1.tgz", 1515 + "integrity": "sha512-yJs7tTYbL2MI3HT+ngs9E1BfUbY9M4/YzA0yEM5xBo4Xl8Yu8Qg2xZTOQ1/F6gwvMrjCUFo8EoACs6LRDhtMrQ==", 1516 + "cpu": [ 1517 + "x64" 1518 + ], 1519 + "dev": true, 1520 + "optional": true, 1521 + "os": [ 1522 + "linux" 1523 + ] 1524 + }, 1525 + "node_modules/@pagefind/windows-x64": { 1526 + "version": "1.1.1", 1527 + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.1.1.tgz", 1528 + "integrity": "sha512-b7/qPqgIl+lMzkQ8fJt51SfguB396xbIIR+VZ3YrL2tLuyifDJ1wL5mEm+ddmHxJ2Fki340paPcDan9en5OmAw==", 1529 + "cpu": [ 1530 + "x64" 1531 + ], 1532 + "dev": true, 1533 + "optional": true, 1534 + "os": [ 1535 + "win32" 1536 + ] 1537 + }, 1538 + "node_modules/@pkgjs/parseargs": { 1539 + "version": "0.11.0", 1540 + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 1541 + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 1542 + "optional": true, 1543 + "engines": { 1544 + "node": ">=14" 1545 + } 1546 + }, 1547 + "node_modules/@rollup/pluginutils": { 1548 + "version": "5.1.3", 1549 + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", 1550 + "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", 1551 + "dependencies": { 1552 + "@types/estree": "^1.0.0", 1553 + "estree-walker": "^2.0.2", 1554 + "picomatch": "^4.0.2" 1555 + }, 1556 + "engines": { 1557 + "node": ">=14.0.0" 1558 + }, 1559 + "peerDependencies": { 1560 + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" 1561 + }, 1562 + "peerDependenciesMeta": { 1563 + "rollup": { 1564 + "optional": true 1565 + } 1566 + } 1567 + }, 1568 + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { 1569 + "version": "2.0.2", 1570 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1571 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 1572 + }, 1573 + "node_modules/@rollup/rollup-android-arm-eabi": { 1574 + "version": "4.24.0", 1575 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", 1576 + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", 1577 + "cpu": [ 1578 + "arm" 1579 + ], 1580 + "optional": true, 1581 + "os": [ 1582 + "android" 1583 + ] 1584 + }, 1585 + "node_modules/@rollup/rollup-android-arm64": { 1586 + "version": "4.24.0", 1587 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", 1588 + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", 1589 + "cpu": [ 1590 + "arm64" 1591 + ], 1592 + "optional": true, 1593 + "os": [ 1594 + "android" 1595 + ] 1596 + }, 1597 + "node_modules/@rollup/rollup-darwin-arm64": { 1598 + "version": "4.24.0", 1599 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", 1600 + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", 1601 + "cpu": [ 1602 + "arm64" 1603 + ], 1604 + "optional": true, 1605 + "os": [ 1606 + "darwin" 1607 + ] 1608 + }, 1609 + "node_modules/@rollup/rollup-darwin-x64": { 1610 + "version": "4.24.0", 1611 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", 1612 + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", 1613 + "cpu": [ 1614 + "x64" 1615 + ], 1616 + "optional": true, 1617 + "os": [ 1618 + "darwin" 1619 + ] 1620 + }, 1621 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1622 + "version": "4.24.0", 1623 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", 1624 + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", 1625 + "cpu": [ 1626 + "arm" 1627 + ], 1628 + "optional": true, 1629 + "os": [ 1630 + "linux" 1631 + ] 1632 + }, 1633 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1634 + "version": "4.24.0", 1635 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", 1636 + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", 1637 + "cpu": [ 1638 + "arm" 1639 + ], 1640 + "optional": true, 1641 + "os": [ 1642 + "linux" 1643 + ] 1644 + }, 1645 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 1646 + "version": "4.24.0", 1647 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", 1648 + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", 1649 + "cpu": [ 1650 + "arm64" 1651 + ], 1652 + "optional": true, 1653 + "os": [ 1654 + "linux" 1655 + ] 1656 + }, 1657 + "node_modules/@rollup/rollup-linux-arm64-musl": { 1658 + "version": "4.24.0", 1659 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", 1660 + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", 1661 + "cpu": [ 1662 + "arm64" 1663 + ], 1664 + "optional": true, 1665 + "os": [ 1666 + "linux" 1667 + ] 1668 + }, 1669 + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 1670 + "version": "4.24.0", 1671 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", 1672 + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", 1673 + "cpu": [ 1674 + "ppc64" 1675 + ], 1676 + "optional": true, 1677 + "os": [ 1678 + "linux" 1679 + ] 1680 + }, 1681 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1682 + "version": "4.24.0", 1683 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", 1684 + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", 1685 + "cpu": [ 1686 + "riscv64" 1687 + ], 1688 + "optional": true, 1689 + "os": [ 1690 + "linux" 1691 + ] 1692 + }, 1693 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1694 + "version": "4.24.0", 1695 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", 1696 + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", 1697 + "cpu": [ 1698 + "s390x" 1699 + ], 1700 + "optional": true, 1701 + "os": [ 1702 + "linux" 1703 + ] 1704 + }, 1705 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1706 + "version": "4.24.0", 1707 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", 1708 + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", 1709 + "cpu": [ 1710 + "x64" 1711 + ], 1712 + "optional": true, 1713 + "os": [ 1714 + "linux" 1715 + ] 1716 + }, 1717 + "node_modules/@rollup/rollup-linux-x64-musl": { 1718 + "version": "4.24.0", 1719 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", 1720 + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", 1721 + "cpu": [ 1722 + "x64" 1723 + ], 1724 + "optional": true, 1725 + "os": [ 1726 + "linux" 1727 + ] 1728 + }, 1729 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1730 + "version": "4.24.0", 1731 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", 1732 + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", 1733 + "cpu": [ 1734 + "arm64" 1735 + ], 1736 + "optional": true, 1737 + "os": [ 1738 + "win32" 1739 + ] 1740 + }, 1741 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1742 + "version": "4.24.0", 1743 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", 1744 + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", 1745 + "cpu": [ 1746 + "ia32" 1747 + ], 1748 + "optional": true, 1749 + "os": [ 1750 + "win32" 1751 + ] 1752 + }, 1753 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1754 + "version": "4.24.0", 1755 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", 1756 + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", 1757 + "cpu": [ 1758 + "x64" 1759 + ], 1760 + "optional": true, 1761 + "os": [ 1762 + "win32" 1763 + ] 1764 + }, 1765 + "node_modules/@shikijs/core": { 1766 + "version": "1.22.1", 1767 + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.22.1.tgz", 1768 + "integrity": "sha512-bqAhT/Ri5ixV4oYsvJNH8UJjpjbINWlWyXY6tBTsP4OmD6XnFv43nRJ+lTdxd2rmG5pgam/x+zGR6kLRXrpEKA==", 1769 + "dependencies": { 1770 + "@shikijs/engine-javascript": "1.22.1", 1771 + "@shikijs/engine-oniguruma": "1.22.1", 1772 + "@shikijs/types": "1.22.1", 1773 + "@shikijs/vscode-textmate": "^9.3.0", 1774 + "@types/hast": "^3.0.4", 1775 + "hast-util-to-html": "^9.0.3" 1776 + } 1777 + }, 1778 + "node_modules/@shikijs/engine-javascript": { 1779 + "version": "1.22.1", 1780 + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.1.tgz", 1781 + "integrity": "sha512-540pyoy0LWe4jj2BVbgELwOFu1uFvRI7lg4hdsExrSXA9x7gqfzZ/Nnh4RfX86aDAgJ647gx4TCmRwACbnQSvw==", 1782 + "dependencies": { 1783 + "@shikijs/types": "1.22.1", 1784 + "@shikijs/vscode-textmate": "^9.3.0", 1785 + "oniguruma-to-js": "0.4.3" 1786 + } 1787 + }, 1788 + "node_modules/@shikijs/engine-oniguruma": { 1789 + "version": "1.22.1", 1790 + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.1.tgz", 1791 + "integrity": "sha512-L+1Vmd+a2kk8HtogUFymQS6BjUfJnzcWoUp1BUgxoDiklbKSMvrsMuLZGevTOP1m0rEjgnC5MsDmsr8lX1lC+Q==", 1792 + "dependencies": { 1793 + "@shikijs/types": "1.22.1", 1794 + "@shikijs/vscode-textmate": "^9.3.0" 1795 + } 1796 + }, 1797 + "node_modules/@shikijs/types": { 1798 + "version": "1.22.1", 1799 + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.22.1.tgz", 1800 + "integrity": "sha512-+45f8mu/Hxqs6Kyhfm98Nld5n7Q7lwhjU8UtdQwrOPs7BnM4VAb929O3IQ2ce+4D7SlNFlZGd8CnKRSnwbQreQ==", 1801 + "dependencies": { 1802 + "@shikijs/vscode-textmate": "^9.3.0", 1803 + "@types/hast": "^3.0.4" 1804 + } 1805 + }, 1806 + "node_modules/@shikijs/vscode-textmate": { 1807 + "version": "9.3.0", 1808 + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz", 1809 + "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==" 1810 + }, 1811 + "node_modules/@sveltejs/vite-plugin-svelte": { 1812 + "version": "3.1.2", 1813 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz", 1814 + "integrity": "sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==", 1815 + "dependencies": { 1816 + "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", 1817 + "debug": "^4.3.4", 1818 + "deepmerge": "^4.3.1", 1819 + "kleur": "^4.1.5", 1820 + "magic-string": "^0.30.10", 1821 + "svelte-hmr": "^0.16.0", 1822 + "vitefu": "^0.2.5" 1823 + }, 1824 + "engines": { 1825 + "node": "^18.0.0 || >=20" 1826 + }, 1827 + "peerDependencies": { 1828 + "svelte": "^4.0.0 || ^5.0.0-next.0", 1829 + "vite": "^5.0.0" 1830 + } 1831 + }, 1832 + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { 1833 + "version": "2.1.0", 1834 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", 1835 + "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", 1836 + "dependencies": { 1837 + "debug": "^4.3.4" 1838 + }, 1839 + "engines": { 1840 + "node": "^18.0.0 || >=20" 1841 + }, 1842 + "peerDependencies": { 1843 + "@sveltejs/vite-plugin-svelte": "^3.0.0", 1844 + "svelte": "^4.0.0 || ^5.0.0-next.0", 1845 + "vite": "^5.0.0" 1846 + } 1847 + }, 1848 + "node_modules/@sveltejs/vite-plugin-svelte/node_modules/svelte-hmr": { 1849 + "version": "0.16.0", 1850 + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", 1851 + "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", 1852 + "engines": { 1853 + "node": "^12.20 || ^14.13.1 || >= 16" 1854 + }, 1855 + "peerDependencies": { 1856 + "svelte": "^3.19.0 || ^4.0.0" 1857 + } 1858 + }, 1859 + "node_modules/@sveltejs/vite-plugin-svelte/node_modules/vitefu": { 1860 + "version": "0.2.5", 1861 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", 1862 + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", 1863 + "peerDependencies": { 1864 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" 1865 + }, 1866 + "peerDependenciesMeta": { 1867 + "vite": { 1868 + "optional": true 1869 + } 1870 + } 1871 + }, 1872 + "node_modules/@tailwindcss/forms": { 1873 + "version": "0.5.9", 1874 + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz", 1875 + "integrity": "sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==", 1876 + "dependencies": { 1877 + "mini-svg-data-uri": "^1.2.3" 1878 + }, 1879 + "peerDependencies": { 1880 + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20" 1881 + } 1882 + }, 1883 + "node_modules/@tailwindcss/typography": { 1884 + "version": "0.5.15", 1885 + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.15.tgz", 1886 + "integrity": "sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==", 1887 + "dev": true, 1888 + "dependencies": { 1889 + "lodash.castarray": "^4.4.0", 1890 + "lodash.isplainobject": "^4.0.6", 1891 + "lodash.merge": "^4.6.2", 1892 + "postcss-selector-parser": "6.0.10" 1893 + }, 1894 + "peerDependencies": { 1895 + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20" 1896 + } 1897 + }, 1898 + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { 1899 + "version": "6.0.10", 1900 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 1901 + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 1902 + "dev": true, 1903 + "dependencies": { 1904 + "cssesc": "^3.0.0", 1905 + "util-deprecate": "^1.0.2" 1906 + }, 1907 + "engines": { 1908 + "node": ">=4" 1909 + } 1910 + }, 1911 + "node_modules/@types/acorn": { 1912 + "version": "4.0.6", 1913 + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", 1914 + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", 1915 + "dependencies": { 1916 + "@types/estree": "*" 1917 + } 1918 + }, 1919 + "node_modules/@types/babel__core": { 1920 + "version": "7.20.5", 1921 + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 1922 + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 1923 + "dependencies": { 1924 + "@babel/parser": "^7.20.7", 1925 + "@babel/types": "^7.20.7", 1926 + "@types/babel__generator": "*", 1927 + "@types/babel__template": "*", 1928 + "@types/babel__traverse": "*" 1929 + } 1930 + }, 1931 + "node_modules/@types/babel__generator": { 1932 + "version": "7.6.8", 1933 + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", 1934 + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", 1935 + "dependencies": { 1936 + "@babel/types": "^7.0.0" 1937 + } 1938 + }, 1939 + "node_modules/@types/babel__template": { 1940 + "version": "7.4.4", 1941 + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 1942 + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 1943 + "dependencies": { 1944 + "@babel/parser": "^7.1.0", 1945 + "@babel/types": "^7.0.0" 1946 + } 1947 + }, 1948 + "node_modules/@types/babel__traverse": { 1949 + "version": "7.20.6", 1950 + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", 1951 + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", 1952 + "dependencies": { 1953 + "@babel/types": "^7.20.7" 1954 + } 1955 + }, 1956 + "node_modules/@types/cookie": { 1957 + "version": "0.6.0", 1958 + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", 1959 + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" 1960 + }, 1961 + "node_modules/@types/debug": { 1962 + "version": "4.1.12", 1963 + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", 1964 + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", 1965 + "dependencies": { 1966 + "@types/ms": "*" 1967 + } 1968 + }, 1969 + "node_modules/@types/estree": { 1970 + "version": "1.0.6", 1971 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 1972 + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" 1973 + }, 1974 + "node_modules/@types/estree-jsx": { 1975 + "version": "1.0.5", 1976 + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", 1977 + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", 1978 + "dependencies": { 1979 + "@types/estree": "*" 1980 + } 1981 + }, 1982 + "node_modules/@types/hast": { 1983 + "version": "3.0.4", 1984 + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", 1985 + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", 1986 + "dependencies": { 1987 + "@types/unist": "*" 1988 + } 1989 + }, 1990 + "node_modules/@types/mdast": { 1991 + "version": "4.0.4", 1992 + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", 1993 + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", 1994 + "dependencies": { 1995 + "@types/unist": "*" 1996 + } 1997 + }, 1998 + "node_modules/@types/mdx": { 1999 + "version": "2.0.13", 2000 + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", 2001 + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" 2002 + }, 2003 + "node_modules/@types/ms": { 2004 + "version": "0.7.34", 2005 + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", 2006 + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" 2007 + }, 2008 + "node_modules/@types/nlcst": { 2009 + "version": "2.0.3", 2010 + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", 2011 + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", 2012 + "dependencies": { 2013 + "@types/unist": "*" 2014 + } 2015 + }, 2016 + "node_modules/@types/node": { 2017 + "version": "22.7.9", 2018 + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.9.tgz", 2019 + "integrity": "sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==", 2020 + "dependencies": { 2021 + "undici-types": "~6.19.2" 2022 + } 2023 + }, 2024 + "node_modules/@types/sax": { 2025 + "version": "1.2.7", 2026 + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", 2027 + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", 2028 + "dependencies": { 2029 + "@types/node": "*" 2030 + } 2031 + }, 2032 + "node_modules/@types/unist": { 2033 + "version": "3.0.3", 2034 + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", 2035 + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" 2036 + }, 2037 + "node_modules/@ungap/structured-clone": { 2038 + "version": "1.2.0", 2039 + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 2040 + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" 2041 + }, 2042 + "node_modules/@volar/kit": { 2043 + "version": "2.4.6", 2044 + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.6.tgz", 2045 + "integrity": "sha512-OaMtpmLns6IYD1nOSd0NdG/F5KzJ7Jr4B7TLeb4byPzu+ExuuRVeO56Dn1C7Frnw6bGudUQd90cpQAmxdB+RlQ==", 2046 + "dependencies": { 2047 + "@volar/language-service": "2.4.6", 2048 + "@volar/typescript": "2.4.6", 2049 + "typesafe-path": "^0.2.2", 2050 + "vscode-languageserver-textdocument": "^1.0.11", 2051 + "vscode-uri": "^3.0.8" 2052 + }, 2053 + "peerDependencies": { 2054 + "typescript": "*" 2055 + } 2056 + }, 2057 + "node_modules/@volar/language-core": { 2058 + "version": "2.4.6", 2059 + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.6.tgz", 2060 + "integrity": "sha512-FxUfxaB8sCqvY46YjyAAV6c3mMIq/NWQMVvJ+uS4yxr1KzOvyg61gAuOnNvgCvO4TZ7HcLExBEsWcDu4+K4E8A==", 2061 + "dependencies": { 2062 + "@volar/source-map": "2.4.6" 2063 + } 2064 + }, 2065 + "node_modules/@volar/language-server": { 2066 + "version": "2.4.6", 2067 + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.6.tgz", 2068 + "integrity": "sha512-ARIbMXapEUPj9UFbZqWqw/iZ+ZuxUcY+vY212+2uutZVo/jrdzhLPu2TfZd9oB9akX8XXuslinT3051DyHLLRA==", 2069 + "dependencies": { 2070 + "@volar/language-core": "2.4.6", 2071 + "@volar/language-service": "2.4.6", 2072 + "@volar/typescript": "2.4.6", 2073 + "path-browserify": "^1.0.1", 2074 + "request-light": "^0.7.0", 2075 + "vscode-languageserver": "^9.0.1", 2076 + "vscode-languageserver-protocol": "^3.17.5", 2077 + "vscode-languageserver-textdocument": "^1.0.11", 2078 + "vscode-uri": "^3.0.8" 2079 + } 2080 + }, 2081 + "node_modules/@volar/language-service": { 2082 + "version": "2.4.6", 2083 + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.6.tgz", 2084 + "integrity": "sha512-wNeEVBgBKgpP1MfMYPrgTf1K8nhOGEh3ac0+9n6ECyk2N03+j0pWCpQ2i99mRWT/POvo1PgizDmYFH8S67bZOA==", 2085 + "dependencies": { 2086 + "@volar/language-core": "2.4.6", 2087 + "vscode-languageserver-protocol": "^3.17.5", 2088 + "vscode-languageserver-textdocument": "^1.0.11", 2089 + "vscode-uri": "^3.0.8" 2090 + } 2091 + }, 2092 + "node_modules/@volar/source-map": { 2093 + "version": "2.4.6", 2094 + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.6.tgz", 2095 + "integrity": "sha512-Nsh7UW2ruK+uURIPzjJgF0YRGP5CX9nQHypA2OMqdM2FKy7rh+uv3XgPnWPw30JADbKvZ5HuBzG4gSbVDYVtiw==" 2096 + }, 2097 + "node_modules/@volar/typescript": { 2098 + "version": "2.4.6", 2099 + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.6.tgz", 2100 + "integrity": "sha512-NMIrA7y5OOqddL9VtngPWYmdQU03htNKFtAYidbYfWA0TOhyGVd9tfcP4TsLWQ+RBWDZCbBqsr8xzU0ZOxYTCQ==", 2101 + "dependencies": { 2102 + "@volar/language-core": "2.4.6", 2103 + "path-browserify": "^1.0.1", 2104 + "vscode-uri": "^3.0.8" 2105 + } 2106 + }, 2107 + "node_modules/@vscode/emmet-helper": { 2108 + "version": "2.9.3", 2109 + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.3.tgz", 2110 + "integrity": "sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==", 2111 + "dependencies": { 2112 + "emmet": "^2.4.3", 2113 + "jsonc-parser": "^2.3.0", 2114 + "vscode-languageserver-textdocument": "^1.0.1", 2115 + "vscode-languageserver-types": "^3.15.1", 2116 + "vscode-uri": "^2.1.2" 2117 + } 2118 + }, 2119 + "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { 2120 + "version": "2.1.2", 2121 + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", 2122 + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" 2123 + }, 2124 + "node_modules/@vscode/l10n": { 2125 + "version": "0.0.18", 2126 + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", 2127 + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" 2128 + }, 2129 + "node_modules/@webgpu/types": { 2130 + "version": "0.1.21", 2131 + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.21.tgz", 2132 + "integrity": "sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==" 2133 + }, 2134 + "node_modules/acorn": { 2135 + "version": "8.13.0", 2136 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", 2137 + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", 2138 + "bin": { 2139 + "acorn": "bin/acorn" 2140 + }, 2141 + "engines": { 2142 + "node": ">=0.4.0" 2143 + } 2144 + }, 2145 + "node_modules/acorn-jsx": { 2146 + "version": "5.3.2", 2147 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2148 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2149 + "peerDependencies": { 2150 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 2151 + } 2152 + }, 2153 + "node_modules/acorn-typescript": { 2154 + "version": "1.4.13", 2155 + "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz", 2156 + "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==", 2157 + "peerDependencies": { 2158 + "acorn": ">=8.9.0" 2159 + } 2160 + }, 2161 + "node_modules/ajv": { 2162 + "version": "8.17.1", 2163 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 2164 + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 2165 + "dependencies": { 2166 + "fast-deep-equal": "^3.1.3", 2167 + "fast-uri": "^3.0.1", 2168 + "json-schema-traverse": "^1.0.0", 2169 + "require-from-string": "^2.0.2" 2170 + }, 2171 + "funding": { 2172 + "type": "github", 2173 + "url": "https://github.com/sponsors/epoberezkin" 2174 + } 2175 + }, 2176 + "node_modules/ansi-align": { 2177 + "version": "3.0.1", 2178 + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", 2179 + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", 2180 + "dependencies": { 2181 + "string-width": "^4.1.0" 2182 + } 2183 + }, 2184 + "node_modules/ansi-align/node_modules/ansi-regex": { 2185 + "version": "5.0.1", 2186 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2187 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2188 + "engines": { 2189 + "node": ">=8" 2190 + } 2191 + }, 2192 + "node_modules/ansi-align/node_modules/emoji-regex": { 2193 + "version": "8.0.0", 2194 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2195 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 2196 + }, 2197 + "node_modules/ansi-align/node_modules/string-width": { 2198 + "version": "4.2.3", 2199 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2200 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2201 + "dependencies": { 2202 + "emoji-regex": "^8.0.0", 2203 + "is-fullwidth-code-point": "^3.0.0", 2204 + "strip-ansi": "^6.0.1" 2205 + }, 2206 + "engines": { 2207 + "node": ">=8" 2208 + } 2209 + }, 2210 + "node_modules/ansi-align/node_modules/strip-ansi": { 2211 + "version": "6.0.1", 2212 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2213 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2214 + "dependencies": { 2215 + "ansi-regex": "^5.0.1" 2216 + }, 2217 + "engines": { 2218 + "node": ">=8" 2219 + } 2220 + }, 2221 + "node_modules/ansi-regex": { 2222 + "version": "6.1.0", 2223 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 2224 + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 2225 + "engines": { 2226 + "node": ">=12" 2227 + }, 2228 + "funding": { 2229 + "url": "https://github.com/chalk/ansi-regex?sponsor=1" 2230 + } 2231 + }, 2232 + "node_modules/ansi-styles": { 2233 + "version": "3.2.1", 2234 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2235 + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2236 + "dependencies": { 2237 + "color-convert": "^1.9.0" 2238 + }, 2239 + "engines": { 2240 + "node": ">=4" 2241 + } 2242 + }, 2243 + "node_modules/any-promise": { 2244 + "version": "1.3.0", 2245 + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 2246 + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" 2247 + }, 2248 + "node_modules/anymatch": { 2249 + "version": "3.1.3", 2250 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 2251 + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 2252 + "dependencies": { 2253 + "normalize-path": "^3.0.0", 2254 + "picomatch": "^2.0.4" 2255 + }, 2256 + "engines": { 2257 + "node": ">= 8" 2258 + } 2259 + }, 2260 + "node_modules/anymatch/node_modules/picomatch": { 2261 + "version": "2.3.1", 2262 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2263 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2264 + "engines": { 2265 + "node": ">=8.6" 2266 + }, 2267 + "funding": { 2268 + "url": "https://github.com/sponsors/jonschlinkert" 2269 + } 2270 + }, 2271 + "node_modules/arg": { 2272 + "version": "5.0.2", 2273 + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 2274 + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" 2275 + }, 2276 + "node_modules/argparse": { 2277 + "version": "2.0.1", 2278 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2279 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 2280 + }, 2281 + "node_modules/aria-query": { 2282 + "version": "5.3.2", 2283 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 2284 + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 2285 + "engines": { 2286 + "node": ">= 0.4" 2287 + } 2288 + }, 2289 + "node_modules/array-iterate": { 2290 + "version": "2.0.1", 2291 + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", 2292 + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", 2293 + "funding": { 2294 + "type": "github", 2295 + "url": "https://github.com/sponsors/wooorm" 2296 + } 2297 + }, 2298 + "node_modules/astring": { 2299 + "version": "1.9.0", 2300 + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", 2301 + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", 2302 + "bin": { 2303 + "astring": "bin/astring" 2304 + } 2305 + }, 2306 + "node_modules/astro": { 2307 + "version": "4.16.7", 2308 + "resolved": "https://registry.npmjs.org/astro/-/astro-4.16.7.tgz", 2309 + "integrity": "sha512-nON+8MUEkWTFwXbS4zsQIq4t0Fs42eulM4x236AL+qNnWfqNAOOqAnFxO1dxfJ1q+XopIBbbT9Mtev+0zH47PQ==", 2310 + "dependencies": { 2311 + "@astrojs/compiler": "^2.10.3", 2312 + "@astrojs/internal-helpers": "0.4.1", 2313 + "@astrojs/markdown-remark": "5.3.0", 2314 + "@astrojs/telemetry": "3.1.0", 2315 + "@babel/core": "^7.25.8", 2316 + "@babel/plugin-transform-react-jsx": "^7.25.7", 2317 + "@babel/types": "^7.25.8", 2318 + "@oslojs/encoding": "^1.1.0", 2319 + "@rollup/pluginutils": "^5.1.2", 2320 + "@types/babel__core": "^7.20.5", 2321 + "@types/cookie": "^0.6.0", 2322 + "acorn": "^8.13.0", 2323 + "aria-query": "^5.3.2", 2324 + "axobject-query": "^4.1.0", 2325 + "boxen": "8.0.1", 2326 + "ci-info": "^4.0.0", 2327 + "clsx": "^2.1.1", 2328 + "common-ancestor-path": "^1.0.1", 2329 + "cookie": "^0.7.2", 2330 + "cssesc": "^3.0.0", 2331 + "debug": "^4.3.7", 2332 + "deterministic-object-hash": "^2.0.2", 2333 + "devalue": "^5.1.1", 2334 + "diff": "^5.2.0", 2335 + "dlv": "^1.1.3", 2336 + "dset": "^3.1.4", 2337 + "es-module-lexer": "^1.5.4", 2338 + "esbuild": "^0.21.5", 2339 + "estree-walker": "^3.0.3", 2340 + "fast-glob": "^3.3.2", 2341 + "flattie": "^1.1.1", 2342 + "github-slugger": "^2.0.0", 2343 + "gray-matter": "^4.0.3", 2344 + "html-escaper": "^3.0.3", 2345 + "http-cache-semantics": "^4.1.1", 2346 + "js-yaml": "^4.1.0", 2347 + "kleur": "^4.1.5", 2348 + "magic-string": "^0.30.12", 2349 + "magicast": "^0.3.5", 2350 + "micromatch": "^4.0.8", 2351 + "mrmime": "^2.0.0", 2352 + "neotraverse": "^0.6.18", 2353 + "ora": "^8.1.0", 2354 + "p-limit": "^6.1.0", 2355 + "p-queue": "^8.0.1", 2356 + "preferred-pm": "^4.0.0", 2357 + "prompts": "^2.4.2", 2358 + "rehype": "^13.0.2", 2359 + "semver": "^7.6.3", 2360 + "shiki": "^1.22.0", 2361 + "tinyexec": "^0.3.1", 2362 + "tsconfck": "^3.1.4", 2363 + "unist-util-visit": "^5.0.0", 2364 + "vfile": "^6.0.3", 2365 + "vite": "^5.4.9", 2366 + "vitefu": "^1.0.3", 2367 + "which-pm": "^3.0.0", 2368 + "xxhash-wasm": "^1.0.2", 2369 + "yargs-parser": "^21.1.1", 2370 + "zod": "^3.23.8", 2371 + "zod-to-json-schema": "^3.23.3", 2372 + "zod-to-ts": "^1.2.0" 2373 + }, 2374 + "bin": { 2375 + "astro": "astro.js" 2376 + }, 2377 + "engines": { 2378 + "node": "^18.17.1 || ^20.3.0 || >=21.0.0", 2379 + "npm": ">=9.6.5", 2380 + "pnpm": ">=7.1.0" 2381 + }, 2382 + "optionalDependencies": { 2383 + "sharp": "^0.33.3" 2384 + } 2385 + }, 2386 + "node_modules/astro-og-canvas": { 2387 + "version": "0.5.4", 2388 + "resolved": "https://registry.npmjs.org/astro-og-canvas/-/astro-og-canvas-0.5.4.tgz", 2389 + "integrity": "sha512-bKopjX5DZ0WZH3kmUl82EVBhGzoCQwH5Ja4YdB5MO1EtWFZpWzvKWWptsOKGhjz+Kn85+gD/kgw25ebrvYufSg==", 2390 + "dependencies": { 2391 + "canvaskit-wasm": "^0.39.1", 2392 + "deterministic-object-hash": "^2.0.2", 2393 + "entities": "^4.4.0" 2394 + }, 2395 + "engines": { 2396 + "node": ">=18.14.1" 2397 + }, 2398 + "peerDependencies": { 2399 + "astro": "^3.0.0 || ^4.0.0" 2400 + } 2401 + }, 2402 + "node_modules/autoprefixer": { 2403 + "version": "10.4.20", 2404 + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", 2405 + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", 2406 + "funding": [ 2407 + { 2408 + "type": "opencollective", 2409 + "url": "https://opencollective.com/postcss/" 2410 + }, 2411 + { 2412 + "type": "tidelift", 2413 + "url": "https://tidelift.com/funding/github/npm/autoprefixer" 2414 + }, 2415 + { 2416 + "type": "github", 2417 + "url": "https://github.com/sponsors/ai" 2418 + } 2419 + ], 2420 + "dependencies": { 2421 + "browserslist": "^4.23.3", 2422 + "caniuse-lite": "^1.0.30001646", 2423 + "fraction.js": "^4.3.7", 2424 + "normalize-range": "^0.1.2", 2425 + "picocolors": "^1.0.1", 2426 + "postcss-value-parser": "^4.2.0" 2427 + }, 2428 + "bin": { 2429 + "autoprefixer": "bin/autoprefixer" 2430 + }, 2431 + "engines": { 2432 + "node": "^10 || ^12 || >=14" 2433 + }, 2434 + "peerDependencies": { 2435 + "postcss": "^8.1.0" 2436 + } 2437 + }, 2438 + "node_modules/axobject-query": { 2439 + "version": "4.1.0", 2440 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 2441 + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 2442 + "engines": { 2443 + "node": ">= 0.4" 2444 + } 2445 + }, 2446 + "node_modules/bail": { 2447 + "version": "2.0.2", 2448 + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", 2449 + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", 2450 + "funding": { 2451 + "type": "github", 2452 + "url": "https://github.com/sponsors/wooorm" 2453 + } 2454 + }, 2455 + "node_modules/balanced-match": { 2456 + "version": "1.0.2", 2457 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2458 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 2459 + }, 2460 + "node_modules/base-64": { 2461 + "version": "1.0.0", 2462 + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", 2463 + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" 2464 + }, 2465 + "node_modules/binary-extensions": { 2466 + "version": "2.3.0", 2467 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 2468 + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 2469 + "engines": { 2470 + "node": ">=8" 2471 + }, 2472 + "funding": { 2473 + "url": "https://github.com/sponsors/sindresorhus" 2474 + } 2475 + }, 2476 + "node_modules/boxen": { 2477 + "version": "8.0.1", 2478 + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", 2479 + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", 2480 + "dependencies": { 2481 + "ansi-align": "^3.0.1", 2482 + "camelcase": "^8.0.0", 2483 + "chalk": "^5.3.0", 2484 + "cli-boxes": "^3.0.0", 2485 + "string-width": "^7.2.0", 2486 + "type-fest": "^4.21.0", 2487 + "widest-line": "^5.0.0", 2488 + "wrap-ansi": "^9.0.0" 2489 + }, 2490 + "engines": { 2491 + "node": ">=18" 2492 + }, 2493 + "funding": { 2494 + "url": "https://github.com/sponsors/sindresorhus" 2495 + } 2496 + }, 2497 + "node_modules/boxen/node_modules/chalk": { 2498 + "version": "5.3.0", 2499 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 2500 + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 2501 + "engines": { 2502 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 2503 + }, 2504 + "funding": { 2505 + "url": "https://github.com/chalk/chalk?sponsor=1" 2506 + } 2507 + }, 2508 + "node_modules/brace-expansion": { 2509 + "version": "2.0.1", 2510 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2511 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2512 + "dependencies": { 2513 + "balanced-match": "^1.0.0" 2514 + } 2515 + }, 2516 + "node_modules/braces": { 2517 + "version": "3.0.3", 2518 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 2519 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 2520 + "dependencies": { 2521 + "fill-range": "^7.1.1" 2522 + }, 2523 + "engines": { 2524 + "node": ">=8" 2525 + } 2526 + }, 2527 + "node_modules/browserslist": { 2528 + "version": "4.24.2", 2529 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", 2530 + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", 2531 + "funding": [ 2532 + { 2533 + "type": "opencollective", 2534 + "url": "https://opencollective.com/browserslist" 2535 + }, 2536 + { 2537 + "type": "tidelift", 2538 + "url": "https://tidelift.com/funding/github/npm/browserslist" 2539 + }, 2540 + { 2541 + "type": "github", 2542 + "url": "https://github.com/sponsors/ai" 2543 + } 2544 + ], 2545 + "dependencies": { 2546 + "caniuse-lite": "^1.0.30001669", 2547 + "electron-to-chromium": "^1.5.41", 2548 + "node-releases": "^2.0.18", 2549 + "update-browserslist-db": "^1.1.1" 2550 + }, 2551 + "bin": { 2552 + "browserslist": "cli.js" 2553 + }, 2554 + "engines": { 2555 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 2556 + } 2557 + }, 2558 + "node_modules/camelcase": { 2559 + "version": "8.0.0", 2560 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", 2561 + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", 2562 + "engines": { 2563 + "node": ">=16" 2564 + }, 2565 + "funding": { 2566 + "url": "https://github.com/sponsors/sindresorhus" 2567 + } 2568 + }, 2569 + "node_modules/camelcase-css": { 2570 + "version": "2.0.1", 2571 + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 2572 + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 2573 + "engines": { 2574 + "node": ">= 6" 2575 + } 2576 + }, 2577 + "node_modules/caniuse-lite": { 2578 + "version": "1.0.30001669", 2579 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", 2580 + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", 2581 + "funding": [ 2582 + { 2583 + "type": "opencollective", 2584 + "url": "https://opencollective.com/browserslist" 2585 + }, 2586 + { 2587 + "type": "tidelift", 2588 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 2589 + }, 2590 + { 2591 + "type": "github", 2592 + "url": "https://github.com/sponsors/ai" 2593 + } 2594 + ] 2595 + }, 2596 + "node_modules/canvaskit-wasm": { 2597 + "version": "0.39.1", 2598 + "resolved": "https://registry.npmjs.org/canvaskit-wasm/-/canvaskit-wasm-0.39.1.tgz", 2599 + "integrity": "sha512-Gy3lCmhUdKq+8bvDrs9t8+qf7RvcjuQn+we7vTVVyqgOVO1UVfHpsnBxkTZw+R4ApEJ3D5fKySl9TU11hmjl/A==", 2600 + "dependencies": { 2601 + "@webgpu/types": "0.1.21" 2602 + } 2603 + }, 2604 + "node_modules/ccount": { 2605 + "version": "2.0.1", 2606 + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", 2607 + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", 2608 + "funding": { 2609 + "type": "github", 2610 + "url": "https://github.com/sponsors/wooorm" 2611 + } 2612 + }, 2613 + "node_modules/chalk": { 2614 + "version": "2.4.2", 2615 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2616 + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2617 + "dependencies": { 2618 + "ansi-styles": "^3.2.1", 2619 + "escape-string-regexp": "^1.0.5", 2620 + "supports-color": "^5.3.0" 2621 + }, 2622 + "engines": { 2623 + "node": ">=4" 2624 + } 2625 + }, 2626 + "node_modules/character-entities": { 2627 + "version": "2.0.2", 2628 + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", 2629 + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", 2630 + "funding": { 2631 + "type": "github", 2632 + "url": "https://github.com/sponsors/wooorm" 2633 + } 2634 + }, 2635 + "node_modules/character-entities-html4": { 2636 + "version": "2.1.0", 2637 + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", 2638 + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", 2639 + "funding": { 2640 + "type": "github", 2641 + "url": "https://github.com/sponsors/wooorm" 2642 + } 2643 + }, 2644 + "node_modules/character-entities-legacy": { 2645 + "version": "3.0.0", 2646 + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", 2647 + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", 2648 + "funding": { 2649 + "type": "github", 2650 + "url": "https://github.com/sponsors/wooorm" 2651 + } 2652 + }, 2653 + "node_modules/character-reference-invalid": { 2654 + "version": "2.0.1", 2655 + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", 2656 + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", 2657 + "funding": { 2658 + "type": "github", 2659 + "url": "https://github.com/sponsors/wooorm" 2660 + } 2661 + }, 2662 + "node_modules/chokidar": { 2663 + "version": "4.0.1", 2664 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", 2665 + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", 2666 + "dependencies": { 2667 + "readdirp": "^4.0.1" 2668 + }, 2669 + "engines": { 2670 + "node": ">= 14.16.0" 2671 + }, 2672 + "funding": { 2673 + "url": "https://paulmillr.com/funding/" 2674 + } 2675 + }, 2676 + "node_modules/ci-info": { 2677 + "version": "4.0.0", 2678 + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", 2679 + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", 2680 + "funding": [ 2681 + { 2682 + "type": "github", 2683 + "url": "https://github.com/sponsors/sibiraj-s" 2684 + } 2685 + ], 2686 + "engines": { 2687 + "node": ">=8" 2688 + } 2689 + }, 2690 + "node_modules/cli-boxes": { 2691 + "version": "3.0.0", 2692 + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", 2693 + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", 2694 + "engines": { 2695 + "node": ">=10" 2696 + }, 2697 + "funding": { 2698 + "url": "https://github.com/sponsors/sindresorhus" 2699 + } 2700 + }, 2701 + "node_modules/cli-cursor": { 2702 + "version": "5.0.0", 2703 + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", 2704 + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", 2705 + "dependencies": { 2706 + "restore-cursor": "^5.0.0" 2707 + }, 2708 + "engines": { 2709 + "node": ">=18" 2710 + }, 2711 + "funding": { 2712 + "url": "https://github.com/sponsors/sindresorhus" 2713 + } 2714 + }, 2715 + "node_modules/cli-spinners": { 2716 + "version": "2.9.2", 2717 + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", 2718 + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", 2719 + "engines": { 2720 + "node": ">=6" 2721 + }, 2722 + "funding": { 2723 + "url": "https://github.com/sponsors/sindresorhus" 2724 + } 2725 + }, 2726 + "node_modules/cliui": { 2727 + "version": "8.0.1", 2728 + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 2729 + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 2730 + "dependencies": { 2731 + "string-width": "^4.2.0", 2732 + "strip-ansi": "^6.0.1", 2733 + "wrap-ansi": "^7.0.0" 2734 + }, 2735 + "engines": { 2736 + "node": ">=12" 2737 + } 2738 + }, 2739 + "node_modules/cliui/node_modules/ansi-regex": { 2740 + "version": "5.0.1", 2741 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2742 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2743 + "engines": { 2744 + "node": ">=8" 2745 + } 2746 + }, 2747 + "node_modules/cliui/node_modules/ansi-styles": { 2748 + "version": "4.3.0", 2749 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2750 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2751 + "dependencies": { 2752 + "color-convert": "^2.0.1" 2753 + }, 2754 + "engines": { 2755 + "node": ">=8" 2756 + }, 2757 + "funding": { 2758 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2759 + } 2760 + }, 2761 + "node_modules/cliui/node_modules/color-convert": { 2762 + "version": "2.0.1", 2763 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2764 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2765 + "dependencies": { 2766 + "color-name": "~1.1.4" 2767 + }, 2768 + "engines": { 2769 + "node": ">=7.0.0" 2770 + } 2771 + }, 2772 + "node_modules/cliui/node_modules/color-name": { 2773 + "version": "1.1.4", 2774 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2775 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 2776 + }, 2777 + "node_modules/cliui/node_modules/emoji-regex": { 2778 + "version": "8.0.0", 2779 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2780 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 2781 + }, 2782 + "node_modules/cliui/node_modules/string-width": { 2783 + "version": "4.2.3", 2784 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2785 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2786 + "dependencies": { 2787 + "emoji-regex": "^8.0.0", 2788 + "is-fullwidth-code-point": "^3.0.0", 2789 + "strip-ansi": "^6.0.1" 2790 + }, 2791 + "engines": { 2792 + "node": ">=8" 2793 + } 2794 + }, 2795 + "node_modules/cliui/node_modules/strip-ansi": { 2796 + "version": "6.0.1", 2797 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2798 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2799 + "dependencies": { 2800 + "ansi-regex": "^5.0.1" 2801 + }, 2802 + "engines": { 2803 + "node": ">=8" 2804 + } 2805 + }, 2806 + "node_modules/cliui/node_modules/wrap-ansi": { 2807 + "version": "7.0.0", 2808 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2809 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2810 + "dependencies": { 2811 + "ansi-styles": "^4.0.0", 2812 + "string-width": "^4.1.0", 2813 + "strip-ansi": "^6.0.0" 2814 + }, 2815 + "engines": { 2816 + "node": ">=10" 2817 + }, 2818 + "funding": { 2819 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2820 + } 2821 + }, 2822 + "node_modules/clsx": { 2823 + "version": "2.1.1", 2824 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 2825 + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 2826 + "engines": { 2827 + "node": ">=6" 2828 + } 2829 + }, 2830 + "node_modules/collapse-white-space": { 2831 + "version": "2.1.0", 2832 + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", 2833 + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", 2834 + "funding": { 2835 + "type": "github", 2836 + "url": "https://github.com/sponsors/wooorm" 2837 + } 2838 + }, 2839 + "node_modules/color": { 2840 + "version": "4.2.3", 2841 + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", 2842 + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 2843 + "optional": true, 2844 + "dependencies": { 2845 + "color-convert": "^2.0.1", 2846 + "color-string": "^1.9.0" 2847 + }, 2848 + "engines": { 2849 + "node": ">=12.5.0" 2850 + } 2851 + }, 2852 + "node_modules/color-convert": { 2853 + "version": "1.9.3", 2854 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2855 + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2856 + "dependencies": { 2857 + "color-name": "1.1.3" 2858 + } 2859 + }, 2860 + "node_modules/color-name": { 2861 + "version": "1.1.3", 2862 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2863 + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 2864 + }, 2865 + "node_modules/color-string": { 2866 + "version": "1.9.1", 2867 + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 2868 + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 2869 + "optional": true, 2870 + "dependencies": { 2871 + "color-name": "^1.0.0", 2872 + "simple-swizzle": "^0.2.2" 2873 + } 2874 + }, 2875 + "node_modules/color/node_modules/color-convert": { 2876 + "version": "2.0.1", 2877 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2878 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2879 + "optional": true, 2880 + "dependencies": { 2881 + "color-name": "~1.1.4" 2882 + }, 2883 + "engines": { 2884 + "node": ">=7.0.0" 2885 + } 2886 + }, 2887 + "node_modules/color/node_modules/color-name": { 2888 + "version": "1.1.4", 2889 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2890 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2891 + "optional": true 2892 + }, 2893 + "node_modules/colorette": { 2894 + "version": "2.0.20", 2895 + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", 2896 + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", 2897 + "dev": true 2898 + }, 2899 + "node_modules/comma-separated-tokens": { 2900 + "version": "2.0.3", 2901 + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", 2902 + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", 2903 + "funding": { 2904 + "type": "github", 2905 + "url": "https://github.com/sponsors/wooorm" 2906 + } 2907 + }, 2908 + "node_modules/commander": { 2909 + "version": "4.1.1", 2910 + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 2911 + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 2912 + "engines": { 2913 + "node": ">= 6" 2914 + } 2915 + }, 2916 + "node_modules/common-ancestor-path": { 2917 + "version": "1.0.1", 2918 + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", 2919 + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" 2920 + }, 2921 + "node_modules/convert-source-map": { 2922 + "version": "2.0.0", 2923 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 2924 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" 2925 + }, 2926 + "node_modules/cookie": { 2927 + "version": "0.7.2", 2928 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", 2929 + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", 2930 + "engines": { 2931 + "node": ">= 0.6" 2932 + } 2933 + }, 2934 + "node_modules/cross-spawn": { 2935 + "version": "7.0.3", 2936 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2937 + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2938 + "dependencies": { 2939 + "path-key": "^3.1.0", 2940 + "shebang-command": "^2.0.0", 2941 + "which": "^2.0.1" 2942 + }, 2943 + "engines": { 2944 + "node": ">= 8" 2945 + } 2946 + }, 2947 + "node_modules/cssesc": { 2948 + "version": "3.0.0", 2949 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 2950 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 2951 + "bin": { 2952 + "cssesc": "bin/cssesc" 2953 + }, 2954 + "engines": { 2955 + "node": ">=4" 2956 + } 2957 + }, 2958 + "node_modules/debug": { 2959 + "version": "4.3.7", 2960 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", 2961 + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", 2962 + "dependencies": { 2963 + "ms": "^2.1.3" 2964 + }, 2965 + "engines": { 2966 + "node": ">=6.0" 2967 + }, 2968 + "peerDependenciesMeta": { 2969 + "supports-color": { 2970 + "optional": true 2971 + } 2972 + } 2973 + }, 2974 + "node_modules/decode-named-character-reference": { 2975 + "version": "1.0.2", 2976 + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", 2977 + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", 2978 + "dependencies": { 2979 + "character-entities": "^2.0.0" 2980 + }, 2981 + "funding": { 2982 + "type": "github", 2983 + "url": "https://github.com/sponsors/wooorm" 2984 + } 2985 + }, 2986 + "node_modules/dedent-js": { 2987 + "version": "1.0.1", 2988 + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", 2989 + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==" 2990 + }, 2991 + "node_modules/deepmerge": { 2992 + "version": "4.3.1", 2993 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 2994 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 2995 + "engines": { 2996 + "node": ">=0.10.0" 2997 + } 2998 + }, 2999 + "node_modules/dequal": { 3000 + "version": "2.0.3", 3001 + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 3002 + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 3003 + "engines": { 3004 + "node": ">=6" 3005 + } 3006 + }, 3007 + "node_modules/detect-libc": { 3008 + "version": "2.0.3", 3009 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", 3010 + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", 3011 + "optional": true, 3012 + "engines": { 3013 + "node": ">=8" 3014 + } 3015 + }, 3016 + "node_modules/deterministic-object-hash": { 3017 + "version": "2.0.2", 3018 + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", 3019 + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", 3020 + "dependencies": { 3021 + "base-64": "^1.0.0" 3022 + }, 3023 + "engines": { 3024 + "node": ">=18" 3025 + } 3026 + }, 3027 + "node_modules/devalue": { 3028 + "version": "5.1.1", 3029 + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", 3030 + "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==" 3031 + }, 3032 + "node_modules/devlop": { 3033 + "version": "1.1.0", 3034 + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", 3035 + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", 3036 + "dependencies": { 3037 + "dequal": "^2.0.0" 3038 + }, 3039 + "funding": { 3040 + "type": "github", 3041 + "url": "https://github.com/sponsors/wooorm" 3042 + } 3043 + }, 3044 + "node_modules/didyoumean": { 3045 + "version": "1.2.2", 3046 + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 3047 + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 3048 + }, 3049 + "node_modules/diff": { 3050 + "version": "5.2.0", 3051 + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", 3052 + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", 3053 + "engines": { 3054 + "node": ">=0.3.1" 3055 + } 3056 + }, 3057 + "node_modules/dlv": { 3058 + "version": "1.1.3", 3059 + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 3060 + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 3061 + }, 3062 + "node_modules/dset": { 3063 + "version": "3.1.4", 3064 + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", 3065 + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", 3066 + "engines": { 3067 + "node": ">=4" 3068 + } 3069 + }, 3070 + "node_modules/eastasianwidth": { 3071 + "version": "0.2.0", 3072 + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 3073 + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" 3074 + }, 3075 + "node_modules/electron-to-chromium": { 3076 + "version": "1.5.45", 3077 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.45.tgz", 3078 + "integrity": "sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw==" 3079 + }, 3080 + "node_modules/emmet": { 3081 + "version": "2.4.11", 3082 + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", 3083 + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", 3084 + "dependencies": { 3085 + "@emmetio/abbreviation": "^2.3.3", 3086 + "@emmetio/css-abbreviation": "^2.1.8" 3087 + } 3088 + }, 3089 + "node_modules/emoji-regex": { 3090 + "version": "10.4.0", 3091 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", 3092 + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" 3093 + }, 3094 + "node_modules/entities": { 3095 + "version": "4.5.0", 3096 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 3097 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 3098 + "engines": { 3099 + "node": ">=0.12" 3100 + }, 3101 + "funding": { 3102 + "url": "https://github.com/fb55/entities?sponsor=1" 3103 + } 3104 + }, 3105 + "node_modules/es-module-lexer": { 3106 + "version": "1.5.4", 3107 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", 3108 + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" 3109 + }, 3110 + "node_modules/esast-util-from-estree": { 3111 + "version": "2.0.0", 3112 + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", 3113 + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", 3114 + "dependencies": { 3115 + "@types/estree-jsx": "^1.0.0", 3116 + "devlop": "^1.0.0", 3117 + "estree-util-visit": "^2.0.0", 3118 + "unist-util-position-from-estree": "^2.0.0" 3119 + }, 3120 + "funding": { 3121 + "type": "opencollective", 3122 + "url": "https://opencollective.com/unified" 3123 + } 3124 + }, 3125 + "node_modules/esast-util-from-js": { 3126 + "version": "2.0.1", 3127 + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", 3128 + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", 3129 + "dependencies": { 3130 + "@types/estree-jsx": "^1.0.0", 3131 + "acorn": "^8.0.0", 3132 + "esast-util-from-estree": "^2.0.0", 3133 + "vfile-message": "^4.0.0" 3134 + }, 3135 + "funding": { 3136 + "type": "opencollective", 3137 + "url": "https://opencollective.com/unified" 3138 + } 3139 + }, 3140 + "node_modules/esbuild": { 3141 + "version": "0.21.5", 3142 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", 3143 + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", 3144 + "hasInstallScript": true, 3145 + "bin": { 3146 + "esbuild": "bin/esbuild" 3147 + }, 3148 + "engines": { 3149 + "node": ">=12" 3150 + }, 3151 + "optionalDependencies": { 3152 + "@esbuild/aix-ppc64": "0.21.5", 3153 + "@esbuild/android-arm": "0.21.5", 3154 + "@esbuild/android-arm64": "0.21.5", 3155 + "@esbuild/android-x64": "0.21.5", 3156 + "@esbuild/darwin-arm64": "0.21.5", 3157 + "@esbuild/darwin-x64": "0.21.5", 3158 + "@esbuild/freebsd-arm64": "0.21.5", 3159 + "@esbuild/freebsd-x64": "0.21.5", 3160 + "@esbuild/linux-arm": "0.21.5", 3161 + "@esbuild/linux-arm64": "0.21.5", 3162 + "@esbuild/linux-ia32": "0.21.5", 3163 + "@esbuild/linux-loong64": "0.21.5", 3164 + "@esbuild/linux-mips64el": "0.21.5", 3165 + "@esbuild/linux-ppc64": "0.21.5", 3166 + "@esbuild/linux-riscv64": "0.21.5", 3167 + "@esbuild/linux-s390x": "0.21.5", 3168 + "@esbuild/linux-x64": "0.21.5", 3169 + "@esbuild/netbsd-x64": "0.21.5", 3170 + "@esbuild/openbsd-x64": "0.21.5", 3171 + "@esbuild/sunos-x64": "0.21.5", 3172 + "@esbuild/win32-arm64": "0.21.5", 3173 + "@esbuild/win32-ia32": "0.21.5", 3174 + "@esbuild/win32-x64": "0.21.5" 3175 + } 3176 + }, 3177 + "node_modules/escalade": { 3178 + "version": "3.2.0", 3179 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 3180 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 3181 + "engines": { 3182 + "node": ">=6" 3183 + } 3184 + }, 3185 + "node_modules/escape-string-regexp": { 3186 + "version": "1.0.5", 3187 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 3188 + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 3189 + "engines": { 3190 + "node": ">=0.8.0" 3191 + } 3192 + }, 3193 + "node_modules/esm-env": { 3194 + "version": "1.0.0", 3195 + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", 3196 + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==" 3197 + }, 3198 + "node_modules/esprima": { 3199 + "version": "4.0.1", 3200 + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 3201 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 3202 + "bin": { 3203 + "esparse": "bin/esparse.js", 3204 + "esvalidate": "bin/esvalidate.js" 3205 + }, 3206 + "engines": { 3207 + "node": ">=4" 3208 + } 3209 + }, 3210 + "node_modules/esrap": { 3211 + "version": "1.2.2", 3212 + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.2.2.tgz", 3213 + "integrity": "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==", 3214 + "dependencies": { 3215 + "@jridgewell/sourcemap-codec": "^1.4.15", 3216 + "@types/estree": "^1.0.1" 3217 + } 3218 + }, 3219 + "node_modules/estree-util-attach-comments": { 3220 + "version": "3.0.0", 3221 + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", 3222 + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", 3223 + "dependencies": { 3224 + "@types/estree": "^1.0.0" 3225 + }, 3226 + "funding": { 3227 + "type": "opencollective", 3228 + "url": "https://opencollective.com/unified" 3229 + } 3230 + }, 3231 + "node_modules/estree-util-build-jsx": { 3232 + "version": "3.0.1", 3233 + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", 3234 + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", 3235 + "dependencies": { 3236 + "@types/estree-jsx": "^1.0.0", 3237 + "devlop": "^1.0.0", 3238 + "estree-util-is-identifier-name": "^3.0.0", 3239 + "estree-walker": "^3.0.0" 3240 + }, 3241 + "funding": { 3242 + "type": "opencollective", 3243 + "url": "https://opencollective.com/unified" 3244 + } 3245 + }, 3246 + "node_modules/estree-util-is-identifier-name": { 3247 + "version": "3.0.0", 3248 + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", 3249 + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", 3250 + "funding": { 3251 + "type": "opencollective", 3252 + "url": "https://opencollective.com/unified" 3253 + } 3254 + }, 3255 + "node_modules/estree-util-scope": { 3256 + "version": "1.0.0", 3257 + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", 3258 + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", 3259 + "dependencies": { 3260 + "@types/estree": "^1.0.0", 3261 + "devlop": "^1.0.0" 3262 + }, 3263 + "funding": { 3264 + "type": "opencollective", 3265 + "url": "https://opencollective.com/unified" 3266 + } 3267 + }, 3268 + "node_modules/estree-util-to-js": { 3269 + "version": "2.0.0", 3270 + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", 3271 + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", 3272 + "dependencies": { 3273 + "@types/estree-jsx": "^1.0.0", 3274 + "astring": "^1.8.0", 3275 + "source-map": "^0.7.0" 3276 + }, 3277 + "funding": { 3278 + "type": "opencollective", 3279 + "url": "https://opencollective.com/unified" 3280 + } 3281 + }, 3282 + "node_modules/estree-util-visit": { 3283 + "version": "2.0.0", 3284 + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", 3285 + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", 3286 + "dependencies": { 3287 + "@types/estree-jsx": "^1.0.0", 3288 + "@types/unist": "^3.0.0" 3289 + }, 3290 + "funding": { 3291 + "type": "opencollective", 3292 + "url": "https://opencollective.com/unified" 3293 + } 3294 + }, 3295 + "node_modules/estree-walker": { 3296 + "version": "3.0.3", 3297 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 3298 + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 3299 + "dependencies": { 3300 + "@types/estree": "^1.0.0" 3301 + } 3302 + }, 3303 + "node_modules/eventemitter3": { 3304 + "version": "5.0.1", 3305 + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 3306 + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 3307 + }, 3308 + "node_modules/extend": { 3309 + "version": "3.0.2", 3310 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 3311 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 3312 + }, 3313 + "node_modules/extend-shallow": { 3314 + "version": "2.0.1", 3315 + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3316 + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 3317 + "dependencies": { 3318 + "is-extendable": "^0.1.0" 3319 + }, 3320 + "engines": { 3321 + "node": ">=0.10.0" 3322 + } 3323 + }, 3324 + "node_modules/fast-deep-equal": { 3325 + "version": "3.1.3", 3326 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 3327 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 3328 + }, 3329 + "node_modules/fast-glob": { 3330 + "version": "3.3.2", 3331 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 3332 + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 3333 + "dependencies": { 3334 + "@nodelib/fs.stat": "^2.0.2", 3335 + "@nodelib/fs.walk": "^1.2.3", 3336 + "glob-parent": "^5.1.2", 3337 + "merge2": "^1.3.0", 3338 + "micromatch": "^4.0.4" 3339 + }, 3340 + "engines": { 3341 + "node": ">=8.6.0" 3342 + } 3343 + }, 3344 + "node_modules/fast-uri": { 3345 + "version": "3.0.3", 3346 + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", 3347 + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" 3348 + }, 3349 + "node_modules/fast-xml-parser": { 3350 + "version": "4.5.0", 3351 + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", 3352 + "integrity": "sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==", 3353 + "funding": [ 3354 + { 3355 + "type": "github", 3356 + "url": "https://github.com/sponsors/NaturalIntelligence" 3357 + }, 3358 + { 3359 + "type": "paypal", 3360 + "url": "https://paypal.me/naturalintelligence" 3361 + } 3362 + ], 3363 + "dependencies": { 3364 + "strnum": "^1.0.5" 3365 + }, 3366 + "bin": { 3367 + "fxparser": "src/cli/cli.js" 3368 + } 3369 + }, 3370 + "node_modules/fastq": { 3371 + "version": "1.17.1", 3372 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 3373 + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 3374 + "dependencies": { 3375 + "reusify": "^1.0.4" 3376 + } 3377 + }, 3378 + "node_modules/fill-range": { 3379 + "version": "7.1.1", 3380 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3381 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3382 + "dependencies": { 3383 + "to-regex-range": "^5.0.1" 3384 + }, 3385 + "engines": { 3386 + "node": ">=8" 3387 + } 3388 + }, 3389 + "node_modules/find-up": { 3390 + "version": "4.1.0", 3391 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 3392 + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 3393 + "dependencies": { 3394 + "locate-path": "^5.0.0", 3395 + "path-exists": "^4.0.0" 3396 + }, 3397 + "engines": { 3398 + "node": ">=8" 3399 + } 3400 + }, 3401 + "node_modules/find-up-simple": { 3402 + "version": "1.0.0", 3403 + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", 3404 + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", 3405 + "engines": { 3406 + "node": ">=18" 3407 + }, 3408 + "funding": { 3409 + "url": "https://github.com/sponsors/sindresorhus" 3410 + } 3411 + }, 3412 + "node_modules/find-yarn-workspace-root2": { 3413 + "version": "1.2.16", 3414 + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", 3415 + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", 3416 + "dependencies": { 3417 + "micromatch": "^4.0.2", 3418 + "pkg-dir": "^4.2.0" 3419 + } 3420 + }, 3421 + "node_modules/flattie": { 3422 + "version": "1.1.1", 3423 + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", 3424 + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", 3425 + "engines": { 3426 + "node": ">=8" 3427 + } 3428 + }, 3429 + "node_modules/foreground-child": { 3430 + "version": "3.3.0", 3431 + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 3432 + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 3433 + "dependencies": { 3434 + "cross-spawn": "^7.0.0", 3435 + "signal-exit": "^4.0.1" 3436 + }, 3437 + "engines": { 3438 + "node": ">=14" 3439 + }, 3440 + "funding": { 3441 + "url": "https://github.com/sponsors/isaacs" 3442 + } 3443 + }, 3444 + "node_modules/fraction.js": { 3445 + "version": "4.3.7", 3446 + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 3447 + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 3448 + "engines": { 3449 + "node": "*" 3450 + }, 3451 + "funding": { 3452 + "type": "patreon", 3453 + "url": "https://github.com/sponsors/rawify" 3454 + } 3455 + }, 3456 + "node_modules/fsevents": { 3457 + "version": "2.3.3", 3458 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 3459 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 3460 + "hasInstallScript": true, 3461 + "optional": true, 3462 + "os": [ 3463 + "darwin" 3464 + ], 3465 + "engines": { 3466 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 3467 + } 3468 + }, 3469 + "node_modules/function-bind": { 3470 + "version": "1.1.2", 3471 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 3472 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 3473 + "funding": { 3474 + "url": "https://github.com/sponsors/ljharb" 3475 + } 3476 + }, 3477 + "node_modules/gensync": { 3478 + "version": "1.0.0-beta.2", 3479 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 3480 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 3481 + "engines": { 3482 + "node": ">=6.9.0" 3483 + } 3484 + }, 3485 + "node_modules/get-caller-file": { 3486 + "version": "2.0.5", 3487 + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 3488 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 3489 + "engines": { 3490 + "node": "6.* || 8.* || >= 10.*" 3491 + } 3492 + }, 3493 + "node_modules/get-east-asian-width": { 3494 + "version": "1.3.0", 3495 + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", 3496 + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", 3497 + "engines": { 3498 + "node": ">=18" 3499 + }, 3500 + "funding": { 3501 + "url": "https://github.com/sponsors/sindresorhus" 3502 + } 3503 + }, 3504 + "node_modules/github-slugger": { 3505 + "version": "2.0.0", 3506 + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", 3507 + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" 3508 + }, 3509 + "node_modules/glob": { 3510 + "version": "10.4.5", 3511 + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 3512 + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 3513 + "dependencies": { 3514 + "foreground-child": "^3.1.0", 3515 + "jackspeak": "^3.1.2", 3516 + "minimatch": "^9.0.4", 3517 + "minipass": "^7.1.2", 3518 + "package-json-from-dist": "^1.0.0", 3519 + "path-scurry": "^1.11.1" 3520 + }, 3521 + "bin": { 3522 + "glob": "dist/esm/bin.mjs" 3523 + }, 3524 + "funding": { 3525 + "url": "https://github.com/sponsors/isaacs" 3526 + } 3527 + }, 3528 + "node_modules/glob-parent": { 3529 + "version": "5.1.2", 3530 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3531 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3532 + "dependencies": { 3533 + "is-glob": "^4.0.1" 3534 + }, 3535 + "engines": { 3536 + "node": ">= 6" 3537 + } 3538 + }, 3539 + "node_modules/globals": { 3540 + "version": "11.12.0", 3541 + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 3542 + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 3543 + "engines": { 3544 + "node": ">=4" 3545 + } 3546 + }, 3547 + "node_modules/graceful-fs": { 3548 + "version": "4.2.11", 3549 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3550 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 3551 + }, 3552 + "node_modules/gray-matter": { 3553 + "version": "4.0.3", 3554 + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", 3555 + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", 3556 + "dependencies": { 3557 + "js-yaml": "^3.13.1", 3558 + "kind-of": "^6.0.2", 3559 + "section-matter": "^1.0.0", 3560 + "strip-bom-string": "^1.0.0" 3561 + }, 3562 + "engines": { 3563 + "node": ">=6.0" 3564 + } 3565 + }, 3566 + "node_modules/gray-matter/node_modules/argparse": { 3567 + "version": "1.0.10", 3568 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 3569 + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 3570 + "dependencies": { 3571 + "sprintf-js": "~1.0.2" 3572 + } 3573 + }, 3574 + "node_modules/gray-matter/node_modules/js-yaml": { 3575 + "version": "3.14.1", 3576 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 3577 + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 3578 + "dependencies": { 3579 + "argparse": "^1.0.7", 3580 + "esprima": "^4.0.0" 3581 + }, 3582 + "bin": { 3583 + "js-yaml": "bin/js-yaml.js" 3584 + } 3585 + }, 3586 + "node_modules/has-flag": { 3587 + "version": "3.0.0", 3588 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 3589 + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 3590 + "engines": { 3591 + "node": ">=4" 3592 + } 3593 + }, 3594 + "node_modules/hasown": { 3595 + "version": "2.0.2", 3596 + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 3597 + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 3598 + "dependencies": { 3599 + "function-bind": "^1.1.2" 3600 + }, 3601 + "engines": { 3602 + "node": ">= 0.4" 3603 + } 3604 + }, 3605 + "node_modules/hast-util-from-html": { 3606 + "version": "2.0.3", 3607 + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", 3608 + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", 3609 + "dependencies": { 3610 + "@types/hast": "^3.0.0", 3611 + "devlop": "^1.1.0", 3612 + "hast-util-from-parse5": "^8.0.0", 3613 + "parse5": "^7.0.0", 3614 + "vfile": "^6.0.0", 3615 + "vfile-message": "^4.0.0" 3616 + }, 3617 + "funding": { 3618 + "type": "opencollective", 3619 + "url": "https://opencollective.com/unified" 3620 + } 3621 + }, 3622 + "node_modules/hast-util-from-parse5": { 3623 + "version": "8.0.1", 3624 + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", 3625 + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", 3626 + "dependencies": { 3627 + "@types/hast": "^3.0.0", 3628 + "@types/unist": "^3.0.0", 3629 + "devlop": "^1.0.0", 3630 + "hastscript": "^8.0.0", 3631 + "property-information": "^6.0.0", 3632 + "vfile": "^6.0.0", 3633 + "vfile-location": "^5.0.0", 3634 + "web-namespaces": "^2.0.0" 3635 + }, 3636 + "funding": { 3637 + "type": "opencollective", 3638 + "url": "https://opencollective.com/unified" 3639 + } 3640 + }, 3641 + "node_modules/hast-util-is-element": { 3642 + "version": "3.0.0", 3643 + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", 3644 + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", 3645 + "dependencies": { 3646 + "@types/hast": "^3.0.0" 3647 + }, 3648 + "funding": { 3649 + "type": "opencollective", 3650 + "url": "https://opencollective.com/unified" 3651 + } 3652 + }, 3653 + "node_modules/hast-util-parse-selector": { 3654 + "version": "4.0.0", 3655 + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", 3656 + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", 3657 + "dependencies": { 3658 + "@types/hast": "^3.0.0" 3659 + }, 3660 + "funding": { 3661 + "type": "opencollective", 3662 + "url": "https://opencollective.com/unified" 3663 + } 3664 + }, 3665 + "node_modules/hast-util-raw": { 3666 + "version": "9.0.4", 3667 + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", 3668 + "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", 3669 + "dependencies": { 3670 + "@types/hast": "^3.0.0", 3671 + "@types/unist": "^3.0.0", 3672 + "@ungap/structured-clone": "^1.0.0", 3673 + "hast-util-from-parse5": "^8.0.0", 3674 + "hast-util-to-parse5": "^8.0.0", 3675 + "html-void-elements": "^3.0.0", 3676 + "mdast-util-to-hast": "^13.0.0", 3677 + "parse5": "^7.0.0", 3678 + "unist-util-position": "^5.0.0", 3679 + "unist-util-visit": "^5.0.0", 3680 + "vfile": "^6.0.0", 3681 + "web-namespaces": "^2.0.0", 3682 + "zwitch": "^2.0.0" 3683 + }, 3684 + "funding": { 3685 + "type": "opencollective", 3686 + "url": "https://opencollective.com/unified" 3687 + } 3688 + }, 3689 + "node_modules/hast-util-to-estree": { 3690 + "version": "3.1.0", 3691 + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", 3692 + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", 3693 + "dependencies": { 3694 + "@types/estree": "^1.0.0", 3695 + "@types/estree-jsx": "^1.0.0", 3696 + "@types/hast": "^3.0.0", 3697 + "comma-separated-tokens": "^2.0.0", 3698 + "devlop": "^1.0.0", 3699 + "estree-util-attach-comments": "^3.0.0", 3700 + "estree-util-is-identifier-name": "^3.0.0", 3701 + "hast-util-whitespace": "^3.0.0", 3702 + "mdast-util-mdx-expression": "^2.0.0", 3703 + "mdast-util-mdx-jsx": "^3.0.0", 3704 + "mdast-util-mdxjs-esm": "^2.0.0", 3705 + "property-information": "^6.0.0", 3706 + "space-separated-tokens": "^2.0.0", 3707 + "style-to-object": "^0.4.0", 3708 + "unist-util-position": "^5.0.0", 3709 + "zwitch": "^2.0.0" 3710 + }, 3711 + "funding": { 3712 + "type": "opencollective", 3713 + "url": "https://opencollective.com/unified" 3714 + } 3715 + }, 3716 + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { 3717 + "version": "0.1.1", 3718 + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", 3719 + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" 3720 + }, 3721 + "node_modules/hast-util-to-estree/node_modules/style-to-object": { 3722 + "version": "0.4.4", 3723 + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", 3724 + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", 3725 + "dependencies": { 3726 + "inline-style-parser": "0.1.1" 3727 + } 3728 + }, 3729 + "node_modules/hast-util-to-html": { 3730 + "version": "9.0.3", 3731 + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", 3732 + "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", 3733 + "dependencies": { 3734 + "@types/hast": "^3.0.0", 3735 + "@types/unist": "^3.0.0", 3736 + "ccount": "^2.0.0", 3737 + "comma-separated-tokens": "^2.0.0", 3738 + "hast-util-whitespace": "^3.0.0", 3739 + "html-void-elements": "^3.0.0", 3740 + "mdast-util-to-hast": "^13.0.0", 3741 + "property-information": "^6.0.0", 3742 + "space-separated-tokens": "^2.0.0", 3743 + "stringify-entities": "^4.0.0", 3744 + "zwitch": "^2.0.4" 3745 + }, 3746 + "funding": { 3747 + "type": "opencollective", 3748 + "url": "https://opencollective.com/unified" 3749 + } 3750 + }, 3751 + "node_modules/hast-util-to-jsx-runtime": { 3752 + "version": "2.3.2", 3753 + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", 3754 + "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", 3755 + "dependencies": { 3756 + "@types/estree": "^1.0.0", 3757 + "@types/hast": "^3.0.0", 3758 + "@types/unist": "^3.0.0", 3759 + "comma-separated-tokens": "^2.0.0", 3760 + "devlop": "^1.0.0", 3761 + "estree-util-is-identifier-name": "^3.0.0", 3762 + "hast-util-whitespace": "^3.0.0", 3763 + "mdast-util-mdx-expression": "^2.0.0", 3764 + "mdast-util-mdx-jsx": "^3.0.0", 3765 + "mdast-util-mdxjs-esm": "^2.0.0", 3766 + "property-information": "^6.0.0", 3767 + "space-separated-tokens": "^2.0.0", 3768 + "style-to-object": "^1.0.0", 3769 + "unist-util-position": "^5.0.0", 3770 + "vfile-message": "^4.0.0" 3771 + }, 3772 + "funding": { 3773 + "type": "opencollective", 3774 + "url": "https://opencollective.com/unified" 3775 + } 3776 + }, 3777 + "node_modules/hast-util-to-parse5": { 3778 + "version": "8.0.0", 3779 + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", 3780 + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", 3781 + "dependencies": { 3782 + "@types/hast": "^3.0.0", 3783 + "comma-separated-tokens": "^2.0.0", 3784 + "devlop": "^1.0.0", 3785 + "property-information": "^6.0.0", 3786 + "space-separated-tokens": "^2.0.0", 3787 + "web-namespaces": "^2.0.0", 3788 + "zwitch": "^2.0.0" 3789 + }, 3790 + "funding": { 3791 + "type": "opencollective", 3792 + "url": "https://opencollective.com/unified" 3793 + } 3794 + }, 3795 + "node_modules/hast-util-to-text": { 3796 + "version": "4.0.2", 3797 + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", 3798 + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", 3799 + "dependencies": { 3800 + "@types/hast": "^3.0.0", 3801 + "@types/unist": "^3.0.0", 3802 + "hast-util-is-element": "^3.0.0", 3803 + "unist-util-find-after": "^5.0.0" 3804 + }, 3805 + "funding": { 3806 + "type": "opencollective", 3807 + "url": "https://opencollective.com/unified" 3808 + } 3809 + }, 3810 + "node_modules/hast-util-whitespace": { 3811 + "version": "3.0.0", 3812 + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", 3813 + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", 3814 + "dependencies": { 3815 + "@types/hast": "^3.0.0" 3816 + }, 3817 + "funding": { 3818 + "type": "opencollective", 3819 + "url": "https://opencollective.com/unified" 3820 + } 3821 + }, 3822 + "node_modules/hastscript": { 3823 + "version": "8.0.0", 3824 + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", 3825 + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", 3826 + "dependencies": { 3827 + "@types/hast": "^3.0.0", 3828 + "comma-separated-tokens": "^2.0.0", 3829 + "hast-util-parse-selector": "^4.0.0", 3830 + "property-information": "^6.0.0", 3831 + "space-separated-tokens": "^2.0.0" 3832 + }, 3833 + "funding": { 3834 + "type": "opencollective", 3835 + "url": "https://opencollective.com/unified" 3836 + } 3837 + }, 3838 + "node_modules/html-escaper": { 3839 + "version": "3.0.3", 3840 + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", 3841 + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" 3842 + }, 3843 + "node_modules/html-void-elements": { 3844 + "version": "3.0.0", 3845 + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", 3846 + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", 3847 + "funding": { 3848 + "type": "github", 3849 + "url": "https://github.com/sponsors/wooorm" 3850 + } 3851 + }, 3852 + "node_modules/http-cache-semantics": { 3853 + "version": "4.1.1", 3854 + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 3855 + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" 3856 + }, 3857 + "node_modules/import-meta-resolve": { 3858 + "version": "4.1.0", 3859 + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", 3860 + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", 3861 + "funding": { 3862 + "type": "github", 3863 + "url": "https://github.com/sponsors/wooorm" 3864 + } 3865 + }, 3866 + "node_modules/inline-style-parser": { 3867 + "version": "0.2.4", 3868 + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", 3869 + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==" 3870 + }, 3871 + "node_modules/is-alphabetical": { 3872 + "version": "2.0.1", 3873 + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", 3874 + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", 3875 + "funding": { 3876 + "type": "github", 3877 + "url": "https://github.com/sponsors/wooorm" 3878 + } 3879 + }, 3880 + "node_modules/is-alphanumerical": { 3881 + "version": "2.0.1", 3882 + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", 3883 + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", 3884 + "dependencies": { 3885 + "is-alphabetical": "^2.0.0", 3886 + "is-decimal": "^2.0.0" 3887 + }, 3888 + "funding": { 3889 + "type": "github", 3890 + "url": "https://github.com/sponsors/wooorm" 3891 + } 3892 + }, 3893 + "node_modules/is-arrayish": { 3894 + "version": "0.3.2", 3895 + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 3896 + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", 3897 + "optional": true 3898 + }, 3899 + "node_modules/is-binary-path": { 3900 + "version": "2.1.0", 3901 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 3902 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 3903 + "dependencies": { 3904 + "binary-extensions": "^2.0.0" 3905 + }, 3906 + "engines": { 3907 + "node": ">=8" 3908 + } 3909 + }, 3910 + "node_modules/is-core-module": { 3911 + "version": "2.15.1", 3912 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", 3913 + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", 3914 + "dependencies": { 3915 + "hasown": "^2.0.2" 3916 + }, 3917 + "engines": { 3918 + "node": ">= 0.4" 3919 + }, 3920 + "funding": { 3921 + "url": "https://github.com/sponsors/ljharb" 3922 + } 3923 + }, 3924 + "node_modules/is-decimal": { 3925 + "version": "2.0.1", 3926 + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", 3927 + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", 3928 + "funding": { 3929 + "type": "github", 3930 + "url": "https://github.com/sponsors/wooorm" 3931 + } 3932 + }, 3933 + "node_modules/is-docker": { 3934 + "version": "3.0.0", 3935 + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", 3936 + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", 3937 + "bin": { 3938 + "is-docker": "cli.js" 3939 + }, 3940 + "engines": { 3941 + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3942 + }, 3943 + "funding": { 3944 + "url": "https://github.com/sponsors/sindresorhus" 3945 + } 3946 + }, 3947 + "node_modules/is-extendable": { 3948 + "version": "0.1.1", 3949 + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 3950 + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", 3951 + "engines": { 3952 + "node": ">=0.10.0" 3953 + } 3954 + }, 3955 + "node_modules/is-extglob": { 3956 + "version": "2.1.1", 3957 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3958 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3959 + "engines": { 3960 + "node": ">=0.10.0" 3961 + } 3962 + }, 3963 + "node_modules/is-fullwidth-code-point": { 3964 + "version": "3.0.0", 3965 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 3966 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 3967 + "engines": { 3968 + "node": ">=8" 3969 + } 3970 + }, 3971 + "node_modules/is-glob": { 3972 + "version": "4.0.3", 3973 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3974 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3975 + "dependencies": { 3976 + "is-extglob": "^2.1.1" 3977 + }, 3978 + "engines": { 3979 + "node": ">=0.10.0" 3980 + } 3981 + }, 3982 + "node_modules/is-hexadecimal": { 3983 + "version": "2.0.1", 3984 + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", 3985 + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", 3986 + "funding": { 3987 + "type": "github", 3988 + "url": "https://github.com/sponsors/wooorm" 3989 + } 3990 + }, 3991 + "node_modules/is-inside-container": { 3992 + "version": "1.0.0", 3993 + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", 3994 + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", 3995 + "dependencies": { 3996 + "is-docker": "^3.0.0" 3997 + }, 3998 + "bin": { 3999 + "is-inside-container": "cli.js" 4000 + }, 4001 + "engines": { 4002 + "node": ">=14.16" 4003 + }, 4004 + "funding": { 4005 + "url": "https://github.com/sponsors/sindresorhus" 4006 + } 4007 + }, 4008 + "node_modules/is-interactive": { 4009 + "version": "2.0.0", 4010 + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", 4011 + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", 4012 + "engines": { 4013 + "node": ">=12" 4014 + }, 4015 + "funding": { 4016 + "url": "https://github.com/sponsors/sindresorhus" 4017 + } 4018 + }, 4019 + "node_modules/is-number": { 4020 + "version": "7.0.0", 4021 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 4022 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 4023 + "engines": { 4024 + "node": ">=0.12.0" 4025 + } 4026 + }, 4027 + "node_modules/is-plain-obj": { 4028 + "version": "4.1.0", 4029 + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", 4030 + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", 4031 + "engines": { 4032 + "node": ">=12" 4033 + }, 4034 + "funding": { 4035 + "url": "https://github.com/sponsors/sindresorhus" 4036 + } 4037 + }, 4038 + "node_modules/is-reference": { 4039 + "version": "3.0.2", 4040 + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", 4041 + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", 4042 + "dependencies": { 4043 + "@types/estree": "*" 4044 + } 4045 + }, 4046 + "node_modules/is-unicode-supported": { 4047 + "version": "2.1.0", 4048 + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", 4049 + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", 4050 + "engines": { 4051 + "node": ">=18" 4052 + }, 4053 + "funding": { 4054 + "url": "https://github.com/sponsors/sindresorhus" 4055 + } 4056 + }, 4057 + "node_modules/is-wsl": { 4058 + "version": "3.1.0", 4059 + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", 4060 + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", 4061 + "dependencies": { 4062 + "is-inside-container": "^1.0.0" 4063 + }, 4064 + "engines": { 4065 + "node": ">=16" 4066 + }, 4067 + "funding": { 4068 + "url": "https://github.com/sponsors/sindresorhus" 4069 + } 4070 + }, 4071 + "node_modules/isexe": { 4072 + "version": "2.0.0", 4073 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 4074 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 4075 + }, 4076 + "node_modules/jackspeak": { 4077 + "version": "3.4.3", 4078 + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 4079 + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 4080 + "dependencies": { 4081 + "@isaacs/cliui": "^8.0.2" 4082 + }, 4083 + "funding": { 4084 + "url": "https://github.com/sponsors/isaacs" 4085 + }, 4086 + "optionalDependencies": { 4087 + "@pkgjs/parseargs": "^0.11.0" 4088 + } 4089 + }, 4090 + "node_modules/jiti": { 4091 + "version": "1.21.6", 4092 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", 4093 + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", 4094 + "bin": { 4095 + "jiti": "bin/jiti.js" 4096 + } 4097 + }, 4098 + "node_modules/js-tokens": { 4099 + "version": "4.0.0", 4100 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 4101 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 4102 + }, 4103 + "node_modules/js-yaml": { 4104 + "version": "4.1.0", 4105 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 4106 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 4107 + "dependencies": { 4108 + "argparse": "^2.0.1" 4109 + }, 4110 + "bin": { 4111 + "js-yaml": "bin/js-yaml.js" 4112 + } 4113 + }, 4114 + "node_modules/jsesc": { 4115 + "version": "3.0.2", 4116 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", 4117 + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", 4118 + "bin": { 4119 + "jsesc": "bin/jsesc" 4120 + }, 4121 + "engines": { 4122 + "node": ">=6" 4123 + } 4124 + }, 4125 + "node_modules/json-schema-traverse": { 4126 + "version": "1.0.0", 4127 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 4128 + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" 4129 + }, 4130 + "node_modules/json5": { 4131 + "version": "2.2.3", 4132 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 4133 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 4134 + "bin": { 4135 + "json5": "lib/cli.js" 4136 + }, 4137 + "engines": { 4138 + "node": ">=6" 4139 + } 4140 + }, 4141 + "node_modules/jsonc-parser": { 4142 + "version": "2.3.1", 4143 + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", 4144 + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" 4145 + }, 4146 + "node_modules/kind-of": { 4147 + "version": "6.0.3", 4148 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 4149 + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 4150 + "engines": { 4151 + "node": ">=0.10.0" 4152 + } 4153 + }, 4154 + "node_modules/kleur": { 4155 + "version": "4.1.5", 4156 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 4157 + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 4158 + "engines": { 4159 + "node": ">=6" 4160 + } 4161 + }, 4162 + "node_modules/lilconfig": { 4163 + "version": "3.1.2", 4164 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", 4165 + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", 4166 + "engines": { 4167 + "node": ">=14" 4168 + }, 4169 + "funding": { 4170 + "url": "https://github.com/sponsors/antonk52" 4171 + } 4172 + }, 4173 + "node_modules/lines-and-columns": { 4174 + "version": "1.2.4", 4175 + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 4176 + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 4177 + }, 4178 + "node_modules/load-yaml-file": { 4179 + "version": "0.2.0", 4180 + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", 4181 + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", 4182 + "dependencies": { 4183 + "graceful-fs": "^4.1.5", 4184 + "js-yaml": "^3.13.0", 4185 + "pify": "^4.0.1", 4186 + "strip-bom": "^3.0.0" 4187 + }, 4188 + "engines": { 4189 + "node": ">=6" 4190 + } 4191 + }, 4192 + "node_modules/load-yaml-file/node_modules/argparse": { 4193 + "version": "1.0.10", 4194 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 4195 + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 4196 + "dependencies": { 4197 + "sprintf-js": "~1.0.2" 4198 + } 4199 + }, 4200 + "node_modules/load-yaml-file/node_modules/js-yaml": { 4201 + "version": "3.14.1", 4202 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 4203 + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 4204 + "dependencies": { 4205 + "argparse": "^1.0.7", 4206 + "esprima": "^4.0.0" 4207 + }, 4208 + "bin": { 4209 + "js-yaml": "bin/js-yaml.js" 4210 + } 4211 + }, 4212 + "node_modules/locate-character": { 4213 + "version": "3.0.0", 4214 + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 4215 + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" 4216 + }, 4217 + "node_modules/locate-path": { 4218 + "version": "5.0.0", 4219 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 4220 + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 4221 + "dependencies": { 4222 + "p-locate": "^4.1.0" 4223 + }, 4224 + "engines": { 4225 + "node": ">=8" 4226 + } 4227 + }, 4228 + "node_modules/lodash": { 4229 + "version": "4.17.21", 4230 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 4231 + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 4232 + }, 4233 + "node_modules/lodash.castarray": { 4234 + "version": "4.4.0", 4235 + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", 4236 + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", 4237 + "dev": true 4238 + }, 4239 + "node_modules/lodash.isplainobject": { 4240 + "version": "4.0.6", 4241 + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 4242 + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 4243 + "dev": true 4244 + }, 4245 + "node_modules/lodash.merge": { 4246 + "version": "4.6.2", 4247 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 4248 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 4249 + "dev": true 4250 + }, 4251 + "node_modules/log-symbols": { 4252 + "version": "6.0.0", 4253 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", 4254 + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", 4255 + "dependencies": { 4256 + "chalk": "^5.3.0", 4257 + "is-unicode-supported": "^1.3.0" 4258 + }, 4259 + "engines": { 4260 + "node": ">=18" 4261 + }, 4262 + "funding": { 4263 + "url": "https://github.com/sponsors/sindresorhus" 4264 + } 4265 + }, 4266 + "node_modules/log-symbols/node_modules/chalk": { 4267 + "version": "5.3.0", 4268 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 4269 + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 4270 + "engines": { 4271 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 4272 + }, 4273 + "funding": { 4274 + "url": "https://github.com/chalk/chalk?sponsor=1" 4275 + } 4276 + }, 4277 + "node_modules/log-symbols/node_modules/is-unicode-supported": { 4278 + "version": "1.3.0", 4279 + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", 4280 + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", 4281 + "engines": { 4282 + "node": ">=12" 4283 + }, 4284 + "funding": { 4285 + "url": "https://github.com/sponsors/sindresorhus" 4286 + } 4287 + }, 4288 + "node_modules/longest-streak": { 4289 + "version": "3.1.0", 4290 + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", 4291 + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", 4292 + "funding": { 4293 + "type": "github", 4294 + "url": "https://github.com/sponsors/wooorm" 4295 + } 4296 + }, 4297 + "node_modules/lower-case": { 4298 + "version": "2.0.2", 4299 + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 4300 + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 4301 + "dependencies": { 4302 + "tslib": "^2.0.3" 4303 + } 4304 + }, 4305 + "node_modules/lru-cache": { 4306 + "version": "5.1.1", 4307 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 4308 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 4309 + "dependencies": { 4310 + "yallist": "^3.0.2" 4311 + } 4312 + }, 4313 + "node_modules/magic-string": { 4314 + "version": "0.30.12", 4315 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", 4316 + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", 4317 + "dependencies": { 4318 + "@jridgewell/sourcemap-codec": "^1.5.0" 4319 + } 4320 + }, 4321 + "node_modules/magicast": { 4322 + "version": "0.3.5", 4323 + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", 4324 + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", 4325 + "dependencies": { 4326 + "@babel/parser": "^7.25.4", 4327 + "@babel/types": "^7.25.4", 4328 + "source-map-js": "^1.2.0" 4329 + } 4330 + }, 4331 + "node_modules/markdown-extensions": { 4332 + "version": "2.0.0", 4333 + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", 4334 + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", 4335 + "engines": { 4336 + "node": ">=16" 4337 + }, 4338 + "funding": { 4339 + "url": "https://github.com/sponsors/sindresorhus" 4340 + } 4341 + }, 4342 + "node_modules/markdown-table": { 4343 + "version": "3.0.4", 4344 + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", 4345 + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", 4346 + "funding": { 4347 + "type": "github", 4348 + "url": "https://github.com/sponsors/wooorm" 4349 + } 4350 + }, 4351 + "node_modules/mdast-util-definitions": { 4352 + "version": "6.0.0", 4353 + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", 4354 + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", 4355 + "dependencies": { 4356 + "@types/mdast": "^4.0.0", 4357 + "@types/unist": "^3.0.0", 4358 + "unist-util-visit": "^5.0.0" 4359 + }, 4360 + "funding": { 4361 + "type": "opencollective", 4362 + "url": "https://opencollective.com/unified" 4363 + } 4364 + }, 4365 + "node_modules/mdast-util-find-and-replace": { 4366 + "version": "3.0.1", 4367 + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", 4368 + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", 4369 + "dependencies": { 4370 + "@types/mdast": "^4.0.0", 4371 + "escape-string-regexp": "^5.0.0", 4372 + "unist-util-is": "^6.0.0", 4373 + "unist-util-visit-parents": "^6.0.0" 4374 + }, 4375 + "funding": { 4376 + "type": "opencollective", 4377 + "url": "https://opencollective.com/unified" 4378 + } 4379 + }, 4380 + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { 4381 + "version": "5.0.0", 4382 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", 4383 + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", 4384 + "engines": { 4385 + "node": ">=12" 4386 + }, 4387 + "funding": { 4388 + "url": "https://github.com/sponsors/sindresorhus" 4389 + } 4390 + }, 4391 + "node_modules/mdast-util-from-markdown": { 4392 + "version": "2.0.1", 4393 + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", 4394 + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", 4395 + "dependencies": { 4396 + "@types/mdast": "^4.0.0", 4397 + "@types/unist": "^3.0.0", 4398 + "decode-named-character-reference": "^1.0.0", 4399 + "devlop": "^1.0.0", 4400 + "mdast-util-to-string": "^4.0.0", 4401 + "micromark": "^4.0.0", 4402 + "micromark-util-decode-numeric-character-reference": "^2.0.0", 4403 + "micromark-util-decode-string": "^2.0.0", 4404 + "micromark-util-normalize-identifier": "^2.0.0", 4405 + "micromark-util-symbol": "^2.0.0", 4406 + "micromark-util-types": "^2.0.0", 4407 + "unist-util-stringify-position": "^4.0.0" 4408 + }, 4409 + "funding": { 4410 + "type": "opencollective", 4411 + "url": "https://opencollective.com/unified" 4412 + } 4413 + }, 4414 + "node_modules/mdast-util-gfm": { 4415 + "version": "3.0.0", 4416 + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", 4417 + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", 4418 + "dependencies": { 4419 + "mdast-util-from-markdown": "^2.0.0", 4420 + "mdast-util-gfm-autolink-literal": "^2.0.0", 4421 + "mdast-util-gfm-footnote": "^2.0.0", 4422 + "mdast-util-gfm-strikethrough": "^2.0.0", 4423 + "mdast-util-gfm-table": "^2.0.0", 4424 + "mdast-util-gfm-task-list-item": "^2.0.0", 4425 + "mdast-util-to-markdown": "^2.0.0" 4426 + }, 4427 + "funding": { 4428 + "type": "opencollective", 4429 + "url": "https://opencollective.com/unified" 4430 + } 4431 + }, 4432 + "node_modules/mdast-util-gfm-autolink-literal": { 4433 + "version": "2.0.1", 4434 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", 4435 + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", 4436 + "dependencies": { 4437 + "@types/mdast": "^4.0.0", 4438 + "ccount": "^2.0.0", 4439 + "devlop": "^1.0.0", 4440 + "mdast-util-find-and-replace": "^3.0.0", 4441 + "micromark-util-character": "^2.0.0" 4442 + }, 4443 + "funding": { 4444 + "type": "opencollective", 4445 + "url": "https://opencollective.com/unified" 4446 + } 4447 + }, 4448 + "node_modules/mdast-util-gfm-footnote": { 4449 + "version": "2.0.0", 4450 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", 4451 + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", 4452 + "dependencies": { 4453 + "@types/mdast": "^4.0.0", 4454 + "devlop": "^1.1.0", 4455 + "mdast-util-from-markdown": "^2.0.0", 4456 + "mdast-util-to-markdown": "^2.0.0", 4457 + "micromark-util-normalize-identifier": "^2.0.0" 4458 + }, 4459 + "funding": { 4460 + "type": "opencollective", 4461 + "url": "https://opencollective.com/unified" 4462 + } 4463 + }, 4464 + "node_modules/mdast-util-gfm-strikethrough": { 4465 + "version": "2.0.0", 4466 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", 4467 + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", 4468 + "dependencies": { 4469 + "@types/mdast": "^4.0.0", 4470 + "mdast-util-from-markdown": "^2.0.0", 4471 + "mdast-util-to-markdown": "^2.0.0" 4472 + }, 4473 + "funding": { 4474 + "type": "opencollective", 4475 + "url": "https://opencollective.com/unified" 4476 + } 4477 + }, 4478 + "node_modules/mdast-util-gfm-table": { 4479 + "version": "2.0.0", 4480 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", 4481 + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", 4482 + "dependencies": { 4483 + "@types/mdast": "^4.0.0", 4484 + "devlop": "^1.0.0", 4485 + "markdown-table": "^3.0.0", 4486 + "mdast-util-from-markdown": "^2.0.0", 4487 + "mdast-util-to-markdown": "^2.0.0" 4488 + }, 4489 + "funding": { 4490 + "type": "opencollective", 4491 + "url": "https://opencollective.com/unified" 4492 + } 4493 + }, 4494 + "node_modules/mdast-util-gfm-task-list-item": { 4495 + "version": "2.0.0", 4496 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", 4497 + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", 4498 + "dependencies": { 4499 + "@types/mdast": "^4.0.0", 4500 + "devlop": "^1.0.0", 4501 + "mdast-util-from-markdown": "^2.0.0", 4502 + "mdast-util-to-markdown": "^2.0.0" 4503 + }, 4504 + "funding": { 4505 + "type": "opencollective", 4506 + "url": "https://opencollective.com/unified" 4507 + } 4508 + }, 4509 + "node_modules/mdast-util-mdx": { 4510 + "version": "3.0.0", 4511 + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", 4512 + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", 4513 + "dependencies": { 4514 + "mdast-util-from-markdown": "^2.0.0", 4515 + "mdast-util-mdx-expression": "^2.0.0", 4516 + "mdast-util-mdx-jsx": "^3.0.0", 4517 + "mdast-util-mdxjs-esm": "^2.0.0", 4518 + "mdast-util-to-markdown": "^2.0.0" 4519 + }, 4520 + "funding": { 4521 + "type": "opencollective", 4522 + "url": "https://opencollective.com/unified" 4523 + } 4524 + }, 4525 + "node_modules/mdast-util-mdx-expression": { 4526 + "version": "2.0.1", 4527 + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", 4528 + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", 4529 + "dependencies": { 4530 + "@types/estree-jsx": "^1.0.0", 4531 + "@types/hast": "^3.0.0", 4532 + "@types/mdast": "^4.0.0", 4533 + "devlop": "^1.0.0", 4534 + "mdast-util-from-markdown": "^2.0.0", 4535 + "mdast-util-to-markdown": "^2.0.0" 4536 + }, 4537 + "funding": { 4538 + "type": "opencollective", 4539 + "url": "https://opencollective.com/unified" 4540 + } 4541 + }, 4542 + "node_modules/mdast-util-mdx-jsx": { 4543 + "version": "3.1.3", 4544 + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", 4545 + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", 4546 + "dependencies": { 4547 + "@types/estree-jsx": "^1.0.0", 4548 + "@types/hast": "^3.0.0", 4549 + "@types/mdast": "^4.0.0", 4550 + "@types/unist": "^3.0.0", 4551 + "ccount": "^2.0.0", 4552 + "devlop": "^1.1.0", 4553 + "mdast-util-from-markdown": "^2.0.0", 4554 + "mdast-util-to-markdown": "^2.0.0", 4555 + "parse-entities": "^4.0.0", 4556 + "stringify-entities": "^4.0.0", 4557 + "unist-util-stringify-position": "^4.0.0", 4558 + "vfile-message": "^4.0.0" 4559 + }, 4560 + "funding": { 4561 + "type": "opencollective", 4562 + "url": "https://opencollective.com/unified" 4563 + } 4564 + }, 4565 + "node_modules/mdast-util-mdxjs-esm": { 4566 + "version": "2.0.1", 4567 + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", 4568 + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", 4569 + "dependencies": { 4570 + "@types/estree-jsx": "^1.0.0", 4571 + "@types/hast": "^3.0.0", 4572 + "@types/mdast": "^4.0.0", 4573 + "devlop": "^1.0.0", 4574 + "mdast-util-from-markdown": "^2.0.0", 4575 + "mdast-util-to-markdown": "^2.0.0" 4576 + }, 4577 + "funding": { 4578 + "type": "opencollective", 4579 + "url": "https://opencollective.com/unified" 4580 + } 4581 + }, 4582 + "node_modules/mdast-util-phrasing": { 4583 + "version": "4.1.0", 4584 + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", 4585 + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", 4586 + "dependencies": { 4587 + "@types/mdast": "^4.0.0", 4588 + "unist-util-is": "^6.0.0" 4589 + }, 4590 + "funding": { 4591 + "type": "opencollective", 4592 + "url": "https://opencollective.com/unified" 4593 + } 4594 + }, 4595 + "node_modules/mdast-util-to-hast": { 4596 + "version": "13.2.0", 4597 + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", 4598 + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", 4599 + "dependencies": { 4600 + "@types/hast": "^3.0.0", 4601 + "@types/mdast": "^4.0.0", 4602 + "@ungap/structured-clone": "^1.0.0", 4603 + "devlop": "^1.0.0", 4604 + "micromark-util-sanitize-uri": "^2.0.0", 4605 + "trim-lines": "^3.0.0", 4606 + "unist-util-position": "^5.0.0", 4607 + "unist-util-visit": "^5.0.0", 4608 + "vfile": "^6.0.0" 4609 + }, 4610 + "funding": { 4611 + "type": "opencollective", 4612 + "url": "https://opencollective.com/unified" 4613 + } 4614 + }, 4615 + "node_modules/mdast-util-to-markdown": { 4616 + "version": "2.1.0", 4617 + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", 4618 + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", 4619 + "dependencies": { 4620 + "@types/mdast": "^4.0.0", 4621 + "@types/unist": "^3.0.0", 4622 + "longest-streak": "^3.0.0", 4623 + "mdast-util-phrasing": "^4.0.0", 4624 + "mdast-util-to-string": "^4.0.0", 4625 + "micromark-util-decode-string": "^2.0.0", 4626 + "unist-util-visit": "^5.0.0", 4627 + "zwitch": "^2.0.0" 4628 + }, 4629 + "funding": { 4630 + "type": "opencollective", 4631 + "url": "https://opencollective.com/unified" 4632 + } 4633 + }, 4634 + "node_modules/mdast-util-to-string": { 4635 + "version": "4.0.0", 4636 + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", 4637 + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", 4638 + "dependencies": { 4639 + "@types/mdast": "^4.0.0" 4640 + }, 4641 + "funding": { 4642 + "type": "opencollective", 4643 + "url": "https://opencollective.com/unified" 4644 + } 4645 + }, 4646 + "node_modules/merge2": { 4647 + "version": "1.4.1", 4648 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 4649 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 4650 + "engines": { 4651 + "node": ">= 8" 4652 + } 4653 + }, 4654 + "node_modules/micromark": { 4655 + "version": "4.0.0", 4656 + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", 4657 + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", 4658 + "funding": [ 4659 + { 4660 + "type": "GitHub Sponsors", 4661 + "url": "https://github.com/sponsors/unifiedjs" 4662 + }, 4663 + { 4664 + "type": "OpenCollective", 4665 + "url": "https://opencollective.com/unified" 4666 + } 4667 + ], 4668 + "dependencies": { 4669 + "@types/debug": "^4.0.0", 4670 + "debug": "^4.0.0", 4671 + "decode-named-character-reference": "^1.0.0", 4672 + "devlop": "^1.0.0", 4673 + "micromark-core-commonmark": "^2.0.0", 4674 + "micromark-factory-space": "^2.0.0", 4675 + "micromark-util-character": "^2.0.0", 4676 + "micromark-util-chunked": "^2.0.0", 4677 + "micromark-util-combine-extensions": "^2.0.0", 4678 + "micromark-util-decode-numeric-character-reference": "^2.0.0", 4679 + "micromark-util-encode": "^2.0.0", 4680 + "micromark-util-normalize-identifier": "^2.0.0", 4681 + "micromark-util-resolve-all": "^2.0.0", 4682 + "micromark-util-sanitize-uri": "^2.0.0", 4683 + "micromark-util-subtokenize": "^2.0.0", 4684 + "micromark-util-symbol": "^2.0.0", 4685 + "micromark-util-types": "^2.0.0" 4686 + } 4687 + }, 4688 + "node_modules/micromark-core-commonmark": { 4689 + "version": "2.0.1", 4690 + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", 4691 + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", 4692 + "funding": [ 4693 + { 4694 + "type": "GitHub Sponsors", 4695 + "url": "https://github.com/sponsors/unifiedjs" 4696 + }, 4697 + { 4698 + "type": "OpenCollective", 4699 + "url": "https://opencollective.com/unified" 4700 + } 4701 + ], 4702 + "dependencies": { 4703 + "decode-named-character-reference": "^1.0.0", 4704 + "devlop": "^1.0.0", 4705 + "micromark-factory-destination": "^2.0.0", 4706 + "micromark-factory-label": "^2.0.0", 4707 + "micromark-factory-space": "^2.0.0", 4708 + "micromark-factory-title": "^2.0.0", 4709 + "micromark-factory-whitespace": "^2.0.0", 4710 + "micromark-util-character": "^2.0.0", 4711 + "micromark-util-chunked": "^2.0.0", 4712 + "micromark-util-classify-character": "^2.0.0", 4713 + "micromark-util-html-tag-name": "^2.0.0", 4714 + "micromark-util-normalize-identifier": "^2.0.0", 4715 + "micromark-util-resolve-all": "^2.0.0", 4716 + "micromark-util-subtokenize": "^2.0.0", 4717 + "micromark-util-symbol": "^2.0.0", 4718 + "micromark-util-types": "^2.0.0" 4719 + } 4720 + }, 4721 + "node_modules/micromark-extension-gfm": { 4722 + "version": "3.0.0", 4723 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", 4724 + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", 4725 + "dependencies": { 4726 + "micromark-extension-gfm-autolink-literal": "^2.0.0", 4727 + "micromark-extension-gfm-footnote": "^2.0.0", 4728 + "micromark-extension-gfm-strikethrough": "^2.0.0", 4729 + "micromark-extension-gfm-table": "^2.0.0", 4730 + "micromark-extension-gfm-tagfilter": "^2.0.0", 4731 + "micromark-extension-gfm-task-list-item": "^2.0.0", 4732 + "micromark-util-combine-extensions": "^2.0.0", 4733 + "micromark-util-types": "^2.0.0" 4734 + }, 4735 + "funding": { 4736 + "type": "opencollective", 4737 + "url": "https://opencollective.com/unified" 4738 + } 4739 + }, 4740 + "node_modules/micromark-extension-gfm-autolink-literal": { 4741 + "version": "2.1.0", 4742 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", 4743 + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", 4744 + "dependencies": { 4745 + "micromark-util-character": "^2.0.0", 4746 + "micromark-util-sanitize-uri": "^2.0.0", 4747 + "micromark-util-symbol": "^2.0.0", 4748 + "micromark-util-types": "^2.0.0" 4749 + }, 4750 + "funding": { 4751 + "type": "opencollective", 4752 + "url": "https://opencollective.com/unified" 4753 + } 4754 + }, 4755 + "node_modules/micromark-extension-gfm-footnote": { 4756 + "version": "2.1.0", 4757 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", 4758 + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", 4759 + "dependencies": { 4760 + "devlop": "^1.0.0", 4761 + "micromark-core-commonmark": "^2.0.0", 4762 + "micromark-factory-space": "^2.0.0", 4763 + "micromark-util-character": "^2.0.0", 4764 + "micromark-util-normalize-identifier": "^2.0.0", 4765 + "micromark-util-sanitize-uri": "^2.0.0", 4766 + "micromark-util-symbol": "^2.0.0", 4767 + "micromark-util-types": "^2.0.0" 4768 + }, 4769 + "funding": { 4770 + "type": "opencollective", 4771 + "url": "https://opencollective.com/unified" 4772 + } 4773 + }, 4774 + "node_modules/micromark-extension-gfm-strikethrough": { 4775 + "version": "2.1.0", 4776 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", 4777 + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", 4778 + "dependencies": { 4779 + "devlop": "^1.0.0", 4780 + "micromark-util-chunked": "^2.0.0", 4781 + "micromark-util-classify-character": "^2.0.0", 4782 + "micromark-util-resolve-all": "^2.0.0", 4783 + "micromark-util-symbol": "^2.0.0", 4784 + "micromark-util-types": "^2.0.0" 4785 + }, 4786 + "funding": { 4787 + "type": "opencollective", 4788 + "url": "https://opencollective.com/unified" 4789 + } 4790 + }, 4791 + "node_modules/micromark-extension-gfm-table": { 4792 + "version": "2.1.0", 4793 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", 4794 + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", 4795 + "dependencies": { 4796 + "devlop": "^1.0.0", 4797 + "micromark-factory-space": "^2.0.0", 4798 + "micromark-util-character": "^2.0.0", 4799 + "micromark-util-symbol": "^2.0.0", 4800 + "micromark-util-types": "^2.0.0" 4801 + }, 4802 + "funding": { 4803 + "type": "opencollective", 4804 + "url": "https://opencollective.com/unified" 4805 + } 4806 + }, 4807 + "node_modules/micromark-extension-gfm-tagfilter": { 4808 + "version": "2.0.0", 4809 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", 4810 + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", 4811 + "dependencies": { 4812 + "micromark-util-types": "^2.0.0" 4813 + }, 4814 + "funding": { 4815 + "type": "opencollective", 4816 + "url": "https://opencollective.com/unified" 4817 + } 4818 + }, 4819 + "node_modules/micromark-extension-gfm-task-list-item": { 4820 + "version": "2.1.0", 4821 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", 4822 + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", 4823 + "dependencies": { 4824 + "devlop": "^1.0.0", 4825 + "micromark-factory-space": "^2.0.0", 4826 + "micromark-util-character": "^2.0.0", 4827 + "micromark-util-symbol": "^2.0.0", 4828 + "micromark-util-types": "^2.0.0" 4829 + }, 4830 + "funding": { 4831 + "type": "opencollective", 4832 + "url": "https://opencollective.com/unified" 4833 + } 4834 + }, 4835 + "node_modules/micromark-extension-mdx-expression": { 4836 + "version": "3.0.0", 4837 + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", 4838 + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", 4839 + "funding": [ 4840 + { 4841 + "type": "GitHub Sponsors", 4842 + "url": "https://github.com/sponsors/unifiedjs" 4843 + }, 4844 + { 4845 + "type": "OpenCollective", 4846 + "url": "https://opencollective.com/unified" 4847 + } 4848 + ], 4849 + "dependencies": { 4850 + "@types/estree": "^1.0.0", 4851 + "devlop": "^1.0.0", 4852 + "micromark-factory-mdx-expression": "^2.0.0", 4853 + "micromark-factory-space": "^2.0.0", 4854 + "micromark-util-character": "^2.0.0", 4855 + "micromark-util-events-to-acorn": "^2.0.0", 4856 + "micromark-util-symbol": "^2.0.0", 4857 + "micromark-util-types": "^2.0.0" 4858 + } 4859 + }, 4860 + "node_modules/micromark-extension-mdx-jsx": { 4861 + "version": "3.0.1", 4862 + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", 4863 + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", 4864 + "dependencies": { 4865 + "@types/acorn": "^4.0.0", 4866 + "@types/estree": "^1.0.0", 4867 + "devlop": "^1.0.0", 4868 + "estree-util-is-identifier-name": "^3.0.0", 4869 + "micromark-factory-mdx-expression": "^2.0.0", 4870 + "micromark-factory-space": "^2.0.0", 4871 + "micromark-util-character": "^2.0.0", 4872 + "micromark-util-events-to-acorn": "^2.0.0", 4873 + "micromark-util-symbol": "^2.0.0", 4874 + "micromark-util-types": "^2.0.0", 4875 + "vfile-message": "^4.0.0" 4876 + }, 4877 + "funding": { 4878 + "type": "opencollective", 4879 + "url": "https://opencollective.com/unified" 4880 + } 4881 + }, 4882 + "node_modules/micromark-extension-mdx-md": { 4883 + "version": "2.0.0", 4884 + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", 4885 + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", 4886 + "dependencies": { 4887 + "micromark-util-types": "^2.0.0" 4888 + }, 4889 + "funding": { 4890 + "type": "opencollective", 4891 + "url": "https://opencollective.com/unified" 4892 + } 4893 + }, 4894 + "node_modules/micromark-extension-mdxjs": { 4895 + "version": "3.0.0", 4896 + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", 4897 + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", 4898 + "dependencies": { 4899 + "acorn": "^8.0.0", 4900 + "acorn-jsx": "^5.0.0", 4901 + "micromark-extension-mdx-expression": "^3.0.0", 4902 + "micromark-extension-mdx-jsx": "^3.0.0", 4903 + "micromark-extension-mdx-md": "^2.0.0", 4904 + "micromark-extension-mdxjs-esm": "^3.0.0", 4905 + "micromark-util-combine-extensions": "^2.0.0", 4906 + "micromark-util-types": "^2.0.0" 4907 + }, 4908 + "funding": { 4909 + "type": "opencollective", 4910 + "url": "https://opencollective.com/unified" 4911 + } 4912 + }, 4913 + "node_modules/micromark-extension-mdxjs-esm": { 4914 + "version": "3.0.0", 4915 + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", 4916 + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", 4917 + "dependencies": { 4918 + "@types/estree": "^1.0.0", 4919 + "devlop": "^1.0.0", 4920 + "micromark-core-commonmark": "^2.0.0", 4921 + "micromark-util-character": "^2.0.0", 4922 + "micromark-util-events-to-acorn": "^2.0.0", 4923 + "micromark-util-symbol": "^2.0.0", 4924 + "micromark-util-types": "^2.0.0", 4925 + "unist-util-position-from-estree": "^2.0.0", 4926 + "vfile-message": "^4.0.0" 4927 + }, 4928 + "funding": { 4929 + "type": "opencollective", 4930 + "url": "https://opencollective.com/unified" 4931 + } 4932 + }, 4933 + "node_modules/micromark-factory-destination": { 4934 + "version": "2.0.0", 4935 + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", 4936 + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", 4937 + "funding": [ 4938 + { 4939 + "type": "GitHub Sponsors", 4940 + "url": "https://github.com/sponsors/unifiedjs" 4941 + }, 4942 + { 4943 + "type": "OpenCollective", 4944 + "url": "https://opencollective.com/unified" 4945 + } 4946 + ], 4947 + "dependencies": { 4948 + "micromark-util-character": "^2.0.0", 4949 + "micromark-util-symbol": "^2.0.0", 4950 + "micromark-util-types": "^2.0.0" 4951 + } 4952 + }, 4953 + "node_modules/micromark-factory-label": { 4954 + "version": "2.0.0", 4955 + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", 4956 + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", 4957 + "funding": [ 4958 + { 4959 + "type": "GitHub Sponsors", 4960 + "url": "https://github.com/sponsors/unifiedjs" 4961 + }, 4962 + { 4963 + "type": "OpenCollective", 4964 + "url": "https://opencollective.com/unified" 4965 + } 4966 + ], 4967 + "dependencies": { 4968 + "devlop": "^1.0.0", 4969 + "micromark-util-character": "^2.0.0", 4970 + "micromark-util-symbol": "^2.0.0", 4971 + "micromark-util-types": "^2.0.0" 4972 + } 4973 + }, 4974 + "node_modules/micromark-factory-mdx-expression": { 4975 + "version": "2.0.2", 4976 + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", 4977 + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", 4978 + "funding": [ 4979 + { 4980 + "type": "GitHub Sponsors", 4981 + "url": "https://github.com/sponsors/unifiedjs" 4982 + }, 4983 + { 4984 + "type": "OpenCollective", 4985 + "url": "https://opencollective.com/unified" 4986 + } 4987 + ], 4988 + "dependencies": { 4989 + "@types/estree": "^1.0.0", 4990 + "devlop": "^1.0.0", 4991 + "micromark-factory-space": "^2.0.0", 4992 + "micromark-util-character": "^2.0.0", 4993 + "micromark-util-events-to-acorn": "^2.0.0", 4994 + "micromark-util-symbol": "^2.0.0", 4995 + "micromark-util-types": "^2.0.0", 4996 + "unist-util-position-from-estree": "^2.0.0", 4997 + "vfile-message": "^4.0.0" 4998 + } 4999 + }, 5000 + "node_modules/micromark-factory-space": { 5001 + "version": "2.0.0", 5002 + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", 5003 + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", 5004 + "funding": [ 5005 + { 5006 + "type": "GitHub Sponsors", 5007 + "url": "https://github.com/sponsors/unifiedjs" 5008 + }, 5009 + { 5010 + "type": "OpenCollective", 5011 + "url": "https://opencollective.com/unified" 5012 + } 5013 + ], 5014 + "dependencies": { 5015 + "micromark-util-character": "^2.0.0", 5016 + "micromark-util-types": "^2.0.0" 5017 + } 5018 + }, 5019 + "node_modules/micromark-factory-title": { 5020 + "version": "2.0.0", 5021 + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", 5022 + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", 5023 + "funding": [ 5024 + { 5025 + "type": "GitHub Sponsors", 5026 + "url": "https://github.com/sponsors/unifiedjs" 5027 + }, 5028 + { 5029 + "type": "OpenCollective", 5030 + "url": "https://opencollective.com/unified" 5031 + } 5032 + ], 5033 + "dependencies": { 5034 + "micromark-factory-space": "^2.0.0", 5035 + "micromark-util-character": "^2.0.0", 5036 + "micromark-util-symbol": "^2.0.0", 5037 + "micromark-util-types": "^2.0.0" 5038 + } 5039 + }, 5040 + "node_modules/micromark-factory-whitespace": { 5041 + "version": "2.0.0", 5042 + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", 5043 + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", 5044 + "funding": [ 5045 + { 5046 + "type": "GitHub Sponsors", 5047 + "url": "https://github.com/sponsors/unifiedjs" 5048 + }, 5049 + { 5050 + "type": "OpenCollective", 5051 + "url": "https://opencollective.com/unified" 5052 + } 5053 + ], 5054 + "dependencies": { 5055 + "micromark-factory-space": "^2.0.0", 5056 + "micromark-util-character": "^2.0.0", 5057 + "micromark-util-symbol": "^2.0.0", 5058 + "micromark-util-types": "^2.0.0" 5059 + } 5060 + }, 5061 + "node_modules/micromark-util-character": { 5062 + "version": "2.1.0", 5063 + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", 5064 + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", 5065 + "funding": [ 5066 + { 5067 + "type": "GitHub Sponsors", 5068 + "url": "https://github.com/sponsors/unifiedjs" 5069 + }, 5070 + { 5071 + "type": "OpenCollective", 5072 + "url": "https://opencollective.com/unified" 5073 + } 5074 + ], 5075 + "dependencies": { 5076 + "micromark-util-symbol": "^2.0.0", 5077 + "micromark-util-types": "^2.0.0" 5078 + } 5079 + }, 5080 + "node_modules/micromark-util-chunked": { 5081 + "version": "2.0.0", 5082 + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", 5083 + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", 5084 + "funding": [ 5085 + { 5086 + "type": "GitHub Sponsors", 5087 + "url": "https://github.com/sponsors/unifiedjs" 5088 + }, 5089 + { 5090 + "type": "OpenCollective", 5091 + "url": "https://opencollective.com/unified" 5092 + } 5093 + ], 5094 + "dependencies": { 5095 + "micromark-util-symbol": "^2.0.0" 5096 + } 5097 + }, 5098 + "node_modules/micromark-util-classify-character": { 5099 + "version": "2.0.0", 5100 + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", 5101 + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", 5102 + "funding": [ 5103 + { 5104 + "type": "GitHub Sponsors", 5105 + "url": "https://github.com/sponsors/unifiedjs" 5106 + }, 5107 + { 5108 + "type": "OpenCollective", 5109 + "url": "https://opencollective.com/unified" 5110 + } 5111 + ], 5112 + "dependencies": { 5113 + "micromark-util-character": "^2.0.0", 5114 + "micromark-util-symbol": "^2.0.0", 5115 + "micromark-util-types": "^2.0.0" 5116 + } 5117 + }, 5118 + "node_modules/micromark-util-combine-extensions": { 5119 + "version": "2.0.0", 5120 + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", 5121 + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", 5122 + "funding": [ 5123 + { 5124 + "type": "GitHub Sponsors", 5125 + "url": "https://github.com/sponsors/unifiedjs" 5126 + }, 5127 + { 5128 + "type": "OpenCollective", 5129 + "url": "https://opencollective.com/unified" 5130 + } 5131 + ], 5132 + "dependencies": { 5133 + "micromark-util-chunked": "^2.0.0", 5134 + "micromark-util-types": "^2.0.0" 5135 + } 5136 + }, 5137 + "node_modules/micromark-util-decode-numeric-character-reference": { 5138 + "version": "2.0.1", 5139 + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", 5140 + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", 5141 + "funding": [ 5142 + { 5143 + "type": "GitHub Sponsors", 5144 + "url": "https://github.com/sponsors/unifiedjs" 5145 + }, 5146 + { 5147 + "type": "OpenCollective", 5148 + "url": "https://opencollective.com/unified" 5149 + } 5150 + ], 5151 + "dependencies": { 5152 + "micromark-util-symbol": "^2.0.0" 5153 + } 5154 + }, 5155 + "node_modules/micromark-util-decode-string": { 5156 + "version": "2.0.0", 5157 + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", 5158 + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", 5159 + "funding": [ 5160 + { 5161 + "type": "GitHub Sponsors", 5162 + "url": "https://github.com/sponsors/unifiedjs" 5163 + }, 5164 + { 5165 + "type": "OpenCollective", 5166 + "url": "https://opencollective.com/unified" 5167 + } 5168 + ], 5169 + "dependencies": { 5170 + "decode-named-character-reference": "^1.0.0", 5171 + "micromark-util-character": "^2.0.0", 5172 + "micromark-util-decode-numeric-character-reference": "^2.0.0", 5173 + "micromark-util-symbol": "^2.0.0" 5174 + } 5175 + }, 5176 + "node_modules/micromark-util-encode": { 5177 + "version": "2.0.0", 5178 + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", 5179 + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", 5180 + "funding": [ 5181 + { 5182 + "type": "GitHub Sponsors", 5183 + "url": "https://github.com/sponsors/unifiedjs" 5184 + }, 5185 + { 5186 + "type": "OpenCollective", 5187 + "url": "https://opencollective.com/unified" 5188 + } 5189 + ] 5190 + }, 5191 + "node_modules/micromark-util-events-to-acorn": { 5192 + "version": "2.0.2", 5193 + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", 5194 + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", 5195 + "funding": [ 5196 + { 5197 + "type": "GitHub Sponsors", 5198 + "url": "https://github.com/sponsors/unifiedjs" 5199 + }, 5200 + { 5201 + "type": "OpenCollective", 5202 + "url": "https://opencollective.com/unified" 5203 + } 5204 + ], 5205 + "dependencies": { 5206 + "@types/acorn": "^4.0.0", 5207 + "@types/estree": "^1.0.0", 5208 + "@types/unist": "^3.0.0", 5209 + "devlop": "^1.0.0", 5210 + "estree-util-visit": "^2.0.0", 5211 + "micromark-util-symbol": "^2.0.0", 5212 + "micromark-util-types": "^2.0.0", 5213 + "vfile-message": "^4.0.0" 5214 + } 5215 + }, 5216 + "node_modules/micromark-util-html-tag-name": { 5217 + "version": "2.0.0", 5218 + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", 5219 + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", 5220 + "funding": [ 5221 + { 5222 + "type": "GitHub Sponsors", 5223 + "url": "https://github.com/sponsors/unifiedjs" 5224 + }, 5225 + { 5226 + "type": "OpenCollective", 5227 + "url": "https://opencollective.com/unified" 5228 + } 5229 + ] 5230 + }, 5231 + "node_modules/micromark-util-normalize-identifier": { 5232 + "version": "2.0.0", 5233 + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", 5234 + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", 5235 + "funding": [ 5236 + { 5237 + "type": "GitHub Sponsors", 5238 + "url": "https://github.com/sponsors/unifiedjs" 5239 + }, 5240 + { 5241 + "type": "OpenCollective", 5242 + "url": "https://opencollective.com/unified" 5243 + } 5244 + ], 5245 + "dependencies": { 5246 + "micromark-util-symbol": "^2.0.0" 5247 + } 5248 + }, 5249 + "node_modules/micromark-util-resolve-all": { 5250 + "version": "2.0.0", 5251 + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", 5252 + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", 5253 + "funding": [ 5254 + { 5255 + "type": "GitHub Sponsors", 5256 + "url": "https://github.com/sponsors/unifiedjs" 5257 + }, 5258 + { 5259 + "type": "OpenCollective", 5260 + "url": "https://opencollective.com/unified" 5261 + } 5262 + ], 5263 + "dependencies": { 5264 + "micromark-util-types": "^2.0.0" 5265 + } 5266 + }, 5267 + "node_modules/micromark-util-sanitize-uri": { 5268 + "version": "2.0.0", 5269 + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", 5270 + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", 5271 + "funding": [ 5272 + { 5273 + "type": "GitHub Sponsors", 5274 + "url": "https://github.com/sponsors/unifiedjs" 5275 + }, 5276 + { 5277 + "type": "OpenCollective", 5278 + "url": "https://opencollective.com/unified" 5279 + } 5280 + ], 5281 + "dependencies": { 5282 + "micromark-util-character": "^2.0.0", 5283 + "micromark-util-encode": "^2.0.0", 5284 + "micromark-util-symbol": "^2.0.0" 5285 + } 5286 + }, 5287 + "node_modules/micromark-util-subtokenize": { 5288 + "version": "2.0.1", 5289 + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", 5290 + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", 5291 + "funding": [ 5292 + { 5293 + "type": "GitHub Sponsors", 5294 + "url": "https://github.com/sponsors/unifiedjs" 5295 + }, 5296 + { 5297 + "type": "OpenCollective", 5298 + "url": "https://opencollective.com/unified" 5299 + } 5300 + ], 5301 + "dependencies": { 5302 + "devlop": "^1.0.0", 5303 + "micromark-util-chunked": "^2.0.0", 5304 + "micromark-util-symbol": "^2.0.0", 5305 + "micromark-util-types": "^2.0.0" 5306 + } 5307 + }, 5308 + "node_modules/micromark-util-symbol": { 5309 + "version": "2.0.0", 5310 + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", 5311 + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", 5312 + "funding": [ 5313 + { 5314 + "type": "GitHub Sponsors", 5315 + "url": "https://github.com/sponsors/unifiedjs" 5316 + }, 5317 + { 5318 + "type": "OpenCollective", 5319 + "url": "https://opencollective.com/unified" 5320 + } 5321 + ] 5322 + }, 5323 + "node_modules/micromark-util-types": { 5324 + "version": "2.0.0", 5325 + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", 5326 + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", 5327 + "funding": [ 5328 + { 5329 + "type": "GitHub Sponsors", 5330 + "url": "https://github.com/sponsors/unifiedjs" 5331 + }, 5332 + { 5333 + "type": "OpenCollective", 5334 + "url": "https://opencollective.com/unified" 5335 + } 5336 + ] 5337 + }, 5338 + "node_modules/micromatch": { 5339 + "version": "4.0.8", 5340 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 5341 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 5342 + "dependencies": { 5343 + "braces": "^3.0.3", 5344 + "picomatch": "^2.3.1" 5345 + }, 5346 + "engines": { 5347 + "node": ">=8.6" 5348 + } 5349 + }, 5350 + "node_modules/micromatch/node_modules/picomatch": { 5351 + "version": "2.3.1", 5352 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 5353 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 5354 + "engines": { 5355 + "node": ">=8.6" 5356 + }, 5357 + "funding": { 5358 + "url": "https://github.com/sponsors/jonschlinkert" 5359 + } 5360 + }, 5361 + "node_modules/mimic-function": { 5362 + "version": "5.0.1", 5363 + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", 5364 + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", 5365 + "engines": { 5366 + "node": ">=18" 5367 + }, 5368 + "funding": { 5369 + "url": "https://github.com/sponsors/sindresorhus" 5370 + } 5371 + }, 5372 + "node_modules/mini-svg-data-uri": { 5373 + "version": "1.4.4", 5374 + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 5375 + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 5376 + "bin": { 5377 + "mini-svg-data-uri": "cli.js" 5378 + } 5379 + }, 5380 + "node_modules/minimatch": { 5381 + "version": "9.0.5", 5382 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 5383 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 5384 + "dependencies": { 5385 + "brace-expansion": "^2.0.1" 5386 + }, 5387 + "engines": { 5388 + "node": ">=16 || 14 >=14.17" 5389 + }, 5390 + "funding": { 5391 + "url": "https://github.com/sponsors/isaacs" 5392 + } 5393 + }, 5394 + "node_modules/minipass": { 5395 + "version": "7.1.2", 5396 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 5397 + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 5398 + "engines": { 5399 + "node": ">=16 || 14 >=14.17" 5400 + } 5401 + }, 5402 + "node_modules/mrmime": { 5403 + "version": "2.0.0", 5404 + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", 5405 + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", 5406 + "engines": { 5407 + "node": ">=10" 5408 + } 5409 + }, 5410 + "node_modules/ms": { 5411 + "version": "2.1.3", 5412 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 5413 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 5414 + }, 5415 + "node_modules/muggle-string": { 5416 + "version": "0.4.1", 5417 + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", 5418 + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==" 5419 + }, 5420 + "node_modules/mz": { 5421 + "version": "2.7.0", 5422 + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 5423 + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 5424 + "dependencies": { 5425 + "any-promise": "^1.0.0", 5426 + "object-assign": "^4.0.1", 5427 + "thenify-all": "^1.0.0" 5428 + } 5429 + }, 5430 + "node_modules/nanoid": { 5431 + "version": "3.3.7", 5432 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 5433 + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 5434 + "funding": [ 5435 + { 5436 + "type": "github", 5437 + "url": "https://github.com/sponsors/ai" 5438 + } 5439 + ], 5440 + "bin": { 5441 + "nanoid": "bin/nanoid.cjs" 5442 + }, 5443 + "engines": { 5444 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 5445 + } 5446 + }, 5447 + "node_modules/neotraverse": { 5448 + "version": "0.6.18", 5449 + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", 5450 + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", 5451 + "engines": { 5452 + "node": ">= 10" 5453 + } 5454 + }, 5455 + "node_modules/nlcst-to-string": { 5456 + "version": "4.0.0", 5457 + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", 5458 + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", 5459 + "dependencies": { 5460 + "@types/nlcst": "^2.0.0" 5461 + }, 5462 + "funding": { 5463 + "type": "opencollective", 5464 + "url": "https://opencollective.com/unified" 5465 + } 5466 + }, 5467 + "node_modules/no-case": { 5468 + "version": "3.0.4", 5469 + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 5470 + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 5471 + "dependencies": { 5472 + "lower-case": "^2.0.2", 5473 + "tslib": "^2.0.3" 5474 + } 5475 + }, 5476 + "node_modules/node-releases": { 5477 + "version": "2.0.18", 5478 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", 5479 + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" 5480 + }, 5481 + "node_modules/normalize-path": { 5482 + "version": "3.0.0", 5483 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 5484 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 5485 + "engines": { 5486 + "node": ">=0.10.0" 5487 + } 5488 + }, 5489 + "node_modules/normalize-range": { 5490 + "version": "0.1.2", 5491 + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 5492 + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 5493 + "engines": { 5494 + "node": ">=0.10.0" 5495 + } 5496 + }, 5497 + "node_modules/object-assign": { 5498 + "version": "4.1.1", 5499 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 5500 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 5501 + "engines": { 5502 + "node": ">=0.10.0" 5503 + } 5504 + }, 5505 + "node_modules/object-hash": { 5506 + "version": "3.0.0", 5507 + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 5508 + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 5509 + "engines": { 5510 + "node": ">= 6" 5511 + } 5512 + }, 5513 + "node_modules/onetime": { 5514 + "version": "7.0.0", 5515 + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", 5516 + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", 5517 + "dependencies": { 5518 + "mimic-function": "^5.0.0" 5519 + }, 5520 + "engines": { 5521 + "node": ">=18" 5522 + }, 5523 + "funding": { 5524 + "url": "https://github.com/sponsors/sindresorhus" 5525 + } 5526 + }, 5527 + "node_modules/oniguruma-to-js": { 5528 + "version": "0.4.3", 5529 + "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", 5530 + "integrity": "sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==", 5531 + "dependencies": { 5532 + "regex": "^4.3.2" 5533 + }, 5534 + "funding": { 5535 + "url": "https://github.com/sponsors/antfu" 5536 + } 5537 + }, 5538 + "node_modules/ora": { 5539 + "version": "8.1.0", 5540 + "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.0.tgz", 5541 + "integrity": "sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==", 5542 + "dependencies": { 5543 + "chalk": "^5.3.0", 5544 + "cli-cursor": "^5.0.0", 5545 + "cli-spinners": "^2.9.2", 5546 + "is-interactive": "^2.0.0", 5547 + "is-unicode-supported": "^2.0.0", 5548 + "log-symbols": "^6.0.0", 5549 + "stdin-discarder": "^0.2.2", 5550 + "string-width": "^7.2.0", 5551 + "strip-ansi": "^7.1.0" 5552 + }, 5553 + "engines": { 5554 + "node": ">=18" 5555 + }, 5556 + "funding": { 5557 + "url": "https://github.com/sponsors/sindresorhus" 5558 + } 5559 + }, 5560 + "node_modules/ora/node_modules/chalk": { 5561 + "version": "5.3.0", 5562 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 5563 + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 5564 + "engines": { 5565 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 5566 + }, 5567 + "funding": { 5568 + "url": "https://github.com/chalk/chalk?sponsor=1" 5569 + } 5570 + }, 5571 + "node_modules/p-limit": { 5572 + "version": "6.1.0", 5573 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", 5574 + "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", 5575 + "dependencies": { 5576 + "yocto-queue": "^1.1.1" 5577 + }, 5578 + "engines": { 5579 + "node": ">=18" 5580 + }, 5581 + "funding": { 5582 + "url": "https://github.com/sponsors/sindresorhus" 5583 + } 5584 + }, 5585 + "node_modules/p-locate": { 5586 + "version": "4.1.0", 5587 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 5588 + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 5589 + "dependencies": { 5590 + "p-limit": "^2.2.0" 5591 + }, 5592 + "engines": { 5593 + "node": ">=8" 5594 + } 5595 + }, 5596 + "node_modules/p-locate/node_modules/p-limit": { 5597 + "version": "2.3.0", 5598 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 5599 + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 5600 + "dependencies": { 5601 + "p-try": "^2.0.0" 5602 + }, 5603 + "engines": { 5604 + "node": ">=6" 5605 + }, 5606 + "funding": { 5607 + "url": "https://github.com/sponsors/sindresorhus" 5608 + } 5609 + }, 5610 + "node_modules/p-queue": { 5611 + "version": "8.0.1", 5612 + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", 5613 + "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", 5614 + "dependencies": { 5615 + "eventemitter3": "^5.0.1", 5616 + "p-timeout": "^6.1.2" 5617 + }, 5618 + "engines": { 5619 + "node": ">=18" 5620 + }, 5621 + "funding": { 5622 + "url": "https://github.com/sponsors/sindresorhus" 5623 + } 5624 + }, 5625 + "node_modules/p-timeout": { 5626 + "version": "6.1.3", 5627 + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", 5628 + "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==", 5629 + "engines": { 5630 + "node": ">=14.16" 5631 + }, 5632 + "funding": { 5633 + "url": "https://github.com/sponsors/sindresorhus" 5634 + } 5635 + }, 5636 + "node_modules/p-try": { 5637 + "version": "2.2.0", 5638 + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 5639 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 5640 + "engines": { 5641 + "node": ">=6" 5642 + } 5643 + }, 5644 + "node_modules/package-json-from-dist": { 5645 + "version": "1.0.1", 5646 + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 5647 + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" 5648 + }, 5649 + "node_modules/pagefind": { 5650 + "version": "1.1.1", 5651 + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.1.1.tgz", 5652 + "integrity": "sha512-U2YR0dQN5B2fbIXrLtt/UXNS0yWSSYfePaad1KcBPTi0p+zRtsVjwmoPaMQgTks5DnHNbmDxyJUL5TGaLljK3A==", 5653 + "dev": true, 5654 + "bin": { 5655 + "pagefind": "lib/runner/bin.cjs" 5656 + }, 5657 + "optionalDependencies": { 5658 + "@pagefind/darwin-arm64": "1.1.1", 5659 + "@pagefind/darwin-x64": "1.1.1", 5660 + "@pagefind/linux-arm64": "1.1.1", 5661 + "@pagefind/linux-x64": "1.1.1", 5662 + "@pagefind/windows-x64": "1.1.1" 5663 + } 5664 + }, 5665 + "node_modules/parse-entities": { 5666 + "version": "4.0.1", 5667 + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", 5668 + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", 5669 + "dependencies": { 5670 + "@types/unist": "^2.0.0", 5671 + "character-entities": "^2.0.0", 5672 + "character-entities-legacy": "^3.0.0", 5673 + "character-reference-invalid": "^2.0.0", 5674 + "decode-named-character-reference": "^1.0.0", 5675 + "is-alphanumerical": "^2.0.0", 5676 + "is-decimal": "^2.0.0", 5677 + "is-hexadecimal": "^2.0.0" 5678 + }, 5679 + "funding": { 5680 + "type": "github", 5681 + "url": "https://github.com/sponsors/wooorm" 5682 + } 5683 + }, 5684 + "node_modules/parse-entities/node_modules/@types/unist": { 5685 + "version": "2.0.11", 5686 + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", 5687 + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" 5688 + }, 5689 + "node_modules/parse-latin": { 5690 + "version": "7.0.0", 5691 + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", 5692 + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", 5693 + "dependencies": { 5694 + "@types/nlcst": "^2.0.0", 5695 + "@types/unist": "^3.0.0", 5696 + "nlcst-to-string": "^4.0.0", 5697 + "unist-util-modify-children": "^4.0.0", 5698 + "unist-util-visit-children": "^3.0.0", 5699 + "vfile": "^6.0.0" 5700 + }, 5701 + "funding": { 5702 + "type": "github", 5703 + "url": "https://github.com/sponsors/wooorm" 5704 + } 5705 + }, 5706 + "node_modules/parse5": { 5707 + "version": "7.2.0", 5708 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.0.tgz", 5709 + "integrity": "sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==", 5710 + "dependencies": { 5711 + "entities": "^4.5.0" 5712 + }, 5713 + "funding": { 5714 + "url": "https://github.com/inikulin/parse5?sponsor=1" 5715 + } 5716 + }, 5717 + "node_modules/pascal-case": { 5718 + "version": "3.1.2", 5719 + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 5720 + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 5721 + "dependencies": { 5722 + "no-case": "^3.0.4", 5723 + "tslib": "^2.0.3" 5724 + } 5725 + }, 5726 + "node_modules/path-browserify": { 5727 + "version": "1.0.1", 5728 + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 5729 + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" 5730 + }, 5731 + "node_modules/path-exists": { 5732 + "version": "4.0.0", 5733 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 5734 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 5735 + "engines": { 5736 + "node": ">=8" 5737 + } 5738 + }, 5739 + "node_modules/path-key": { 5740 + "version": "3.1.1", 5741 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 5742 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 5743 + "engines": { 5744 + "node": ">=8" 5745 + } 5746 + }, 5747 + "node_modules/path-parse": { 5748 + "version": "1.0.7", 5749 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 5750 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 5751 + }, 5752 + "node_modules/path-scurry": { 5753 + "version": "1.11.1", 5754 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 5755 + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 5756 + "dependencies": { 5757 + "lru-cache": "^10.2.0", 5758 + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 5759 + }, 5760 + "engines": { 5761 + "node": ">=16 || 14 >=14.18" 5762 + }, 5763 + "funding": { 5764 + "url": "https://github.com/sponsors/isaacs" 5765 + } 5766 + }, 5767 + "node_modules/path-scurry/node_modules/lru-cache": { 5768 + "version": "10.4.3", 5769 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 5770 + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" 5771 + }, 5772 + "node_modules/picocolors": { 5773 + "version": "1.1.1", 5774 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 5775 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" 5776 + }, 5777 + "node_modules/picomatch": { 5778 + "version": "4.0.2", 5779 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 5780 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 5781 + "engines": { 5782 + "node": ">=12" 5783 + }, 5784 + "funding": { 5785 + "url": "https://github.com/sponsors/jonschlinkert" 5786 + } 5787 + }, 5788 + "node_modules/pify": { 5789 + "version": "4.0.1", 5790 + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 5791 + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 5792 + "engines": { 5793 + "node": ">=6" 5794 + } 5795 + }, 5796 + "node_modules/pirates": { 5797 + "version": "4.0.6", 5798 + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 5799 + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 5800 + "engines": { 5801 + "node": ">= 6" 5802 + } 5803 + }, 5804 + "node_modules/pkg-dir": { 5805 + "version": "4.2.0", 5806 + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 5807 + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 5808 + "dependencies": { 5809 + "find-up": "^4.0.0" 5810 + }, 5811 + "engines": { 5812 + "node": ">=8" 5813 + } 5814 + }, 5815 + "node_modules/postcss": { 5816 + "version": "8.4.47", 5817 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", 5818 + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", 5819 + "funding": [ 5820 + { 5821 + "type": "opencollective", 5822 + "url": "https://opencollective.com/postcss/" 5823 + }, 5824 + { 5825 + "type": "tidelift", 5826 + "url": "https://tidelift.com/funding/github/npm/postcss" 5827 + }, 5828 + { 5829 + "type": "github", 5830 + "url": "https://github.com/sponsors/ai" 5831 + } 5832 + ], 5833 + "dependencies": { 5834 + "nanoid": "^3.3.7", 5835 + "picocolors": "^1.1.0", 5836 + "source-map-js": "^1.2.1" 5837 + }, 5838 + "engines": { 5839 + "node": "^10 || ^12 || >=14" 5840 + } 5841 + }, 5842 + "node_modules/postcss-import": { 5843 + "version": "15.1.0", 5844 + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 5845 + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 5846 + "dependencies": { 5847 + "postcss-value-parser": "^4.0.0", 5848 + "read-cache": "^1.0.0", 5849 + "resolve": "^1.1.7" 5850 + }, 5851 + "engines": { 5852 + "node": ">=14.0.0" 5853 + }, 5854 + "peerDependencies": { 5855 + "postcss": "^8.0.0" 5856 + } 5857 + }, 5858 + "node_modules/postcss-js": { 5859 + "version": "4.0.1", 5860 + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 5861 + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 5862 + "dependencies": { 5863 + "camelcase-css": "^2.0.1" 5864 + }, 5865 + "engines": { 5866 + "node": "^12 || ^14 || >= 16" 5867 + }, 5868 + "funding": { 5869 + "type": "opencollective", 5870 + "url": "https://opencollective.com/postcss/" 5871 + }, 5872 + "peerDependencies": { 5873 + "postcss": "^8.4.21" 5874 + } 5875 + }, 5876 + "node_modules/postcss-load-config": { 5877 + "version": "4.0.2", 5878 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 5879 + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 5880 + "funding": [ 5881 + { 5882 + "type": "opencollective", 5883 + "url": "https://opencollective.com/postcss/" 5884 + }, 5885 + { 5886 + "type": "github", 5887 + "url": "https://github.com/sponsors/ai" 5888 + } 5889 + ], 5890 + "dependencies": { 5891 + "lilconfig": "^3.0.0", 5892 + "yaml": "^2.3.4" 5893 + }, 5894 + "engines": { 5895 + "node": ">= 14" 5896 + }, 5897 + "peerDependencies": { 5898 + "postcss": ">=8.0.9", 5899 + "ts-node": ">=9.0.0" 5900 + }, 5901 + "peerDependenciesMeta": { 5902 + "postcss": { 5903 + "optional": true 5904 + }, 5905 + "ts-node": { 5906 + "optional": true 5907 + } 5908 + } 5909 + }, 5910 + "node_modules/postcss-nested": { 5911 + "version": "6.2.0", 5912 + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 5913 + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 5914 + "funding": [ 5915 + { 5916 + "type": "opencollective", 5917 + "url": "https://opencollective.com/postcss/" 5918 + }, 5919 + { 5920 + "type": "github", 5921 + "url": "https://github.com/sponsors/ai" 5922 + } 5923 + ], 5924 + "dependencies": { 5925 + "postcss-selector-parser": "^6.1.1" 5926 + }, 5927 + "engines": { 5928 + "node": ">=12.0" 5929 + }, 5930 + "peerDependencies": { 5931 + "postcss": "^8.2.14" 5932 + } 5933 + }, 5934 + "node_modules/postcss-selector-parser": { 5935 + "version": "6.1.2", 5936 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 5937 + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 5938 + "dependencies": { 5939 + "cssesc": "^3.0.0", 5940 + "util-deprecate": "^1.0.2" 5941 + }, 5942 + "engines": { 5943 + "node": ">=4" 5944 + } 5945 + }, 5946 + "node_modules/postcss-value-parser": { 5947 + "version": "4.2.0", 5948 + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 5949 + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 5950 + }, 5951 + "node_modules/preferred-pm": { 5952 + "version": "4.0.0", 5953 + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-4.0.0.tgz", 5954 + "integrity": "sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==", 5955 + "dependencies": { 5956 + "find-up-simple": "^1.0.0", 5957 + "find-yarn-workspace-root2": "1.2.16", 5958 + "which-pm": "^3.0.0" 5959 + }, 5960 + "engines": { 5961 + "node": ">=18.12" 5962 + } 5963 + }, 5964 + "node_modules/prettier": { 5965 + "version": "3.3.3", 5966 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", 5967 + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", 5968 + "optional": true, 5969 + "peer": true, 5970 + "bin": { 5971 + "prettier": "bin/prettier.cjs" 5972 + }, 5973 + "engines": { 5974 + "node": ">=14" 5975 + }, 5976 + "funding": { 5977 + "url": "https://github.com/prettier/prettier?sponsor=1" 5978 + } 5979 + }, 5980 + "node_modules/prismjs": { 5981 + "version": "1.29.0", 5982 + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", 5983 + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", 5984 + "engines": { 5985 + "node": ">=6" 5986 + } 5987 + }, 5988 + "node_modules/prompts": { 5989 + "version": "2.4.2", 5990 + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", 5991 + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", 5992 + "dependencies": { 5993 + "kleur": "^3.0.3", 5994 + "sisteransi": "^1.0.5" 5995 + }, 5996 + "engines": { 5997 + "node": ">= 6" 5998 + } 5999 + }, 6000 + "node_modules/prompts/node_modules/kleur": { 6001 + "version": "3.0.3", 6002 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 6003 + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 6004 + "engines": { 6005 + "node": ">=6" 6006 + } 6007 + }, 6008 + "node_modules/property-information": { 6009 + "version": "6.5.0", 6010 + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", 6011 + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", 6012 + "funding": { 6013 + "type": "github", 6014 + "url": "https://github.com/sponsors/wooorm" 6015 + } 6016 + }, 6017 + "node_modules/queue-microtask": { 6018 + "version": "1.2.3", 6019 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 6020 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 6021 + "funding": [ 6022 + { 6023 + "type": "github", 6024 + "url": "https://github.com/sponsors/feross" 6025 + }, 6026 + { 6027 + "type": "patreon", 6028 + "url": "https://www.patreon.com/feross" 6029 + }, 6030 + { 6031 + "type": "consulting", 6032 + "url": "https://feross.org/support" 6033 + } 6034 + ] 6035 + }, 6036 + "node_modules/read-cache": { 6037 + "version": "1.0.0", 6038 + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 6039 + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 6040 + "dependencies": { 6041 + "pify": "^2.3.0" 6042 + } 6043 + }, 6044 + "node_modules/read-cache/node_modules/pify": { 6045 + "version": "2.3.0", 6046 + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 6047 + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 6048 + "engines": { 6049 + "node": ">=0.10.0" 6050 + } 6051 + }, 6052 + "node_modules/readdirp": { 6053 + "version": "4.0.2", 6054 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", 6055 + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", 6056 + "engines": { 6057 + "node": ">= 14.16.0" 6058 + }, 6059 + "funding": { 6060 + "type": "individual", 6061 + "url": "https://paulmillr.com/funding/" 6062 + } 6063 + }, 6064 + "node_modules/recma-build-jsx": { 6065 + "version": "1.0.0", 6066 + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", 6067 + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", 6068 + "dependencies": { 6069 + "@types/estree": "^1.0.0", 6070 + "estree-util-build-jsx": "^3.0.0", 6071 + "vfile": "^6.0.0" 6072 + }, 6073 + "funding": { 6074 + "type": "opencollective", 6075 + "url": "https://opencollective.com/unified" 6076 + } 6077 + }, 6078 + "node_modules/recma-jsx": { 6079 + "version": "1.0.0", 6080 + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", 6081 + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", 6082 + "dependencies": { 6083 + "acorn-jsx": "^5.0.0", 6084 + "estree-util-to-js": "^2.0.0", 6085 + "recma-parse": "^1.0.0", 6086 + "recma-stringify": "^1.0.0", 6087 + "unified": "^11.0.0" 6088 + }, 6089 + "funding": { 6090 + "type": "opencollective", 6091 + "url": "https://opencollective.com/unified" 6092 + } 6093 + }, 6094 + "node_modules/recma-parse": { 6095 + "version": "1.0.0", 6096 + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", 6097 + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", 6098 + "dependencies": { 6099 + "@types/estree": "^1.0.0", 6100 + "esast-util-from-js": "^2.0.0", 6101 + "unified": "^11.0.0", 6102 + "vfile": "^6.0.0" 6103 + }, 6104 + "funding": { 6105 + "type": "opencollective", 6106 + "url": "https://opencollective.com/unified" 6107 + } 6108 + }, 6109 + "node_modules/recma-stringify": { 6110 + "version": "1.0.0", 6111 + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", 6112 + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", 6113 + "dependencies": { 6114 + "@types/estree": "^1.0.0", 6115 + "estree-util-to-js": "^2.0.0", 6116 + "unified": "^11.0.0", 6117 + "vfile": "^6.0.0" 6118 + }, 6119 + "funding": { 6120 + "type": "opencollective", 6121 + "url": "https://opencollective.com/unified" 6122 + } 6123 + }, 6124 + "node_modules/regex": { 6125 + "version": "4.3.3", 6126 + "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz", 6127 + "integrity": "sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==" 6128 + }, 6129 + "node_modules/rehype": { 6130 + "version": "13.0.2", 6131 + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", 6132 + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", 6133 + "dependencies": { 6134 + "@types/hast": "^3.0.0", 6135 + "rehype-parse": "^9.0.0", 6136 + "rehype-stringify": "^10.0.0", 6137 + "unified": "^11.0.0" 6138 + }, 6139 + "funding": { 6140 + "type": "opencollective", 6141 + "url": "https://opencollective.com/unified" 6142 + } 6143 + }, 6144 + "node_modules/rehype-parse": { 6145 + "version": "9.0.1", 6146 + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", 6147 + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", 6148 + "dependencies": { 6149 + "@types/hast": "^3.0.0", 6150 + "hast-util-from-html": "^2.0.0", 6151 + "unified": "^11.0.0" 6152 + }, 6153 + "funding": { 6154 + "type": "opencollective", 6155 + "url": "https://opencollective.com/unified" 6156 + } 6157 + }, 6158 + "node_modules/rehype-raw": { 6159 + "version": "7.0.0", 6160 + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", 6161 + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", 6162 + "dependencies": { 6163 + "@types/hast": "^3.0.0", 6164 + "hast-util-raw": "^9.0.0", 6165 + "vfile": "^6.0.0" 6166 + }, 6167 + "funding": { 6168 + "type": "opencollective", 6169 + "url": "https://opencollective.com/unified" 6170 + } 6171 + }, 6172 + "node_modules/rehype-recma": { 6173 + "version": "1.0.0", 6174 + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", 6175 + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", 6176 + "dependencies": { 6177 + "@types/estree": "^1.0.0", 6178 + "@types/hast": "^3.0.0", 6179 + "hast-util-to-estree": "^3.0.0" 6180 + }, 6181 + "funding": { 6182 + "type": "opencollective", 6183 + "url": "https://opencollective.com/unified" 6184 + } 6185 + }, 6186 + "node_modules/rehype-stringify": { 6187 + "version": "10.0.1", 6188 + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", 6189 + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", 6190 + "dependencies": { 6191 + "@types/hast": "^3.0.0", 6192 + "hast-util-to-html": "^9.0.0", 6193 + "unified": "^11.0.0" 6194 + }, 6195 + "funding": { 6196 + "type": "opencollective", 6197 + "url": "https://opencollective.com/unified" 6198 + } 6199 + }, 6200 + "node_modules/remark-gfm": { 6201 + "version": "4.0.0", 6202 + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", 6203 + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", 6204 + "dependencies": { 6205 + "@types/mdast": "^4.0.0", 6206 + "mdast-util-gfm": "^3.0.0", 6207 + "micromark-extension-gfm": "^3.0.0", 6208 + "remark-parse": "^11.0.0", 6209 + "remark-stringify": "^11.0.0", 6210 + "unified": "^11.0.0" 6211 + }, 6212 + "funding": { 6213 + "type": "opencollective", 6214 + "url": "https://opencollective.com/unified" 6215 + } 6216 + }, 6217 + "node_modules/remark-mdx": { 6218 + "version": "3.1.0", 6219 + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", 6220 + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", 6221 + "dependencies": { 6222 + "mdast-util-mdx": "^3.0.0", 6223 + "micromark-extension-mdxjs": "^3.0.0" 6224 + }, 6225 + "funding": { 6226 + "type": "opencollective", 6227 + "url": "https://opencollective.com/unified" 6228 + } 6229 + }, 6230 + "node_modules/remark-parse": { 6231 + "version": "11.0.0", 6232 + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", 6233 + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", 6234 + "dependencies": { 6235 + "@types/mdast": "^4.0.0", 6236 + "mdast-util-from-markdown": "^2.0.0", 6237 + "micromark-util-types": "^2.0.0", 6238 + "unified": "^11.0.0" 6239 + }, 6240 + "funding": { 6241 + "type": "opencollective", 6242 + "url": "https://opencollective.com/unified" 6243 + } 6244 + }, 6245 + "node_modules/remark-rehype": { 6246 + "version": "11.1.1", 6247 + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", 6248 + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", 6249 + "dependencies": { 6250 + "@types/hast": "^3.0.0", 6251 + "@types/mdast": "^4.0.0", 6252 + "mdast-util-to-hast": "^13.0.0", 6253 + "unified": "^11.0.0", 6254 + "vfile": "^6.0.0" 6255 + }, 6256 + "funding": { 6257 + "type": "opencollective", 6258 + "url": "https://opencollective.com/unified" 6259 + } 6260 + }, 6261 + "node_modules/remark-smartypants": { 6262 + "version": "3.0.2", 6263 + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", 6264 + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", 6265 + "dependencies": { 6266 + "retext": "^9.0.0", 6267 + "retext-smartypants": "^6.0.0", 6268 + "unified": "^11.0.4", 6269 + "unist-util-visit": "^5.0.0" 6270 + }, 6271 + "engines": { 6272 + "node": ">=16.0.0" 6273 + } 6274 + }, 6275 + "node_modules/remark-stringify": { 6276 + "version": "11.0.0", 6277 + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", 6278 + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", 6279 + "dependencies": { 6280 + "@types/mdast": "^4.0.0", 6281 + "mdast-util-to-markdown": "^2.0.0", 6282 + "unified": "^11.0.0" 6283 + }, 6284 + "funding": { 6285 + "type": "opencollective", 6286 + "url": "https://opencollective.com/unified" 6287 + } 6288 + }, 6289 + "node_modules/request-light": { 6290 + "version": "0.7.0", 6291 + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", 6292 + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" 6293 + }, 6294 + "node_modules/require-directory": { 6295 + "version": "2.1.1", 6296 + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 6297 + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 6298 + "engines": { 6299 + "node": ">=0.10.0" 6300 + } 6301 + }, 6302 + "node_modules/require-from-string": { 6303 + "version": "2.0.2", 6304 + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 6305 + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 6306 + "engines": { 6307 + "node": ">=0.10.0" 6308 + } 6309 + }, 6310 + "node_modules/resolve": { 6311 + "version": "1.22.8", 6312 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 6313 + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 6314 + "dependencies": { 6315 + "is-core-module": "^2.13.0", 6316 + "path-parse": "^1.0.7", 6317 + "supports-preserve-symlinks-flag": "^1.0.0" 6318 + }, 6319 + "bin": { 6320 + "resolve": "bin/resolve" 6321 + }, 6322 + "funding": { 6323 + "url": "https://github.com/sponsors/ljharb" 6324 + } 6325 + }, 6326 + "node_modules/restore-cursor": { 6327 + "version": "5.1.0", 6328 + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", 6329 + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", 6330 + "dependencies": { 6331 + "onetime": "^7.0.0", 6332 + "signal-exit": "^4.1.0" 6333 + }, 6334 + "engines": { 6335 + "node": ">=18" 6336 + }, 6337 + "funding": { 6338 + "url": "https://github.com/sponsors/sindresorhus" 6339 + } 6340 + }, 6341 + "node_modules/retext": { 6342 + "version": "9.0.0", 6343 + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", 6344 + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", 6345 + "dependencies": { 6346 + "@types/nlcst": "^2.0.0", 6347 + "retext-latin": "^4.0.0", 6348 + "retext-stringify": "^4.0.0", 6349 + "unified": "^11.0.0" 6350 + }, 6351 + "funding": { 6352 + "type": "opencollective", 6353 + "url": "https://opencollective.com/unified" 6354 + } 6355 + }, 6356 + "node_modules/retext-latin": { 6357 + "version": "4.0.0", 6358 + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", 6359 + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", 6360 + "dependencies": { 6361 + "@types/nlcst": "^2.0.0", 6362 + "parse-latin": "^7.0.0", 6363 + "unified": "^11.0.0" 6364 + }, 6365 + "funding": { 6366 + "type": "opencollective", 6367 + "url": "https://opencollective.com/unified" 6368 + } 6369 + }, 6370 + "node_modules/retext-smartypants": { 6371 + "version": "6.2.0", 6372 + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", 6373 + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", 6374 + "dependencies": { 6375 + "@types/nlcst": "^2.0.0", 6376 + "nlcst-to-string": "^4.0.0", 6377 + "unist-util-visit": "^5.0.0" 6378 + }, 6379 + "funding": { 6380 + "type": "opencollective", 6381 + "url": "https://opencollective.com/unified" 6382 + } 6383 + }, 6384 + "node_modules/retext-stringify": { 6385 + "version": "4.0.0", 6386 + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", 6387 + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", 6388 + "dependencies": { 6389 + "@types/nlcst": "^2.0.0", 6390 + "nlcst-to-string": "^4.0.0", 6391 + "unified": "^11.0.0" 6392 + }, 6393 + "funding": { 6394 + "type": "opencollective", 6395 + "url": "https://opencollective.com/unified" 6396 + } 6397 + }, 6398 + "node_modules/reusify": { 6399 + "version": "1.0.4", 6400 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 6401 + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 6402 + "engines": { 6403 + "iojs": ">=1.0.0", 6404 + "node": ">=0.10.0" 6405 + } 6406 + }, 6407 + "node_modules/rollup": { 6408 + "version": "4.24.0", 6409 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", 6410 + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", 6411 + "dependencies": { 6412 + "@types/estree": "1.0.6" 6413 + }, 6414 + "bin": { 6415 + "rollup": "dist/bin/rollup" 6416 + }, 6417 + "engines": { 6418 + "node": ">=18.0.0", 6419 + "npm": ">=8.0.0" 6420 + }, 6421 + "optionalDependencies": { 6422 + "@rollup/rollup-android-arm-eabi": "4.24.0", 6423 + "@rollup/rollup-android-arm64": "4.24.0", 6424 + "@rollup/rollup-darwin-arm64": "4.24.0", 6425 + "@rollup/rollup-darwin-x64": "4.24.0", 6426 + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", 6427 + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", 6428 + "@rollup/rollup-linux-arm64-gnu": "4.24.0", 6429 + "@rollup/rollup-linux-arm64-musl": "4.24.0", 6430 + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", 6431 + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", 6432 + "@rollup/rollup-linux-s390x-gnu": "4.24.0", 6433 + "@rollup/rollup-linux-x64-gnu": "4.24.0", 6434 + "@rollup/rollup-linux-x64-musl": "4.24.0", 6435 + "@rollup/rollup-win32-arm64-msvc": "4.24.0", 6436 + "@rollup/rollup-win32-ia32-msvc": "4.24.0", 6437 + "@rollup/rollup-win32-x64-msvc": "4.24.0", 6438 + "fsevents": "~2.3.2" 6439 + } 6440 + }, 6441 + "node_modules/run-parallel": { 6442 + "version": "1.2.0", 6443 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 6444 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 6445 + "funding": [ 6446 + { 6447 + "type": "github", 6448 + "url": "https://github.com/sponsors/feross" 6449 + }, 6450 + { 6451 + "type": "patreon", 6452 + "url": "https://www.patreon.com/feross" 6453 + }, 6454 + { 6455 + "type": "consulting", 6456 + "url": "https://feross.org/support" 6457 + } 6458 + ], 6459 + "dependencies": { 6460 + "queue-microtask": "^1.2.2" 6461 + } 6462 + }, 6463 + "node_modules/sax": { 6464 + "version": "1.4.1", 6465 + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", 6466 + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" 6467 + }, 6468 + "node_modules/section-matter": { 6469 + "version": "1.0.0", 6470 + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", 6471 + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", 6472 + "dependencies": { 6473 + "extend-shallow": "^2.0.1", 6474 + "kind-of": "^6.0.0" 6475 + }, 6476 + "engines": { 6477 + "node": ">=4" 6478 + } 6479 + }, 6480 + "node_modules/semver": { 6481 + "version": "7.6.3", 6482 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 6483 + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 6484 + "bin": { 6485 + "semver": "bin/semver.js" 6486 + }, 6487 + "engines": { 6488 + "node": ">=10" 6489 + } 6490 + }, 6491 + "node_modules/sharp": { 6492 + "version": "0.33.5", 6493 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", 6494 + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", 6495 + "hasInstallScript": true, 6496 + "optional": true, 6497 + "dependencies": { 6498 + "color": "^4.2.3", 6499 + "detect-libc": "^2.0.3", 6500 + "semver": "^7.6.3" 6501 + }, 6502 + "engines": { 6503 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 6504 + }, 6505 + "funding": { 6506 + "url": "https://opencollective.com/libvips" 6507 + }, 6508 + "optionalDependencies": { 6509 + "@img/sharp-darwin-arm64": "0.33.5", 6510 + "@img/sharp-darwin-x64": "0.33.5", 6511 + "@img/sharp-libvips-darwin-arm64": "1.0.4", 6512 + "@img/sharp-libvips-darwin-x64": "1.0.4", 6513 + "@img/sharp-libvips-linux-arm": "1.0.5", 6514 + "@img/sharp-libvips-linux-arm64": "1.0.4", 6515 + "@img/sharp-libvips-linux-s390x": "1.0.4", 6516 + "@img/sharp-libvips-linux-x64": "1.0.4", 6517 + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", 6518 + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", 6519 + "@img/sharp-linux-arm": "0.33.5", 6520 + "@img/sharp-linux-arm64": "0.33.5", 6521 + "@img/sharp-linux-s390x": "0.33.5", 6522 + "@img/sharp-linux-x64": "0.33.5", 6523 + "@img/sharp-linuxmusl-arm64": "0.33.5", 6524 + "@img/sharp-linuxmusl-x64": "0.33.5", 6525 + "@img/sharp-wasm32": "0.33.5", 6526 + "@img/sharp-win32-ia32": "0.33.5", 6527 + "@img/sharp-win32-x64": "0.33.5" 6528 + } 6529 + }, 6530 + "node_modules/shebang-command": { 6531 + "version": "2.0.0", 6532 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 6533 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 6534 + "dependencies": { 6535 + "shebang-regex": "^3.0.0" 6536 + }, 6537 + "engines": { 6538 + "node": ">=8" 6539 + } 6540 + }, 6541 + "node_modules/shebang-regex": { 6542 + "version": "3.0.0", 6543 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 6544 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 6545 + "engines": { 6546 + "node": ">=8" 6547 + } 6548 + }, 6549 + "node_modules/shiki": { 6550 + "version": "1.22.1", 6551 + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.22.1.tgz", 6552 + "integrity": "sha512-PbJ6XxrWLMwB2rm3qdjIHNm3zq4SfFnOx0B3rEoi4AN8AUngsdyZ1tRe5slMPtn6jQkbUURLNZPpLR7Do3k78g==", 6553 + "dependencies": { 6554 + "@shikijs/core": "1.22.1", 6555 + "@shikijs/engine-javascript": "1.22.1", 6556 + "@shikijs/engine-oniguruma": "1.22.1", 6557 + "@shikijs/types": "1.22.1", 6558 + "@shikijs/vscode-textmate": "^9.3.0", 6559 + "@types/hast": "^3.0.4" 6560 + } 6561 + }, 6562 + "node_modules/signal-exit": { 6563 + "version": "4.1.0", 6564 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 6565 + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 6566 + "engines": { 6567 + "node": ">=14" 6568 + }, 6569 + "funding": { 6570 + "url": "https://github.com/sponsors/isaacs" 6571 + } 6572 + }, 6573 + "node_modules/simple-swizzle": { 6574 + "version": "0.2.2", 6575 + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 6576 + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 6577 + "optional": true, 6578 + "dependencies": { 6579 + "is-arrayish": "^0.3.1" 6580 + } 6581 + }, 6582 + "node_modules/sisteransi": { 6583 + "version": "1.0.5", 6584 + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 6585 + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" 6586 + }, 6587 + "node_modules/sitemap": { 6588 + "version": "8.0.0", 6589 + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.0.tgz", 6590 + "integrity": "sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==", 6591 + "dependencies": { 6592 + "@types/node": "^17.0.5", 6593 + "@types/sax": "^1.2.1", 6594 + "arg": "^5.0.0", 6595 + "sax": "^1.2.4" 6596 + }, 6597 + "bin": { 6598 + "sitemap": "dist/cli.js" 6599 + }, 6600 + "engines": { 6601 + "node": ">=14.0.0", 6602 + "npm": ">=6.0.0" 6603 + } 6604 + }, 6605 + "node_modules/sitemap/node_modules/@types/node": { 6606 + "version": "17.0.45", 6607 + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", 6608 + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" 6609 + }, 6610 + "node_modules/source-map": { 6611 + "version": "0.7.4", 6612 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", 6613 + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", 6614 + "engines": { 6615 + "node": ">= 8" 6616 + } 6617 + }, 6618 + "node_modules/source-map-js": { 6619 + "version": "1.2.1", 6620 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 6621 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 6622 + "engines": { 6623 + "node": ">=0.10.0" 6624 + } 6625 + }, 6626 + "node_modules/space-separated-tokens": { 6627 + "version": "2.0.2", 6628 + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", 6629 + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", 6630 + "funding": { 6631 + "type": "github", 6632 + "url": "https://github.com/sponsors/wooorm" 6633 + } 6634 + }, 6635 + "node_modules/sprintf-js": { 6636 + "version": "1.0.3", 6637 + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 6638 + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" 6639 + }, 6640 + "node_modules/stdin-discarder": { 6641 + "version": "0.2.2", 6642 + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", 6643 + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", 6644 + "engines": { 6645 + "node": ">=18" 6646 + }, 6647 + "funding": { 6648 + "url": "https://github.com/sponsors/sindresorhus" 6649 + } 6650 + }, 6651 + "node_modules/stream-replace-string": { 6652 + "version": "2.0.0", 6653 + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", 6654 + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==" 6655 + }, 6656 + "node_modules/string-width": { 6657 + "version": "7.2.0", 6658 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", 6659 + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", 6660 + "dependencies": { 6661 + "emoji-regex": "^10.3.0", 6662 + "get-east-asian-width": "^1.0.0", 6663 + "strip-ansi": "^7.1.0" 6664 + }, 6665 + "engines": { 6666 + "node": ">=18" 6667 + }, 6668 + "funding": { 6669 + "url": "https://github.com/sponsors/sindresorhus" 6670 + } 6671 + }, 6672 + "node_modules/string-width-cjs": { 6673 + "name": "string-width", 6674 + "version": "4.2.3", 6675 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 6676 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 6677 + "dependencies": { 6678 + "emoji-regex": "^8.0.0", 6679 + "is-fullwidth-code-point": "^3.0.0", 6680 + "strip-ansi": "^6.0.1" 6681 + }, 6682 + "engines": { 6683 + "node": ">=8" 6684 + } 6685 + }, 6686 + "node_modules/string-width-cjs/node_modules/ansi-regex": { 6687 + "version": "5.0.1", 6688 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6689 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6690 + "engines": { 6691 + "node": ">=8" 6692 + } 6693 + }, 6694 + "node_modules/string-width-cjs/node_modules/emoji-regex": { 6695 + "version": "8.0.0", 6696 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 6697 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 6698 + }, 6699 + "node_modules/string-width-cjs/node_modules/strip-ansi": { 6700 + "version": "6.0.1", 6701 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6702 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6703 + "dependencies": { 6704 + "ansi-regex": "^5.0.1" 6705 + }, 6706 + "engines": { 6707 + "node": ">=8" 6708 + } 6709 + }, 6710 + "node_modules/stringify-entities": { 6711 + "version": "4.0.4", 6712 + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", 6713 + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", 6714 + "dependencies": { 6715 + "character-entities-html4": "^2.0.0", 6716 + "character-entities-legacy": "^3.0.0" 6717 + }, 6718 + "funding": { 6719 + "type": "github", 6720 + "url": "https://github.com/sponsors/wooorm" 6721 + } 6722 + }, 6723 + "node_modules/strip-ansi": { 6724 + "version": "7.1.0", 6725 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 6726 + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 6727 + "dependencies": { 6728 + "ansi-regex": "^6.0.1" 6729 + }, 6730 + "engines": { 6731 + "node": ">=12" 6732 + }, 6733 + "funding": { 6734 + "url": "https://github.com/chalk/strip-ansi?sponsor=1" 6735 + } 6736 + }, 6737 + "node_modules/strip-ansi-cjs": { 6738 + "name": "strip-ansi", 6739 + "version": "6.0.1", 6740 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6741 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6742 + "dependencies": { 6743 + "ansi-regex": "^5.0.1" 6744 + }, 6745 + "engines": { 6746 + "node": ">=8" 6747 + } 6748 + }, 6749 + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 6750 + "version": "5.0.1", 6751 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6752 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6753 + "engines": { 6754 + "node": ">=8" 6755 + } 6756 + }, 6757 + "node_modules/strip-bom": { 6758 + "version": "3.0.0", 6759 + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 6760 + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 6761 + "engines": { 6762 + "node": ">=4" 6763 + } 6764 + }, 6765 + "node_modules/strip-bom-string": { 6766 + "version": "1.0.0", 6767 + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", 6768 + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", 6769 + "engines": { 6770 + "node": ">=0.10.0" 6771 + } 6772 + }, 6773 + "node_modules/strnum": { 6774 + "version": "1.0.5", 6775 + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 6776 + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 6777 + }, 6778 + "node_modules/style-to-object": { 6779 + "version": "1.0.8", 6780 + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", 6781 + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", 6782 + "dependencies": { 6783 + "inline-style-parser": "0.2.4" 6784 + } 6785 + }, 6786 + "node_modules/sucrase": { 6787 + "version": "3.35.0", 6788 + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 6789 + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 6790 + "dependencies": { 6791 + "@jridgewell/gen-mapping": "^0.3.2", 6792 + "commander": "^4.0.0", 6793 + "glob": "^10.3.10", 6794 + "lines-and-columns": "^1.1.6", 6795 + "mz": "^2.7.0", 6796 + "pirates": "^4.0.1", 6797 + "ts-interface-checker": "^0.1.9" 6798 + }, 6799 + "bin": { 6800 + "sucrase": "bin/sucrase", 6801 + "sucrase-node": "bin/sucrase-node" 6802 + }, 6803 + "engines": { 6804 + "node": ">=16 || 14 >=14.17" 6805 + } 6806 + }, 6807 + "node_modules/supports-color": { 6808 + "version": "5.5.0", 6809 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 6810 + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 6811 + "dependencies": { 6812 + "has-flag": "^3.0.0" 6813 + }, 6814 + "engines": { 6815 + "node": ">=4" 6816 + } 6817 + }, 6818 + "node_modules/supports-preserve-symlinks-flag": { 6819 + "version": "1.0.0", 6820 + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 6821 + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 6822 + "engines": { 6823 + "node": ">= 0.4" 6824 + }, 6825 + "funding": { 6826 + "url": "https://github.com/sponsors/ljharb" 6827 + } 6828 + }, 6829 + "node_modules/svelte": { 6830 + "version": "5.1.1", 6831 + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.1.1.tgz", 6832 + "integrity": "sha512-JiUZpRawsXuxrkOQWdmO6jPiCXPwQd/5gImDj3d2u3+pys5x5LnFIyLuDw1f8S4etBM5YDoYKDHRJQRmbXdZcg==", 6833 + "dependencies": { 6834 + "@ampproject/remapping": "^2.3.0", 6835 + "@jridgewell/sourcemap-codec": "^1.5.0", 6836 + "@types/estree": "^1.0.5", 6837 + "acorn": "^8.12.1", 6838 + "acorn-typescript": "^1.4.13", 6839 + "aria-query": "^5.3.1", 6840 + "axobject-query": "^4.1.0", 6841 + "esm-env": "^1.0.0", 6842 + "esrap": "^1.2.2", 6843 + "is-reference": "^3.0.2", 6844 + "locate-character": "^3.0.0", 6845 + "magic-string": "^0.30.11", 6846 + "zimmerframe": "^1.1.2" 6847 + }, 6848 + "engines": { 6849 + "node": ">=18" 6850 + } 6851 + }, 6852 + "node_modules/svelte2tsx": { 6853 + "version": "0.7.22", 6854 + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.22.tgz", 6855 + "integrity": "sha512-hf55ujq17ufVpDQlJzaQfRr9EjlLIwGmFlpKq4uYrQAQFw/99q1OcVYyBT6568iJySgBUY9PdccURrORmfetmQ==", 6856 + "dependencies": { 6857 + "dedent-js": "^1.0.1", 6858 + "pascal-case": "^3.1.1" 6859 + }, 6860 + "peerDependencies": { 6861 + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", 6862 + "typescript": "^4.9.4 || ^5.0.0" 6863 + } 6864 + }, 6865 + "node_modules/tailwindcss": { 6866 + "version": "3.4.14", 6867 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", 6868 + "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", 6869 + "dependencies": { 6870 + "@alloc/quick-lru": "^5.2.0", 6871 + "arg": "^5.0.2", 6872 + "chokidar": "^3.5.3", 6873 + "didyoumean": "^1.2.2", 6874 + "dlv": "^1.1.3", 6875 + "fast-glob": "^3.3.0", 6876 + "glob-parent": "^6.0.2", 6877 + "is-glob": "^4.0.3", 6878 + "jiti": "^1.21.0", 6879 + "lilconfig": "^2.1.0", 6880 + "micromatch": "^4.0.5", 6881 + "normalize-path": "^3.0.0", 6882 + "object-hash": "^3.0.0", 6883 + "picocolors": "^1.0.0", 6884 + "postcss": "^8.4.23", 6885 + "postcss-import": "^15.1.0", 6886 + "postcss-js": "^4.0.1", 6887 + "postcss-load-config": "^4.0.1", 6888 + "postcss-nested": "^6.0.1", 6889 + "postcss-selector-parser": "^6.0.11", 6890 + "resolve": "^1.22.2", 6891 + "sucrase": "^3.32.0" 6892 + }, 6893 + "bin": { 6894 + "tailwind": "lib/cli.js", 6895 + "tailwindcss": "lib/cli.js" 6896 + }, 6897 + "engines": { 6898 + "node": ">=14.0.0" 6899 + } 6900 + }, 6901 + "node_modules/tailwindcss/node_modules/chokidar": { 6902 + "version": "3.6.0", 6903 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 6904 + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 6905 + "dependencies": { 6906 + "anymatch": "~3.1.2", 6907 + "braces": "~3.0.2", 6908 + "glob-parent": "~5.1.2", 6909 + "is-binary-path": "~2.1.0", 6910 + "is-glob": "~4.0.1", 6911 + "normalize-path": "~3.0.0", 6912 + "readdirp": "~3.6.0" 6913 + }, 6914 + "engines": { 6915 + "node": ">= 8.10.0" 6916 + }, 6917 + "funding": { 6918 + "url": "https://paulmillr.com/funding/" 6919 + }, 6920 + "optionalDependencies": { 6921 + "fsevents": "~2.3.2" 6922 + } 6923 + }, 6924 + "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { 6925 + "version": "5.1.2", 6926 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 6927 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 6928 + "dependencies": { 6929 + "is-glob": "^4.0.1" 6930 + }, 6931 + "engines": { 6932 + "node": ">= 6" 6933 + } 6934 + }, 6935 + "node_modules/tailwindcss/node_modules/glob-parent": { 6936 + "version": "6.0.2", 6937 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 6938 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 6939 + "dependencies": { 6940 + "is-glob": "^4.0.3" 6941 + }, 6942 + "engines": { 6943 + "node": ">=10.13.0" 6944 + } 6945 + }, 6946 + "node_modules/tailwindcss/node_modules/lilconfig": { 6947 + "version": "2.1.0", 6948 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 6949 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 6950 + "engines": { 6951 + "node": ">=10" 6952 + } 6953 + }, 6954 + "node_modules/tailwindcss/node_modules/picomatch": { 6955 + "version": "2.3.1", 6956 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 6957 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 6958 + "engines": { 6959 + "node": ">=8.6" 6960 + }, 6961 + "funding": { 6962 + "url": "https://github.com/sponsors/jonschlinkert" 6963 + } 6964 + }, 6965 + "node_modules/tailwindcss/node_modules/readdirp": { 6966 + "version": "3.6.0", 6967 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 6968 + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 6969 + "dependencies": { 6970 + "picomatch": "^2.2.1" 6971 + }, 6972 + "engines": { 6973 + "node": ">=8.10.0" 6974 + } 6975 + }, 6976 + "node_modules/thenify": { 6977 + "version": "3.3.1", 6978 + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 6979 + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 6980 + "dependencies": { 6981 + "any-promise": "^1.0.0" 6982 + } 6983 + }, 6984 + "node_modules/thenify-all": { 6985 + "version": "1.6.0", 6986 + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 6987 + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 6988 + "dependencies": { 6989 + "thenify": ">= 3.1.0 < 4" 6990 + }, 6991 + "engines": { 6992 + "node": ">=0.8" 6993 + } 6994 + }, 6995 + "node_modules/tinyexec": { 6996 + "version": "0.3.1", 6997 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", 6998 + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==" 6999 + }, 7000 + "node_modules/to-regex-range": { 7001 + "version": "5.0.1", 7002 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 7003 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 7004 + "dependencies": { 7005 + "is-number": "^7.0.0" 7006 + }, 7007 + "engines": { 7008 + "node": ">=8.0" 7009 + } 7010 + }, 7011 + "node_modules/trim-lines": { 7012 + "version": "3.0.1", 7013 + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", 7014 + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", 7015 + "funding": { 7016 + "type": "github", 7017 + "url": "https://github.com/sponsors/wooorm" 7018 + } 7019 + }, 7020 + "node_modules/trough": { 7021 + "version": "2.2.0", 7022 + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", 7023 + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", 7024 + "funding": { 7025 + "type": "github", 7026 + "url": "https://github.com/sponsors/wooorm" 7027 + } 7028 + }, 7029 + "node_modules/ts-interface-checker": { 7030 + "version": "0.1.13", 7031 + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 7032 + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" 7033 + }, 7034 + "node_modules/tsconfck": { 7035 + "version": "3.1.4", 7036 + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.4.tgz", 7037 + "integrity": "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==", 7038 + "bin": { 7039 + "tsconfck": "bin/tsconfck.js" 7040 + }, 7041 + "engines": { 7042 + "node": "^18 || >=20" 7043 + }, 7044 + "peerDependencies": { 7045 + "typescript": "^5.0.0" 7046 + }, 7047 + "peerDependenciesMeta": { 7048 + "typescript": { 7049 + "optional": true 7050 + } 7051 + } 7052 + }, 7053 + "node_modules/tslib": { 7054 + "version": "2.8.0", 7055 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", 7056 + "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==" 7057 + }, 7058 + "node_modules/type-fest": { 7059 + "version": "4.26.1", 7060 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", 7061 + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", 7062 + "engines": { 7063 + "node": ">=16" 7064 + }, 7065 + "funding": { 7066 + "url": "https://github.com/sponsors/sindresorhus" 7067 + } 7068 + }, 7069 + "node_modules/typesafe-path": { 7070 + "version": "0.2.2", 7071 + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", 7072 + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==" 7073 + }, 7074 + "node_modules/typescript": { 7075 + "version": "5.6.3", 7076 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", 7077 + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", 7078 + "bin": { 7079 + "tsc": "bin/tsc", 7080 + "tsserver": "bin/tsserver" 7081 + }, 7082 + "engines": { 7083 + "node": ">=14.17" 7084 + } 7085 + }, 7086 + "node_modules/typescript-auto-import-cache": { 7087 + "version": "0.3.4", 7088 + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.4.tgz", 7089 + "integrity": "sha512-ztlGq1CB0TX9wKv3DJPRBiT5GJf0Gio1bRzcXElEZMjW1VlyZifiZqk6No3OS1XwNBx+n74dSbH2Bjy+5fN5Xw==", 7090 + "dependencies": { 7091 + "semver": "^7.3.8" 7092 + } 7093 + }, 7094 + "node_modules/undici-types": { 7095 + "version": "6.19.8", 7096 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 7097 + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" 7098 + }, 7099 + "node_modules/unified": { 7100 + "version": "11.0.5", 7101 + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", 7102 + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", 7103 + "dependencies": { 7104 + "@types/unist": "^3.0.0", 7105 + "bail": "^2.0.0", 7106 + "devlop": "^1.0.0", 7107 + "extend": "^3.0.0", 7108 + "is-plain-obj": "^4.0.0", 7109 + "trough": "^2.0.0", 7110 + "vfile": "^6.0.0" 7111 + }, 7112 + "funding": { 7113 + "type": "opencollective", 7114 + "url": "https://opencollective.com/unified" 7115 + } 7116 + }, 7117 + "node_modules/unist-util-find-after": { 7118 + "version": "5.0.0", 7119 + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", 7120 + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", 7121 + "dependencies": { 7122 + "@types/unist": "^3.0.0", 7123 + "unist-util-is": "^6.0.0" 7124 + }, 7125 + "funding": { 7126 + "type": "opencollective", 7127 + "url": "https://opencollective.com/unified" 7128 + } 7129 + }, 7130 + "node_modules/unist-util-is": { 7131 + "version": "6.0.0", 7132 + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", 7133 + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", 7134 + "dependencies": { 7135 + "@types/unist": "^3.0.0" 7136 + }, 7137 + "funding": { 7138 + "type": "opencollective", 7139 + "url": "https://opencollective.com/unified" 7140 + } 7141 + }, 7142 + "node_modules/unist-util-modify-children": { 7143 + "version": "4.0.0", 7144 + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", 7145 + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", 7146 + "dependencies": { 7147 + "@types/unist": "^3.0.0", 7148 + "array-iterate": "^2.0.0" 7149 + }, 7150 + "funding": { 7151 + "type": "opencollective", 7152 + "url": "https://opencollective.com/unified" 7153 + } 7154 + }, 7155 + "node_modules/unist-util-position": { 7156 + "version": "5.0.0", 7157 + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", 7158 + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", 7159 + "dependencies": { 7160 + "@types/unist": "^3.0.0" 7161 + }, 7162 + "funding": { 7163 + "type": "opencollective", 7164 + "url": "https://opencollective.com/unified" 7165 + } 7166 + }, 7167 + "node_modules/unist-util-position-from-estree": { 7168 + "version": "2.0.0", 7169 + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", 7170 + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", 7171 + "dependencies": { 7172 + "@types/unist": "^3.0.0" 7173 + }, 7174 + "funding": { 7175 + "type": "opencollective", 7176 + "url": "https://opencollective.com/unified" 7177 + } 7178 + }, 7179 + "node_modules/unist-util-remove-position": { 7180 + "version": "5.0.0", 7181 + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", 7182 + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", 7183 + "dependencies": { 7184 + "@types/unist": "^3.0.0", 7185 + "unist-util-visit": "^5.0.0" 7186 + }, 7187 + "funding": { 7188 + "type": "opencollective", 7189 + "url": "https://opencollective.com/unified" 7190 + } 7191 + }, 7192 + "node_modules/unist-util-stringify-position": { 7193 + "version": "4.0.0", 7194 + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", 7195 + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", 7196 + "dependencies": { 7197 + "@types/unist": "^3.0.0" 7198 + }, 7199 + "funding": { 7200 + "type": "opencollective", 7201 + "url": "https://opencollective.com/unified" 7202 + } 7203 + }, 7204 + "node_modules/unist-util-visit": { 7205 + "version": "5.0.0", 7206 + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", 7207 + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", 7208 + "dependencies": { 7209 + "@types/unist": "^3.0.0", 7210 + "unist-util-is": "^6.0.0", 7211 + "unist-util-visit-parents": "^6.0.0" 7212 + }, 7213 + "funding": { 7214 + "type": "opencollective", 7215 + "url": "https://opencollective.com/unified" 7216 + } 7217 + }, 7218 + "node_modules/unist-util-visit-children": { 7219 + "version": "3.0.0", 7220 + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", 7221 + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", 7222 + "dependencies": { 7223 + "@types/unist": "^3.0.0" 7224 + }, 7225 + "funding": { 7226 + "type": "opencollective", 7227 + "url": "https://opencollective.com/unified" 7228 + } 7229 + }, 7230 + "node_modules/unist-util-visit-parents": { 7231 + "version": "6.0.1", 7232 + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", 7233 + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", 7234 + "dependencies": { 7235 + "@types/unist": "^3.0.0", 7236 + "unist-util-is": "^6.0.0" 7237 + }, 7238 + "funding": { 7239 + "type": "opencollective", 7240 + "url": "https://opencollective.com/unified" 7241 + } 7242 + }, 7243 + "node_modules/update-browserslist-db": { 7244 + "version": "1.1.1", 7245 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", 7246 + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", 7247 + "funding": [ 7248 + { 7249 + "type": "opencollective", 7250 + "url": "https://opencollective.com/browserslist" 7251 + }, 7252 + { 7253 + "type": "tidelift", 7254 + "url": "https://tidelift.com/funding/github/npm/browserslist" 7255 + }, 7256 + { 7257 + "type": "github", 7258 + "url": "https://github.com/sponsors/ai" 7259 + } 7260 + ], 7261 + "dependencies": { 7262 + "escalade": "^3.2.0", 7263 + "picocolors": "^1.1.0" 7264 + }, 7265 + "bin": { 7266 + "update-browserslist-db": "cli.js" 7267 + }, 7268 + "peerDependencies": { 7269 + "browserslist": ">= 4.21.0" 7270 + } 7271 + }, 7272 + "node_modules/util-deprecate": { 7273 + "version": "1.0.2", 7274 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 7275 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 7276 + }, 7277 + "node_modules/valibot": { 7278 + "version": "0.31.0-rc.4", 7279 + "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.31.0-rc.4.tgz", 7280 + "integrity": "sha512-2wKEnWVey4+JBVCrSF8nlITg2gMDqAuBoIplMpc5bIpQaeDR9wnrI/fudBooKlIW1EZpIMlWy8Ku2gtF/1uK9g==", 7281 + "dev": true 7282 + }, 7283 + "node_modules/vfile": { 7284 + "version": "6.0.3", 7285 + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", 7286 + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", 7287 + "dependencies": { 7288 + "@types/unist": "^3.0.0", 7289 + "vfile-message": "^4.0.0" 7290 + }, 7291 + "funding": { 7292 + "type": "opencollective", 7293 + "url": "https://opencollective.com/unified" 7294 + } 7295 + }, 7296 + "node_modules/vfile-location": { 7297 + "version": "5.0.3", 7298 + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", 7299 + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", 7300 + "dependencies": { 7301 + "@types/unist": "^3.0.0", 7302 + "vfile": "^6.0.0" 7303 + }, 7304 + "funding": { 7305 + "type": "opencollective", 7306 + "url": "https://opencollective.com/unified" 7307 + } 7308 + }, 7309 + "node_modules/vfile-message": { 7310 + "version": "4.0.2", 7311 + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", 7312 + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", 7313 + "dependencies": { 7314 + "@types/unist": "^3.0.0", 7315 + "unist-util-stringify-position": "^4.0.0" 7316 + }, 7317 + "funding": { 7318 + "type": "opencollective", 7319 + "url": "https://opencollective.com/unified" 7320 + } 7321 + }, 7322 + "node_modules/vite": { 7323 + "version": "5.4.10", 7324 + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", 7325 + "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", 7326 + "dependencies": { 7327 + "esbuild": "^0.21.3", 7328 + "postcss": "^8.4.43", 7329 + "rollup": "^4.20.0" 7330 + }, 7331 + "bin": { 7332 + "vite": "bin/vite.js" 7333 + }, 7334 + "engines": { 7335 + "node": "^18.0.0 || >=20.0.0" 7336 + }, 7337 + "funding": { 7338 + "url": "https://github.com/vitejs/vite?sponsor=1" 7339 + }, 7340 + "optionalDependencies": { 7341 + "fsevents": "~2.3.3" 7342 + }, 7343 + "peerDependencies": { 7344 + "@types/node": "^18.0.0 || >=20.0.0", 7345 + "less": "*", 7346 + "lightningcss": "^1.21.0", 7347 + "sass": "*", 7348 + "sass-embedded": "*", 7349 + "stylus": "*", 7350 + "sugarss": "*", 7351 + "terser": "^5.4.0" 7352 + }, 7353 + "peerDependenciesMeta": { 7354 + "@types/node": { 7355 + "optional": true 7356 + }, 7357 + "less": { 7358 + "optional": true 7359 + }, 7360 + "lightningcss": { 7361 + "optional": true 7362 + }, 7363 + "sass": { 7364 + "optional": true 7365 + }, 7366 + "sass-embedded": { 7367 + "optional": true 7368 + }, 7369 + "stylus": { 7370 + "optional": true 7371 + }, 7372 + "sugarss": { 7373 + "optional": true 7374 + }, 7375 + "terser": { 7376 + "optional": true 7377 + } 7378 + } 7379 + }, 7380 + "node_modules/vite-plugin-pagefind": { 7381 + "version": "0.2.10", 7382 + "resolved": "https://registry.npmjs.org/vite-plugin-pagefind/-/vite-plugin-pagefind-0.2.10.tgz", 7383 + "integrity": "sha512-DKUgxGPrFQEU783qVEKAqt52Y8OwEUJSuRhIgMQj5du2qBscqk3KLmNfeWNfzHrFRpo+xKc3VRnn4jH+FhNXAQ==", 7384 + "dev": true, 7385 + "dependencies": { 7386 + "colorette": "^2.0.20", 7387 + "valibot": "0.31.0-rc.4" 7388 + }, 7389 + "peerDependencies": { 7390 + "vite": "^5.0.0" 7391 + } 7392 + }, 7393 + "node_modules/vitefu": { 7394 + "version": "1.0.3", 7395 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.3.tgz", 7396 + "integrity": "sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==", 7397 + "peerDependencies": { 7398 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0" 7399 + }, 7400 + "peerDependenciesMeta": { 7401 + "vite": { 7402 + "optional": true 7403 + } 7404 + } 7405 + }, 7406 + "node_modules/volar-service-css": { 7407 + "version": "0.0.61", 7408 + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.61.tgz", 7409 + "integrity": "sha512-Ct9L/w+IB1JU8F4jofcNCGoHy6TF83aiapfZq9A0qYYpq+Kk5dH+ONS+rVZSsuhsunq8UvAuF8Gk6B8IFLfniw==", 7410 + "dependencies": { 7411 + "vscode-css-languageservice": "^6.3.0", 7412 + "vscode-languageserver-textdocument": "^1.0.11", 7413 + "vscode-uri": "^3.0.8" 7414 + }, 7415 + "peerDependencies": { 7416 + "@volar/language-service": "~2.4.0" 7417 + }, 7418 + "peerDependenciesMeta": { 7419 + "@volar/language-service": { 7420 + "optional": true 7421 + } 7422 + } 7423 + }, 7424 + "node_modules/volar-service-emmet": { 7425 + "version": "0.0.61", 7426 + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.61.tgz", 7427 + "integrity": "sha512-iiYqBxjjcekqrRruw4COQHZME6EZYWVbkHjHDbULpml3g8HGJHzpAMkj9tXNCPxf36A+f1oUYjsvZt36qPg4cg==", 7428 + "dependencies": { 7429 + "@emmetio/css-parser": "^0.4.0", 7430 + "@emmetio/html-matcher": "^1.3.0", 7431 + "@vscode/emmet-helper": "^2.9.3", 7432 + "vscode-uri": "^3.0.8" 7433 + }, 7434 + "peerDependencies": { 7435 + "@volar/language-service": "~2.4.0" 7436 + }, 7437 + "peerDependenciesMeta": { 7438 + "@volar/language-service": { 7439 + "optional": true 7440 + } 7441 + } 7442 + }, 7443 + "node_modules/volar-service-html": { 7444 + "version": "0.0.61", 7445 + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.61.tgz", 7446 + "integrity": "sha512-yFE+YmmgqIL5HI4ORqP++IYb1QaGcv+xBboI0WkCxJJ/M35HZj7f5rbT3eQ24ECLXFbFCFanckwyWJVz5KmN3Q==", 7447 + "dependencies": { 7448 + "vscode-html-languageservice": "^5.3.0", 7449 + "vscode-languageserver-textdocument": "^1.0.11", 7450 + "vscode-uri": "^3.0.8" 7451 + }, 7452 + "peerDependencies": { 7453 + "@volar/language-service": "~2.4.0" 7454 + }, 7455 + "peerDependenciesMeta": { 7456 + "@volar/language-service": { 7457 + "optional": true 7458 + } 7459 + } 7460 + }, 7461 + "node_modules/volar-service-prettier": { 7462 + "version": "0.0.61", 7463 + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.61.tgz", 7464 + "integrity": "sha512-F612nql5I0IS8HxXemCGvOR2Uxd4XooIwqYVUvk7WSBxP/+xu1jYvE3QJ7EVpl8Ty3S4SxPXYiYTsG3bi+gzIQ==", 7465 + "dependencies": { 7466 + "vscode-uri": "^3.0.8" 7467 + }, 7468 + "peerDependencies": { 7469 + "@volar/language-service": "~2.4.0", 7470 + "prettier": "^2.2 || ^3.0" 7471 + }, 7472 + "peerDependenciesMeta": { 7473 + "@volar/language-service": { 7474 + "optional": true 7475 + }, 7476 + "prettier": { 7477 + "optional": true 7478 + } 7479 + } 7480 + }, 7481 + "node_modules/volar-service-typescript": { 7482 + "version": "0.0.61", 7483 + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.61.tgz", 7484 + "integrity": "sha512-4kRHxVbW7wFBHZWRU6yWxTgiKETBDIJNwmJUAWeP0mHaKpnDGj/astdRFKqGFRYVeEYl45lcUPhdJyrzanjsdQ==", 7485 + "dependencies": { 7486 + "path-browserify": "^1.0.1", 7487 + "semver": "^7.6.2", 7488 + "typescript-auto-import-cache": "^0.3.3", 7489 + "vscode-languageserver-textdocument": "^1.0.11", 7490 + "vscode-nls": "^5.2.0", 7491 + "vscode-uri": "^3.0.8" 7492 + }, 7493 + "peerDependencies": { 7494 + "@volar/language-service": "~2.4.0" 7495 + }, 7496 + "peerDependenciesMeta": { 7497 + "@volar/language-service": { 7498 + "optional": true 7499 + } 7500 + } 7501 + }, 7502 + "node_modules/volar-service-typescript-twoslash-queries": { 7503 + "version": "0.0.61", 7504 + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.61.tgz", 7505 + "integrity": "sha512-99FICGrEF0r1E2tV+SvprHPw9Knyg7BdW2fUch0tf59kG+KG+Tj4tL6tUg+cy8f23O/VXlmsWFMIE+bx1dXPnQ==", 7506 + "dependencies": { 7507 + "vscode-uri": "^3.0.8" 7508 + }, 7509 + "peerDependencies": { 7510 + "@volar/language-service": "~2.4.0" 7511 + }, 7512 + "peerDependenciesMeta": { 7513 + "@volar/language-service": { 7514 + "optional": true 7515 + } 7516 + } 7517 + }, 7518 + "node_modules/volar-service-yaml": { 7519 + "version": "0.0.61", 7520 + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.61.tgz", 7521 + "integrity": "sha512-L+gbDiLDQQ1rZUbJ3mf3doDsoQUa8OZM/xdpk/unMg1Vz24Zmi2Ign8GrZyBD7bRoIQDwOH9gdktGDKzRPpUNw==", 7522 + "dependencies": { 7523 + "vscode-uri": "^3.0.8", 7524 + "yaml-language-server": "~1.15.0" 7525 + }, 7526 + "peerDependencies": { 7527 + "@volar/language-service": "~2.4.0" 7528 + }, 7529 + "peerDependenciesMeta": { 7530 + "@volar/language-service": { 7531 + "optional": true 7532 + } 7533 + } 7534 + }, 7535 + "node_modules/vscode-css-languageservice": { 7536 + "version": "6.3.1", 7537 + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.1.tgz", 7538 + "integrity": "sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==", 7539 + "dependencies": { 7540 + "@vscode/l10n": "^0.0.18", 7541 + "vscode-languageserver-textdocument": "^1.0.12", 7542 + "vscode-languageserver-types": "3.17.5", 7543 + "vscode-uri": "^3.0.8" 7544 + } 7545 + }, 7546 + "node_modules/vscode-html-languageservice": { 7547 + "version": "5.3.1", 7548 + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.3.1.tgz", 7549 + "integrity": "sha512-ysUh4hFeW/WOWz/TO9gm08xigiSsV/FOAZ+DolgJfeLftna54YdmZ4A+lIn46RbdO3/Qv5QHTn1ZGqmrXQhZyA==", 7550 + "dependencies": { 7551 + "@vscode/l10n": "^0.0.18", 7552 + "vscode-languageserver-textdocument": "^1.0.12", 7553 + "vscode-languageserver-types": "^3.17.5", 7554 + "vscode-uri": "^3.0.8" 7555 + } 7556 + }, 7557 + "node_modules/vscode-json-languageservice": { 7558 + "version": "4.1.8", 7559 + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", 7560 + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", 7561 + "dependencies": { 7562 + "jsonc-parser": "^3.0.0", 7563 + "vscode-languageserver-textdocument": "^1.0.1", 7564 + "vscode-languageserver-types": "^3.16.0", 7565 + "vscode-nls": "^5.0.0", 7566 + "vscode-uri": "^3.0.2" 7567 + }, 7568 + "engines": { 7569 + "npm": ">=7.0.0" 7570 + } 7571 + }, 7572 + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { 7573 + "version": "3.3.1", 7574 + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", 7575 + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==" 7576 + }, 7577 + "node_modules/vscode-jsonrpc": { 7578 + "version": "8.2.0", 7579 + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", 7580 + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", 7581 + "engines": { 7582 + "node": ">=14.0.0" 7583 + } 7584 + }, 7585 + "node_modules/vscode-languageserver": { 7586 + "version": "9.0.1", 7587 + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", 7588 + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", 7589 + "dependencies": { 7590 + "vscode-languageserver-protocol": "3.17.5" 7591 + }, 7592 + "bin": { 7593 + "installServerIntoExtension": "bin/installServerIntoExtension" 7594 + } 7595 + }, 7596 + "node_modules/vscode-languageserver-protocol": { 7597 + "version": "3.17.5", 7598 + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", 7599 + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", 7600 + "dependencies": { 7601 + "vscode-jsonrpc": "8.2.0", 7602 + "vscode-languageserver-types": "3.17.5" 7603 + } 7604 + }, 7605 + "node_modules/vscode-languageserver-textdocument": { 7606 + "version": "1.0.12", 7607 + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", 7608 + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==" 7609 + }, 7610 + "node_modules/vscode-languageserver-types": { 7611 + "version": "3.17.5", 7612 + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", 7613 + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" 7614 + }, 7615 + "node_modules/vscode-nls": { 7616 + "version": "5.2.0", 7617 + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", 7618 + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" 7619 + }, 7620 + "node_modules/vscode-uri": { 7621 + "version": "3.0.8", 7622 + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", 7623 + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" 7624 + }, 7625 + "node_modules/web-namespaces": { 7626 + "version": "2.0.1", 7627 + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", 7628 + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", 7629 + "funding": { 7630 + "type": "github", 7631 + "url": "https://github.com/sponsors/wooorm" 7632 + } 7633 + }, 7634 + "node_modules/which": { 7635 + "version": "2.0.2", 7636 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 7637 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 7638 + "dependencies": { 7639 + "isexe": "^2.0.0" 7640 + }, 7641 + "bin": { 7642 + "node-which": "bin/node-which" 7643 + }, 7644 + "engines": { 7645 + "node": ">= 8" 7646 + } 7647 + }, 7648 + "node_modules/which-pm": { 7649 + "version": "3.0.0", 7650 + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-3.0.0.tgz", 7651 + "integrity": "sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==", 7652 + "dependencies": { 7653 + "load-yaml-file": "^0.2.0" 7654 + }, 7655 + "engines": { 7656 + "node": ">=18.12" 7657 + } 7658 + }, 7659 + "node_modules/which-pm-runs": { 7660 + "version": "1.1.0", 7661 + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", 7662 + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", 7663 + "engines": { 7664 + "node": ">=4" 7665 + } 7666 + }, 7667 + "node_modules/widest-line": { 7668 + "version": "5.0.0", 7669 + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", 7670 + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", 7671 + "dependencies": { 7672 + "string-width": "^7.0.0" 7673 + }, 7674 + "engines": { 7675 + "node": ">=18" 7676 + }, 7677 + "funding": { 7678 + "url": "https://github.com/sponsors/sindresorhus" 7679 + } 7680 + }, 7681 + "node_modules/wrap-ansi": { 7682 + "version": "9.0.0", 7683 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", 7684 + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", 7685 + "dependencies": { 7686 + "ansi-styles": "^6.2.1", 7687 + "string-width": "^7.0.0", 7688 + "strip-ansi": "^7.1.0" 7689 + }, 7690 + "engines": { 7691 + "node": ">=18" 7692 + }, 7693 + "funding": { 7694 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 7695 + } 7696 + }, 7697 + "node_modules/wrap-ansi-cjs": { 7698 + "name": "wrap-ansi", 7699 + "version": "7.0.0", 7700 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 7701 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 7702 + "dependencies": { 7703 + "ansi-styles": "^4.0.0", 7704 + "string-width": "^4.1.0", 7705 + "strip-ansi": "^6.0.0" 7706 + }, 7707 + "engines": { 7708 + "node": ">=10" 7709 + }, 7710 + "funding": { 7711 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 7712 + } 7713 + }, 7714 + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 7715 + "version": "5.0.1", 7716 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 7717 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 7718 + "engines": { 7719 + "node": ">=8" 7720 + } 7721 + }, 7722 + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 7723 + "version": "4.3.0", 7724 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 7725 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 7726 + "dependencies": { 7727 + "color-convert": "^2.0.1" 7728 + }, 7729 + "engines": { 7730 + "node": ">=8" 7731 + }, 7732 + "funding": { 7733 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 7734 + } 7735 + }, 7736 + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { 7737 + "version": "2.0.1", 7738 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 7739 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 7740 + "dependencies": { 7741 + "color-name": "~1.1.4" 7742 + }, 7743 + "engines": { 7744 + "node": ">=7.0.0" 7745 + } 7746 + }, 7747 + "node_modules/wrap-ansi-cjs/node_modules/color-name": { 7748 + "version": "1.1.4", 7749 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 7750 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 7751 + }, 7752 + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 7753 + "version": "8.0.0", 7754 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 7755 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 7756 + }, 7757 + "node_modules/wrap-ansi-cjs/node_modules/string-width": { 7758 + "version": "4.2.3", 7759 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 7760 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 7761 + "dependencies": { 7762 + "emoji-regex": "^8.0.0", 7763 + "is-fullwidth-code-point": "^3.0.0", 7764 + "strip-ansi": "^6.0.1" 7765 + }, 7766 + "engines": { 7767 + "node": ">=8" 7768 + } 7769 + }, 7770 + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 7771 + "version": "6.0.1", 7772 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 7773 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 7774 + "dependencies": { 7775 + "ansi-regex": "^5.0.1" 7776 + }, 7777 + "engines": { 7778 + "node": ">=8" 7779 + } 7780 + }, 7781 + "node_modules/wrap-ansi/node_modules/ansi-styles": { 7782 + "version": "6.2.1", 7783 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 7784 + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 7785 + "engines": { 7786 + "node": ">=12" 7787 + }, 7788 + "funding": { 7789 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 7790 + } 7791 + }, 7792 + "node_modules/xxhash-wasm": { 7793 + "version": "1.0.2", 7794 + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", 7795 + "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==" 7796 + }, 7797 + "node_modules/y18n": { 7798 + "version": "5.0.8", 7799 + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 7800 + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 7801 + "engines": { 7802 + "node": ">=10" 7803 + } 7804 + }, 7805 + "node_modules/yallist": { 7806 + "version": "3.1.1", 7807 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 7808 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" 7809 + }, 7810 + "node_modules/yaml": { 7811 + "version": "2.6.0", 7812 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", 7813 + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", 7814 + "bin": { 7815 + "yaml": "bin.mjs" 7816 + }, 7817 + "engines": { 7818 + "node": ">= 14" 7819 + } 7820 + }, 7821 + "node_modules/yaml-language-server": { 7822 + "version": "1.15.0", 7823 + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.15.0.tgz", 7824 + "integrity": "sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==", 7825 + "dependencies": { 7826 + "ajv": "^8.11.0", 7827 + "lodash": "4.17.21", 7828 + "request-light": "^0.5.7", 7829 + "vscode-json-languageservice": "4.1.8", 7830 + "vscode-languageserver": "^7.0.0", 7831 + "vscode-languageserver-textdocument": "^1.0.1", 7832 + "vscode-languageserver-types": "^3.16.0", 7833 + "vscode-nls": "^5.0.0", 7834 + "vscode-uri": "^3.0.2", 7835 + "yaml": "2.2.2" 7836 + }, 7837 + "bin": { 7838 + "yaml-language-server": "bin/yaml-language-server" 7839 + }, 7840 + "optionalDependencies": { 7841 + "prettier": "2.8.7" 7842 + } 7843 + }, 7844 + "node_modules/yaml-language-server/node_modules/prettier": { 7845 + "version": "2.8.7", 7846 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", 7847 + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", 7848 + "optional": true, 7849 + "bin": { 7850 + "prettier": "bin-prettier.js" 7851 + }, 7852 + "engines": { 7853 + "node": ">=10.13.0" 7854 + }, 7855 + "funding": { 7856 + "url": "https://github.com/prettier/prettier?sponsor=1" 7857 + } 7858 + }, 7859 + "node_modules/yaml-language-server/node_modules/request-light": { 7860 + "version": "0.5.8", 7861 + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", 7862 + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==" 7863 + }, 7864 + "node_modules/yaml-language-server/node_modules/vscode-jsonrpc": { 7865 + "version": "6.0.0", 7866 + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", 7867 + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", 7868 + "engines": { 7869 + "node": ">=8.0.0 || >=10.0.0" 7870 + } 7871 + }, 7872 + "node_modules/yaml-language-server/node_modules/vscode-languageserver": { 7873 + "version": "7.0.0", 7874 + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", 7875 + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", 7876 + "dependencies": { 7877 + "vscode-languageserver-protocol": "3.16.0" 7878 + }, 7879 + "bin": { 7880 + "installServerIntoExtension": "bin/installServerIntoExtension" 7881 + } 7882 + }, 7883 + "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol": { 7884 + "version": "3.16.0", 7885 + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", 7886 + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", 7887 + "dependencies": { 7888 + "vscode-jsonrpc": "6.0.0", 7889 + "vscode-languageserver-types": "3.16.0" 7890 + } 7891 + }, 7892 + "node_modules/yaml-language-server/node_modules/vscode-languageserver-types": { 7893 + "version": "3.16.0", 7894 + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", 7895 + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" 7896 + }, 7897 + "node_modules/yaml-language-server/node_modules/yaml": { 7898 + "version": "2.2.2", 7899 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", 7900 + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", 7901 + "engines": { 7902 + "node": ">= 14" 7903 + } 7904 + }, 7905 + "node_modules/yargs": { 7906 + "version": "17.7.2", 7907 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 7908 + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 7909 + "dependencies": { 7910 + "cliui": "^8.0.1", 7911 + "escalade": "^3.1.1", 7912 + "get-caller-file": "^2.0.5", 7913 + "require-directory": "^2.1.1", 7914 + "string-width": "^4.2.3", 7915 + "y18n": "^5.0.5", 7916 + "yargs-parser": "^21.1.1" 7917 + }, 7918 + "engines": { 7919 + "node": ">=12" 7920 + } 7921 + }, 7922 + "node_modules/yargs-parser": { 7923 + "version": "21.1.1", 7924 + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 7925 + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 7926 + "engines": { 7927 + "node": ">=12" 7928 + } 7929 + }, 7930 + "node_modules/yargs/node_modules/ansi-regex": { 7931 + "version": "5.0.1", 7932 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 7933 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 7934 + "engines": { 7935 + "node": ">=8" 7936 + } 7937 + }, 7938 + "node_modules/yargs/node_modules/emoji-regex": { 7939 + "version": "8.0.0", 7940 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 7941 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 7942 + }, 7943 + "node_modules/yargs/node_modules/string-width": { 7944 + "version": "4.2.3", 7945 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 7946 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 7947 + "dependencies": { 7948 + "emoji-regex": "^8.0.0", 7949 + "is-fullwidth-code-point": "^3.0.0", 7950 + "strip-ansi": "^6.0.1" 7951 + }, 7952 + "engines": { 7953 + "node": ">=8" 7954 + } 7955 + }, 7956 + "node_modules/yargs/node_modules/strip-ansi": { 7957 + "version": "6.0.1", 7958 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 7959 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 7960 + "dependencies": { 7961 + "ansi-regex": "^5.0.1" 7962 + }, 7963 + "engines": { 7964 + "node": ">=8" 7965 + } 7966 + }, 7967 + "node_modules/yocto-queue": { 7968 + "version": "1.1.1", 7969 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", 7970 + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", 7971 + "engines": { 7972 + "node": ">=12.20" 7973 + }, 7974 + "funding": { 7975 + "url": "https://github.com/sponsors/sindresorhus" 7976 + } 7977 + }, 7978 + "node_modules/zimmerframe": { 7979 + "version": "1.1.2", 7980 + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", 7981 + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==" 7982 + }, 7983 + "node_modules/zod": { 7984 + "version": "3.23.8", 7985 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", 7986 + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", 7987 + "funding": { 7988 + "url": "https://github.com/sponsors/colinhacks" 7989 + } 7990 + }, 7991 + "node_modules/zod-to-json-schema": { 7992 + "version": "3.23.5", 7993 + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.5.tgz", 7994 + "integrity": "sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==", 7995 + "peerDependencies": { 7996 + "zod": "^3.23.3" 7997 + } 7998 + }, 7999 + "node_modules/zod-to-ts": { 8000 + "version": "1.2.0", 8001 + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", 8002 + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", 8003 + "peerDependencies": { 8004 + "typescript": "^4.9.4 || ^5.0.2", 8005 + "zod": "^3" 8006 + } 8007 + }, 8008 + "node_modules/zwitch": { 8009 + "version": "2.0.4", 8010 + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", 8011 + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", 8012 + "funding": { 8013 + "type": "github", 8014 + "url": "https://github.com/sponsors/wooorm" 8015 + } 8016 + } 8017 + } 8018 + }
+32
package.json
··· 1 + { 2 + "name": "blog-template", 3 + "type": "module", 4 + "version": "0.0.1", 5 + "scripts": { 6 + "dev": "astro dev", 7 + "start": "astro dev", 8 + "build": "astro check && astro build && pagefind", 9 + "preview": "astro preview", 10 + "astro": "astro", 11 + "format": "prettier --write ." 12 + }, 13 + "dependencies": { 14 + "@astrojs/check": "^0.9.4", 15 + "@astrojs/mdx": "^3.1.8", 16 + "@astrojs/rss": "^4.0.9", 17 + "@astrojs/sitemap": "^3.2.1", 18 + "@astrojs/svelte": "^5.7.2", 19 + "@astrojs/tailwind": "^5.1.2", 20 + "@tailwindcss/forms": "^0.5.9", 21 + "astro": "^4.16.7", 22 + "astro-og-canvas": "^0.5.4", 23 + "svelte": "^5.1.1", 24 + "tailwindcss": "^3.4.14", 25 + "typescript": "^5.6.3" 26 + }, 27 + "devDependencies": { 28 + "@tailwindcss/typography": "^0.5.15", 29 + "pagefind": "^1.1.1", 30 + "vite-plugin-pagefind": "^0.2.10" 31 + } 32 + }
+4
pagefind.json
··· 1 + { 2 + "site": "dist", 3 + "vite_plugin_pagefind": {} 4 + }
src/assets/InterVariable.ttf

This is a binary file and will not be displayed.

src/assets/background.png

This is a binary file and will not be displayed.

src/assets/blog-placeholder-1.jpg

This is a binary file and will not be displayed.

src/assets/blog-placeholder-2.jpg

This is a binary file and will not be displayed.

src/assets/blog-placeholder-3.jpg

This is a binary file and will not be displayed.

src/assets/blog-placeholder-4.jpg

This is a binary file and will not be displayed.

+29
src/colors.ts
··· 1 + import type { AccentColors, BaseColors } from "./types"; 2 + 3 + export const colorBaseClasses: Record<BaseColors, string> = { 4 + slate: "prose-slate", 5 + stone: "prose-stone", 6 + gray: "prose-gray", 7 + neutral: "prose-neutral", 8 + zinc: "prose-zinc", 9 + }; 10 + 11 + export const colorAccentClasses: Record<AccentColors, string> = { 12 + red: "prose-red", 13 + orange: "prose-orange", 14 + amber: "prose-amber", 15 + yellow: "prose-yellow", 16 + lime: "prose-lime", 17 + green: "prose-green", 18 + emerald: "prose-emerald", 19 + teal: "prose-teal", 20 + cyan: "prose-cyan", 21 + sky: "prose-sky", 22 + blue: "prose-blue", 23 + indigo: "prose-indigo", 24 + violet: "prose-violet", 25 + purple: "prose-purple", 26 + fuchsia: "prose-fuchsia", 27 + pink: "prose-pink", 28 + rose: "prose-rose", 29 + };
+52
src/components/BaseHead.astro
··· 1 + --- 2 + import { BASE, SITE_FAVICON } from "../consts"; 3 + 4 + interface Props { 5 + title: string; 6 + description: string; 7 + image?: string; 8 + } 9 + 10 + const canonicalURL = new URL(Astro.url.pathname, Astro.site); 11 + 12 + const { title, description, image = "main.png" } = Astro.props; 13 + --- 14 + 15 + <!-- Global Metadata --> 16 + <meta charset="utf-8" /> 17 + <meta name="viewport" content="width=device-width,initial-scale=1" /> 18 + 19 + <link 20 + rel="icon" 21 + href=`data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>${SITE_FAVICON}</text></svg>` 22 + /> 23 + 24 + <meta name="generator" content={Astro.generator} /> 25 + 26 + <!-- Canonical URL --> 27 + <link rel="canonical" href={canonicalURL} /> 28 + 29 + <!-- Primary Meta Tags --> 30 + <title>{title}</title> 31 + <meta name="title" content={title} /> 32 + <meta name="description" content={description} /> 33 + 34 + <!-- Open Graph / Facebook --> 35 + <meta property="og:type" content="website" /> 36 + <meta property="og:url" content={Astro.url} /> 37 + <meta property="og:title" content={title} /> 38 + <meta property="og:description" content={description} /> 39 + <meta 40 + property="og:image" 41 + content={new URL(BASE + "/open-graph/" + image, Astro.url)} 42 + /> 43 + 44 + <!-- Twitter --> 45 + <meta property="twitter:card" content="summary_large_image" /> 46 + <meta property="twitter:url" content={Astro.url} /> 47 + <meta property="twitter:title" content={title} /> 48 + <meta property="twitter:description" content={description} /> 49 + <meta 50 + property="twitter:image" 51 + content={new URL(BASE + "/open-graph/" + image, Astro.url)} 52 + />
+70
src/components/BlogEntry.astro
··· 1 + --- 2 + import { BASE } from "../consts"; 3 + import FormattedDate from "./FormattedDate.astro"; 4 + import { Image } from "astro:assets"; 5 + import type { ImageMetadata } from "astro"; 6 + 7 + const { title, description, pubDate, slug, heroImage, tags } = Astro.props; 8 + 9 + const images = import.meta.glob<{ default: ImageMetadata }>( 10 + "/src/assets/*.{jpeg,jpg,png,gif}" 11 + ); 12 + if (!images[heroImage]) 13 + throw new Error( 14 + `"${heroImage}" does not exist in glob: "src/assets/*.{jpeg,jpg,png,gif}"` 15 + ); 16 + --- 17 + 18 + <article class="relative isolate flex flex-col gap-8 lg:flex-row group"> 19 + <div class="relative aspect-[16/9] lg:w-64 lg:shrink-0"> 20 + <Image 21 + src={images[heroImage]()} 22 + alt="" 23 + class="absolute inset-0 h-full w-full rounded-2xl bg-base-50 dark:bg-base-900 object-cover" 24 + /> 25 + <div 26 + class="absolute inset-0 rounded-2xl ring-1 ring-inset ring-base-900/10 dark:ring-base-100/10" 27 + > 28 + </div> 29 + </div> 30 + <div> 31 + <div class="flex items-center gap-x-4 text-xs"> 32 + <time datetime="2020-03-16" class="text-base-500"> 33 + <FormattedDate date={pubDate} /> 34 + </time> 35 + <!-- <a 36 + href="#" 37 + class="relative z-10 rounded-full bg-base-50 px-3 py-1.5 font-medium text-base-600 hover:bg-base-100" 38 + >Marketing</a 39 + > --> 40 + { 41 + tags?.map((tag: string) => ( 42 + <a 43 + href={BASE + "/tags/" + tag} 44 + class="relative z-10 rounded-full bg-base-100 px-3 py-1.5 font-medium text-base-700 hover:bg-base-200 dark:bg-base-800 dark:hover:bg-base-700 dark:text-base-300 border border-base-200 dark:border-base-700" 45 + > 46 + {tag} 47 + </a> 48 + )) 49 + } 50 + </div> 51 + <div class="max-w-xl"> 52 + <h3 53 + class="mt-3 text-lg font-semibold leading-6 text-base-900 dark:text-base-50" 54 + > 55 + <a href={BASE + `/posts/${slug}/`}> 56 + <span class="absolute inset-0"></span> 57 + {title} 58 + </a> 59 + 60 + <div 61 + class="absolute -inset-2 md:-inset-4 rounded-2xl opacity-0 group-hover:opacity-100 scale-95 group-hover:scale-100 bg-base-200/50 dark:bg-base-800/50 -z-10 transition-all duration-150" 62 + > 63 + </div> 64 + </h3> 65 + <p class="mt-5 text-sm leading-6 text-base-600 dark:text-base-400"> 66 + {description} 67 + </p> 68 + </div> 69 + </div> 70 + </article>
+51
src/components/CodeCopyButton.svelte
··· 1 + <script lang="ts"> 2 + import { onMount } from "svelte"; 3 + 4 + onMount(() => { 5 + let copyButtonLabel = "copy"; 6 + let codeBlocks = Array.from(document.querySelectorAll("pre")); 7 + for (let codeBlock of codeBlocks) { 8 + let wrapper = document.createElement("div"); 9 + wrapper.style.position = "relative"; 10 + 11 + let copyButton = document.createElement("button"); 12 + copyButton.className = 13 + "opacity-50 sm:opacity-20 group-hover:opacity-100 transition-opacity duration-500 absolute top-2 right-2 text-xs bg-base-200 dark:bg-base-700 border border-base-400 dark:border-base-600 py-1 px-2 rounded-xl dark:hover:bg-base-600 hover:bg-base-300"; 14 + copyButton.innerHTML = copyButtonLabel; 15 + 16 + // add class group to codeBlock 17 + codeBlock.classList.add("group"); 18 + 19 + codeBlock.setAttribute("tabindex", "0"); 20 + codeBlock.appendChild(copyButton); 21 + 22 + codeBlock.parentNode?.insertBefore(wrapper, codeBlock); 23 + wrapper.appendChild(codeBlock); 24 + 25 + copyButton.addEventListener("click", async () => { 26 + await copyCode(codeBlock, copyButton); 27 + }); 28 + } 29 + 30 + async function copyCode(block: HTMLElement, button: HTMLElement) { 31 + let code = block.querySelector("code"); 32 + if (!code) return; 33 + 34 + let text = code.innerText; 35 + 36 + await navigator.clipboard.writeText(text); 37 + 38 + let oldLabel = button.innerText; 39 + let oldClassName = button.className; 40 + button.className = 41 + "opacity-100 transition-opacity duration-500 absolute top-2 right-2 text-xs bg-green-200 dark:bg-green-900 border border-green-300 dark:border-green-700 text-green-800 dark:text-green-300 py-1 px-2 rounded-xl"; 42 + 43 + button.innerText = "copied!"; 44 + 45 + setTimeout(() => { 46 + button.innerText = oldLabel; 47 + button.className = oldClassName; 48 + }, 2000); 49 + } 50 + }); 51 + </script>
+104
src/components/Footer.astro
··· 1 + --- 2 + import { NAME } from "../consts"; 3 + 4 + const today = new Date(); 5 + --- 6 + 7 + <footer class=""> 8 + <div 9 + class="mx-auto max-w-7xl px-6 pt-12 mt-12 pb-12 md:flex md:items-center md:justify-between lg:px-16 border-t border-base-200 dark:border-base-800" 10 + > 11 + <div class="flex justify-center gap-x-6 md:order-2"> 12 + <a 13 + href="#" 14 + class="text-base-600 hover:text-base-800 dark:text-base-400 dark:hover:text-base-200" 15 + > 16 + <span class="sr-only">Facebook</span> 17 + <svg 18 + class="h-6 w-6" 19 + fill="currentColor" 20 + viewBox="0 0 24 24" 21 + aria-hidden="true" 22 + > 23 + <path 24 + fill-rule="evenodd" 25 + d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" 26 + clip-rule="evenodd"></path> 27 + </svg> 28 + </a> 29 + <a 30 + href="#" 31 + class="text-base-600 hover:text-base-800 dark:text-base-400 dark:hover:text-base-200" 32 + > 33 + <span class="sr-only">Instagram</span> 34 + <svg 35 + class="h-6 w-6" 36 + fill="currentColor" 37 + viewBox="0 0 24 24" 38 + aria-hidden="true" 39 + > 40 + <path 41 + fill-rule="evenodd" 42 + d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" 43 + clip-rule="evenodd"></path> 44 + </svg> 45 + </a> 46 + <a 47 + href="#" 48 + class="text-base-600 hover:text-base-800 dark:text-base-400 dark:hover:text-base-200" 49 + > 50 + <span class="sr-only">X</span> 51 + <svg 52 + class="h-6 w-6" 53 + fill="currentColor" 54 + viewBox="0 0 24 24" 55 + aria-hidden="true" 56 + > 57 + <path 58 + d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z" 59 + ></path> 60 + </svg> 61 + </a> 62 + <a 63 + href="#" 64 + class="text-base-600 hover:text-base-800 dark:text-base-400 dark:hover:text-base-200" 65 + > 66 + <span class="sr-only">GitHub</span> 67 + <svg 68 + class="h-6 w-6" 69 + fill="currentColor" 70 + viewBox="0 0 24 24" 71 + aria-hidden="true" 72 + > 73 + <path 74 + fill-rule="evenodd" 75 + d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" 76 + clip-rule="evenodd"></path> 77 + </svg> 78 + </a> 79 + <a 80 + href="#" 81 + class="text-base-600 hover:text-base-800 dark:text-base-400 dark:hover:text-base-200" 82 + > 83 + <span class="sr-only">YouTube</span> 84 + <svg 85 + class="h-6 w-6" 86 + fill="currentColor" 87 + viewBox="0 0 24 24" 88 + aria-hidden="true" 89 + > 90 + <path 91 + fill-rule="evenodd" 92 + d="M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z" 93 + clip-rule="evenodd"></path> 94 + </svg> 95 + </a> 96 + </div> 97 + <p 98 + class="mt-8 text-center text-sm/6 text-base-600 dark:text-base-400 md:order-1 md:mt-0" 99 + > 100 + &copy; {today.getFullYear()} 101 + {NAME}. All rights reserved. 102 + </p> 103 + </div> 104 + </footer>
+17
src/components/FormattedDate.astro
··· 1 + --- 2 + interface Props { 3 + date: Date; 4 + } 5 + 6 + const { date } = Astro.props; 7 + --- 8 + 9 + <time datetime={date.toISOString()}> 10 + { 11 + date.toLocaleDateString('en-us', { 12 + year: 'numeric', 13 + month: 'short', 14 + day: 'numeric', 15 + }) 16 + } 17 + </time>
+43
src/components/Header.astro
··· 1 + --- 2 + import { 3 + BASE, 4 + MANUAL_DARK_MODE, 5 + SEARCH_ENABLED, 6 + SITE_FAVICON, 7 + } from "../consts"; 8 + import ThemeToggle from "./ThemeToggle.svelte"; 9 + import Search from "./search/Search.svelte"; 10 + import HeaderLink from "./HeaderLink.astro"; 11 + import CommandPalette from "./search/CommandPalette.svelte"; 12 + import CodeCopyButton from "./CodeCopyButton.svelte"; 13 + --- 14 + 15 + <header> 16 + <nav 17 + class="flex items-center justify-between p-6 lg:px-8" 18 + aria-label="Global" 19 + > 20 + <div class="flex lg:flex-1"> 21 + <a href={BASE + "/"} class="-m-1.5 p-1.5"> 22 + <span class="sr-only">go to home</span> 23 + 24 + <div class="h-12 w-12 text-3xl">{SITE_FAVICON}</div> 25 + </a> 26 + </div> 27 + <div class="flex gap-x-12"> 28 + <HeaderLink href={BASE + "/"} class="text-sm font-semibold leading-6" 29 + >Blog</HeaderLink 30 + > 31 + <HeaderLink href={BASE + "/about"} class="text-sm font-semibold leading-6" 32 + >About</HeaderLink 33 + > 34 + 35 + {MANUAL_DARK_MODE ? <ThemeToggle client:visible /> : null} 36 + 37 + {SEARCH_ENABLED ? <Search client:visible /> : null} 38 + </div> 39 + </nav> 40 + </header> 41 + 42 + <CommandPalette client:load /> 43 + <CodeCopyButton client:load />
+24
src/components/HeaderLink.astro
··· 1 + --- 2 + import type { HTMLAttributes } from "astro/types"; 3 + 4 + type Props = HTMLAttributes<"a">; 5 + 6 + const { href, class: className, ...props } = Astro.props; 7 + 8 + const { pathname } = Astro.url; 9 + const subpath = pathname.match(/[^\/]+/g); 10 + const isActive = href === pathname || href === "/" + subpath?.[0]; 11 + --- 12 + 13 + <a 14 + href={href} 15 + class:list={[ 16 + className, 17 + isActive 18 + ? "text-accent-700 hover:text-accent-600 dark:text-accent-500 dark:hover:text-accent-400" 19 + : "text-base-900 dark:text-base-50", 20 + ]} 21 + {...props} 22 + > 23 + <slot /> 24 + </a>
+141
src/components/Pagination.astro
··· 1 + --- 2 + import { BASE } from "../consts"; 3 + import PaginationNumber from "./PaginationNumber.astro"; 4 + 5 + const { total, current, tag } = Astro.props; 6 + 7 + function getVisiblePages(total: number, current: number): Array<number | null> { 8 + if (total < 1) { 9 + throw new Error("Total pages must be at least 1."); 10 + } 11 + if (current < 1 || current > total) { 12 + throw new Error("Current page must be within the range of total pages."); 13 + } 14 + 15 + const pages = new Set<number>(); 16 + 17 + // Always include first two pages 18 + pages.add(1); 19 + if (total >= 2) { 20 + pages.add(2); 21 + } 22 + 23 + // Always include last two pages 24 + if (total > 2) { 25 + pages.add(total - 1); 26 + } 27 + pages.add(total); 28 + 29 + // Include current, one before and one after 30 + pages.add(current); 31 + if (current - 1 >= 1) { 32 + pages.add(current - 1); 33 + } 34 + if (current + 1 <= total) { 35 + pages.add(current + 1); 36 + } 37 + 38 + // Convert set to sorted array 39 + const sortedPages = Array.from(pages).sort((a, b) => a - b); 40 + 41 + const result: Array<number | null> = []; 42 + let previousPage: number | null = null; 43 + 44 + for (const page of sortedPages) { 45 + if (previousPage !== null) { 46 + if (page - previousPage === 1) { 47 + // Consecutive page, no gap 48 + } else { 49 + // Gap detected, insert null 50 + result.push(null); 51 + } 52 + } 53 + result.push(page); 54 + previousPage = page; 55 + } 56 + 57 + return result; 58 + } 59 + --- 60 + 61 + <nav 62 + class="flex items-center justify-between border-t border-base-200 dark:border-base-800 px-4 sm:px-0 mt-8 mx-4" 63 + > 64 + <div class="-mt-px flex w-0 flex-1"> 65 + { 66 + current > 1 ? ( 67 + <a 68 + href={ 69 + tag 70 + ? BASE + "/tags/" + tag + "/" + (current - 1) 71 + : BASE + "/pages/" + (current - 1) 72 + } 73 + class="inline-flex items-center border-t-2 border-transparent pr-1 pt-4 text-sm font-medium text-base-500 hover:border-base-300 hover:text-base-700 dark:text-base-400 dark:hover:border-base-700 dark:hover:text-base-300" 74 + > 75 + <svg 76 + class="mr-3 h-5 w-5 text-base-400" 77 + viewBox="0 0 20 20" 78 + fill="currentColor" 79 + aria-hidden="true" 80 + data-slot="icon" 81 + > 82 + <path 83 + fill-rule="evenodd" 84 + d="M18 10a.75.75 0 0 1-.75.75H4.66l2.1 1.95a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 1 1 1.02 1.1l-2.1 1.95h12.59A.75.75 0 0 1 18 10Z" 85 + clip-rule="evenodd" 86 + /> 87 + </svg> 88 + Previous 89 + </a> 90 + ) : null 91 + } 92 + </div> 93 + 94 + <div class="hidden md:-mt-px md:flex"> 95 + { 96 + getVisiblePages(total, current).map((page) => { 97 + if (page === null) { 98 + return ( 99 + <span class="inline-flex items-center border-t-2 border-transparent px-4 pt-4 text-sm font-medium text-base-500"> 100 + ... 101 + </span> 102 + ); 103 + } 104 + 105 + return ( 106 + <PaginationNumber tag={tag} index={page} active={current === page} /> 107 + ); 108 + }) 109 + } 110 + </div> 111 + 112 + <div class="-mt-px flex w-0 flex-1 justify-end"> 113 + { 114 + current < total ? ( 115 + <a 116 + href={ 117 + tag 118 + ? BASE + "/tags/" + tag + "/" + (current + 1) 119 + : BASE + "/pages/" + (current + 1) 120 + } 121 + class="inline-flex items-center border-t-2 border-transparent pr-1 pt-4 text-sm font-medium text-base-500 hover:border-base-300 hover:text-base-700 dark:text-base-400 dark:hover:border-base-700 dark:hover:text-base-300" 122 + > 123 + Next 124 + <svg 125 + class="ml-3 h-5 w-5 text-base-400" 126 + viewBox="0 0 20 20" 127 + fill="currentColor" 128 + aria-hidden="true" 129 + data-slot="icon" 130 + > 131 + <path 132 + fill-rule="evenodd" 133 + d="M2 10a.75.75 0 0 1 .75-.75h12.59l-2.1-1.95a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.1-1.95H2.75A.75.75 0 0 1 2 10Z" 134 + clip-rule="evenodd" 135 + /> 136 + </svg> 137 + </a> 138 + ) : null 139 + } 140 + </div> 141 + </nav>
+15
src/components/PaginationNumber.astro
··· 1 + --- 2 + import { BASE } from "src/consts"; 3 + 4 + const { index, active, tag } = Astro.props; 5 + --- 6 + 7 + <a 8 + href={tag ? BASE + "/tags/" + tag + "/" + index : BASE + "/pages/" + index} 9 + class:list={[ 10 + "inline-flex items-center border-t-2 px-4 pt-4 text-sm font-medium", 11 + active 12 + ? "border-accent-500 text-accent-600" 13 + : "border-transparent text-base-500 hover:border-base-300 hover:text-base-700 dark:text-base-400 dark:hover:border-base-700 dark:hover:text-base-300", 14 + ]}>{index}</a 15 + >
+88
src/components/ThemeToggle.svelte
··· 1 + <script lang="ts"> 2 + import { onMount } from "svelte"; 3 + 4 + let darkMode = false; 5 + 6 + onMount(() => { 7 + // load from local storage 8 + const savedDarkMode = localStorage.getItem("darkMode"); 9 + if (savedDarkMode) { 10 + darkMode = JSON.parse(savedDarkMode); 11 + } else { 12 + // prefers color scheme? 13 + darkMode = window.matchMedia("(prefers-color-scheme: dark)").matches; 14 + } 15 + 16 + // remove local storage 17 + // localStorage.removeItem("darkMode"); 18 + setTheme(darkMode); 19 + 20 + // recommended method for newer browsers: specify event-type as first argument 21 + window 22 + .matchMedia("(prefers-color-scheme: dark)") 23 + .addEventListener("change", (e) => e.matches && toggleTheme()); 24 + 25 + window 26 + .matchMedia("(prefers-color-scheme: light)") 27 + .addEventListener("change", (e) => e.matches && toggleTheme()); 28 + }); 29 + 30 + function setTheme(dark: Boolean) { 31 + var root = document.getElementsByTagName("html")[0]; 32 + 33 + if (dark) { 34 + root.classList.add("dark"); 35 + } else { 36 + root.classList.remove("dark"); 37 + } 38 + } 39 + 40 + function toggleTheme() { 41 + darkMode = !darkMode; 42 + // save to local storage 43 + localStorage.setItem("darkMode", JSON.stringify(darkMode)); 44 + setTheme(darkMode); 45 + } 46 + 47 + let classes = ""; 48 + export { classes as class }; 49 + 50 + export let id = ""; 51 + </script> 52 + 53 + <button 54 + on:click={toggleTheme} 55 + class="flex items-center justify-center text-base-950 hover:text-base-600 dark:text-base-50 dark:hover:text-base-400 {classes}" 56 + {id} 57 + > 58 + <span class="sr-only">Theme Toggle</span> 59 + 60 + <svg 61 + xmlns="http://www.w3.org/2000/svg" 62 + fill="none" 63 + viewBox="0 0 24 24" 64 + stroke-width="1.5" 65 + stroke="currentColor" 66 + class="w-6 h-6 hidden dark:block" 67 + > 68 + <path 69 + stroke-linecap="round" 70 + stroke-linejoin="round" 71 + d="M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z" 72 + /> 73 + </svg> 74 + <svg 75 + xmlns="http://www.w3.org/2000/svg" 76 + fill="none" 77 + viewBox="0 0 24 24" 78 + stroke-width="1.5" 79 + stroke="currentColor" 80 + class="w-6 h-6 block dark:hidden" 81 + > 82 + <path 83 + stroke-linecap="round" 84 + stroke-linejoin="round" 85 + d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z" 86 + /> 87 + </svg> 88 + </button>
+29
src/components/alerts/ErrorAlert.svelte
··· 1 + <script lang="ts"> 2 + export let title: string; 3 + 4 + let classes: string; 5 + 6 + export { classes as class }; 7 + </script> 8 + 9 + <div class="rounded-xl bg-red-50 dark:bg-red-500/5 p-4 dark:ring-1 dark:ring-red-500/10 not-prose max-w-full {classes}"> 10 + <div class="flex"> 11 + <div class="flex-shrink-0"> 12 + <svg class="h-5 w-5 text-red-500" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> 13 + <path 14 + fill-rule="evenodd" 15 + d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z" 16 + clip-rule="evenodd" 17 + /> 18 + </svg> 19 + </div> 20 + <div class="ml-3"> 21 + <h3 class="text-sm font-medium text-red-800 dark:text-red-500"> 22 + {title} 23 + </h3> 24 + <div class="mt-2 text-sm text-red-700 dark:text-red-400"> 25 + <slot /> 26 + </div> 27 + </div> 28 + </div> 29 + </div>
+27
src/components/alerts/InfoAlert.svelte
··· 1 + <script lang="ts"> 2 + export let title: string; 3 + 4 + let classes: string; 5 + 6 + export { classes as class }; 7 + </script> 8 + 9 + <div class="rounded-xl bg-blue-50 dark:bg-blue-500/5 p-4 dark:ring-1 dark:ring-blue-500/10 not-prose max-w-full {classes}"> 10 + <div class="flex"> 11 + <div class="flex-shrink-0"> 12 + <svg class="h-5 w-5 text-blue-500" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> 13 + <path 14 + fill-rule="evenodd" 15 + d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z" 16 + clip-rule="evenodd" 17 + /> 18 + </svg> 19 + </div> 20 + <div class="ml-3"> 21 + <h3 class="text-sm font-medium text-blue-800 dark:text-blue-500">{title}</h3> 22 + <div class="mt-2 text-sm text-blue-700 dark:text-blue-400"> 23 + <slot></slot> 24 + </div> 25 + </div> 26 + </div> 27 + </div>
+33
src/components/alerts/SuccessAlert.svelte
··· 1 + <script lang="ts"> 2 + export let title: string; 3 + 4 + let classes: string; 5 + 6 + export { classes as class }; 7 + </script> 8 + <div class="rounded-xl bg-green-50 dark:bg-green-500/5 p-4 dark:ring-1 dark:ring-green-500/10 not-prose max-w-full {classes}"> 9 + <div class="flex"> 10 + <div class="flex-shrink-0"> 11 + <svg 12 + class="h-5 w-5 text-green-500" 13 + viewBox="0 0 20 20" 14 + fill="currentColor" 15 + aria-hidden="true" 16 + > 17 + <path 18 + fill-rule="evenodd" 19 + d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" 20 + clip-rule="evenodd" 21 + /> 22 + </svg> 23 + </div> 24 + <div class="ml-3"> 25 + <h3 class="text-sm font-medium text-green-800 dark:text-green-500">{title}</h3> 26 + <div class="mt-2 text-sm text-green-700 dark:text-green-400"> 27 + <p> 28 + <slot></slot> 29 + </p> 30 + </div> 31 + </div> 32 + </div> 33 + </div>
+33
src/components/alerts/WarningAlert.svelte
··· 1 + <script lang="ts"> 2 + export let title: string; 3 + let classes: string; 4 + 5 + export { classes as class }; 6 + </script> 7 + 8 + <div class="rounded-xl bg-yellow-50 dark:bg-yellow-500/5 p-4 dark:ring-1 dark:ring-yellow-500/10 not-prose max-w-full {classes}"> 9 + <div class="flex"> 10 + <div class="flex-shrink-0"> 11 + <svg 12 + class="h-5 w-5 text-yellow-500" 13 + viewBox="0 0 20 20" 14 + fill="currentColor" 15 + aria-hidden="true" 16 + > 17 + <path 18 + fill-rule="evenodd" 19 + d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 5a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 5zm0 9a1 1 0 100-2 1 1 0 000 2z" 20 + clip-rule="evenodd" 21 + /> 22 + </svg> 23 + </div> 24 + <div class="ml-3"> 25 + <h3 class="text-sm font-medium text-yellow-800 dark:text-yellow-400">{title}</h3> 26 + <div class="mt-2 text-sm text-yellow-700 dark:text-yellow-300"> 27 + <p> 28 + <slot></slot> 29 + </p> 30 + </div> 31 + </div> 32 + </div> 33 + </div>
+229
src/components/search/CommandPalette.svelte
··· 1 + <script lang="ts"> 2 + import { fade, slide } from "svelte/transition"; 3 + import type { Pagefind } from "vite-plugin-pagefind/types"; 4 + import { showSearch } from "./CommandPaletteStore"; 5 + 6 + export let showResults = true; 7 + 8 + export let placeholder = "Search..."; 9 + 10 + export let results: { title: string; content: string; href: string }[] = [ 11 + { 12 + title: "Title", 13 + content: 14 + "This is some longer content that will probably have to be cut at some point, because it just wont fit but such is life, what can you do? nothing. i mean i guess you could scroll? but that would look ugly", 15 + href: "/", 16 + }, 17 + { title: "Title", content: "Content", href: "/" }, 18 + ]; 19 + 20 + export let noResults = "No results found"; 21 + 22 + let currentSelection = 0; 23 + 24 + let search = async () => { 25 + if (value.trim() == "") return; 26 + 27 + const search = await pagefind.debouncedSearch(value); 28 + if (!search) return; 29 + 30 + showResults = true; 31 + results = []; 32 + 33 + let newResults = []; 34 + 35 + for (let i = 0; i < search.results.length && i < 5; i++) { 36 + let result = await search.results[i].data(); 37 + 38 + console.log(result); 39 + 40 + let excerpt = result.excerpt; 41 + // replace <mark> tags with <span class="bg-pink-600/10"> 42 + excerpt = excerpt.replaceAll( 43 + "<mark>", 44 + '<span class="bg-accent-500/20 rounded-md p-0.5">' 45 + ); 46 + excerpt = excerpt.replaceAll("</mark>", "</span>"); 47 + 48 + newResults[i] = { 49 + title: result.meta.title, 50 + content: excerpt, 51 + href: result.url, 52 + }; 53 + } 54 + 55 + results = Object.values(newResults); 56 + }; 57 + 58 + export let value: string = ""; 59 + 60 + export const show = () => { 61 + $showSearch = true; 62 + setTimeout(() => { 63 + input.focus(); 64 + }, 200); 65 + }; 66 + 67 + let pagefind: Pagefind; 68 + async function setupSearch() { 69 + try { 70 + // @ts-ignore 71 + pagefind = await import( 72 + import.meta.env.BASE_URL + "/pagefind/pagefind.js" 73 + ); 74 + } catch (error) { 75 + console.error("Pagefind module not found, will retry after build"); 76 + } 77 + } 78 + 79 + setupSearch(); 80 + 81 + let input: HTMLInputElement; 82 + 83 + $: if (value.trim() == "") { 84 + results = []; 85 + showResults = false; 86 + } else { 87 + search(); 88 + } 89 + 90 + $: if ($showSearch) { 91 + currentSelection = 0; 92 + 93 + setTimeout(() => { 94 + input.focus(); 95 + }, 200); 96 + } else { 97 + value = ""; 98 + } 99 + </script> 100 + 101 + <svelte:window 102 + on:keydown={(event) => { 103 + // show/hide on command + k 104 + if (event.key == "k" && event.metaKey) { 105 + $showSearch = !$showSearch; 106 + 107 + event.preventDefault(); 108 + } 109 + }} 110 + /> 111 + 112 + {#if $showSearch} 113 + <div 114 + class="relative z-50" 115 + role="dialog" 116 + aria-modal="true" 117 + transition:fade={{ duration: 100 }} 118 + > 119 + <div class="fixed inset-0 z-10 w-screen overflow-y-auto p-4 pt-20 md:p-20"> 120 + <button 121 + on:click={() => ($showSearch = false)} 122 + class="fixed inset-0 bg-base-500/30 dark:bg-base-950/70 transition-opacity z-0 cursor-default backdrop-blur-sm" 123 + > 124 + <div class="sr-only">hide search</div> 125 + </button> 126 + 127 + <div 128 + class="mx-auto max-w-xl transform divide-y divide-base-100 dark:divide-white/10 overflow-hidden rounded-xl bg-white dark:bg-base-900 shadow-2xl ring-1 ring-black dark:ring-white/20 ring-opacity-5 transition-all" 129 + > 130 + <div class="relative flex flex-grow items-stretch focus-within:z-10"> 131 + <input 132 + on:keydown={(event) => { 133 + if (event.key == "Enter") { 134 + if (value.trim() == "") { 135 + $showSearch = false; 136 + } 137 + 138 + // navigate to current selection 139 + if ( 140 + currentSelection >= 0 && 141 + currentSelection < results.length 142 + ) { 143 + window.location.href = results[currentSelection].href; 144 + } else { 145 + $showSearch = false; 146 + } 147 + } 148 + console.log(event, event.key); 149 + // on arrow down 150 + if (event.key == "ArrowDown") { 151 + currentSelection++; 152 + if (currentSelection >= results.length) currentSelection = 0; 153 + } 154 + // on arrow up 155 + if (event.key == "ArrowUp") { 156 + currentSelection--; 157 + if (currentSelection < 0) currentSelection = results.length - 1; 158 + } 159 + }} 160 + type="text" 161 + class="h-12 w-full border-0 bg-transparent pl-4 pr-4 text-base-900 dark:text-base-100 placeholder:text-base-400 focus:ring-0 sm:text-sm" 162 + {placeholder} 163 + role="combobox" 164 + aria-expanded="false" 165 + aria-controls="options" 166 + bind:value 167 + bind:this={input} 168 + /> 169 + <button 170 + on:click={() => { 171 + search(); 172 + }} 173 + type="button" 174 + class="relative -ml-px inline-flex items-center gap-x-1.5 rounded-r-md px-3 py-2 text-sm font-semibold text-base-900 dark:bg-base-900 dark:hover:bg-base-800 hover:bg-base-50" 175 + > 176 + <slot named="icon"> 177 + <svg 178 + class=" h-5 w-5 text-base-400" 179 + viewBox="0 0 20 20" 180 + fill="currentColor" 181 + aria-hidden="true" 182 + > 183 + <path 184 + fill-rule="evenodd" 185 + d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z" 186 + clip-rule="evenodd" 187 + /> 188 + </svg> 189 + </slot> 190 + <slot /> 191 + </button> 192 + </div> 193 + 194 + <!-- Results, show/hide based on command palette state --> 195 + {#if showResults && value.trim() != ""} 196 + <div transition:slide={{ duration: 100 }}> 197 + {#if results.length > 0} 198 + <div 199 + class="scroll-py-2 overflow-y-auto text-sm text-base-800 dark:text-base-200 divide-y divide-base-100 dark:divide-white/5 flex flex-col" 200 + > 201 + <!-- Active: "bg-indigo-600 text-white" --> 202 + {#each results as result, i} 203 + <a 204 + href={result.href} 205 + class="w-full {currentSelection === i 206 + ? 'bg-white/5' 207 + : 'hover:bg-white/5'} select-none px-4 py-2 text-left" 208 + > 209 + <div class="font-semibold"> 210 + {result.title} 211 + </div> 212 + <div class="text-xs mt-2 line-clamp-2"> 213 + {@html result.content} 214 + </div> 215 + </a> 216 + {/each} 217 + </div> 218 + {:else} 219 + <!-- Empty state, show/hide based on command palette state --> 220 + <p class="p-4 text-sm text-base-500 dark:text-base-400"> 221 + {noResults} 222 + </p> 223 + {/if} 224 + </div> 225 + {/if} 226 + </div> 227 + </div> 228 + </div> 229 + {/if}
+3
src/components/search/CommandPaletteStore.ts
··· 1 + import { writable } from "svelte/store"; 2 + 3 + export const showSearch = writable(false);
+27
src/components/search/Search.svelte
··· 1 + <script lang="ts"> 2 + import { showSearch } from "./CommandPaletteStore"; 3 + </script> 4 + 5 + <button 6 + onclick={() => { 7 + console.log("clicked"); 8 + $showSearch = true; 9 + console.log($showSearch); 10 + }} 11 + > 12 + <div class="sr-only">search</div> 13 + <svg 14 + xmlns="http://www.w3.org/2000/svg" 15 + fill="none" 16 + viewBox="0 0 24 24" 17 + stroke-width="1.5" 18 + stroke="currentColor" 19 + class="w-6 h-6 text-stone-900 dark:text-stone-50 hover:text-stone-600 dark:hover:text-stone-400" 20 + > 21 + <path 22 + stroke-linecap="round" 23 + stroke-linejoin="round" 24 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 25 + /> 26 + </svg> 27 + </button>
+31
src/consts.ts
··· 1 + import type { AccentColors, BaseColors } from "./types"; 2 + 3 + export const SITE_TITLE = "Blog template"; 4 + export const SITE_DESCRIPTION = "Welcome to my website!"; 5 + export const SITE_FAVICON = "🙃"; 6 + 7 + // used in the footer (c) YOUR_NAME 8 + export const NAME = "Your Name"; 9 + 10 + export const BASE = "/blog-template"; 11 + 12 + export const site = "https://flo-bit.github.io" 13 + 14 + // how many posts to show on per paginated page (also used for tag pages) 15 + export const POSTS_PER_PAGE = 2; 16 + 17 + // should we show the dark mode toggle? 18 + // (otherwise, it will be based on the user's system preferences) 19 + export const MANUAL_DARK_MODE = true; 20 + 21 + // should we show the search bar? 22 + export const SEARCH_ENABLED = true; 23 + 24 + // shade of gray for the background 25 + // one of 'gray', 'neutral', 'stone', 'zinc', 'slate' 26 + export const BASE_COLOR: BaseColors = "stone"; 27 + 28 + // color of links, etc. 29 + // one of 'red', 'orange', 'amber', 'yellow', 'lime', 'green', 'emerald', 'teal', 30 + // 'cyan', 'sky', 'blue', 'indigo', 'violet', 'purple', 'fuchsia', 'pink', 'rose' 31 + export const ACCENT_COLOR: AccentColors = "amber";
+218
src/content/blog/markdown-style-guide.md
··· 1 + --- 2 + title: "Markdown Style Guide" 3 + shortDescription: "How to write Markdown content in Astro." 4 + description: "Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro." 5 + pubDate: "Jun 19 2024" 6 + heroImage: "/src/assets/blog-placeholder-1.jpg" 7 + tags: 8 + - markdown 9 + - guide 10 + --- 11 + 12 + Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro. 13 + 14 + ## Headings 15 + 16 + The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest. 17 + 18 + # H1 19 + 20 + ## H2 21 + 22 + ### H3 23 + 24 + #### H4 25 + 26 + ##### H5 27 + 28 + ###### H6 29 + 30 + ## Paragraph 31 + 32 + Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. 33 + 34 + Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. 35 + 36 + ## Images 37 + 38 + ### Syntax 39 + 40 + ```markdown 41 + ![Alt text](./relative/path/of/image) 42 + ``` 43 + 44 + ### Output 45 + 46 + ![blog placeholder](/src/assets/blog-placeholder-2.jpg) 47 + 48 + ## Blockquotes 49 + 50 + The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. 51 + 52 + ### Blockquote without attribution 53 + 54 + #### Syntax 55 + 56 + ```markdown 57 + > Tiam, ad mint andaepu dandae nostion secatur sequo quae. 58 + > **Note** that you can use _Markdown syntax_ within a blockquote. 59 + ``` 60 + 61 + #### Output 62 + 63 + > Tiam, ad mint andaepu dandae nostion secatur sequo quae. 64 + > **Note** that you can use _Markdown syntax_ within a blockquote. 65 + 66 + ### Blockquote with attribution 67 + 68 + #### Syntax 69 + 70 + ```markdown 71 + > Don't communicate by sharing memory, share memory by communicating.<br> 72 + > — <cite>Rob Pike[^1]</cite> 73 + ``` 74 + 75 + #### Output 76 + 77 + > Don't communicate by sharing memory, share memory by communicating.<br> 78 + > — <cite>Rob Pike[^1]</cite> 79 + 80 + [^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. 81 + 82 + ## Tables 83 + 84 + ### Syntax 85 + 86 + ```markdown 87 + | Italics | Bold | Code | 88 + | --------- | -------- | ------ | 89 + | _italics_ | **bold** | `code` | 90 + ``` 91 + 92 + ### Output 93 + 94 + | Italics | Bold | Code | 95 + | --------- | -------- | ------ | 96 + | _italics_ | **bold** | `code` | 97 + 98 + ## Code Blocks 99 + 100 + ### Syntax 101 + 102 + we can use 3 backticks ``` in new line and write snippet and close with 3 backticks on new line and to highlight language specific syntax, write one word of language name after first 3 backticks, for eg. html, javascript, css, markdown, typescript, txt, bash 103 + 104 + ````markdown 105 + ```html 106 + <!doctype html> 107 + <html lang="en"> 108 + <head> 109 + <meta charset="utf-8" /> 110 + <title>Example HTML5 Document</title> 111 + </head> 112 + <body> 113 + <p>Test</p> 114 + </body> 115 + </html> 116 + ``` 117 + ```` 118 + 119 + ### Output 120 + 121 + ```html 122 + <!doctype html> 123 + <html lang="en"> 124 + <head> 125 + <meta charset="utf-8" /> 126 + <title>Example HTML5 Document</title> 127 + </head> 128 + <body> 129 + <p>Test</p> 130 + </body> 131 + </html> 132 + ``` 133 + 134 + ## List Types 135 + 136 + ### Ordered List 137 + 138 + #### Syntax 139 + 140 + ```markdown 141 + 1. First item 142 + 2. Second item 143 + 3. Third item 144 + ``` 145 + 146 + #### Output 147 + 148 + 1. First item 149 + 2. Second item 150 + 3. Third item 151 + 152 + ### Unordered List 153 + 154 + #### Syntax 155 + 156 + ```markdown 157 + - List item 158 + - Another item 159 + - And another item 160 + ``` 161 + 162 + #### Output 163 + 164 + - List item 165 + - Another item 166 + - And another item 167 + 168 + ### Nested list 169 + 170 + #### Syntax 171 + 172 + ```markdown 173 + - Fruit 174 + - Apple 175 + - Orange 176 + - Banana 177 + - Dairy 178 + - Milk 179 + - Cheese 180 + ``` 181 + 182 + #### Output 183 + 184 + - Fruit 185 + - Apple 186 + - Orange 187 + - Banana 188 + - Dairy 189 + - Milk 190 + - Cheese 191 + 192 + ## Other Elements — abbr, sub, sup, kbd, mark 193 + 194 + ### Syntax 195 + 196 + ```markdown 197 + <abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format. 198 + 199 + H<sub>2</sub>O 200 + 201 + X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup> 202 + 203 + Press <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>Delete</kbd> to end the session. 204 + 205 + Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures. 206 + ``` 207 + 208 + ### Output 209 + 210 + <abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format. 211 + 212 + H<sub>2</sub>O 213 + 214 + X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup> 215 + 216 + Press <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>Delete</kbd> to end the session. 217 + 218 + Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
+19
src/content/blog/second-post.md
··· 1 + --- 2 + title: "Second post" 3 + description: "Lorem ipsum dolor sit amet" 4 + pubDate: "Jul 15 2022" 5 + heroImage: "/src/assets/blog-placeholder-4.jpg" 6 + 7 + useHeroAsOGImage: true 8 + noTextInOGImage: true 9 + --- 10 + 11 + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet. 12 + 13 + Morbi tristique senectus et netus. Id semper risus in hendrerit gravida rutrum quisque non tellus. Habitasse platea dictumst quisque sagittis purus sit amet. Tellus molestie nunc non blandit massa. Cursus vitae congue mauris rhoncus. Accumsan tortor posuere ac ut. Fringilla urna porttitor rhoncus dolor. Elit ullamcorper dignissim cras tincidunt lobortis. In cursus turpis massa tincidunt dui ut ornare lectus. Integer feugiat scelerisque varius morbi enim nunc. Bibendum neque egestas congue quisque egestas diam. Cras ornare arcu dui vivamus arcu felis bibendum. Dignissim suspendisse in est ante in nibh mauris. Sed tempus urna et pharetra pharetra massa massa ultricies mi. 14 + 15 + Mollis nunc sed id semper risus in. Convallis a cras semper auctor neque. Diam sit amet nisl suscipit. Lacus viverra vitae congue eu consequat ac felis donec. Egestas integer eget aliquet nibh praesent tristique magna sit amet. Eget magna fermentum iaculis eu non diam. In vitae turpis massa sed elementum. Tristique et egestas quis ipsum suspendisse ultrices. Eget lorem dolor sed viverra ipsum. Vel turpis nunc eget lorem dolor sed viverra. Posuere ac ut consequat semper viverra nam. Laoreet suspendisse interdum consectetur libero id faucibus. Diam phasellus vestibulum lorem sed risus ultricies tristique. Rhoncus dolor purus non enim praesent elementum facilisis. Ultrices tincidunt arcu non sodales neque. Tempus egestas sed sed risus pretium quam vulputate. Viverra suspendisse potenti nullam ac tortor vitae purus faucibus ornare. Fringilla urna porttitor rhoncus dolor purus non. Amet dictum sit amet justo donec enim. 16 + 17 + Mattis ullamcorper velit sed ullamcorper morbi tincidunt. Tortor posuere ac ut consequat semper viverra. Tellus mauris a diam maecenas sed enim ut sem viverra. Venenatis urna cursus eget nunc scelerisque viverra mauris in. Arcu ac tortor dignissim convallis aenean et tortor at. Curabitur gravida arcu ac tortor dignissim convallis aenean et tortor. Egestas tellus rutrum tellus pellentesque eu. Fusce ut placerat orci nulla pellentesque dignissim enim sit amet. Ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Id donec ultrices tincidunt arcu. Id cursus metus aliquam eleifend mi. 18 + 19 + Tempus quam pellentesque nec nam aliquam sem. Risus at ultrices mi tempus imperdiet. Id porta nibh venenatis cras sed felis eget velit. Ipsum a arcu cursus vitae. Facilisis magna etiam tempor orci eu lobortis elementum. Tincidunt dui ut ornare lectus sit. Quisque non tellus orci ac. Blandit libero volutpat sed cras. Nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida. Egestas integer eget aliquet nibh praesent tristique magna.
+16
src/content/blog/third-post.md
··· 1 + --- 2 + title: "Third post" 3 + description: "Lorem ipsum dolor sit amet" 4 + pubDate: "Jul 22 2022" 5 + heroImage: "/src/assets/blog-placeholder-2.jpg" 6 + --- 7 + 8 + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet. 9 + 10 + Morbi tristique senectus et netus. Id semper risus in hendrerit gravida rutrum quisque non tellus. Habitasse platea dictumst quisque sagittis purus sit amet. Tellus molestie nunc non blandit massa. Cursus vitae congue mauris rhoncus. Accumsan tortor posuere ac ut. Fringilla urna porttitor rhoncus dolor. Elit ullamcorper dignissim cras tincidunt lobortis. In cursus turpis massa tincidunt dui ut ornare lectus. Integer feugiat scelerisque varius morbi enim nunc. Bibendum neque egestas congue quisque egestas diam. Cras ornare arcu dui vivamus arcu felis bibendum. Dignissim suspendisse in est ante in nibh mauris. Sed tempus urna et pharetra pharetra massa massa ultricies mi. 11 + 12 + Mollis nunc sed id semper risus in. Convallis a cras semper auctor neque. Diam sit amet nisl suscipit. Lacus viverra vitae congue eu consequat ac felis donec. Egestas integer eget aliquet nibh praesent tristique magna sit amet. Eget magna fermentum iaculis eu non diam. In vitae turpis massa sed elementum. Tristique et egestas quis ipsum suspendisse ultrices. Eget lorem dolor sed viverra ipsum. Vel turpis nunc eget lorem dolor sed viverra. Posuere ac ut consequat semper viverra nam. Laoreet suspendisse interdum consectetur libero id faucibus. Diam phasellus vestibulum lorem sed risus ultricies tristique. Rhoncus dolor purus non enim praesent elementum facilisis. Ultrices tincidunt arcu non sodales neque. Tempus egestas sed sed risus pretium quam vulputate. Viverra suspendisse potenti nullam ac tortor vitae purus faucibus ornare. Fringilla urna porttitor rhoncus dolor purus non. Amet dictum sit amet justo donec enim. 13 + 14 + Mattis ullamcorper velit sed ullamcorper morbi tincidunt. Tortor posuere ac ut consequat semper viverra. Tellus mauris a diam maecenas sed enim ut sem viverra. Venenatis urna cursus eget nunc scelerisque viverra mauris in. Arcu ac tortor dignissim convallis aenean et tortor at. Curabitur gravida arcu ac tortor dignissim convallis aenean et tortor. Egestas tellus rutrum tellus pellentesque eu. Fusce ut placerat orci nulla pellentesque dignissim enim sit amet. Ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Id donec ultrices tincidunt arcu. Id cursus metus aliquam eleifend mi. 15 + 16 + Tempus quam pellentesque nec nam aliquam sem. Risus at ultrices mi tempus imperdiet. Id porta nibh venenatis cras sed felis eget velit. Ipsum a arcu cursus vitae. Facilisis magna etiam tempor orci eu lobortis elementum. Tincidunt dui ut ornare lectus sit. Quisque non tellus orci ac. Blandit libero volutpat sed cras. Nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida. Egestas integer eget aliquet nibh praesent tristique magna.
+33
src/content/blog/using-mdx.mdx
··· 1 + --- 2 + title: "Using MDX" 3 + shortDescription: "Learn how to use MDX in Astro" 4 + description: "Lorem ipsum dolor sit amet" 5 + pubDate: "Jun 01 2024" 6 + heroImage: "/src/assets/blog-placeholder-3.jpg" 7 + hideHero: true 8 + --- 9 + 10 + This theme comes with the [@astrojs/mdx](https://docs.astro.build/en/guides/integrations-guide/mdx/) integration installed and configured in your `astro.config.mjs` config file. If you prefer not to use MDX, you can disable support by removing the integration from your config file. 11 + 12 + ## Why MDX? 13 + 14 + MDX is a special flavor of Markdown that supports embedded JavaScript & JSX syntax. This unlocks the ability to [mix JavaScript and UI Components into your Markdown content](https://docs.astro.build/en/guides/markdown-content/#mdx-features) for things like interactive charts or alerts. 15 + 16 + If you have existing content authored in MDX, this integration will hopefully make migrating to Astro a breeze. 17 + 18 + ## Example 19 + 20 + Here is how you import and use a UI component inside of MDX. 21 + When you open this page in the browser, you should see the clickable button below. 22 + 23 + import HeaderLink from "../../components/HeaderLink.astro"; 24 + 25 + <HeaderLink href="#" onclick="alert('clicked!')"> 26 + Embedded component in MDX 27 + </HeaderLink> 28 + 29 + ## More Links 30 + 31 + - [MDX Syntax Documentation](https://mdxjs.com/docs/what-is-mdx) 32 + - [Astro Usage Documentation](https://docs.astro.build/en/guides/markdown-content/#markdown-and-mdx-pages) 33 + - **Note:** [Client Directives](https://docs.astro.build/en/reference/directives-reference/#client-directives) are still required to create interactive components. Otherwise, all components in your MDX will render as static HTML (no JavaScript) by default.
+23
src/content/config.ts
··· 1 + import { defineCollection, z } from "astro:content"; 2 + 3 + const blog = defineCollection({ 4 + type: "content", 5 + // Type-check frontmatter using a schema 6 + schema: z.object({ 7 + title: z.string(), 8 + description: z.string(), 9 + 10 + // Transform string to Date object 11 + pubDate: z.coerce.date(), 12 + shortDescription: z.string().optional(), 13 + updatedDate: z.coerce.date().optional(), 14 + heroImage: z.string().optional(), 15 + tags: z.array(z.string()).optional(), 16 + hideHero: z.boolean().optional(), 17 + 18 + useHeroAsOGImage: z.boolean().optional(), 19 + noTextInOGImage: z.boolean().optional(), 20 + }), 21 + }); 22 + 23 + export const collections = { blog };
+17
src/content/info/about.md
··· 1 + # 🧑‍🚀 Hello, Astronaut! 2 + 3 + Welcome to my [Astro](https://astro.build/) blog template. This template serves as a **lightweight and minimalistic** styled starting point for anyone looking to build a personal website, blog, or portfolio with Astro. 4 + 5 + This template comes with a few integrations already configured in your `astro.config.mjs` file. You can customize your setup with [Astro Integrations](https://astro.build/integrations) to add tools like Tailwind, React, or Vue to your project. 6 + 7 + Here are a few ideas on how to get started with the template: 8 + 9 + - Edit this page in `src/pages/index.astro` 10 + - Edit the site header items in `src/components/Header.astro` 11 + - Add your name to the footer in `src/components/Footer.astro` 12 + - Check out the included blog posts in `src/content/blog/` 13 + - Customize the blog post page layout in `src/layouts/BlogPost.astro` 14 + 15 + Have fun! If you get stuck, remember to [read the docs](https://docs.astro.build/) or [join us on Discord](https://astro.build/chat) to ask questions. 16 + 17 + Looking for a blog template with a bit more personality? Check out [astro-blog-template](https://github.com/Charca/astro-blog-template) by [Maxi Ferreira](https://twitter.com/Charca).
+7
src/content/info/description.md
··· 1 + # Blog template 2 + 3 + hello there, this is my blog 4 + 5 + - just some 6 + - random 7 + - stuff
+1
src/env.d.ts
··· 1 + /// <reference path="../.astro/types.d.ts" />
+62
src/layouts/BaseLayout.astro
··· 1 + --- 2 + import BaseHead from "../components/BaseHead.astro"; 3 + const { title, description, image } = Astro.props; 4 + --- 5 + 6 + <!doctype html> 7 + <html lang="en" class="h-full antialiased"> 8 + <head> 9 + <BaseHead title={title} description={description} image={image} /> 10 + 11 + <script is:inline> 12 + let dark = false; 13 + if (localStorage.getItem("darkMode")) { 14 + dark = JSON.parse(localStorage.getItem("darkMode") ?? "false"); 15 + } else { 16 + dark = window.matchMedia("(prefers-color-scheme: dark)").matches; 17 + } 18 + 19 + var root = document.getElementsByTagName("html")[0]; 20 + if (dark) { 21 + root.classList.add("dark"); 22 + } else { 23 + root.classList.remove("dark"); 24 + } 25 + </script> 26 + 27 + <style is:global> 28 + html.dark .astro-code, 29 + html.dark .astro-code span { 30 + color: var(--shiki-dark) !important; 31 + /* Optional, if you also want font styles */ 32 + font-style: var(--shiki-dark-font-style) !important; 33 + font-weight: var(--shiki-dark-font-weight) !important; 34 + text-decoration: var(--shiki-dark-text-decoration) !important; 35 + } 36 + 37 + pre { 38 + border: 1px solid rgba(0, 0, 0, 0.1); 39 + background-color: rgba(0, 0, 0, 0.03) !important; 40 + border-radius: 0.75rem !important; 41 + } 42 + 43 + html.dark pre { 44 + border: 1px solid rgba(255, 255, 255, 0.1); 45 + background-color: rgba(255, 255, 255, 0.05) !important; 46 + border-radius: 0.75rem !important; 47 + } 48 + </style> 49 + </head> 50 + 51 + <body 52 + class="bg-base-100 dark:bg-base-950 min-h-full flex mx-1 sm:mx-4 transition-all duration-150" 53 + > 54 + <div 55 + class="max-w-6xl mx-auto rounded-xl my-1 sm:my-8 w-full min-h-screen bg-base-50 ring-1 ring-base-200 dark:bg-base-900 dark:ring-base-300/20" 56 + > 57 + <div class="w-full"> 58 + <slot /> 59 + </div> 60 + </div> 61 + </body> 62 + </html>
+33
src/layouts/BlogPost.astro
··· 1 + --- 2 + import { colorBaseClasses, colorAccentClasses } from "src/colors"; 3 + import { ACCENT_COLOR, BASE_COLOR } from "../consts"; 4 + 5 + const { includeSearch } = Astro.props; 6 + --- 7 + 8 + { 9 + includeSearch ? ( 10 + <main 11 + data-pagefind-body 12 + class={ 13 + "prose prose-img:rounded-xl dark:prose-invert prose-a:no-underline prose-inline-code:bg-base-100 dark:prose-inline-code:bg-base-800 prose-inline-code:p-1 prose-inline-code:rounded-md " + 14 + colorBaseClasses[BASE_COLOR] + 15 + " " + 16 + colorAccentClasses[ACCENT_COLOR] 17 + } 18 + > 19 + <slot /> 20 + </main> 21 + ) : ( 22 + <main 23 + class={ 24 + "prose prose-img:rounded-xl dark:prose-invert prose-a:no-underline prose-inline-code:bg-base-100 dark:prose-inline-code:bg-base-800 prose-inline-code:p-1 prose-inline-code:rounded-md " + 25 + colorBaseClasses[BASE_COLOR] + 26 + " " + 27 + colorAccentClasses[ACCENT_COLOR] 28 + } 29 + > 30 + <slot /> 31 + </main> 32 + ) 33 + }
+20
src/pages/about/index.astro
··· 1 + --- 2 + import { SITE_TITLE, SITE_DESCRIPTION } from "../../consts"; 3 + 4 + import Footer from "$components/Footer.astro"; 5 + import Header from "$components/Header.astro"; 6 + import BaseLayout from "$layouts/BaseLayout.astro"; 7 + import BlogPost from "$layouts/BlogPost.astro"; 8 + import { Content } from "$content/info/about.md"; 9 + --- 10 + 11 + <BaseLayout title={SITE_TITLE} description={SITE_DESCRIPTION}> 12 + <Header /> 13 + <main class="max-w-2xl lg:max-w-3xl mx-auto mt-16 px-4"> 14 + <BlogPost> 15 + <Content /> 16 + </BlogPost> 17 + </main> 18 + 19 + <Footer /> 20 + </BaseLayout>
+40
src/pages/index.astro
··· 1 + --- 2 + import { SITE_TITLE, SITE_DESCRIPTION, POSTS_PER_PAGE } from "../consts"; 3 + 4 + import { getCollection } from "astro:content"; 5 + 6 + import Footer from "$components/Footer.astro"; 7 + import Header from "$components/Header.astro"; 8 + import BaseLayout from "$layouts/BaseLayout.astro"; 9 + import BlogPost from "$layouts/BlogPost.astro"; 10 + import BlogEntry from "$components/BlogEntry.astro"; 11 + 12 + import { Content } from "$content/info/description.md"; 13 + import Pagination from "$components/Pagination.astro"; 14 + 15 + const posts = (await getCollection("blog")) 16 + .sort((a: any, b: any) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf()) 17 + .splice(0, POSTS_PER_PAGE); 18 + 19 + const total = Math.ceil((await getCollection("blog")).length / POSTS_PER_PAGE); 20 + --- 21 + 22 + <BaseLayout title={SITE_TITLE} description={SITE_DESCRIPTION}> 23 + <Header /> 24 + <main class="max-w-2xl lg:max-w-3xl mx-auto mt-16 px-4"> 25 + <BlogPost> 26 + <Content /> 27 + <div class="my-14 space-y-14 max-w-3xl not-prose"> 28 + { 29 + posts.map((post: any) => ( 30 + <BlogEntry {...post.data} slug={post.slug} /> 31 + )) 32 + } 33 + </div> 34 + </BlogPost> 35 + 36 + {total > 1 ? <Pagination current={1} total={total} /> : null} 37 + </main> 38 + 39 + <Footer /> 40 + </BaseLayout>
+70
src/pages/open-graph/[...route].ts
··· 1 + import { OGImageRoute } from "astro-og-canvas"; 2 + import { getCollection } from "astro:content"; 3 + import { SITE_DESCRIPTION, SITE_TITLE } from "src/consts"; 4 + 5 + const posts = await getCollection("blog"); 6 + 7 + // turn posts into an object with slugs as keys, and title and description as values 8 + // { slug: { title, description } } 9 + 10 + const pages = posts.reduce( 11 + (acc, post) => { 12 + acc[post.slug] = { 13 + title: post.data.noTextInOGImage ? "" : post.data.title, 14 + description: post.data.noTextInOGImage 15 + ? "" 16 + : (post.data.shortDescription ?? ""), 17 + useHero: post.data.useHeroAsOGImage ?? false, 18 + heroImage: post.data.heroImage, 19 + }; 20 + return acc; 21 + }, 22 + {} as Record< 23 + string, 24 + { title: string; description: string; useHero: boolean; heroImage?: string } 25 + >, 26 + ); 27 + 28 + console.log(pages); 29 + export const { getStaticPaths, GET } = OGImageRoute({ 30 + // Tell us the name of your dynamic route segment. 31 + // In this case it’s `route`, because the file is named `[...route].ts`. 32 + param: "route", 33 + 34 + // A collection of pages to generate images for. 35 + // The keys of this object are used to generate the path for that image. 36 + // In this example, we generate one image at `/open-graph/example.png`. 37 + pages: { 38 + main: { 39 + title: SITE_TITLE, 40 + description: SITE_DESCRIPTION, 41 + useHero: false, 42 + }, 43 + ...pages, 44 + }, 45 + 46 + // For each page, this callback will be used to customize the OpenGraph image. 47 + getImageOptions: (path, page) => ({ 48 + title: page.title, 49 + description: page.description, 50 + bgImage: { 51 + path: page.useHero ? "." + page.heroImage : "./src/assets/background.png", 52 + fit: "cover", 53 + }, 54 + font: { 55 + /** Font style for the page title. */ 56 + title: { 57 + families: ["Inter"], 58 + color: [255, 255, 255], 59 + size: 80, 60 + weight: "SemiBold", 61 + }, 62 + description: { 63 + families: ["Inter"], 64 + color: [255, 255, 255], 65 + }, 66 + }, 67 + padding: 80, 68 + fonts: ["./src/assets/InterVariable.ttf"], 69 + }), 70 + });
+58
src/pages/pages/[...index].astro
··· 1 + --- 2 + import { 3 + SITE_TITLE, 4 + SITE_DESCRIPTION, 5 + POSTS_PER_PAGE, 6 + ACCENT_COLOR, 7 + BASE_COLOR, 8 + } from "../../consts"; 9 + 10 + import { getCollection } from "astro:content"; 11 + 12 + import Header from "$components/Header.astro"; 13 + import Footer from "$components/Footer.astro"; 14 + import BaseLayout from "$layouts/BaseLayout.astro"; 15 + import BlogEntry from "$components/BlogEntry.astro"; 16 + import Pagination from "$components/Pagination.astro"; 17 + import { colorBaseClasses, colorAccentClasses } from "src/colors"; 18 + 19 + export async function getStaticPaths() { 20 + const posts = await getCollection("blog"); 21 + return Array.from({ length: Math.ceil(posts.length / POSTS_PER_PAGE) }).map( 22 + (_, index) => ({ 23 + params: { index: (index + 1).toString() }, 24 + props: { index: index + 1 }, 25 + }) 26 + ); 27 + } 28 + 29 + const { index } = Astro.props; 30 + 31 + const posts = (await getCollection("blog")) 32 + .sort((a: any, b: any) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf()) 33 + .splice(POSTS_PER_PAGE * (index - 1), POSTS_PER_PAGE); 34 + 35 + const total = Math.ceil((await getCollection("blog")).length / POSTS_PER_PAGE); 36 + --- 37 + 38 + <BaseLayout title={SITE_TITLE} description={SITE_DESCRIPTION}> 39 + <Header /> 40 + 41 + <main class="mx-auto max-w-2xl lg:max-w-3xl py-16"> 42 + <div 43 + class={"prose dark:prose-invert text-base-900 dark:text-base-50 px-4 " + 44 + colorBaseClasses[BASE_COLOR] + 45 + " " + 46 + colorAccentClasses[ACCENT_COLOR]} 47 + > 48 + <h1>All blog posts</h1> 49 + </div> 50 + <div class="my-14 space-y-14 max-w-3xl px-4"> 51 + {posts.map((post: any) => <BlogEntry {...post.data} slug={post.slug} />)} 52 + </div> 53 + 54 + {total > 1 ? <Pagination current={index} total={total} /> : null} 55 + </main> 56 + 57 + <Footer /> 58 + </BaseLayout>
+67
src/pages/posts/[...slug].astro
··· 1 + --- 2 + import { type CollectionEntry, getCollection } from "astro:content"; 3 + import BaseLayout from "$layouts/BaseLayout.astro"; 4 + import BlogPost from "$layouts/BlogPost.astro"; 5 + import Header from "$components/Header.astro"; 6 + import Footer from "$components/Footer.astro"; 7 + import { Image } from "astro:assets"; 8 + import FormattedDate from "$components/FormattedDate.astro"; 9 + import { BASE } from "src/consts"; 10 + 11 + export async function getStaticPaths() { 12 + const posts = await getCollection("blog"); 13 + return posts.map((post: any) => ({ 14 + params: { slug: post.slug }, 15 + props: post, 16 + })); 17 + } 18 + type Props = CollectionEntry<"blog">; 19 + 20 + const post = Astro.props; 21 + const { Content } = await post.render(); 22 + 23 + const images = import.meta.glob<{ default: ImageMetadata }>( 24 + "/src/assets/*.{jpeg,jpg,png,gif}" 25 + ); 26 + if (post.data.heroImage && !images[post.data.heroImage]) 27 + throw new Error( 28 + `"${post.data.heroImage}" does not exist in glob: "src/assets/*.{jpeg,jpg,png,gif}"` 29 + ); 30 + --- 31 + 32 + <BaseLayout {...post.data} image={post.slug + ".png"}> 33 + <Header /> 34 + 35 + <main class="max-w-2xl lg:max-w-3xl mx-auto my-0 h-full p-4"> 36 + { 37 + post.data.heroImage && post.data.hideHero !== true ? ( 38 + <Image 39 + src={images[post.data.heroImage]()} 40 + alt="" 41 + class="w-full h-80 object-cover rounded-xl shadow" 42 + /> 43 + ) : null 44 + } 45 + <BlogPost includeSearch={true}> 46 + <div class="flex mt-8 items-center gap-x-4 text-xs"> 47 + <FormattedDate date={post.data.pubDate} /> 48 + <div class="flex gap-x-2"> 49 + { 50 + post.data.tags?.map((tag: string) => ( 51 + <a 52 + href={BASE + "/tags/" + tag} 53 + class="relative z-10 rounded-full bg-base-100 px-3 py-1.5 font-medium text-base-700 hover:bg-base-200 dark:bg-base-800 dark:hover:bg-base-700 dark:text-base-300 border border-base-200 dark:border-base-700" 54 + > 55 + {tag} 56 + </a> 57 + )) 58 + } 59 + </div> 60 + </div> 61 + 62 + <h1 class="mt-4">{post.data.title}</h1> 63 + <Content /> 64 + </BlogPost> 65 + </main> 66 + <Footer /> 67 + </BaseLayout>
+16
src/pages/rss.xml.js
··· 1 + import rss from "@astrojs/rss"; 2 + import { getCollection } from "astro:content"; 3 + import { SITE_TITLE, SITE_DESCRIPTION } from "../consts"; 4 + 5 + export async function GET(context) { 6 + const posts = await getCollection("blog"); 7 + return rss({ 8 + title: SITE_TITLE, 9 + description: SITE_DESCRIPTION, 10 + site: context.site, 11 + items: posts.map((post) => ({ 12 + ...post.data, 13 + link: `/blog/${post.slug}/`, 14 + })), 15 + }); 16 + }
+104
src/pages/tags/[...tag]/[...index].astro
··· 1 + --- 2 + import { 3 + SITE_TITLE, 4 + SITE_DESCRIPTION, 5 + POSTS_PER_PAGE, 6 + ACCENT_COLOR, 7 + BASE_COLOR, 8 + } from "../../../consts"; 9 + 10 + import { getCollection } from "astro:content"; 11 + 12 + import Header from "$components/Header.astro"; 13 + import Footer from "$components/Footer.astro"; 14 + import BaseLayout from "$layouts/BaseLayout.astro"; 15 + import BlogEntry from "$components/BlogEntry.astro"; 16 + import Pagination from "$components/Pagination.astro"; 17 + import { colorBaseClasses, colorAccentClasses } from "src/colors"; 18 + 19 + export async function getStaticPaths() { 20 + const posts = await getCollection("blog"); 21 + const tags = new Map<string, number>(); 22 + 23 + posts.forEach((post: any) => { 24 + post.data.tags?.forEach((tag: string) => 25 + tags.set(tag, (tags.get(tag) || 0) + 1) 26 + ); 27 + }); 28 + 29 + const paths: { 30 + params: { tag: string; index?: string }; 31 + props: { tag: string; index: number }; 32 + }[] = []; 33 + 34 + Array.from(tags).forEach(([tag, count]) => { 35 + const sanitizedTag = tag.split(" ").join("-"); // Replace spaces with hyphens 36 + const totalPages = Math.ceil(count / POSTS_PER_PAGE); 37 + 38 + // 1. Path without index (defaults to page 1) 39 + paths.push({ 40 + params: { tag: sanitizedTag }, 41 + props: { tag, index: 1 }, 42 + }); 43 + 44 + // 2. Path with index=1 (same as no index) 45 + paths.push({ 46 + params: { tag: sanitizedTag, index: "1" }, 47 + props: { tag, index: 1 }, 48 + }); 49 + 50 + // 3. Additional paginated paths (from page 2 onwards) 51 + for (let i = 2; i <= totalPages; i++) { 52 + paths.push({ 53 + params: { tag: sanitizedTag, index: i.toString() }, 54 + props: { tag, index: i }, 55 + }); 56 + } 57 + }); 58 + 59 + return paths; 60 + } 61 + 62 + const { tag, index } = Astro.props; 63 + 64 + console.log(tag); 65 + 66 + const posts = (await getCollection("blog")) 67 + .filter((post: any) => post.data.tags?.includes(tag)) 68 + .sort((a: any, b: any) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf()) 69 + .splice((index - 1) * POSTS_PER_PAGE, POSTS_PER_PAGE); 70 + 71 + const total = Math.ceil( 72 + (await getCollection("blog")).filter((post: any) => 73 + post.data.tags?.includes(tag) 74 + ).length / POSTS_PER_PAGE 75 + ); 76 + --- 77 + 78 + <BaseLayout title={SITE_TITLE} description={SITE_DESCRIPTION}> 79 + <Header /> 80 + 81 + <main class="mx-auto max-w-2xl lg:max-w-3xl py-16"> 82 + <div 83 + class={"prose dark:prose-invert text-base-900 dark:text-base-50 px-4 " + 84 + colorBaseClasses[BASE_COLOR] + 85 + " " + 86 + colorAccentClasses[ACCENT_COLOR]} 87 + > 88 + <h1> 89 + Blog posts, tagged with "{tag}" 90 + </h1> 91 + </div> 92 + <div class="my-14 space-y-14 max-w-3xl px-4"> 93 + {posts.map((post: any) => <BlogEntry {...post.data} slug={post.slug} />)} 94 + </div> 95 + 96 + { 97 + total > 1 ? ( 98 + <Pagination current={index ?? 1} total={total} tag={tag} /> 99 + ) : null 100 + } 101 + </main> 102 + 103 + <Footer /> 104 + </BaseLayout>
+20
src/types.ts
··· 1 + export type BaseColors = "gray" | "neutral" | "stone" | "zinc" | "slate"; 2 + 3 + export type AccentColors = 4 + | "red" 5 + | "orange" 6 + | "amber" 7 + | "yellow" 8 + | "lime" 9 + | "green" 10 + | "emerald" 11 + | "teal" 12 + | "cyan" 13 + | "sky" 14 + | "blue" 15 + | "indigo" 16 + | "violet" 17 + | "purple" 18 + | "fuchsia" 19 + | "pink" 20 + | "rose";
+5
svelte.config.js
··· 1 + import { vitePreprocess } from "@astrojs/svelte"; 2 + 3 + export default { 4 + preprocess: vitePreprocess(), 5 + };
+47
tailwind.config.mjs
··· 1 + import prose from "@tailwindcss/typography"; 2 + import forms from "@tailwindcss/forms"; 3 + import plugin from "tailwindcss/plugin"; 4 + import colors from "tailwindcss/colors"; 5 + import { ACCENT_COLOR, BASE_COLOR, MANUAL_DARK_MODE } from "./src/consts"; 6 + 7 + /** @type {import('tailwindcss').Config} */ 8 + export default { 9 + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], 10 + theme: { 11 + extend: { 12 + colors: { 13 + accent: colors[ACCENT_COLOR.toLowerCase()], 14 + base: colors[BASE_COLOR.toLowerCase()], 15 + }, 16 + typography: { 17 + DEFAULT: { 18 + css: { 19 + "code::before": { 20 + content: "none", 21 + }, 22 + "code::after": { 23 + content: "none", 24 + }, 25 + "blockquote p:first-of-type::before": { 26 + content: "none", 27 + }, 28 + "blockquote p:first-of-type::after": { 29 + content: "none", 30 + }, 31 + }, 32 + }, 33 + }, 34 + }, 35 + }, 36 + darkMode: MANUAL_DARK_MODE ? "class" : "media", 37 + plugins: [ 38 + prose, 39 + forms, 40 + plugin(function ({ addVariant }) { 41 + addVariant( 42 + "prose-inline-code", 43 + '&.prose :where(:not(pre)>code):not(:where([class~="not-prose"] *))', 44 + ); 45 + }), 46 + ], 47 + };
+16
tsconfig.json
··· 1 + { 2 + "extends": "astro/tsconfigs/strict", 3 + "compilerOptions": { 4 + "strictNullChecks": true, 5 + "baseUrl": ".", 6 + "paths": { 7 + "$lib/*": ["src/lib/*"], 8 + "$components/*": ["src/components/*"], 9 + "$layouts/*": ["src/layouts/*"], 10 + "$pages/*": ["src/pages/*"], 11 + "$styles/*": ["src/styles/*"], 12 + "$assets/*": ["src/assets/*"], 13 + "$examples/*": ["src/examples/*"] 14 + } 15 + } 16 + }