├── .npmrc ├── .prettierignore ├── static ├── opengraph.png └── robots.txt ├── src ├── lib │ ├── images │ │ ├── snek.png │ │ └── favicon.png │ └── audio │ │ ├── powerup.wav │ │ └── gameover.wav ├── app.d.ts ├── app.html ├── app.css └── routes │ ├── about │ └── +page.svelte │ ├── +layout.svelte │ └── +page.svelte ├── vite.config.ts ├── .prettierrc ├── .gitignore ├── svelte.config.js ├── README.md ├── tsconfig.json ├── package.json └── pnpm-lock.yaml /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Package Managers 2 | package-lock.json 3 | pnpm-lock.yaml 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /static/opengraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rich-Harris/snek/HEAD/static/opengraph.png -------------------------------------------------------------------------------- /src/lib/images/snek.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rich-Harris/snek/HEAD/src/lib/images/snek.png -------------------------------------------------------------------------------- /static/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /src/lib/audio/powerup.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rich-Harris/snek/HEAD/src/lib/audio/powerup.wav -------------------------------------------------------------------------------- /src/lib/audio/gameover.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rich-Harris/snek/HEAD/src/lib/audio/gameover.wav -------------------------------------------------------------------------------- /src/lib/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rich-Harris/snek/HEAD/src/lib/images/favicon.png -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import { defineConfig } from 'vite'; 3 | 4 | export default defineConfig({ 5 | build: { 6 | assetsInlineLimit: Infinity 7 | }, 8 | 9 | plugins: [sveltekit()] 10 | }); 11 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100, 6 | "plugins": ["prettier-plugin-svelte"], 7 | "overrides": [ 8 | { 9 | "files": "*.svelte", 10 | "options": { 11 | "parser": "svelte" 12 | } 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | # Output 4 | .output 5 | .vercel 6 | .netlify 7 | .wrangler 8 | /.svelte-kit 9 | /build 10 | 11 | # OS 12 | .DS_Store 13 | Thumbs.db 14 | 15 | # Env 16 | .env 17 | .env.* 18 | !.env.example 19 | !.env.test 20 | 21 | # Vite 22 | vite.config.js.timestamp-* 23 | vite.config.ts.timestamp-* 24 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://svelte.dev/docs/kit/types#app.d.ts 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface PageState {} 9 | // interface Platform {} 10 | } 11 | } 12 | 13 | export {}; 14 | -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-static'; 2 | 3 | /** @type {import('@sveltejs/kit').Config} */ 4 | const config = { 5 | kit: { 6 | adapter: adapter(), 7 | 8 | csp: { 9 | mode: 'hash', 10 | 11 | directives: { 12 | 'script-src': ['self'], 13 | 'style-src': ['self'] 14 | } 15 | }, 16 | 17 | output: { 18 | bundleStrategy: 'inline' 19 | }, 20 | 21 | router: { 22 | type: 'hash' 23 | } 24 | } 25 | }; 26 | 27 | export default config; 28 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | %sveltekit.head% 9 | 10 | 11 |
%sveltekit.body%
12 | 13 | 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # snek 2 | 3 | This is a demo of the new `bundleStrategy: 'inline'` option in SvelteKit. 4 | 5 | In `vite.config.js`, `assetsInlineLimit: Infinity` is set, causing all assets (fonts, images, audio) to be inlined into the JavaScript. In turn, `bundleStrategy: 'inline'` in `svelte.config.js` causes the JavaScript (and styles) to be inlined into the HTML. Finally, `router.type === 'hash'` in `svelte.config.js` makes it possible to navigate between pages. 6 | 7 | The result is a fully self-contained `.html` file containing the entire app. 8 | -------------------------------------------------------------------------------- /src/app.css: -------------------------------------------------------------------------------- 1 | @import '@fontsource/vt323/400.css'; 2 | 3 | :root { 4 | font-family: 'VT323', monospace; 5 | font-size: 24px; 6 | } 7 | 8 | * { 9 | box-sizing: border-box; 10 | position: relative; 11 | } 12 | 13 | body { 14 | min-height: 100vh; 15 | margin: 0; 16 | background-attachment: fixed; 17 | background-size: 100vw 100vh; 18 | background-image: radial-gradient(50% 50% at 50% 50%, hsl(48, 100%, 95%), hsl(48, 100%, 90%)); 19 | } 20 | 21 | a { 22 | color: inherit; 23 | } 24 | 25 | button { 26 | font-size: inherit; 27 | font-family: inherit; 28 | } 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true, 12 | "moduleResolution": "bundler" 13 | } 14 | // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias 15 | // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files 16 | // 17 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 18 | // from the referenced tsconfig.json - TypeScript does not merge them in 19 | } 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "snek", 3 | "private": true, 4 | "version": "0.0.1", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite dev", 8 | "build": "vite build", 9 | "preview": "vite preview", 10 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", 11 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 12 | "format": "prettier --write .", 13 | "lint": "prettier --check ." 14 | }, 15 | "devDependencies": { 16 | "@sveltejs/adapter-static": "^3.0.8", 17 | "@sveltejs/kit": "^2.21.0", 18 | "@sveltejs/vite-plugin-svelte": "^5.0.0", 19 | "prettier": "^3.3.2", 20 | "prettier-plugin-svelte": "^3.2.6", 21 | "svelte": "^5.28.6", 22 | "svelte-check": "^4.0.0", 23 | "typescript": "^5.0.0", 24 | "vite": "^6.0.0" 25 | }, 26 | "dependencies": { 27 | "@fontsource/vt323": "^5.1.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/routes/about/+page.svelte: -------------------------------------------------------------------------------- 1 | 2 | About • Snek 3 | 4 | 5 | 6 |
7 |

About this app

8 | 9 |

10 | This is a self-contained app built with SvelteKit. 11 | Everything, including the images and audio, is embedded in the .html file — you can save it to 12 | disk and run it just by double-clicking on it. 13 |

14 | 15 |

16 | Based on a Snake clone 17 | built with Sonnet 3.5. Logo concept by 18 | DALL-E. Sound effects from Freesound (link, link) 21 |

22 | 23 |

You can find the source code on GitHub.

24 |
25 | -------------------------------------------------------------------------------- /src/routes/+layout.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 24 | 25 |
26 | {@render children()} 27 |
28 |
29 | 30 | 55 | -------------------------------------------------------------------------------- /src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 160 | 161 | 162 | Snek 163 | 167 | 168 | 169 | 170 | 171 |
172 |
Score: {score}
173 | 174 |
175 | {#if gameLoopInterval || gameOver} 176 |
177 | {#each gameBoard as row, y} 178 | {#each row as cell, x} 179 |
187 | {/each} 188 | {/each} 189 |
190 | {:else} 191 |
192 | 193 |

An Advent of Svelte production

194 |
195 | {/if} 196 |
197 | 198 | {#if gameOver} 199 |
200 |

Game Over!

201 |

Final Score: {score}

202 | 203 |
204 | {:else if !gameLoopInterval} 205 | 206 | {/if} 207 |
208 | 209 | 287 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@fontsource/vt323': 12 | specifier: ^5.1.0 13 | version: 5.1.0 14 | devDependencies: 15 | '@sveltejs/adapter-static': 16 | specifier: ^3.0.8 17 | version: 3.0.8(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3)) 18 | '@sveltejs/kit': 19 | specifier: ^2.21.0 20 | version: 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3) 21 | '@sveltejs/vite-plugin-svelte': 22 | specifier: ^5.0.0 23 | version: 5.0.3(svelte@5.28.6)(vite@6.0.3) 24 | prettier: 25 | specifier: ^3.3.2 26 | version: 3.4.2 27 | prettier-plugin-svelte: 28 | specifier: ^3.2.6 29 | version: 3.3.2(prettier@3.4.2)(svelte@5.28.6) 30 | svelte: 31 | specifier: ^5.28.6 32 | version: 5.28.6 33 | svelte-check: 34 | specifier: ^4.0.0 35 | version: 4.1.1(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.7.2) 36 | typescript: 37 | specifier: ^5.0.0 38 | version: 5.7.2 39 | vite: 40 | specifier: ^6.0.0 41 | version: 6.0.3 42 | 43 | packages: 44 | 45 | '@ampproject/remapping@2.3.0': 46 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 47 | engines: {node: '>=6.0.0'} 48 | 49 | '@esbuild/aix-ppc64@0.24.0': 50 | resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} 51 | engines: {node: '>=18'} 52 | cpu: [ppc64] 53 | os: [aix] 54 | 55 | '@esbuild/android-arm64@0.24.0': 56 | resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} 57 | engines: {node: '>=18'} 58 | cpu: [arm64] 59 | os: [android] 60 | 61 | '@esbuild/android-arm@0.24.0': 62 | resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} 63 | engines: {node: '>=18'} 64 | cpu: [arm] 65 | os: [android] 66 | 67 | '@esbuild/android-x64@0.24.0': 68 | resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} 69 | engines: {node: '>=18'} 70 | cpu: [x64] 71 | os: [android] 72 | 73 | '@esbuild/darwin-arm64@0.24.0': 74 | resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} 75 | engines: {node: '>=18'} 76 | cpu: [arm64] 77 | os: [darwin] 78 | 79 | '@esbuild/darwin-x64@0.24.0': 80 | resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} 81 | engines: {node: '>=18'} 82 | cpu: [x64] 83 | os: [darwin] 84 | 85 | '@esbuild/freebsd-arm64@0.24.0': 86 | resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} 87 | engines: {node: '>=18'} 88 | cpu: [arm64] 89 | os: [freebsd] 90 | 91 | '@esbuild/freebsd-x64@0.24.0': 92 | resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} 93 | engines: {node: '>=18'} 94 | cpu: [x64] 95 | os: [freebsd] 96 | 97 | '@esbuild/linux-arm64@0.24.0': 98 | resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} 99 | engines: {node: '>=18'} 100 | cpu: [arm64] 101 | os: [linux] 102 | 103 | '@esbuild/linux-arm@0.24.0': 104 | resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} 105 | engines: {node: '>=18'} 106 | cpu: [arm] 107 | os: [linux] 108 | 109 | '@esbuild/linux-ia32@0.24.0': 110 | resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} 111 | engines: {node: '>=18'} 112 | cpu: [ia32] 113 | os: [linux] 114 | 115 | '@esbuild/linux-loong64@0.24.0': 116 | resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} 117 | engines: {node: '>=18'} 118 | cpu: [loong64] 119 | os: [linux] 120 | 121 | '@esbuild/linux-mips64el@0.24.0': 122 | resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} 123 | engines: {node: '>=18'} 124 | cpu: [mips64el] 125 | os: [linux] 126 | 127 | '@esbuild/linux-ppc64@0.24.0': 128 | resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} 129 | engines: {node: '>=18'} 130 | cpu: [ppc64] 131 | os: [linux] 132 | 133 | '@esbuild/linux-riscv64@0.24.0': 134 | resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} 135 | engines: {node: '>=18'} 136 | cpu: [riscv64] 137 | os: [linux] 138 | 139 | '@esbuild/linux-s390x@0.24.0': 140 | resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} 141 | engines: {node: '>=18'} 142 | cpu: [s390x] 143 | os: [linux] 144 | 145 | '@esbuild/linux-x64@0.24.0': 146 | resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} 147 | engines: {node: '>=18'} 148 | cpu: [x64] 149 | os: [linux] 150 | 151 | '@esbuild/netbsd-x64@0.24.0': 152 | resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} 153 | engines: {node: '>=18'} 154 | cpu: [x64] 155 | os: [netbsd] 156 | 157 | '@esbuild/openbsd-arm64@0.24.0': 158 | resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} 159 | engines: {node: '>=18'} 160 | cpu: [arm64] 161 | os: [openbsd] 162 | 163 | '@esbuild/openbsd-x64@0.24.0': 164 | resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} 165 | engines: {node: '>=18'} 166 | cpu: [x64] 167 | os: [openbsd] 168 | 169 | '@esbuild/sunos-x64@0.24.0': 170 | resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} 171 | engines: {node: '>=18'} 172 | cpu: [x64] 173 | os: [sunos] 174 | 175 | '@esbuild/win32-arm64@0.24.0': 176 | resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} 177 | engines: {node: '>=18'} 178 | cpu: [arm64] 179 | os: [win32] 180 | 181 | '@esbuild/win32-ia32@0.24.0': 182 | resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} 183 | engines: {node: '>=18'} 184 | cpu: [ia32] 185 | os: [win32] 186 | 187 | '@esbuild/win32-x64@0.24.0': 188 | resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} 189 | engines: {node: '>=18'} 190 | cpu: [x64] 191 | os: [win32] 192 | 193 | '@fontsource/vt323@5.1.0': 194 | resolution: {integrity: sha512-Uw/aNcz6WkvFGEeWLPB/cuLXJxP93PiJLltR9zdRTYLA6H+VF4EhtZ/lzTXVKzAqbcgiVndmEmtrcxs7goSxsg==} 195 | 196 | '@jridgewell/gen-mapping@0.3.8': 197 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 198 | engines: {node: '>=6.0.0'} 199 | 200 | '@jridgewell/resolve-uri@3.1.2': 201 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 202 | engines: {node: '>=6.0.0'} 203 | 204 | '@jridgewell/set-array@1.2.1': 205 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 206 | engines: {node: '>=6.0.0'} 207 | 208 | '@jridgewell/sourcemap-codec@1.5.0': 209 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 210 | 211 | '@jridgewell/trace-mapping@0.3.25': 212 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 213 | 214 | '@polka/url@1.0.0-next.28': 215 | resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} 216 | 217 | '@rollup/rollup-android-arm-eabi@4.28.1': 218 | resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} 219 | cpu: [arm] 220 | os: [android] 221 | 222 | '@rollup/rollup-android-arm64@4.28.1': 223 | resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} 224 | cpu: [arm64] 225 | os: [android] 226 | 227 | '@rollup/rollup-darwin-arm64@4.28.1': 228 | resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} 229 | cpu: [arm64] 230 | os: [darwin] 231 | 232 | '@rollup/rollup-darwin-x64@4.28.1': 233 | resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} 234 | cpu: [x64] 235 | os: [darwin] 236 | 237 | '@rollup/rollup-freebsd-arm64@4.28.1': 238 | resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} 239 | cpu: [arm64] 240 | os: [freebsd] 241 | 242 | '@rollup/rollup-freebsd-x64@4.28.1': 243 | resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} 244 | cpu: [x64] 245 | os: [freebsd] 246 | 247 | '@rollup/rollup-linux-arm-gnueabihf@4.28.1': 248 | resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} 249 | cpu: [arm] 250 | os: [linux] 251 | 252 | '@rollup/rollup-linux-arm-musleabihf@4.28.1': 253 | resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} 254 | cpu: [arm] 255 | os: [linux] 256 | 257 | '@rollup/rollup-linux-arm64-gnu@4.28.1': 258 | resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} 259 | cpu: [arm64] 260 | os: [linux] 261 | 262 | '@rollup/rollup-linux-arm64-musl@4.28.1': 263 | resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} 264 | cpu: [arm64] 265 | os: [linux] 266 | 267 | '@rollup/rollup-linux-loongarch64-gnu@4.28.1': 268 | resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} 269 | cpu: [loong64] 270 | os: [linux] 271 | 272 | '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': 273 | resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} 274 | cpu: [ppc64] 275 | os: [linux] 276 | 277 | '@rollup/rollup-linux-riscv64-gnu@4.28.1': 278 | resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} 279 | cpu: [riscv64] 280 | os: [linux] 281 | 282 | '@rollup/rollup-linux-s390x-gnu@4.28.1': 283 | resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} 284 | cpu: [s390x] 285 | os: [linux] 286 | 287 | '@rollup/rollup-linux-x64-gnu@4.28.1': 288 | resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} 289 | cpu: [x64] 290 | os: [linux] 291 | 292 | '@rollup/rollup-linux-x64-musl@4.28.1': 293 | resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} 294 | cpu: [x64] 295 | os: [linux] 296 | 297 | '@rollup/rollup-win32-arm64-msvc@4.28.1': 298 | resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} 299 | cpu: [arm64] 300 | os: [win32] 301 | 302 | '@rollup/rollup-win32-ia32-msvc@4.28.1': 303 | resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} 304 | cpu: [ia32] 305 | os: [win32] 306 | 307 | '@rollup/rollup-win32-x64-msvc@4.28.1': 308 | resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} 309 | cpu: [x64] 310 | os: [win32] 311 | 312 | '@sveltejs/acorn-typescript@1.0.5': 313 | resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==} 314 | peerDependencies: 315 | acorn: ^8.9.0 316 | 317 | '@sveltejs/adapter-static@3.0.8': 318 | resolution: {integrity: sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==} 319 | peerDependencies: 320 | '@sveltejs/kit': ^2.0.0 321 | 322 | '@sveltejs/kit@2.21.0': 323 | resolution: {integrity: sha512-kvu4h9qXduiPk1Q1oqFKDLFGu/7mslEYbVaqpbBcBxjlRJnvNCFwEvEwKt0Mx9TtSi8J77xRelvJobrGlst4nQ==} 324 | engines: {node: '>=18.13'} 325 | hasBin: true 326 | peerDependencies: 327 | '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 328 | svelte: ^4.0.0 || ^5.0.0-next.0 329 | vite: ^5.0.3 || ^6.0.0 330 | 331 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1': 332 | resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} 333 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 334 | peerDependencies: 335 | '@sveltejs/vite-plugin-svelte': ^5.0.0 336 | svelte: ^5.0.0 337 | vite: ^6.0.0 338 | 339 | '@sveltejs/vite-plugin-svelte@5.0.3': 340 | resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} 341 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 342 | peerDependencies: 343 | svelte: ^5.0.0 344 | vite: ^6.0.0 345 | 346 | '@types/cookie@0.6.0': 347 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 348 | 349 | '@types/estree@1.0.6': 350 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 351 | 352 | acorn@8.14.0: 353 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 354 | engines: {node: '>=0.4.0'} 355 | hasBin: true 356 | 357 | acorn@8.14.1: 358 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 359 | engines: {node: '>=0.4.0'} 360 | hasBin: true 361 | 362 | aria-query@5.3.2: 363 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 364 | engines: {node: '>= 0.4'} 365 | 366 | axobject-query@4.1.0: 367 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 368 | engines: {node: '>= 0.4'} 369 | 370 | chokidar@4.0.2: 371 | resolution: {integrity: sha512-/b57FK+bblSU+dfewfFe0rT1YjVDfOmeLQwCAuC+vwvgLkXboATqqmy+Ipux6JrF6L5joe5CBnFOw+gLWH6yKg==} 372 | engines: {node: '>= 14.16.0'} 373 | 374 | clsx@2.1.1: 375 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 376 | engines: {node: '>=6'} 377 | 378 | cookie@0.6.0: 379 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 380 | engines: {node: '>= 0.6'} 381 | 382 | debug@4.4.0: 383 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 384 | engines: {node: '>=6.0'} 385 | peerDependencies: 386 | supports-color: '*' 387 | peerDependenciesMeta: 388 | supports-color: 389 | optional: true 390 | 391 | deepmerge@4.3.1: 392 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 393 | engines: {node: '>=0.10.0'} 394 | 395 | devalue@5.1.1: 396 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} 397 | 398 | esbuild@0.24.0: 399 | resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} 400 | engines: {node: '>=18'} 401 | hasBin: true 402 | 403 | esm-env@1.2.1: 404 | resolution: {integrity: sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng==} 405 | 406 | esm-env@1.2.2: 407 | resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 408 | 409 | esrap@1.4.6: 410 | resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} 411 | 412 | fdir@6.4.2: 413 | resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} 414 | peerDependencies: 415 | picomatch: ^3 || ^4 416 | peerDependenciesMeta: 417 | picomatch: 418 | optional: true 419 | 420 | fsevents@2.3.3: 421 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 422 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 423 | os: [darwin] 424 | 425 | is-reference@3.0.3: 426 | resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} 427 | 428 | kleur@4.1.5: 429 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 430 | engines: {node: '>=6'} 431 | 432 | locate-character@3.0.0: 433 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 434 | 435 | magic-string@0.30.17: 436 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 437 | 438 | mri@1.2.0: 439 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 440 | engines: {node: '>=4'} 441 | 442 | mrmime@2.0.0: 443 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 444 | engines: {node: '>=10'} 445 | 446 | ms@2.1.3: 447 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 448 | 449 | nanoid@3.3.8: 450 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 451 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 452 | hasBin: true 453 | 454 | picocolors@1.1.1: 455 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 456 | 457 | picomatch@4.0.2: 458 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 459 | engines: {node: '>=12'} 460 | 461 | postcss@8.4.49: 462 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} 463 | engines: {node: ^10 || ^12 || >=14} 464 | 465 | prettier-plugin-svelte@3.3.2: 466 | resolution: {integrity: sha512-kRPjH8wSj2iu+dO+XaUv4vD8qr5mdDmlak3IT/7AOgGIMRG86z/EHOLauFcClKEnOUf4A4nOA7sre5KrJD4Raw==} 467 | peerDependencies: 468 | prettier: ^3.0.0 469 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 470 | 471 | prettier@3.4.2: 472 | resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} 473 | engines: {node: '>=14'} 474 | hasBin: true 475 | 476 | readdirp@4.0.2: 477 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 478 | engines: {node: '>= 14.16.0'} 479 | 480 | rollup@4.28.1: 481 | resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} 482 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 483 | hasBin: true 484 | 485 | sade@1.8.1: 486 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 487 | engines: {node: '>=6'} 488 | 489 | set-cookie-parser@2.7.1: 490 | resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} 491 | 492 | sirv@3.0.0: 493 | resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} 494 | engines: {node: '>=18'} 495 | 496 | source-map-js@1.2.1: 497 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 498 | engines: {node: '>=0.10.0'} 499 | 500 | svelte-check@4.1.1: 501 | resolution: {integrity: sha512-NfaX+6Qtc8W/CyVGS/F7/XdiSSyXz+WGYA9ZWV3z8tso14V2vzjfXviKaTFEzB7g8TqfgO2FOzP6XT4ApSTUTw==} 502 | engines: {node: '>= 18.0.0'} 503 | hasBin: true 504 | peerDependencies: 505 | svelte: ^4.0.0 || ^5.0.0-next.0 506 | typescript: '>=5.0.0' 507 | 508 | svelte@5.28.6: 509 | resolution: {integrity: sha512-9qqr7mw8YR9PAnxGFfzCK6PUlNGtns7wVavrhnxyf3fpB1mP/Ol55Z2UnIapsSzNNl3k9qw7cZ22PdE8+xT/jQ==} 510 | engines: {node: '>=18'} 511 | 512 | totalist@3.0.1: 513 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 514 | engines: {node: '>=6'} 515 | 516 | typescript@5.7.2: 517 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 518 | engines: {node: '>=14.17'} 519 | hasBin: true 520 | 521 | vite@6.0.3: 522 | resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} 523 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 524 | hasBin: true 525 | peerDependencies: 526 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 527 | jiti: '>=1.21.0' 528 | less: '*' 529 | lightningcss: ^1.21.0 530 | sass: '*' 531 | sass-embedded: '*' 532 | stylus: '*' 533 | sugarss: '*' 534 | terser: ^5.16.0 535 | tsx: ^4.8.1 536 | yaml: ^2.4.2 537 | peerDependenciesMeta: 538 | '@types/node': 539 | optional: true 540 | jiti: 541 | optional: true 542 | less: 543 | optional: true 544 | lightningcss: 545 | optional: true 546 | sass: 547 | optional: true 548 | sass-embedded: 549 | optional: true 550 | stylus: 551 | optional: true 552 | sugarss: 553 | optional: true 554 | terser: 555 | optional: true 556 | tsx: 557 | optional: true 558 | yaml: 559 | optional: true 560 | 561 | vitefu@1.0.4: 562 | resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==} 563 | peerDependencies: 564 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 565 | peerDependenciesMeta: 566 | vite: 567 | optional: true 568 | 569 | zimmerframe@1.1.2: 570 | resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} 571 | 572 | snapshots: 573 | 574 | '@ampproject/remapping@2.3.0': 575 | dependencies: 576 | '@jridgewell/gen-mapping': 0.3.8 577 | '@jridgewell/trace-mapping': 0.3.25 578 | 579 | '@esbuild/aix-ppc64@0.24.0': 580 | optional: true 581 | 582 | '@esbuild/android-arm64@0.24.0': 583 | optional: true 584 | 585 | '@esbuild/android-arm@0.24.0': 586 | optional: true 587 | 588 | '@esbuild/android-x64@0.24.0': 589 | optional: true 590 | 591 | '@esbuild/darwin-arm64@0.24.0': 592 | optional: true 593 | 594 | '@esbuild/darwin-x64@0.24.0': 595 | optional: true 596 | 597 | '@esbuild/freebsd-arm64@0.24.0': 598 | optional: true 599 | 600 | '@esbuild/freebsd-x64@0.24.0': 601 | optional: true 602 | 603 | '@esbuild/linux-arm64@0.24.0': 604 | optional: true 605 | 606 | '@esbuild/linux-arm@0.24.0': 607 | optional: true 608 | 609 | '@esbuild/linux-ia32@0.24.0': 610 | optional: true 611 | 612 | '@esbuild/linux-loong64@0.24.0': 613 | optional: true 614 | 615 | '@esbuild/linux-mips64el@0.24.0': 616 | optional: true 617 | 618 | '@esbuild/linux-ppc64@0.24.0': 619 | optional: true 620 | 621 | '@esbuild/linux-riscv64@0.24.0': 622 | optional: true 623 | 624 | '@esbuild/linux-s390x@0.24.0': 625 | optional: true 626 | 627 | '@esbuild/linux-x64@0.24.0': 628 | optional: true 629 | 630 | '@esbuild/netbsd-x64@0.24.0': 631 | optional: true 632 | 633 | '@esbuild/openbsd-arm64@0.24.0': 634 | optional: true 635 | 636 | '@esbuild/openbsd-x64@0.24.0': 637 | optional: true 638 | 639 | '@esbuild/sunos-x64@0.24.0': 640 | optional: true 641 | 642 | '@esbuild/win32-arm64@0.24.0': 643 | optional: true 644 | 645 | '@esbuild/win32-ia32@0.24.0': 646 | optional: true 647 | 648 | '@esbuild/win32-x64@0.24.0': 649 | optional: true 650 | 651 | '@fontsource/vt323@5.1.0': {} 652 | 653 | '@jridgewell/gen-mapping@0.3.8': 654 | dependencies: 655 | '@jridgewell/set-array': 1.2.1 656 | '@jridgewell/sourcemap-codec': 1.5.0 657 | '@jridgewell/trace-mapping': 0.3.25 658 | 659 | '@jridgewell/resolve-uri@3.1.2': {} 660 | 661 | '@jridgewell/set-array@1.2.1': {} 662 | 663 | '@jridgewell/sourcemap-codec@1.5.0': {} 664 | 665 | '@jridgewell/trace-mapping@0.3.25': 666 | dependencies: 667 | '@jridgewell/resolve-uri': 3.1.2 668 | '@jridgewell/sourcemap-codec': 1.5.0 669 | 670 | '@polka/url@1.0.0-next.28': {} 671 | 672 | '@rollup/rollup-android-arm-eabi@4.28.1': 673 | optional: true 674 | 675 | '@rollup/rollup-android-arm64@4.28.1': 676 | optional: true 677 | 678 | '@rollup/rollup-darwin-arm64@4.28.1': 679 | optional: true 680 | 681 | '@rollup/rollup-darwin-x64@4.28.1': 682 | optional: true 683 | 684 | '@rollup/rollup-freebsd-arm64@4.28.1': 685 | optional: true 686 | 687 | '@rollup/rollup-freebsd-x64@4.28.1': 688 | optional: true 689 | 690 | '@rollup/rollup-linux-arm-gnueabihf@4.28.1': 691 | optional: true 692 | 693 | '@rollup/rollup-linux-arm-musleabihf@4.28.1': 694 | optional: true 695 | 696 | '@rollup/rollup-linux-arm64-gnu@4.28.1': 697 | optional: true 698 | 699 | '@rollup/rollup-linux-arm64-musl@4.28.1': 700 | optional: true 701 | 702 | '@rollup/rollup-linux-loongarch64-gnu@4.28.1': 703 | optional: true 704 | 705 | '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': 706 | optional: true 707 | 708 | '@rollup/rollup-linux-riscv64-gnu@4.28.1': 709 | optional: true 710 | 711 | '@rollup/rollup-linux-s390x-gnu@4.28.1': 712 | optional: true 713 | 714 | '@rollup/rollup-linux-x64-gnu@4.28.1': 715 | optional: true 716 | 717 | '@rollup/rollup-linux-x64-musl@4.28.1': 718 | optional: true 719 | 720 | '@rollup/rollup-win32-arm64-msvc@4.28.1': 721 | optional: true 722 | 723 | '@rollup/rollup-win32-ia32-msvc@4.28.1': 724 | optional: true 725 | 726 | '@rollup/rollup-win32-x64-msvc@4.28.1': 727 | optional: true 728 | 729 | '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.0)': 730 | dependencies: 731 | acorn: 8.14.0 732 | 733 | '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)': 734 | dependencies: 735 | acorn: 8.14.1 736 | 737 | '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3))': 738 | dependencies: 739 | '@sveltejs/kit': 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3) 740 | 741 | '@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3)': 742 | dependencies: 743 | '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) 744 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.6)(vite@6.0.3) 745 | '@types/cookie': 0.6.0 746 | acorn: 8.14.1 747 | cookie: 0.6.0 748 | devalue: 5.1.1 749 | esm-env: 1.2.2 750 | kleur: 4.1.5 751 | magic-string: 0.30.17 752 | mrmime: 2.0.0 753 | sade: 1.8.1 754 | set-cookie-parser: 2.7.1 755 | sirv: 3.0.0 756 | svelte: 5.28.6 757 | vite: 6.0.3 758 | 759 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3)': 760 | dependencies: 761 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.6)(vite@6.0.3) 762 | debug: 4.4.0 763 | svelte: 5.28.6 764 | vite: 6.0.3 765 | transitivePeerDependencies: 766 | - supports-color 767 | 768 | '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3)': 769 | dependencies: 770 | '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.0.3))(svelte@5.28.6)(vite@6.0.3) 771 | debug: 4.4.0 772 | deepmerge: 4.3.1 773 | kleur: 4.1.5 774 | magic-string: 0.30.17 775 | svelte: 5.28.6 776 | vite: 6.0.3 777 | vitefu: 1.0.4(vite@6.0.3) 778 | transitivePeerDependencies: 779 | - supports-color 780 | 781 | '@types/cookie@0.6.0': {} 782 | 783 | '@types/estree@1.0.6': {} 784 | 785 | acorn@8.14.0: {} 786 | 787 | acorn@8.14.1: {} 788 | 789 | aria-query@5.3.2: {} 790 | 791 | axobject-query@4.1.0: {} 792 | 793 | chokidar@4.0.2: 794 | dependencies: 795 | readdirp: 4.0.2 796 | 797 | clsx@2.1.1: {} 798 | 799 | cookie@0.6.0: {} 800 | 801 | debug@4.4.0: 802 | dependencies: 803 | ms: 2.1.3 804 | 805 | deepmerge@4.3.1: {} 806 | 807 | devalue@5.1.1: {} 808 | 809 | esbuild@0.24.0: 810 | optionalDependencies: 811 | '@esbuild/aix-ppc64': 0.24.0 812 | '@esbuild/android-arm': 0.24.0 813 | '@esbuild/android-arm64': 0.24.0 814 | '@esbuild/android-x64': 0.24.0 815 | '@esbuild/darwin-arm64': 0.24.0 816 | '@esbuild/darwin-x64': 0.24.0 817 | '@esbuild/freebsd-arm64': 0.24.0 818 | '@esbuild/freebsd-x64': 0.24.0 819 | '@esbuild/linux-arm': 0.24.0 820 | '@esbuild/linux-arm64': 0.24.0 821 | '@esbuild/linux-ia32': 0.24.0 822 | '@esbuild/linux-loong64': 0.24.0 823 | '@esbuild/linux-mips64el': 0.24.0 824 | '@esbuild/linux-ppc64': 0.24.0 825 | '@esbuild/linux-riscv64': 0.24.0 826 | '@esbuild/linux-s390x': 0.24.0 827 | '@esbuild/linux-x64': 0.24.0 828 | '@esbuild/netbsd-x64': 0.24.0 829 | '@esbuild/openbsd-arm64': 0.24.0 830 | '@esbuild/openbsd-x64': 0.24.0 831 | '@esbuild/sunos-x64': 0.24.0 832 | '@esbuild/win32-arm64': 0.24.0 833 | '@esbuild/win32-ia32': 0.24.0 834 | '@esbuild/win32-x64': 0.24.0 835 | 836 | esm-env@1.2.1: {} 837 | 838 | esm-env@1.2.2: {} 839 | 840 | esrap@1.4.6: 841 | dependencies: 842 | '@jridgewell/sourcemap-codec': 1.5.0 843 | 844 | fdir@6.4.2(picomatch@4.0.2): 845 | optionalDependencies: 846 | picomatch: 4.0.2 847 | 848 | fsevents@2.3.3: 849 | optional: true 850 | 851 | is-reference@3.0.3: 852 | dependencies: 853 | '@types/estree': 1.0.6 854 | 855 | kleur@4.1.5: {} 856 | 857 | locate-character@3.0.0: {} 858 | 859 | magic-string@0.30.17: 860 | dependencies: 861 | '@jridgewell/sourcemap-codec': 1.5.0 862 | 863 | mri@1.2.0: {} 864 | 865 | mrmime@2.0.0: {} 866 | 867 | ms@2.1.3: {} 868 | 869 | nanoid@3.3.8: {} 870 | 871 | picocolors@1.1.1: {} 872 | 873 | picomatch@4.0.2: 874 | optional: true 875 | 876 | postcss@8.4.49: 877 | dependencies: 878 | nanoid: 3.3.8 879 | picocolors: 1.1.1 880 | source-map-js: 1.2.1 881 | 882 | prettier-plugin-svelte@3.3.2(prettier@3.4.2)(svelte@5.28.6): 883 | dependencies: 884 | prettier: 3.4.2 885 | svelte: 5.28.6 886 | 887 | prettier@3.4.2: {} 888 | 889 | readdirp@4.0.2: {} 890 | 891 | rollup@4.28.1: 892 | dependencies: 893 | '@types/estree': 1.0.6 894 | optionalDependencies: 895 | '@rollup/rollup-android-arm-eabi': 4.28.1 896 | '@rollup/rollup-android-arm64': 4.28.1 897 | '@rollup/rollup-darwin-arm64': 4.28.1 898 | '@rollup/rollup-darwin-x64': 4.28.1 899 | '@rollup/rollup-freebsd-arm64': 4.28.1 900 | '@rollup/rollup-freebsd-x64': 4.28.1 901 | '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 902 | '@rollup/rollup-linux-arm-musleabihf': 4.28.1 903 | '@rollup/rollup-linux-arm64-gnu': 4.28.1 904 | '@rollup/rollup-linux-arm64-musl': 4.28.1 905 | '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 906 | '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 907 | '@rollup/rollup-linux-riscv64-gnu': 4.28.1 908 | '@rollup/rollup-linux-s390x-gnu': 4.28.1 909 | '@rollup/rollup-linux-x64-gnu': 4.28.1 910 | '@rollup/rollup-linux-x64-musl': 4.28.1 911 | '@rollup/rollup-win32-arm64-msvc': 4.28.1 912 | '@rollup/rollup-win32-ia32-msvc': 4.28.1 913 | '@rollup/rollup-win32-x64-msvc': 4.28.1 914 | fsevents: 2.3.3 915 | 916 | sade@1.8.1: 917 | dependencies: 918 | mri: 1.2.0 919 | 920 | set-cookie-parser@2.7.1: {} 921 | 922 | sirv@3.0.0: 923 | dependencies: 924 | '@polka/url': 1.0.0-next.28 925 | mrmime: 2.0.0 926 | totalist: 3.0.1 927 | 928 | source-map-js@1.2.1: {} 929 | 930 | svelte-check@4.1.1(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.7.2): 931 | dependencies: 932 | '@jridgewell/trace-mapping': 0.3.25 933 | chokidar: 4.0.2 934 | fdir: 6.4.2(picomatch@4.0.2) 935 | picocolors: 1.1.1 936 | sade: 1.8.1 937 | svelte: 5.28.6 938 | typescript: 5.7.2 939 | transitivePeerDependencies: 940 | - picomatch 941 | 942 | svelte@5.28.6: 943 | dependencies: 944 | '@ampproject/remapping': 2.3.0 945 | '@jridgewell/sourcemap-codec': 1.5.0 946 | '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.0) 947 | '@types/estree': 1.0.6 948 | acorn: 8.14.0 949 | aria-query: 5.3.2 950 | axobject-query: 4.1.0 951 | clsx: 2.1.1 952 | esm-env: 1.2.1 953 | esrap: 1.4.6 954 | is-reference: 3.0.3 955 | locate-character: 3.0.0 956 | magic-string: 0.30.17 957 | zimmerframe: 1.1.2 958 | 959 | totalist@3.0.1: {} 960 | 961 | typescript@5.7.2: {} 962 | 963 | vite@6.0.3: 964 | dependencies: 965 | esbuild: 0.24.0 966 | postcss: 8.4.49 967 | rollup: 4.28.1 968 | optionalDependencies: 969 | fsevents: 2.3.3 970 | 971 | vitefu@1.0.4(vite@6.0.3): 972 | optionalDependencies: 973 | vite: 6.0.3 974 | 975 | zimmerframe@1.1.2: {} 976 | --------------------------------------------------------------------------------