From 86b024dc47a0b0bfc4c3d58d0a9aa1270e01ee7d Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 09:26:36 -0400 Subject: [PATCH 1/8] feat(web): scaffold SvelteKit SPA with Tailwind + adapter-static - SvelteKit 2.x + Svelte 5 + TypeScript + Vite 5 - adapter-static with fallback:'index.html' for SPA deep-link routing - Tailwind configured with dark-only palette matching spec - Placeholder landing page at / - Committed web/build/index.html placeholder (via .gitignore negation) so go:embed works before the SvelteKit build has been run --- web/.gitignore | 4 + web/build/index.html | 15 + web/package-lock.json | 3798 +++++++++++++++++++++++++++++++++ web/package.json | 28 + web/postcss.config.cjs | 6 + web/src/app.css | 13 + web/src/app.html | 13 + web/src/routes/+layout.svelte | 5 + web/src/routes/+page.svelte | 8 + web/static/favicon.png | Bin 0 -> 70 bytes web/svelte.config.js | 18 + web/tailwind.config.js | 20 + web/tsconfig.json | 14 + web/vite.config.ts | 19 + 14 files changed, 3961 insertions(+) create mode 100644 web/.gitignore create mode 100644 web/build/index.html create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/postcss.config.cjs create mode 100644 web/src/app.css create mode 100644 web/src/app.html create mode 100644 web/src/routes/+layout.svelte create mode 100644 web/src/routes/+page.svelte create mode 100644 web/static/favicon.png create mode 100644 web/svelte.config.js create mode 100644 web/tailwind.config.js create mode 100644 web/tsconfig.json create mode 100644 web/vite.config.ts diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 00000000..9b2968c3 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +.svelte-kit/ +build/* +!build/index.html diff --git a/web/build/index.html b/web/build/index.html new file mode 100644 index 00000000..57509f38 --- /dev/null +++ b/web/build/index.html @@ -0,0 +1,15 @@ + + + + + Minstrel + + +

+ Minstrel SPA has not been built. Run + cd web && npm install && npm run build or + build the container image, which runs the web build during + docker build. +

+ + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 00000000..8a431ccd --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,3798 @@ +{ + "name": "minstrel-web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "minstrel-web", + "version": "0.0.0", + "devDependencies": { + "@sveltejs/adapter-static": "^3.0.6", + "@sveltejs/kit": "^2.8.0", + "@sveltejs/vite-plugin-svelte": "^4.0.0", + "autoprefixer": "^10.4.20", + "jsdom": "^25.0.1", + "postcss": "^8.4.49", + "svelte": "^5.1.9", + "svelte-check": "^4.0.5", + "tailwindcss": "^3.4.14", + "tslib": "^2.8.0", + "typescript": "^5.6.3", + "vite": "^5.4.10", + "vitest": "^2.1.4" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.9.tgz", + "integrity": "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz", + "integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.57.1", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.57.1.tgz", + "integrity": "sha512-VRdSbB96cI1EnRh09CqmnQqP/YJvET5buj8S6k7CxaJqBJD4bw4fRKDjcarAj/eX9k2eHifQfDH8NtOh+ZxxPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.6.4", + "esm-env": "^1.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "set-cookie-parser": "^3.0.0", + "sirv": "^3.0.0" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": "^5.3.3 || ^6.0.0", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-4.0.4.tgz", + "integrity": "sha512-0ba1RQ/PHen5FGpdSrW7Y3fAMQjrXantECALeOiOdBdzR5+5vPP6HVZRLmZaQL+W8m++o+haIAKq5qT+MiZ7VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^3.0.0-next.0||^3.0.0", + "debug": "^4.3.7", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.12", + "vitefu": "^1.0.3" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "svelte": "^5.0.0-next.96 || ^5.0.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-3.0.1.tgz", + "integrity": "sha512-2CKypmj1sM4GE7HjllT7UKmo4Q6L5xFRd7VMGEWhYnZ+wc6AUVU01IBd7yUi6WnFndEwWoMNOd6e8UjoN0nbvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.7" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^4.0.0-next.0||^4.0.0", + "svelte": "^5.0.0-next.96 || ^5.0.0", + "vite": "^5.0.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/expect": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz", + "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "2.1.9", + "@vitest/utils": "2.1.9", + "chai": "^5.1.2", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz", + "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "2.1.9", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.12" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", + "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz", + "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "2.1.9", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz", + "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.9", + "magic-string": "^0.30.12", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz", + "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^3.0.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", + "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.9", + "loupe": "^3.1.2", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/aria-query": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.1.tgz", + "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", + "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "caniuse-lite": "^1.0.30001787", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", + "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001790", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001790.tgz", + "integrity": "sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/check-error": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", + "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/devalue": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.7.1.tgz", + "integrity": "sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.343", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.343.tgz", + "integrity": "sha512-YHnQ3MXI08icvL9ZKnEBy05F2EQ8ob01UaMOuMbM8l+4UcAq6MPPbBTJBbsBUg3H8JeZNt+O4fjsoWth3p6IFg==", + "dev": true, + "license": "ISC" + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/esrap": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.5.tgz", + "integrity": "sha512-/yLB1538mag+dn0wsePTe8C0rDIjUOaJpMs2McodSzmM2msWcZsBSdRtg6HOBt0A/r82BN+Md3pgwSc/uWt2Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "peerDependencies": { + "@typescript-eslint/types": "^8.2.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/types": { + "optional": true + } + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jsdom": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.1.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "dev": true, + "license": "MIT" + }, + "node_modules/loupe": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/set-cookie-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.0.tgz", + "integrity": "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "5.55.4", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.55.4.tgz", + "integrity": "sha512-q8DFohk6vUswSng95IZb9nzWJnbINZsK7OiM1snAa3qCjJBL0ZQpvMyAaVXjUukdM75J/m8UE8xwqat8Ors/zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "@types/trusted-types": "^2.0.7", + "acorn": "^8.12.1", + "aria-query": "5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "devalue": "^5.6.4", + "esm-env": "^1.2.1", + "esrap": "^2.2.4", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte-check": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.4.6.tgz", + "integrity": "sha512-kP1zG81EWaFe9ZyTv4ZXv44Csi6Pkdpb7S3oj6m+K2ec/IcDg/a8LsFsnVLqm2nxtkSwsd5xPj/qFkTBgXHXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "chokidar": "^4.0.1", + "fdir": "^6.2.0", + "picocolors": "^1.0.0", + "sade": "^1.7.4" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "engines": { + "node": ">= 18.0.0" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": ">=5.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tailwindcss/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz", + "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.7", + "es-module-lexer": "^1.5.4", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "dev": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz", + "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "2.1.9", + "@vitest/mocker": "2.1.9", + "@vitest/pretty-format": "^2.1.9", + "@vitest/runner": "2.1.9", + "@vitest/snapshot": "2.1.9", + "@vitest/spy": "2.1.9", + "@vitest/utils": "2.1.9", + "chai": "^5.1.2", + "debug": "^4.3.7", + "expect-type": "^1.1.0", + "magic-string": "^0.30.12", + "pathe": "^1.1.2", + "std-env": "^3.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.1", + "tinypool": "^1.0.1", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.9", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.9", + "@vitest/ui": "2.1.9", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/zimmerframe": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", + "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 00000000..c41da3d9 --- /dev/null +++ b/web/package.json @@ -0,0 +1,28 @@ +{ + "name": "minstrel-web", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "test": "svelte-kit sync && vitest run" + }, + "devDependencies": { + "@sveltejs/adapter-static": "^3.0.6", + "@sveltejs/kit": "^2.8.0", + "@sveltejs/vite-plugin-svelte": "^4.0.0", + "autoprefixer": "^10.4.20", + "jsdom": "^25.0.1", + "postcss": "^8.4.49", + "svelte": "^5.1.9", + "svelte-check": "^4.0.5", + "tailwindcss": "^3.4.14", + "tslib": "^2.8.0", + "typescript": "^5.6.3", + "vite": "^5.4.10", + "vitest": "^2.1.4" + } +} diff --git a/web/postcss.config.cjs b/web/postcss.config.cjs new file mode 100644 index 00000000..5cbc2c7d --- /dev/null +++ b/web/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +}; diff --git a/web/src/app.css b/web/src/app.css new file mode 100644 index 00000000..38870e67 --- /dev/null +++ b/web/src/app.css @@ -0,0 +1,13 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + color-scheme: dark; +} + +html, +body { + height: 100%; + margin: 0; +} diff --git a/web/src/app.html b/web/src/app.html new file mode 100644 index 00000000..cc07c859 --- /dev/null +++ b/web/src/app.html @@ -0,0 +1,13 @@ + + + + + + + Minstrel + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte new file mode 100644 index 00000000..7a4e65b2 --- /dev/null +++ b/web/src/routes/+layout.svelte @@ -0,0 +1,5 @@ + + + diff --git a/web/src/routes/+page.svelte b/web/src/routes/+page.svelte new file mode 100644 index 00000000..2a2f874d --- /dev/null +++ b/web/src/routes/+page.svelte @@ -0,0 +1,8 @@ +
+
+

Minstrel

+

+ Scaffold — UI features land in subsequent plans. +

+
+
diff --git a/web/static/favicon.png b/web/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2de3749df299a6b84bf6ff1a0b393a1c1fd22b GIT binary patch literal 70 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k92}1TpU9xZYBTuKYyVd1A7xwz3mB) Q_dp2-Pgg&ebxsLQ0NDZ% Date: Wed, 22 Apr 2026 09:30:08 -0400 Subject: [PATCH 2/8] test(web): add Vitest smoke test and jsdom config --- web/src/lib/example.test.ts | 7 +++++++ web/vitest.config.ts | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 web/src/lib/example.test.ts create mode 100644 web/vitest.config.ts diff --git a/web/src/lib/example.test.ts b/web/src/lib/example.test.ts new file mode 100644 index 00000000..50cae2e6 --- /dev/null +++ b/web/src/lib/example.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it } from 'vitest'; + +describe('scaffold smoke', () => { + it('runs vitest', () => { + expect(1 + 1).toBe(2); + }); +}); diff --git a/web/vitest.config.ts b/web/vitest.config.ts new file mode 100644 index 00000000..5b942998 --- /dev/null +++ b/web/vitest.config.ts @@ -0,0 +1,10 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [sveltekit()], + test: { + environment: 'jsdom', + include: ['src/**/*.test.ts'] + } +}); From d5692a73ca9a5359e30931199116415d802e419f Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 10:26:36 -0400 Subject: [PATCH 3/8] feat(web): embed SvelteKit build output with SPA fallback handler Co-Authored-By: Claude Sonnet 4.6 --- internal/web/build/_app/env.js | 1 + .../_app/immutable/assets/0.CfszLNRC.css | 1 + .../build/_app/immutable/chunks/Bczxu_ef.js | 1 + .../build/_app/immutable/chunks/Bs0stjkU.js | 1 + .../build/_app/immutable/chunks/Dg9CzvF0.js | 1 + .../build/_app/immutable/chunks/TKBjD5KV.js | 1 + .../build/_app/immutable/chunks/VGLXWWN0.js | 2 + .../build/_app/immutable/chunks/jjiUbCvc.js | 1 + .../_app/immutable/entry/app.DktjMEms.js | 2 + .../_app/immutable/entry/start.Dj4Tyjcw.js | 1 + .../build/_app/immutable/nodes/0.BNvMPOtQ.js | 1 + .../build/_app/immutable/nodes/1.C4_44cdw.js | 1 + .../build/_app/immutable/nodes/2.C7yKEp00.js | 1 + internal/web/build/_app/version.json | 1 + internal/web/build/favicon.png | Bin 0 -> 70 bytes internal/web/build/index.html | 15 +++++ internal/web/embed.go | 61 ++++++++++++++++++ internal/web/embed_test.go | 52 +++++++++++++++ 18 files changed, 144 insertions(+) create mode 100644 internal/web/build/_app/env.js create mode 100644 internal/web/build/_app/immutable/assets/0.CfszLNRC.css create mode 100644 internal/web/build/_app/immutable/chunks/Bczxu_ef.js create mode 100644 internal/web/build/_app/immutable/chunks/Bs0stjkU.js create mode 100644 internal/web/build/_app/immutable/chunks/Dg9CzvF0.js create mode 100644 internal/web/build/_app/immutable/chunks/TKBjD5KV.js create mode 100644 internal/web/build/_app/immutable/chunks/VGLXWWN0.js create mode 100644 internal/web/build/_app/immutable/chunks/jjiUbCvc.js create mode 100644 internal/web/build/_app/immutable/entry/app.DktjMEms.js create mode 100644 internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js create mode 100644 internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js create mode 100644 internal/web/build/_app/immutable/nodes/1.C4_44cdw.js create mode 100644 internal/web/build/_app/immutable/nodes/2.C7yKEp00.js create mode 100644 internal/web/build/_app/version.json create mode 100644 internal/web/build/favicon.png create mode 100644 internal/web/build/index.html create mode 100644 internal/web/embed.go create mode 100644 internal/web/embed_test.go diff --git a/internal/web/build/_app/env.js b/internal/web/build/_app/env.js new file mode 100644 index 00000000..f5427da6 --- /dev/null +++ b/internal/web/build/_app/env.js @@ -0,0 +1 @@ +export const env={} \ No newline at end of file diff --git a/internal/web/build/_app/immutable/assets/0.CfszLNRC.css b/internal/web/build/_app/immutable/assets/0.CfszLNRC.css new file mode 100644 index 00000000..0e85ed0f --- /dev/null +++ b/internal/web/build/_app/immutable/assets/0.CfszLNRC.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.mt-2{margin-top:.5rem}.flex{display:flex}.contents{display:contents}.h-screen{height:100vh}.items-center{align-items:center}.justify-center{justify-content:center}.bg-surface-900{--tw-bg-opacity: 1;background-color:rgb(20 22 26 / var(--tw-bg-opacity, 1))}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-semibold{font-weight:600}.text-text-primary{--tw-text-opacity: 1;color:rgb(232 236 242 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(205 211 219 / var(--tw-text-opacity, 1))}:root{color-scheme:dark}html,body{height:100%;margin:0} diff --git a/internal/web/build/_app/immutable/chunks/Bczxu_ef.js b/internal/web/build/_app/immutable/chunks/Bczxu_ef.js new file mode 100644 index 00000000..94d4a4d1 --- /dev/null +++ b/internal/web/build/_app/immutable/chunks/Bczxu_ef.js @@ -0,0 +1 @@ +var dt=Object.defineProperty;var An=e=>{throw TypeError(e)};var ht=(e,n,t)=>n in e?dt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var se=(e,n,t)=>ht(e,typeof n!="symbol"?n+"":n,t),tn=(e,n,t)=>n.has(e)||An("Cannot "+t);var u=(e,n,t)=>(tn(e,n,"read from private field"),t?t.call(e):n.get(e)),k=(e,n,t)=>n.has(e)?An("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),ge=(e,n,t,r)=>(tn(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),P=(e,n,t)=>(tn(e,n,"access private method"),t);var pt=Array.isArray,wt=Array.prototype.indexOf,Se=Array.prototype.includes,or=Array.from,cr=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,gt=Object.prototype,yt=Array.prototype,mt=Object.getPrototypeOf,Rn=Object.isExtensible;const Et=()=>{};function Tt(e){for(var n=0;n{e=r,n=s});return{promise:t,resolve:e,reject:n}}const N=2,Ae=4,Ye=8,Fn=1<<24,B=16,V=32,ee=64,bt=128,M=512,T=1024,x=2048,G=4096,j=8192,U=16384,we=32768,kn=1<<25,$e=65536,fn=1<<17,St=1<<18,qe=1<<19,Mn=1<<20,ve=65536,an=1<<21,Fe=1<<22,Q=1<<23,rn=Symbol("$state"),_r=Symbol("legacy props"),$=new class extends Error{constructor(){super(...arguments);se(this,"name","StaleReactionError");se(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},en=3,jn=8;function At(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Rt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function kt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function xt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Nt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function dr(){throw new Error("https://svelte.dev/e/hydration_failed")}function hr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ot(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Dt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Pt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function pr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const wr=1,gr=2,yr=4,mr=8,Er=16,Tr=1,br=2,It="[",Ct="[!",Sr="[?",Ft="]",dn={},S=Symbol(),Mt="http://www.w3.org/1999/xhtml";function jt(){console.warn("https://svelte.dev/e/derived_inert")}function hn(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Ar(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let de=!1;function Rr(e){de=e}let A;function Re(e){if(e===null)throw hn(),dn;return A=e}function kr(){return Re(re(A))}function xr(e){if(de){if(re(A)!==null)throw hn(),dn;A=e}}function Nr(e=1){if(de){for(var n=e,t=A;n--;)t=re(t);A=t}}function Or(e=!0){for(var n=0,t=A;;){if(t.nodeType===jn){var r=t.data;if(r===Ft){if(n===0)return t;n-=1}else(r===It||r===Ct||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(n+=1)}var s=re(t);e&&t.remove(),t=s}}function Dr(e){if(!e||e.nodeType!==jn)throw hn(),dn;return e.data}function Ln(e){return e===this.v}function Lt(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}function Yn(e){return!Lt(e,this.v)}let nn=!1;function Pr(){nn=!0}let O=null;function Ze(e){O=e}function Ir(e,n=!1,t){O={p:O,i:!1,c:null,e:null,s:e,x:null,r:g,l:nn&&!n?{s:null,u:null,$:[]}:null}}function Cr(e){var n=O,t=n.e;if(t!==null){n.e=null;for(var r of t)tt(r)}return n.i=!0,O=n.p,{}}function Ue(){return!nn||O!==null&&O.l===null}let fe=[];function qn(){var e=fe;fe=[],Tt(e)}function xn(e){if(fe.length===0&&!Ce){var n=fe;queueMicrotask(()=>{n===fe&&qn()})}fe.push(e)}function Yt(){for(;fe.length>0;)qn()}function qt(e){var n=g;if(n===null)return w.f|=Q,e;if(!(n.f&we)&&!(n.f&Ae))throw e;We(e,n)}function We(e,n){for(;n!==null;){if(n.f&bt){if(!(n.f&we))throw e;try{n.b.error(e);return}catch(t){e=t}}n=n.parent}throw e}const Ut=-7169;function y(e,n){e.f=e.f&Ut|n}function pn(e){e.f&M||e.deps===null?y(e,T):y(e,G)}function Un(e){if(e!==null)for(const n of e)!(n.f&N)||!(n.f&ve)||(n.f^=ve,Un(n.deps))}function Ht(e,n,t){e.f&x?n.add(e):e.f&G&&t.add(e),Un(e.deps),y(e,T)}const le=new Set;let p=null,R=null,un=null,Ce=!1,sn=!1,ye=null,ze=null;var Nn=0;let zt=1;var me,Ee,ue,Z,H,je,C,Le,J,W,z,Te,be,oe,m,Be,Hn,Ve,on,Ge,Bt;const Qe=class Qe{constructor(){k(this,m);se(this,"id",zt++);se(this,"current",new Map);se(this,"previous",new Map);k(this,me,new Set);k(this,Ee,new Set);k(this,ue,new Set);k(this,Z,new Map);k(this,H,new Map);k(this,je,null);k(this,C,[]);k(this,Le,[]);k(this,J,new Set);k(this,W,new Set);k(this,z,new Map);k(this,Te,new Set);se(this,"is_fork",!1);k(this,be,!1);k(this,oe,new Set)}skip_effect(n){u(this,z).has(n)||u(this,z).set(n,{d:[],m:[]}),u(this,Te).delete(n)}unskip_effect(n,t=r=>this.schedule(r)){var r=u(this,z).get(n);if(r){u(this,z).delete(n);for(var s of r.d)y(s,x),t(s);for(s of r.m)y(s,G),t(s)}u(this,Te).add(n)}capture(n,t,r=!1){n.v!==S&&!this.previous.has(n)&&this.previous.set(n,n.v),n.f&Q||(this.current.set(n,[t,r]),R==null||R.set(n,t)),this.is_fork||(n.v=t)}activate(){p=this}deactivate(){p=null,R=null}flush(){try{sn=!0,p=this,P(this,m,Ve).call(this)}finally{Nn=0,un=null,ye=null,ze=null,sn=!1,p=null,R=null,ce.clear()}}discard(){for(const n of u(this,Ee))n(this);u(this,Ee).clear(),u(this,ue).clear(),le.delete(this)}register_created_effect(n){u(this,Le).push(n)}increment(n,t){let r=u(this,Z).get(t)??0;if(u(this,Z).set(t,r+1),n){let s=u(this,H).get(t)??0;u(this,H).set(t,s+1)}}decrement(n,t,r){let s=u(this,Z).get(t)??0;if(s===1?u(this,Z).delete(t):u(this,Z).set(t,s-1),n){let l=u(this,H).get(t)??0;l===1?u(this,H).delete(t):u(this,H).set(t,l-1)}u(this,be)||r||(ge(this,be,!0),xn(()=>{ge(this,be,!1),this.flush()}))}transfer_effects(n,t){for(const r of n)u(this,J).add(r);for(const r of t)u(this,W).add(r);n.clear(),t.clear()}oncommit(n){u(this,me).add(n)}ondiscard(n){u(this,Ee).add(n)}on_fork_commit(n){u(this,ue).add(n)}run_fork_commit_callbacks(){for(const n of u(this,ue))n(this);u(this,ue).clear()}settled(){return(u(this,je)??ge(this,je,Cn())).promise}static ensure(){if(p===null){const n=p=new Qe;sn||(le.add(p),Ce||xn(()=>{p===n&&n.flush()}))}return p}apply(){{R=null;return}}schedule(n){var s;if(un=n,(s=n.b)!=null&&s.is_pending&&n.f&(Ae|Ye|Fn)&&!(n.f&we)){n.b.defer_effect(n);return}for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(ye!==null&&t===g&&(w===null||!(w.f&N)))return;if(r&(ee|V)){if(!(r&T))return;t.f^=T}}u(this,C).push(t)}};me=new WeakMap,Ee=new WeakMap,ue=new WeakMap,Z=new WeakMap,H=new WeakMap,je=new WeakMap,C=new WeakMap,Le=new WeakMap,J=new WeakMap,W=new WeakMap,z=new WeakMap,Te=new WeakMap,be=new WeakMap,oe=new WeakMap,m=new WeakSet,Be=function(){return this.is_fork||u(this,H).size>0},Hn=function(){for(const r of u(this,oe))for(const s of u(r,H).keys()){for(var n=!1,t=s;t.parent!==null;){if(u(this,z).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},Ve=function(){var a,f;if(Nn++>1e3&&(le.delete(this),Gt()),!P(this,m,Be).call(this)){for(const i of u(this,J))u(this,W).delete(i),y(i,x),this.schedule(i);for(const i of u(this,W))y(i,G),this.schedule(i)}const n=u(this,C);ge(this,C,[]),this.apply();var t=ye=[],r=[],s=ze=[];for(const i of n)try{P(this,m,on).call(this,i,t,r)}catch(c){throw Vn(i),c}if(p=null,s.length>0){var l=Qe.ensure();for(const i of s)l.schedule(i)}if(ye=null,ze=null,P(this,m,Be).call(this)||P(this,m,Hn).call(this)){P(this,m,Ge).call(this,r),P(this,m,Ge).call(this,t);for(const[i,c]of u(this,z))Bn(i,c)}else{u(this,Z).size===0&&le.delete(this),u(this,J).clear(),u(this,W).clear();for(const i of u(this,me))i(this);u(this,me).clear(),On(r),On(t),(a=u(this,je))==null||a.resolve()}var o=p;if(u(this,C).length>0){const i=o??(o=this);u(i,C).push(...u(this,C).filter(c=>!u(i,C).includes(c)))}o!==null&&(le.add(o),P(f=o,m,Ve).call(f))},on=function(n,t,r){n.f^=T;for(var s=n.first;s!==null;){var l=s.f,o=(l&(V|ee))!==0,a=o&&(l&T)!==0,f=a||(l&j)!==0||u(this,z).has(s);if(!f&&s.fn!==null){o?s.f^=T:l&Ae?t.push(s):He(s)&&(l&B&&u(this,W).add(s),xe(s));var i=s.first;if(i!==null){s=i;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},Ge=function(n){for(var t=0;t!this.current.has(_));if(s.length===0)n&&v.discard();else if(t.length>0){if(n)for(const _ of u(this,Te))v.unskip_effect(_,b=>{var E;b.f&(B|Fe)?v.schedule(b):P(E=v,m,Ge).call(E,[b])});v.activate();var l=new Set,o=new Map;for(var a of t)zn(a,s,l,o);o=new Map;var f=[...v.current.keys()].filter(_=>this.current.has(_)?this.current.get(_)[0]!==_:!0);for(const _ of u(this,Le))!(_.f&(U|j|fn))&&wn(_,f,o)&&(_.f&(Fe|B)?(y(_,x),v.schedule(_)):u(v,J).add(_));if(u(v,C).length>0){v.apply();for(var i of u(v,C))P(c=v,m,on).call(c,i,[],[]);ge(v,C,[])}v.deactivate()}}for(const v of le)u(v,oe).has(this)&&(u(v,oe).delete(this),u(v,oe).size===0&&!P(h=v,m,Be).call(h)&&(v.activate(),P(d=v,m,Ve).call(d)))};let he=Qe;function Vt(e){var n=Ce;Ce=!0;try{for(var t;;){if(Yt(),p===null)return t;p.flush()}}finally{Ce=n}}function Gt(){try{Nt()}catch(e){We(e,un)}}let Y=null;function On(e){var n=e.length;if(n!==0){for(var t=0;t0)){ce.clear();for(const s of Y){if(s.f&(U|j))continue;const l=[s];let o=s.parent;for(;o!==null;)Y.has(o)&&(Y.delete(o),l.push(o)),o=o.parent;for(let a=l.length-1;a>=0;a--){const f=l[a];f.f&(U|j)||xe(f)}}Y.clear()}}Y=null}}function zn(e,n,t,r){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const s of e.reactions){const l=s.f;l&N?zn(s,n,t,r):l&(Fe|B)&&!(l&x)&&wn(s,n,r)&&(y(s,x),gn(s))}}function wn(e,n,t){const r=t.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Se.call(n,s))return!0;if(s.f&N&&wn(s,n,t))return t.set(s,!0),!0}return t.set(e,!1),!1}function gn(e){p.schedule(e)}function Bn(e,n){if(!(e.f&V&&e.f&T)){e.f&x?n.d.push(e):e.f&G&&n.m.push(e),y(e,T);for(var t=e.first;t!==null;)Bn(t,n),t=t.next}}function Vn(e){y(e,T);for(var n=e.first;n!==null;)Vn(n),n=n.next}function Kt(e,n,t,r){const s=Ue()?yn:Wt;var l=e.filter(d=>!d.settled);if(t.length===0&&l.length===0){r(n.map(s));return}var o=g,a=$t(),f=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(d=>d.promise)):null;function i(d){a();try{r(d)}catch(v){o.f&U||We(v,o)}Xe()}if(t.length===0){f.then(()=>i(n.map(s)));return}var c=Gn();function h(){Promise.all(t.map(d=>Zt(d))).then(d=>i([...n.map(s),...d])).catch(d=>We(d,o)).finally(()=>c())}f?f.then(()=>{a(),h(),Xe()}):h()}function $t(){var e=g,n=w,t=O,r=p;return function(l=!0){ke(e),te(n),Ze(t),l&&!(e.f&U)&&(r==null||r.activate(),r==null||r.apply())}}function Xe(e=!0){ke(null),te(null),Ze(null),e&&(p==null||p.deactivate())}function Gn(){var e=g,n=e.b,t=p,r=n.is_rendered();return n.update_pending_count(1,t),t.increment(r,e),(s=!1)=>{n.update_pending_count(-1,t),t.decrement(r,e,s)}}function yn(e){var n=N|x;return g!==null&&(g.f|=qe),{ctx:O,deps:null,effects:null,equals:Ln,f:n,fn:e,reactions:null,rv:0,v:S,wv:0,parent:g,ac:null}}function Zt(e,n,t){let r=g;r===null&&At();var s=void 0,l=En(S),o=!w,a=new Map;return rr(()=>{var v;var f=g,i=Cn();s=i.promise;try{Promise.resolve(e()).then(i.resolve,i.reject).finally(Xe)}catch(_){i.reject(_),Xe()}var c=p;if(o){if(f.f&we)var h=Gn();if(r.b.is_rendered())(v=a.get(c))==null||v.reject($),a.delete(c);else{for(const _ of a.values())_.reject($);a.clear()}a.set(c,i)}const d=(_,b=void 0)=>{if(h){var E=b===$;h(E)}if(!(b===$||f.f&U)){if(c.activate(),b)l.f|=Q,_n(l,b);else{l.f&Q&&(l.f^=Q),_n(l,_);for(const[Ne,Oe]of a){if(a.delete(Ne),Ne===c)break;Oe.reject($)}}c.deactivate()}};i.promise.then(d,_=>d(null,_||"unknown"))}),tr(()=>{for(const f of a.values())f.reject($)}),new Promise(f=>{function i(c){function h(){c===s?f(l):i(s)}c.then(h,h)}i(s)})}function Fr(e){const n=yn(e);return ft(n),n}function Wt(e){const n=yn(e);return n.equals=Yn,n}function Xt(e){var n=e.effects;if(n!==null){e.effects=null;for(var t=0;t0&&!Zn&&Qt()}return n}function Qt(){Zn=!1;for(const e of cn)e.f&T&&y(e,G),He(e)&&xe(e);cn.clear()}function ln(e){ie(e,e.v+1)}function Wn(e,n,t){var r=e.reactions;if(r!==null)for(var s=Ue(),l=r.length,o=0;o{if(_e===l)return a();var f=w,i=_e;te(null),In(l);var c=a();return te(f),In(i),c};return r&&t.set("length",X(e.length)),new Proxy(e,{defineProperty(a,f,i){(!("value"in i)||i.configurable===!1||i.enumerable===!1||i.writable===!1)&&Ot();var c=t.get(f);return c===void 0?o(()=>{var h=X(i.value);return t.set(f,h),h}):ie(c,i.value,!0),!0},deleteProperty(a,f){var i=t.get(f);if(i===void 0){if(f in a){const c=o(()=>X(S));t.set(f,c),ln(s)}}else ie(i,S),ln(s);return!0},get(a,f,i){var v;if(f===rn)return e;var c=t.get(f),h=f in a;if(c===void 0&&(!h||(v=Ie(a,f))!=null&&v.writable)&&(c=o(()=>{var _=De(h?a[f]:S),b=X(_);return b}),t.set(f,c)),c!==void 0){var d=Pe(c);return d===S?void 0:d}return Reflect.get(a,f,i)},getOwnPropertyDescriptor(a,f){var i=Reflect.getOwnPropertyDescriptor(a,f);if(i&&"value"in i){var c=t.get(f);c&&(i.value=Pe(c))}else if(i===void 0){var h=t.get(f),d=h==null?void 0:h.v;if(h!==void 0&&d!==S)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return i},has(a,f){var d;if(f===rn)return!0;var i=t.get(f),c=i!==void 0&&i.v!==S||Reflect.has(a,f);if(i!==void 0||g!==null&&(!c||(d=Ie(a,f))!=null&&d.writable)){i===void 0&&(i=o(()=>{var v=c?De(a[f]):S,_=X(v);return _}),t.set(f,i));var h=Pe(i);if(h===S)return!1}return c},set(a,f,i,c){var Sn;var h=t.get(f),d=f in a;if(r&&f==="length")for(var v=i;vX(S)),t.set(v+"",_))}if(h===void 0)(!d||(Sn=Ie(a,f))!=null&&Sn.writable)&&(h=o(()=>X(void 0)),ie(h,De(i)),t.set(f,h));else{d=h.v!==S;var b=o(()=>De(i));ie(h,b)}var E=Reflect.getOwnPropertyDescriptor(a,f);if(E!=null&&E.set&&E.set.call(c,i),!d){if(r&&typeof f=="string"){var Ne=t.get("length"),Oe=Number(f);Number.isInteger(Oe)&&Oe>=Ne.v&&ie(Ne,Oe+1)}ln(s)}return!0},ownKeys(a){Pe(s);var f=Reflect.ownKeys(a).filter(h=>{var d=t.get(h);return d===void 0||d.v!==S});for(var[i,c]of t)c.v!==S&&!(i in a)&&f.push(i);return f},setPrototypeOf(){Dt()}})}var Dn,er,Xn,Jn;function jr(){if(Dn===void 0){Dn=window,er=/Firefox/.test(navigator.userAgent);var e=Element.prototype,n=Node.prototype,t=Text.prototype;Xn=Ie(n,"firstChild").get,Jn=Ie(n,"nextSibling").get,Rn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Rn(t)&&(t.__t=void 0)}}function Je(e=""){return document.createTextNode(e)}function vn(e){return Xn.call(e)}function re(e){return Jn.call(e)}function Lr(e,n){if(!de)return vn(e);var t=vn(A);if(t===null)t=A.appendChild(Je());else if(n&&t.nodeType!==en){var r=Je();return t==null||t.before(r),Re(r),r}return n&&Tn(t),Re(t),t}function Yr(e,n=!1){if(!de){var t=vn(e);return t instanceof Comment&&t.data===""?re(t):t}if(n){if((A==null?void 0:A.nodeType)!==en){var r=Je();return A==null||A.before(r),Re(r),r}Tn(A)}return A}function qr(e,n=1,t=!1){let r=de?A:e;for(var s;n--;)s=r,r=re(r);if(!de)return r;if(t){if((r==null?void 0:r.nodeType)!==en){var l=Je();return r===null?s==null||s.after(l):r.before(l),Re(l),l}Tn(r)}return Re(r),r}function Ur(e){e.textContent=""}function Hr(){return!1}function zr(e,n,t){return document.createElementNS(Mt,e,void 0)}function Tn(e){if(e.nodeValue.length<65536)return;let n=e.nextSibling;for(;n!==null&&n.nodeType===en;)n.remove(),e.nodeValue+=n.nodeValue,n=e.nextSibling}function Qn(e){var n=w,t=g;te(null),ke(null);try{return e()}finally{te(n),ke(t)}}function et(e){g===null&&(w===null&&xt(),kt()),ne&&Rt()}function nr(e,n){var t=n.last;t===null?n.last=n.first=e:(t.next=e,e.prev=t,n.last=e)}function K(e,n){var t=g;t!==null&&t.f&j&&(e|=j);var r={ctx:O,deps:null,nodes:null,f:e|x|M,first:null,fn:n,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if(e&Ae)ye!==null?ye.push(r):he.ensure().schedule(r);else if(n!==null){try{xe(r)}catch(o){throw pe(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&qe)&&(s=s.first,e&B&&e&$e&&s!==null&&(s.f|=$e))}if(s!==null&&(s.parent=t,t!==null&&nr(s,t),w!==null&&w.f&N&&!(e&ee))){var l=w;(l.effects??(l.effects=[])).push(s)}return r}function nt(){return w!==null&&!q}function tr(e){const n=K(Ye,null);return y(n,T),n.teardown=e,n}function Br(e){et();var n=g.f,t=!w&&(n&V)!==0&&(n&we)===0;if(t){var r=O;(r.e??(r.e=[])).push(e)}else return tt(e)}function tt(e){return K(Ae|Mn,e)}function Vr(e){return et(),K(Ye|Mn,e)}function Gr(e){he.ensure();const n=K(ee|qe,e);return(t={})=>new Promise(r=>{t.outro?ir(n,()=>{pe(n),r(void 0)}):(pe(n),r(void 0))})}function Kr(e){return K(Ae,e)}function rr(e){return K(Fe|qe,e)}function $r(e,n=0){return K(Ye|n,e)}function Zr(e,n=[],t=[],r=[]){Kt(r,n,t,s=>{K(Ye,()=>e(...s.map(Pe)))})}function Wr(e,n=0){var t=K(B|n,e);return t}function Xr(e){return K(V|qe,e)}function rt(e){var n=e.teardown;if(n!==null){const t=ne,r=w;Pn(!0),te(null);try{n.call(null)}finally{Pn(t),te(r)}}}function bn(e,n=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const s=t.ac;s!==null&&Qn(()=>{s.abort($)});var r=t.next;t.f&ee?t.parent=null:pe(t,n),t=r}}function sr(e){for(var n=e.first;n!==null;){var t=n.next;n.f&V||pe(n),n=t}}function pe(e,n=!0){var t=!1;(n||e.f&St)&&e.nodes!==null&&e.nodes.end!==null&&(lr(e.nodes.start,e.nodes.end),t=!0),y(e,kn),bn(e,n&&!t),Me(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)l.stop();rt(e),e.f^=kn,e.f|=U;var s=e.parent;s!==null&&s.first!==null&&st(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function lr(e,n){for(;e!==null;){var t=e===n?null:re(e);e.remove(),e=t}}function st(e){var n=e.parent,t=e.prev,r=e.next;t!==null&&(t.next=r),r!==null&&(r.prev=t),n!==null&&(n.first===e&&(n.first=r),n.last===e&&(n.last=t))}function ir(e,n,t=!0){var r=[];lt(e,r,!0);var s=()=>{t&&pe(e),n&&n()},l=r.length;if(l>0){var o=()=>--l||s();for(var a of r)a.out(o)}else s()}function lt(e,n,t){if(!(e.f&j)){e.f^=j;var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)(a.is_global||t)&&n.push(a);for(var s=e.first;s!==null;){var l=s.next;if(!(s.f&ee)){var o=(s.f&$e)!==0||(s.f&V)!==0&&(e.f&B)!==0;lt(s,n,o?t:!1)}s=l}}}function Jr(e){it(e,!0)}function it(e,n){if(e.f&j){e.f^=j,e.f&T||(y(e,x),he.ensure().schedule(e));for(var t=e.first;t!==null;){var r=t.next,s=(t.f&$e)!==0||(t.f&V)!==0;it(t,s?n:!1),t=r}var l=e.nodes&&e.nodes.t;if(l!==null)for(const o of l)(o.is_global||n)&&o.in()}}function Qr(e,n){if(e.nodes)for(var t=e.nodes.start,r=e.nodes.end;t!==null;){var s=t===r?null:re(t);n.append(t),t=s}}let Ke=!1,ne=!1;function Pn(e){ne=e}let w=null,q=!1;function te(e){w=e}let g=null;function ke(e){g=e}let L=null;function ft(e){w!==null&&(L===null?L=[e]:L.push(e))}let D=null,I=0,F=null;function fr(e){F=e}let at=1,ae=0,_e=ae;function In(e){_e=e}function ut(){return++at}function He(e){var n=e.f;if(n&x)return!0;if(n&N&&(e.f&=~ve),n&G){for(var t=e.deps,r=t.length,s=0;se.wv)return!0}n&M&&R===null&&y(e,T)}return!1}function ot(e,n,t=!0){var r=e.reactions;if(r!==null&&!(L!==null&&Se.call(L,e)))for(var s=0;s{e.ac.abort($)}),e.ac=null);try{e.f|=an;var c=e.fn,h=c();e.f|=we;var d=e.deps,v=p==null?void 0:p.is_fork;if(D!==null){var _;if(v||Me(e,I),d!==null&&I>0)for(d.length=I+D.length,_=0;_{const e=u(n);if(typeof e=="function")return e})}function a(n){var e=n.l;return e.u??(e.u={a:[],b:[],m:[]})}export{r as o}; diff --git a/internal/web/build/_app/immutable/chunks/Dg9CzvF0.js b/internal/web/build/_app/immutable/chunks/Dg9CzvF0.js new file mode 100644 index 00000000..4ae6cf13 --- /dev/null +++ b/internal/web/build/_app/immutable/chunks/Dg9CzvF0.js @@ -0,0 +1 @@ +var ee=t=>{throw TypeError(t)};var Ce=(t,e,n)=>e.has(t)||ee("Cannot "+n);var y=(t,e,n)=>(Ce(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?ee("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{aF as It,aG as Ne,aD as T,z as I,ap as O,aC as _t,aH as qe}from"./Bczxu_ef.js";import{o as ne}from"./Bs0stjkU.js";const z=[];function Vt(t,e=It){let n=null;const a=new Set;function r(o){if(Ne(t,o)&&(t=o,n)){const l=!z.length;for(const c of a)c[1](),z.push(c,t);if(l){for(let c=0;c{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Bt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Kt{constructor(e,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=n}}class zt extends Error{constructor(e,n,a){super(a),this.status=e,this.text=n}}new URL("sveltekit-internal://");function De(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Ve(t){return t.split("%25").map(decodeURI).join("%25")}function Be(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Ot({href:t}){return t.split("#")[0]}function $(){}function Ke(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function ze(t){const e=atob(t),n=new Uint8Array(e.length);for(let a=0;a((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&X.delete(Ft(t)),Fe(t,e));const X=new Map;function Ge(t,e){const n=Ft(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&X.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=ze(r)),Promise.resolve(new Response(r,i))}return window.fetch(t,e)}function He(t,e,n){if(X.size>0){const a=Ft(t,n),r=X.get(a);if(r){if(performance.now(){const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return e.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Pt(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Pt(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Me.exec(l),[,u,w,p,f]=d;return e.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Pt(l)}).join("")}).join("")}/?$`),params:e}}function Je(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Ye(t){return t.slice(1).split("/").filter(Je)}function Xe(t,e,n){const a={},r=t.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;od).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=e[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function Pt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Qe({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=We(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return Xe(m,w,a)},errors:[1,...d||[]].map(f=>t[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,t[o]]}function s(o){return o===void 0?o:[r.has(o),t[o]]}}function ge(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function re(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}var fe;const A=((fe=globalThis.__sveltekit_avrrju)==null?void 0:fe.base)??"";var ue;const Ze=((ue=globalThis.__sveltekit_avrrju)==null?void 0:ue.assets)??A??"",tn="1776864372510",me="sveltekit:snapshot",_e="sveltekit:scroll",we="sveltekit:states",en="sveltekit:pageurl",G="sveltekit:history",Z="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Gt=location.origin;function ve(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function B(){return{x:pageXOffset,y:pageYOffset}}function F(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ae={...D,"":D.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function be(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function Ct(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,i=!a||!!r||Lt(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===Gt&&t.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function wt(t){let e=null,n=null,a=null,r=null,i=null,s=null,o=t;for(;o&&o!==document.documentElement;)a===null&&(a=F(o,"preload-code")),r===null&&(r=F(o,"preload-data")),e===null&&(e=F(o,"keepfocus")),n===null&&(n=F(o,"noscroll")),i===null&&(i=F(o,"reload")),s===null&&(s=F(o,"replacestate")),o=ye(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ae[a??"off"],preload_data:ae[r??"off"],keepfocus:l(e),noscroll:l(n),reload:l(i),replace_state:l(s)}}function oe(t){const e=Vt(t);let n=!0;function a(){n=!0,e.update(s=>s)}function r(s){n=!1,e.set(s)}function i(s){let o;return e.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const ke={v:$};function nn(){const{set:t,subscribe:e}=Vt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Ze}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==tn;return s&&(t(!0),ke.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:e,check:a}}function Lt(t,e,n){return t.origin!==Gt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function On(t){}const Ee=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ee];const rn=new Set([...Ee]);[...rn];function an(t){return t.filter(e=>e!=null)}function Ht(t){return t instanceof Bt||t instanceof zt?t.status:500}function on(t){return t instanceof zt?t.text:"Internal Error"}let R,tt,jt;const sn=ne.toString().includes("$$")||/function \w+\(\) \{\}/.test(ne.toString()),se="a:";var ot,st,it,lt,ct,ft,ut,dt,de,ht,he,pt,pe;sn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(se)},tt={current:null},jt={current:!1}):(R=new(de=class{constructor(){U(this,ot,T({}));U(this,st,T(null));U(this,it,T(null));U(this,lt,T({}));U(this,ct,T({id:null}));U(this,ft,T({}));U(this,ut,T(-1));U(this,dt,T(new URL(se)))}get data(){return I(y(this,ot))}set data(e){O(y(this,ot),e)}get form(){return I(y(this,st))}set form(e){O(y(this,st),e)}get error(){return I(y(this,it))}set error(e){O(y(this,it),e)}get params(){return I(y(this,lt))}set params(e){O(y(this,lt),e)}get route(){return I(y(this,ct))}set route(e){O(y(this,ct),e)}get state(){return I(y(this,ft))}set state(e){O(y(this,ft),e)}get status(){return I(y(this,ut))}set status(e){O(y(this,ut),e)}get url(){return I(y(this,dt))}set url(e){O(y(this,dt),e)}},ot=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,ut=new WeakMap,dt=new WeakMap,de),tt=new(he=class{constructor(){U(this,ht,T(null))}get current(){return I(y(this,ht))}set current(e){O(y(this,ht),e)}},ht=new WeakMap,he),jt=new(pe=class{constructor(){U(this,pt,T(!1))}get current(){return I(y(this,pt))}set current(e){O(y(this,pt),e)}},pt=new WeakMap,pe),ke.v=()=>jt.current=!0);function ln(t){Object.assign(R,t)}const cn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const N=ge(_e)??{},et=ge(me)??{},C={url:oe({}),page:oe({}),navigating:Vt(null),updated:nn()};function Mt(t){N[t]=B()}function fn(t,e){let n=t+1;for(;N[n];)delete N[n],n+=1;for(n=e+1;et[n];)delete et[n],n+=1}function nt(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise($)}async function Se(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(A||"/");t&&await t.update()}}let Wt,Nt,vt,P,qt,E;const yt=[],bt=[];let v=null;function kt(){var t;(t=v==null?void 0:v.fork)==null||t.then(e=>e==null?void 0:e.discard()),v=null}const mt=new Map,Re=new Set,un=new Set,Q=new Set;let _={branch:[],error:null,url:null},xe=!1,Et=!1,ie=!0,rt=!1,Y=!1,Le=!1,Jt=!1,Ae,k,L,V;const St=new Set,le=new Map;async function Cn(t,e,n){var i,s,o,l;globalThis.__sveltekit_avrrju&&(globalThis.__sveltekit_avrrju.query,globalThis.__sveltekit_avrrju.prerender),document.URL!==location.href&&(location.href=location.href),E=t,await((s=(i=t.hooks).init)==null?void 0:s.call(i)),Wt=Qe(t),P=document.documentElement,qt=e,Nt=t.nodes[0],vt=t.nodes[1],Nt(),vt(),k=(o=history.state)==null?void 0:o[G],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[G]:k,[Z]:L},""));const a=N[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Rn(qt,n)):(await H({type:"enter",url:ve(E.hash?An(new URL(location.href)):location.href),replace_state:!0}),r()),Sn()}function dn(){yt.length=0,Jt=!1}function Ue(t){bt.some(e=>e==null?void 0:e.snapshot)&&(et[t]=bt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Te(t){var e;(e=et[t])==null||e.forEach((n,a)=>{var r,i;(i=(r=bt[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ce(){Mt(k),re(_e,N),Ue(L),re(me,et)}async function hn(t,e,n,a){let r;e.invalidateAll&&kt(),await H({type:"goto",url:ve(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{e.invalidateAll&&(Jt=!0,r=[],le.forEach((i,s)=>{for(const o of i.keys())r.push(s+"/"+o)})),e.invalidate&&e.invalidate.forEach(En)}}),e.invalidateAll&&_t().then(_t).then(()=>{le.forEach((i,s)=>{i.forEach(({resource:o},l)=>{var c;r!=null&&r.includes(s+"/"+l)&&((c=o.refresh)==null||c.call(o))})})})}async function pn(t){if(t.id!==(v==null?void 0:v.id)){kt();const e={};St.add(e),v={id:t.id,token:e,promise:Oe({...t,preload:e}).then(n=>(St.delete(e),n.type==="loaded"&&n.state.error&&kt(),n)),fork:null}}return v.promise}async function $t(t){var n;const e=(n=await At(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(a=>a[1]()))}async function Ie(t,e,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...t.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Ae=new E.root({target:e,props:{...t.props,stores:C,components:bt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Te(L),n){const s={from:null,to:{...a,scroll:N[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}Et=!0}async function Rt({url:t,params:e,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(A&&(t.pathname===A||t.pathname===A+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);t.pathname=De(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:i,route:s},props:{constructors:an(n).map(f=>f.node.component),page:te(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;fo(new URL(s))))return!0;return!1}function Xt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function _n(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),i=e.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function wn({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:te(R),constructors:[]}}}async function Oe({id:t,invalidating:e,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===t)return St.delete(v.token),v.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch($)),c.forEach(h=>h==null?void 0:h[1]().catch($));const d=_.url?t!==xt(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=_n(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var j;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!mn(p,u,d,w,(j=b.universal)==null?void 0:j.uses,a)?b:(p=!0,Yt({loader:h[1],url:n,params:a,route:r,parent:async()=>{var gt;const q={};for(let K=0;KPromise.resolve({}),server_data_node:Xt(i)}),o={node:await vt(),loader:vt,universal:null,server:null,data:null};return Rt({url:n,params:r,branch:[s,o],status:t,error:e,errors:[],route:null})}catch(s){if(s instanceof Kt)return hn(new URL(s.location,location.href),{},0);throw s}}async function yn(t){const e=t.href;if(mt.has(e))return mt.get(e);let n;try{const a=(async()=>{let r=await E.hooks.reroute({url:new URL(t),fetch:async(i,s)=>gn(i,s,t).promise})??t;if(typeof r=="string"){const i=new URL(t);E.hash?i.hash=r:i.pathname=r,r=i}return r})();mt.set(e,a),n=await a}catch{mt.delete(e);return}return n}async function At(t,e){if(t&&!Lt(t,A,E.hash)){const n=await yn(t);if(!n)return;const a=bn(n);for(const r of Wt){const i=r.exec(a);if(i)return{id:xt(t),invalidating:e,route:r,params:Be(i),url:t}}}}function bn(t){return Ve(E.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(A.length))||"/"}function xt(t){return(E.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Pe({url:t,type:e,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=Zt(_,n,t,e,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return rt||Re.forEach(c=>c(l)),s?null:o}async function H({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=$,block:d=$,event:u}){var K;const w=V;V=l;const p=await At(e,!1),f=t==="enter"?Zt(_,p,e,t):Pe({url:e,type:t,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),V===l&&(V=w);return}const m=k,h=L;c(),rt=!0,Et&&f.navigation.type!=="enter"&&C.navigating.set(tt.current=f.navigation);let g=p&&await Oe(p);if(!g){if(Lt(e,A,E.hash))return await nt(e,i);g=await je(e,{id:null},await at(new zt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,i)}if(e=(p==null?void 0:p.url)||e,V!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await H({type:t,url:new URL(g.location,e),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await Qt({status:500,error:await at(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await Se(),await nt(e,i));if(dn(),Mt(m),Ue(h),g.props.page.url.pathname!==e.pathname&&(e.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const S=i?0:1,M={[G]:k+=S,[Z]:L+=S,[we]:s};(i?history.replaceState:history.pushState).call(history,M,"",e),i||fn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&kt(),v=null,g.props.page.state=s;let x;if(Et){const S=(await Promise.all(Array.from(un,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(S.length>0){let W=function(){S.forEach(Tt=>{Q.delete(Tt)})};S.push(W),S.forEach(Tt=>{Q.add(Tt)})}const M=f.navigation.to;_={...g.state,nav:{params:M.params,route:M.route,url:M.url}},g.props.page&&(g.props.page.url=e);const Ut=b&&await b;Ut?x=Ut.commit():(J=null,Ae.$set(g.props),J&&Object.assign(g.props.page,J),ln(g.props.page),x=(K=qe)==null?void 0:K()),Le=!0}else await Ie(g,qt,!1);const{activeElement:j}=document;await x,await _t(),await _t();let q=null;if(ie){const S=n?n.scroll:r?B():null;S?scrollTo(S.x,S.y):(q=e.hash&&document.getElementById($e(e)))?q.scrollIntoView():scrollTo(0,0)}const gt=document.activeElement!==j&&document.activeElement!==document.body;!a&&!gt&&Ln(e,!q),ie=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),rt=!1,t==="popstate"&&Te(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),Q.forEach(S=>S(f.navigation)),C.navigating.set(tt.current=null)}async function je(t,e,n,a,r){return t.origin===Gt&&t.pathname===location.pathname&&!xe?await Qt({status:a,error:n,url:t,route:e}):await nt(t,r)}function kn(){let t,e={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(t),t=setTimeout(()=>{i(l,D.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],D.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&($t(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=be(o,P),d=c===e.element&&(c==null?void 0:c.href)===e.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=Ct(c,A,E.hash);if(w||p)return;const f=wt(c),m=u&&xt(_.url)===xt(u);if(!(f.reload||m))if(l<=f.preload_data){e={element:c,href:c.href},n=D.tap;const h=await At(u,!1);if(!h)return;pn(h)}else l<=f.preload_code&&(e={element:c,href:c.href},n=l,$t(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=Ct(o,A,E.hash);if(c||d)continue;const u=wt(o);u.reload||(u.preload_code===D.viewport&&r.observe(o),u.preload_code===D.eager&&$t(l))}}Q.add(s),s()}function at(t,e){if(t instanceof Bt)return t.body;const n=Ht(t),a=on(t);return E.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function En(t){if(typeof t=="function")yt.push(t);else{const{href:e}=new URL(t,location.href);yt.push(n=>n.href===e)}}function Sn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ce(),!rt){const r=Zt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Re.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||kn(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=be(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=Ct(a,A,E.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=wt(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(E.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===Ot(location);if(i||l.reload&&(!w||!u)){Pe({url:r,type:"link",event:n})?rt=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Mt(k),t(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await H({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Lt(o,A,!1))return;const l=n.target,c=wt(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),H({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Dt){if((a=n.state)!=null&&a[G]){const r=n.state[G];if(V={},r===k)return;const i=N[r],s=n.state[we]??{},o=new URL(n.state[en]??location.href),l=n.state[Z],c=_.url?Ot(location)===Ot(_.url):!1;if(l===L&&(Le||c)){s!==R.state&&(R.state=s),t(o),N[k]=B(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await H({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!Y){const r=new URL(location.href);t(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[G]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))cn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(tt.current=null)});function t(n){_.url=R.url=n,C.page.set(te(R)),C.page.notify()}}async function Rn(t,{status:e=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){xe=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await At(c,!1)||{}),d=Wt.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=xn(g.uses)),Yt({loader:E.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x{const o=history.state;Dt=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",t),e&&scrollTo(i,s),Dt=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s{if(r.rangeCount===i.length){for(let s=0;s{i=u,s=w});return o.catch($),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:B()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((d=e==null?void 0:e.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!e,type:a,complete:o},fulfil:i,reject:s}}function te(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function An(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function $e(t){let e;if(E.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{Cn as a,On as l,R as p,C as s}; diff --git a/internal/web/build/_app/immutable/chunks/TKBjD5KV.js b/internal/web/build/_app/immutable/chunks/TKBjD5KV.js new file mode 100644 index 00000000..a9844c65 --- /dev/null +++ b/internal/web/build/_app/immutable/chunks/TKBjD5KV.js @@ -0,0 +1 @@ +import{e}from"./Bczxu_ef.js";e(); diff --git a/internal/web/build/_app/immutable/chunks/VGLXWWN0.js b/internal/web/build/_app/immutable/chunks/VGLXWWN0.js new file mode 100644 index 00000000..e9d56703 --- /dev/null +++ b/internal/web/build/_app/immutable/chunks/VGLXWWN0.js @@ -0,0 +1,2 @@ +var Oe=Object.defineProperty;var _e=s=>{throw TypeError(s)};var Fe=(s,e,r)=>e in s?Oe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var W=(s,e,r)=>Fe(s,typeof e!="symbol"?e+"":e,r),re=(s,e,r)=>e.has(s)||_e("Cannot "+r);var t=(s,e,r)=>(re(s,e,"read from private field"),r?r.call(s):e.get(s)),l=(s,e,r)=>e.has(s)?_e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,r),n=(s,e,r,a)=>(re(s,e,"write to private field"),a?a.call(s,r):e.set(s,r),r),c=(s,e,r)=>(re(s,e,"access private method"),r);import{y as Ie,z as be,A as Ce,B as Ee,a as Me,C as G,D as ce,q as C,h as M,k as V,E as ue,F as Ye,G as F,j as Te,H as ie,I,J as He,K as Pe,L as X,M as Z,N as pe,O as Ve,P as Be,Q as we,c as Se,S as Le,U as ne,w as ee,V as $e,W as qe,X as j,Y as xe,b as We,Z as je,_ as ge,$ as ze,a0 as Je,a1 as Ue,a2 as Ge,a3 as ae,m as Ke,a4 as Ne,a5 as Qe,a6 as Xe,a7 as fe,a8 as z,a9 as Ze,aa as et,ab as tt,ac as st,p as rt,ad as it,ae as nt,d as at}from"./Bczxu_ef.js";import{b as ft}from"./jjiUbCvc.js";function ht(s){let e=0,r=Ee(0),a;return()=>{Ie()&&(be(r),Ce(()=>(e===0&&(a=Me(()=>s(()=>ce(r)))),e+=1,()=>{G(()=>{e-=1,e===0&&(a==null||a(),a=void 0,ce(r))})})))}}var ot=Je|Ue;function lt(s,e,r,a){new dt(s,e,r,a)}var E,$,w,Y,v,S,u,T,N,H,A,B,q,x,R,te,f,Re,ke,Ae,he,K,Q,oe,le;class dt{constructor(e,r,a,_){l(this,f);W(this,"parent");W(this,"is_pending",!1);W(this,"transform_error");l(this,E);l(this,$,M?C:null);l(this,w);l(this,Y);l(this,v);l(this,S,null);l(this,u,null);l(this,T,null);l(this,N,null);l(this,H,0);l(this,A,0);l(this,B,!1);l(this,q,new Set);l(this,x,new Set);l(this,R,null);l(this,te,ht(()=>(n(this,R,Ee(t(this,H))),()=>{n(this,R,null)})));var i;n(this,E,e),n(this,w,r),n(this,Y,h=>{var p=V;p.b=this,p.f|=ue,a(h)}),this.parent=V.b,this.transform_error=_??((i=this.parent)==null?void 0:i.transform_error)??(h=>h),n(this,v,Ye(()=>{if(M){const h=t(this,$);We();const p=h.data===je;if(h.data.startsWith(ge)){const d=JSON.parse(h.data.slice(ge.length));c(this,f,ke).call(this,d)}else p?c(this,f,Ae).call(this):c(this,f,Re).call(this)}else c(this,f,he).call(this)},ot)),M&&n(this,E,C)}defer_effect(e){Pe(e,t(this,q),t(this,x))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!t(this,w).pending}update_pending_count(e,r){c(this,f,oe).call(this,e,r),n(this,H,t(this,H)+e),!(!t(this,R)||t(this,B))&&(n(this,B,!0),G(()=>{n(this,B,!1),t(this,R)&&Le(t(this,R),t(this,H))}))}get_effect_pending(){return t(this,te).call(this),be(t(this,R))}error(e){var r;if(!t(this,w).onerror&&!t(this,w).failed)throw e;(r=I)!=null&&r.is_fork?(t(this,S)&&I.skip_effect(t(this,S)),t(this,u)&&I.skip_effect(t(this,u)),t(this,T)&&I.skip_effect(t(this,T)),I.on_fork_commit(()=>{c(this,f,le).call(this,e)})):c(this,f,le).call(this,e)}}E=new WeakMap,$=new WeakMap,w=new WeakMap,Y=new WeakMap,v=new WeakMap,S=new WeakMap,u=new WeakMap,T=new WeakMap,N=new WeakMap,H=new WeakMap,A=new WeakMap,B=new WeakMap,q=new WeakMap,x=new WeakMap,R=new WeakMap,te=new WeakMap,f=new WeakSet,Re=function(){try{n(this,S,F(()=>t(this,Y).call(this,t(this,E))))}catch(e){this.error(e)}},ke=function(e){const r=t(this,w).failed;r&&n(this,T,F(()=>{r(t(this,E),()=>e,()=>()=>{})}))},Ae=function(){const e=t(this,w).pending;e&&(this.is_pending=!0,n(this,u,F(()=>e(t(this,E)))),G(()=>{var r=n(this,N,document.createDocumentFragment()),a=Te();r.append(a),n(this,S,c(this,f,Q).call(this,()=>F(()=>t(this,Y).call(this,a)))),t(this,A)===0&&(t(this,E).before(r),n(this,N,null),ie(t(this,u),()=>{n(this,u,null)}),c(this,f,K).call(this,I))}))},he=function(){try{if(this.is_pending=this.has_pending_snippet(),n(this,A,0),n(this,H,0),n(this,S,F(()=>{t(this,Y).call(this,t(this,E))})),t(this,A)>0){var e=n(this,N,document.createDocumentFragment());He(t(this,S),e);const r=t(this,w).pending;n(this,u,F(()=>r(t(this,E))))}else c(this,f,K).call(this,I)}catch(r){this.error(r)}},K=function(e){this.is_pending=!1,e.transfer_effects(t(this,q),t(this,x))},Q=function(e){var r=V,a=we,_=Se;X(t(this,v)),Z(t(this,v)),pe(t(this,v).ctx);try{return Ve.ensure(),e()}catch(i){return Be(i),null}finally{X(r),Z(a),pe(_)}},oe=function(e,r){var a;if(!this.has_pending_snippet()){this.parent&&c(a=this.parent,f,oe).call(a,e,r);return}n(this,A,t(this,A)+e),t(this,A)===0&&(c(this,f,K).call(this,r),t(this,u)&&ie(t(this,u),()=>{n(this,u,null)}),t(this,N)&&(t(this,E).before(t(this,N)),n(this,N,null)))},le=function(e){t(this,S)&&(ne(t(this,S)),n(this,S,null)),t(this,u)&&(ne(t(this,u)),n(this,u,null)),t(this,T)&&(ne(t(this,T)),n(this,T,null)),M&&(ee(t(this,$)),$e(),ee(qe()));var r=t(this,w).onerror;let a=t(this,w).failed;var _=!1,i=!1;const h=()=>{if(_){ze();return}_=!0,i&&xe(),t(this,T)!==null&&ie(t(this,T),()=>{n(this,T,null)}),c(this,f,Q).call(this,()=>{c(this,f,he).call(this)})},p=o=>{try{i=!0,r==null||r(o,h),i=!1}catch(d){j(d,t(this,v)&&t(this,v).parent)}a&&n(this,T,c(this,f,Q).call(this,()=>{try{return F(()=>{var d=V;d.b=this,d.f|=ue,a(t(this,E),()=>o,()=>h)})}catch(d){return j(d,t(this,v).parent),null}}))};G(()=>{var o;try{o=this.transform_error(e)}catch(d){j(d,t(this,v)&&t(this,v).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(p,d=>j(d,t(this,v)&&t(this,v).parent)):p(o)})};const _t=["touchstart","touchmove"];function ct(s){return _t.includes(s)}const J=Symbol("events"),ut=new Set,ve=new Set;let ye=null;function me(s){var D,b;var e=this,r=e.ownerDocument,a=s.type,_=((D=s.composedPath)==null?void 0:D.call(s))||[],i=_[0]||s.target;ye=s;var h=0,p=ye===s&&s[J];if(p){var o=_.indexOf(p);if(o!==-1&&(e===document||e===window)){s[J]=e;return}var d=_.indexOf(e);if(d===-1)return;o<=d&&(h=o)}if(i=_[h]||s.target,i!==e){Ge(s,"currentTarget",{configurable:!0,get(){return i||r}});var P=we,L=V;Z(null),X(null);try{for(var k,y=[];i!==null;){var g=i.assignedSlot||i.parentNode||i.host||null;try{var m=(b=i[J])==null?void 0:b[a];m!=null&&(!i.disabled||s.target===i)&&m.call(i,s)}catch(O){k?y.push(O):k=O}if(s.cancelBubble||g===e||g===null)break;i=g}if(k){for(let O of y)queueMicrotask(()=>{throw O});throw k}}finally{s[J]=e,delete s.currentTarget,Z(P),X(L)}}}function mt(s,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(s.__t??(s.__t=s.nodeValue))&&(s.__t=r,s.nodeValue=`${r}`)}function pt(s,e){return De(s,e)}function bt(s,e){ae(),e.intro=e.intro??!1;const r=e.target,a=M,_=C;try{for(var i=Ke(r);i&&(i.nodeType!==Ne||i.data!==Qe);)i=Xe(i);if(!i)throw fe;z(!0),ee(i);const h=De(s,{...e,anchor:i});return z(!1),h}catch(h){if(h instanceof Error&&h.message.split(` +`).some(p=>p.startsWith("https://svelte.dev/e/")))throw h;return h!==fe&&console.warn("Failed to hydrate: ",h),e.recover===!1&&Ze(),ae(),et(r),z(!1),pt(s,e)}finally{z(a),ee(_)}}const U=new Map;function De(s,{target:e,anchor:r,props:a={},events:_,context:i,intro:h=!0,transformError:p}){ae();var o=void 0,d=tt(()=>{var P=r??e.appendChild(Te());lt(P,{pending:()=>{}},y=>{rt({});var g=Se;if(i&&(g.c=i),_&&(a.$$events=_),M&&ft(y,null),o=s(y,a)||{},M&&(V.nodes.end=C,C===null||C.nodeType!==Ne||C.data!==it))throw nt(),fe;at()},p);var L=new Set,k=y=>{for(var g=0;g{var D;for(var y of L)for(const b of[e,document]){var g=U.get(b),m=g.get(y);--m==0?(b.removeEventListener(y,me),g.delete(y),g.size===0&&U.delete(b)):g.set(y,m)}ve.delete(k),P!==r&&((D=P.parentNode)==null||D.removeChild(P))}});return de.set(o,d),o}let de=new WeakMap;function Et(s,e){const r=de.get(s);return r?(de.delete(s),r(e)):Promise.resolve()}export{bt as h,pt as m,mt as s,Et as u}; diff --git a/internal/web/build/_app/immutable/chunks/jjiUbCvc.js b/internal/web/build/_app/immutable/chunks/jjiUbCvc.js new file mode 100644 index 00000000..79be165a --- /dev/null +++ b/internal/web/build/_app/immutable/chunks/jjiUbCvc.js @@ -0,0 +1 @@ +import{i as p,j as u,k as c,m as l,n as E,T as w,o as g,h as i,q as s,R as y,b as N,v as x,w as M,x as b}from"./Bczxu_ef.js";var f;const d=((f=globalThis==null?void 0:globalThis.window)==null?void 0:f.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function A(t){return(d==null?void 0:d.createHTML(t))??t}function L(t){var r=p("template");return r.innerHTML=A(t.replaceAll("","")),r.content}function n(t,r){var e=c;e.nodes===null&&(e.nodes={start:t,end:r,a:null,t:null})}function P(t,r){var e=(r&w)!==0,m=(r&g)!==0,a,v=!t.startsWith("");return()=>{if(i)return n(s,null),s;a===void 0&&(a=L(v?t:""+t),e||(a=l(a)));var o=m||E?document.importNode(a,!0):a.cloneNode(!0);if(e){var T=l(o),h=o.lastChild;n(T,h)}else n(o,o);return o}}function C(t=""){if(!i){var r=u(t+"");return n(r,r),r}var e=s;return e.nodeType!==x?(e.before(e=u()),M(e)):b(e),n(e,e),e}function I(){if(i)return n(s,null),s;var t=document.createDocumentFragment(),r=document.createComment(""),e=u();return t.append(r,e),n(r,e),t}function D(t,r){if(i){var e=c;(!(e.f&y)||e.nodes.end===null)&&(e.nodes.end=s),N();return}t!==null&&t.before(r)}const R="5";var _;typeof window<"u"&&((_=window.__svelte??(window.__svelte={})).v??(_.v=new Set)).add(R);export{D as a,n as b,I as c,P as f,C as t}; diff --git a/internal/web/build/_app/immutable/entry/app.DktjMEms.js b/internal/web/build/_app/immutable/entry/app.DktjMEms.js new file mode 100644 index 00000000..3215de71 --- /dev/null +++ b/internal/web/build/_app/immutable/entry/app.DktjMEms.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BNvMPOtQ.js","../chunks/jjiUbCvc.js","../chunks/Bczxu_ef.js","../chunks/TKBjD5KV.js","../assets/0.CfszLNRC.css","../nodes/1.C4_44cdw.js","../chunks/VGLXWWN0.js","../chunks/Dg9CzvF0.js","../chunks/Bs0stjkU.js","../nodes/2.C7yKEp00.js"])))=>i.map(i=>d[i]); +var Re=Object.defineProperty;var ee=r=>{throw TypeError(r)};var we=(r,e,s)=>e in r?Re(r,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[e]=s;var te=(r,e,s)=>we(r,typeof e!="symbol"?e+"":e,s),re=(r,e,s)=>e.has(r)||ee("Cannot "+s);var n=(r,e,s)=>(re(r,e,"read from private field"),s?s.call(r):e.get(r)),w=(r,e,s)=>e.has(r)?ee("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,s),M=(r,e,s,i)=>(re(r,e,"write to private field"),i?i.call(r,s):e.set(r,s),s);import{af as Ae,U as z,H as Oe,j as se,G as ae,I as ke,h as C,q as X,J as Ie,ag as Te,b as oe,F as ce,a0 as fe,ah as ue,W as le,w as de,a8 as Y,a5 as xe,c as De,ai as Le,A as Ce,a as he,k as _e,aj as je,ak as ve,al as pe,am as Be,an as Me,z as E,ao as Ne,ap as L,aq as Ue,ar as Ye,as as qe,l as Fe,at as ze,au as Ge,av as Ve,aw as He,ax as We,ay as me,az as Je,a2 as Ze,aA as Ke,p as Qe,aB as Xe,u as $e,aC as et,f as N,s as tt,d as rt,aD as G,g as st,r as at,t as nt,aE as V}from"../chunks/Bczxu_ef.js";import{h as it,m as ot,u as ct,s as ft}from"../chunks/VGLXWWN0.js";import{a as x,f as ge,c as H,t as ut}from"../chunks/jjiUbCvc.js";import{o as lt}from"../chunks/Bs0stjkU.js";let U=!1;function dt(r){var e=U;try{return U=!1,[r(),U]}finally{U=e}}var S,A,b,T,j,p,q;class be{constructor(e,s=!0){te(this,"anchor");w(this,S,new Map);w(this,A,new Map);w(this,b,new Map);w(this,T,new Set);w(this,j,!0);w(this,p,e=>{if(n(this,S).has(e)){var s=n(this,S).get(e),i=n(this,A).get(s);if(i)Ae(i),n(this,T).delete(s);else{var o=n(this,b).get(s);o&&(n(this,A).set(s,o.effect),n(this,b).delete(s),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),i=o.effect)}for(const[c,a]of n(this,S)){if(n(this,S).delete(c),c===e)break;const t=n(this,b).get(a);t&&(z(t.effect),n(this,b).delete(a))}for(const[c,a]of n(this,A)){if(c===s||n(this,T).has(c))continue;const t=()=>{if(Array.from(n(this,S).values()).includes(c)){var u=document.createDocumentFragment();Ie(a,u),u.append(se()),n(this,b).set(c,{effect:a,fragment:u})}else z(a);n(this,T).delete(c),n(this,A).delete(c)};n(this,j)||!i?(n(this,T).add(c),Oe(a,t,!1)):t()}}});w(this,q,e=>{n(this,S).delete(e);const s=Array.from(n(this,S).values());for(const[i,o]of n(this,b))s.includes(i)||(z(o.effect),n(this,b).delete(i))});this.anchor=e,M(this,j,s)}ensure(e,s){var i=ke,o=Te();if(s&&!n(this,A).has(e)&&!n(this,b).has(e))if(o){var c=document.createDocumentFragment(),a=se();c.append(a),n(this,b).set(e,{effect:ae(()=>s(a)),fragment:c})}else n(this,A).set(e,ae(()=>s(this.anchor)));if(n(this,S).set(i,e),o){for(const[t,f]of n(this,A))t===e?i.unskip_effect(f):i.skip_effect(f);for(const[t,f]of n(this,b))t===e?i.unskip_effect(f.effect):i.skip_effect(f.effect);i.oncommit(n(this,p)),i.ondiscard(n(this,q))}else C&&(this.anchor=X),n(this,p).call(this,i)}}S=new WeakMap,A=new WeakMap,b=new WeakMap,T=new WeakMap,j=new WeakMap,p=new WeakMap,q=new WeakMap;function W(r,e,s=!1){var i;C&&(i=X,oe());var o=new be(r),c=s?fe:0;function a(t,f){if(C){var u=ue(i);if(t!==parseInt(u.substring(1))){var l=le();de(l),o.anchor=l,Y(!1),o.ensure(t,f),Y(!0);return}}o.ensure(t,f)}ce(()=>{var t=!1;e((f,u=0)=>{t=!0,a(u,f)}),t||a(-1,null)},c)}function J(r,e,s){var i;C&&(i=X,oe());var o=new be(r);ce(()=>{var c=e()??null;if(C){var a=ue(i),t=a===xe,f=c!==null;if(t!==f){var u=le();de(u),o.anchor=u,Y(!1),o.ensure(c,c&&(l=>s(l,c))),Y(!0);return}}o.ensure(c,c&&(l=>s(l,c)))},fe)}function ne(r,e){return r===e||(r==null?void 0:r[ve])===e}function Z(r={},e,s,i){var o=De.r,c=_e;return Le(()=>{var a,t;return Ce(()=>{a=t,t=[],he(()=>{r!==s(...t)&&(e(r,...t),a&&ne(s(...a),r)&&e(null,...a))})}),()=>{let f=c;for(;f!==o&&f.parent!==null&&f.parent.f&je;)f=f.parent;const u=()=>{t&&ne(s(...t),r)&&e(null,...t)},l=f.teardown;f.teardown=()=>{u(),l==null||l()}}}),r}function K(r,e,s,i){var R;var o=!Fe||(s&ze)!==0,c=(s&qe)!==0,a=(s&We)!==0,t=i,f=!0,u=()=>(f&&(f=!1,t=a?he(i):i),t);let l;if(c){var D=ve in r||me in r;l=((R=pe(r,e))==null?void 0:R.set)??(D&&e in r?d=>r[e]=d:void 0)}var k,m=!1;c?[k,m]=dt(()=>r[e]):k=r[e],k===void 0&&i!==void 0&&(k=u(),l&&(o&&Be(),l(k)));var v;if(o?v=()=>{var d=r[e];return d===void 0?u():(f=!0,d)}:v=()=>{var d=r[e];return d!==void 0&&(t=void 0),d===void 0?t:d},o&&!(s&Me))return v;if(l){var h=r.$$legacy;return function(d,_){return arguments.length>0?((!o||!_||h||m)&&l(_?v():d),d):v()}}var P=!1,g=(s&Ge?Ve:He)(()=>(P=!1,v()));c&&E(g);var I=_e;return function(d,_){if(arguments.length>0){const F=_?E(g):o&&c?Ne(d):d;return L(g,F),P=!0,t!==void 0&&(t=F),d}return Ue&&P||I.f&Ye?g.v:E(g)}}function ht(r){return class extends _t{constructor(e){super({component:r,...e})}}}var O,y;class _t{constructor(e){w(this,O);w(this,y);var c;var s=new Map,i=(a,t)=>{var f=Ke(t,!1,!1);return s.set(a,f),f};const o=new Proxy({...e.props||{},$$events:{}},{get(a,t){return E(s.get(t)??i(t,Reflect.get(a,t)))},has(a,t){return t===me?!0:(E(s.get(t)??i(t,Reflect.get(a,t))),Reflect.has(a,t))},set(a,t,f){return L(s.get(t)??i(t,f),f),Reflect.set(a,t,f)}});M(this,y,(e.hydrate?it:ot)(e.component,{target:e.target,anchor:e.anchor,props:o,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError})),(!((c=e==null?void 0:e.props)!=null&&c.$$host)||e.sync===!1)&&Je(),M(this,O,o.$$events);for(const a of Object.keys(n(this,y)))a==="$set"||a==="$destroy"||a==="$on"||Ze(this,a,{get(){return n(this,y)[a]},set(t){n(this,y)[a]=t},enumerable:!0});n(this,y).$set=a=>{Object.assign(o,a)},n(this,y).$destroy=()=>{ct(n(this,y))}}$set(e){n(this,y).$set(e)}$on(e,s){n(this,O)[e]=n(this,O)[e]||[];const i=(...o)=>s.call(this,...o);return n(this,O)[e].push(i),()=>{n(this,O)[e]=n(this,O)[e].filter(o=>o!==i)}}$destroy(){n(this,y).$destroy()}}O=new WeakMap,y=new WeakMap;const vt="modulepreload",mt=function(r,e){return new URL(r,e).href},ie={},Q=function(e,s,i){let o=Promise.resolve();if(s&&s.length>0){const a=document.getElementsByTagName("link"),t=document.querySelector("meta[property=csp-nonce]"),f=(t==null?void 0:t.nonce)||(t==null?void 0:t.getAttribute("nonce"));o=Promise.allSettled(s.map(u=>{if(u=mt(u,i),u in ie)return;ie[u]=!0;const l=u.endsWith(".css"),D=l?'[rel="stylesheet"]':"";if(!!i)for(let v=a.length-1;v>=0;v--){const h=a[v];if(h.href===u&&(!l||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${D}`))return;const m=document.createElement("link");if(m.rel=l?"stylesheet":vt,l||(m.as="script"),m.crossOrigin="",m.href=u,f&&m.setAttribute("nonce",f),document.head.appendChild(m),l)return new Promise((v,h)=>{m.addEventListener("load",v),m.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function c(a){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=a,window.dispatchEvent(t),!t.defaultPrevented)throw a}return o.then(a=>{for(const t of a||[])t.status==="rejected"&&c(t.reason);return e().catch(c)})},Ot={};var gt=ge('
'),bt=ge(" ",1);function yt(r,e){Qe(e,!0);let s=K(e,"components",23,()=>[]),i=K(e,"data_0",3,null),o=K(e,"data_1",3,null);Xe(()=>e.stores.page.set(e.page)),$e(()=>{e.stores,e.page,e.constructors,s(),e.form,i(),o(),e.stores.page.notify()});let c=G(!1),a=G(!1),t=G(null);lt(()=>{const h=e.stores.page.subscribe(()=>{E(c)&&(L(a,!0),et().then(()=>{L(t,document.title||"untitled page",!0)}))});return L(c,!0),h});const f=V(()=>e.constructors[1]);var u=bt(),l=N(u);{var D=h=>{const P=V(()=>e.constructors[0]);var g=H(),I=N(g);J(I,()=>E(P),(R,d)=>{Z(d(R,{get data(){return i()},get form(){return e.form},get params(){return e.page.params},children:(_,F)=>{var $=H(),Ee=N($);J(Ee,()=>E(f),(Pe,Se)=>{Z(Se(Pe,{get data(){return o()},get form(){return e.form},get params(){return e.page.params}}),B=>s()[1]=B,()=>{var B;return(B=s())==null?void 0:B[1]})}),x(_,$)},$$slots:{default:!0}}),_=>s()[0]=_,()=>{var _;return(_=s())==null?void 0:_[0]})}),x(h,g)},k=h=>{const P=V(()=>e.constructors[0]);var g=H(),I=N(g);J(I,()=>E(P),(R,d)=>{Z(d(R,{get data(){return i()},get form(){return e.form},get params(){return e.page.params}}),_=>s()[0]=_,()=>{var _;return(_=s())==null?void 0:_[0]})}),x(h,g)};W(l,h=>{e.constructors[1]?h(D):h(k,-1)})}var m=tt(l,2);{var v=h=>{var P=gt(),g=st(P);{var I=R=>{var d=ut();nt(()=>ft(d,E(t))),x(R,d)};W(g,R=>{E(a)&&R(I)})}at(P),x(h,P)};W(m,h=>{E(c)&&h(v)})}x(r,u),rt()}const kt=ht(yt),It=[()=>Q(()=>import("../nodes/0.BNvMPOtQ.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>Q(()=>import("../nodes/1.C4_44cdw.js"),__vite__mapDeps([5,1,2,6,7,8]),import.meta.url),()=>Q(()=>import("../nodes/2.C7yKEp00.js"),__vite__mapDeps([9,1,2,3]),import.meta.url)],Tt=[],xt={"/":[2]},ye={handleError:({error:r})=>{console.error(r)},reroute:()=>{},transport:{}},Et=Object.fromEntries(Object.entries(ye.transport).map(([r,e])=>[r,e.decode])),Dt=Object.fromEntries(Object.entries(ye.transport).map(([r,e])=>[r,e.encode])),Lt=!1,Ct=(r,e)=>Et[r](e);export{Ct as decode,Et as decoders,xt as dictionary,Dt as encoders,Lt as hash,ye as hooks,Ot as matchers,It as nodes,kt as root,Tt as server_loads}; diff --git a/internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js b/internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js new file mode 100644 index 00000000..3c0ebc89 --- /dev/null +++ b/internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js @@ -0,0 +1 @@ +import{l as o,a as r}from"../chunks/Dg9CzvF0.js";export{o as load_css,r as start}; diff --git a/internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js b/internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js new file mode 100644 index 00000000..82671432 --- /dev/null +++ b/internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js @@ -0,0 +1 @@ +import{c as o,a as s}from"../chunks/jjiUbCvc.js";import"../chunks/TKBjD5KV.js";import{h as l,b as d,f as m}from"../chunks/Bczxu_ef.js";function c(f,a,t,e,u){var i;l&&d();var n=(i=a.$$slots)==null?void 0:i[t],r=!1;n===!0&&(n=a.children,r=!0),n===void 0||n(f,r?()=>e:e)}function v(f,a){var t=o(),e=m(t);c(e,a,"default",{}),s(f,t)}export{v as component}; diff --git a/internal/web/build/_app/immutable/nodes/1.C4_44cdw.js b/internal/web/build/_app/immutable/nodes/1.C4_44cdw.js new file mode 100644 index 00000000..95180f6b --- /dev/null +++ b/internal/web/build/_app/immutable/nodes/1.C4_44cdw.js @@ -0,0 +1 @@ +import{a as g,f as h}from"../chunks/jjiUbCvc.js";import{p as d,f as v,t as l,d as _,g as a,r as o,s as x}from"../chunks/Bczxu_ef.js";import{s as p}from"../chunks/VGLXWWN0.js";import{s as $,p as m}from"../chunks/Dg9CzvF0.js";const k={get error(){return m.error},get status(){return m.status}};$.updated.check;const f=k;var b=h("

",1);function y(c,n){d(n,!0);var t=b(),r=v(t),u=a(r,!0);o(r);var e=x(r,2),i=a(e,!0);o(e),l(()=>{var s;p(u,f.status),p(i,(s=f.error)==null?void 0:s.message)}),g(c,t),_()}export{y as component}; diff --git a/internal/web/build/_app/immutable/nodes/2.C7yKEp00.js b/internal/web/build/_app/immutable/nodes/2.C7yKEp00.js new file mode 100644 index 00000000..274fed7b --- /dev/null +++ b/internal/web/build/_app/immutable/nodes/2.C7yKEp00.js @@ -0,0 +1 @@ +import{a as s,f as a}from"../chunks/jjiUbCvc.js";import"../chunks/TKBjD5KV.js";var n=a('

Minstrel

Scaffold — UI features land in subsequent plans.

');function i(e){var t=n();s(e,t)}export{i as component}; diff --git a/internal/web/build/_app/version.json b/internal/web/build/_app/version.json new file mode 100644 index 00000000..1f7e9292 --- /dev/null +++ b/internal/web/build/_app/version.json @@ -0,0 +1 @@ +{"version":"1776864372510"} \ No newline at end of file diff --git a/internal/web/build/favicon.png b/internal/web/build/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2de3749df299a6b84bf6ff1a0b393a1c1fd22b GIT binary patch literal 70 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k92}1TpU9xZYBTuKYyVd1A7xwz3mB) Q_dp2-Pgg&ebxsLQ0NDZ% + + + + Minstrel + + +

+ Minstrel SPA has not been built. Run + cd web && npm install && npm run build or + build the container image, which runs the web build during + docker build. +

+ + diff --git a/internal/web/embed.go b/internal/web/embed.go new file mode 100644 index 00000000..b2fbf9a3 --- /dev/null +++ b/internal/web/embed.go @@ -0,0 +1,61 @@ +// Package web embeds the SvelteKit SPA build output and serves it over HTTP. +// Requests for real files under build/ are served verbatim; anything else — +// deep links like /artists/abc, missing asset paths — returns build/index.html +// so the SPA can resolve the route client-side. +package web + +import ( + "embed" + "io/fs" + "net/http" + "path" + "strings" +) + +//go:embed all:build +var buildFS embed.FS + +// Handler returns an http.Handler that serves the embedded SPA. +// +// Behavior: +// - GET / -> build/index.html +// - GET / -> that file, via http.FileServer +// - GET / -> build/index.html (SPA fallback) +// +// Callers are expected to register this as the router's NotFound/catch-all so +// explicitly-routed paths (like /api/* and /rest/*) take precedence. +func Handler() http.Handler { + sub, err := fs.Sub(buildFS, "build") + if err != nil { + // fs.Sub on a valid embed path can only fail if the embed directive + // is malformed, which the compile would have caught. + panic("web: fs.Sub(build) failed: " + err.Error()) + } + + index, err := fs.ReadFile(sub, "index.html") + if err != nil { + panic("web: embedded build/index.html missing: " + err.Error()) + } + + fileServer := http.FileServer(http.FS(sub)) + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + clean := path.Clean(r.URL.Path) + if clean == "/" || clean == "." { + serveIndex(w, index) + return + } + name := strings.TrimPrefix(clean, "/") + if info, err := fs.Stat(sub, name); err == nil && !info.IsDir() { + fileServer.ServeHTTP(w, r) + return + } + serveIndex(w, index) + }) +} + +func serveIndex(w http.ResponseWriter, index []byte) { + w.Header().Set("Content-Type", "text/html; charset=utf-8") + w.Header().Set("Cache-Control", "no-cache") + _, _ = w.Write(index) +} diff --git a/internal/web/embed_test.go b/internal/web/embed_test.go new file mode 100644 index 00000000..d52c4e4d --- /dev/null +++ b/internal/web/embed_test.go @@ -0,0 +1,52 @@ +package web + +import ( + "io" + "net/http" + "net/http/httptest" + "strings" + "testing" +) + +func TestHandler_ServesIndexAtRoot(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/", nil) + rec := httptest.NewRecorder() + Handler().ServeHTTP(rec, req) + + if rec.Code != http.StatusOK { + t.Fatalf("status = %d, want 200", rec.Code) + } + if ct := rec.Header().Get("Content-Type"); !strings.Contains(ct, "text/html") { + t.Errorf("Content-Type = %q, want text/html*", ct) + } + body, _ := io.ReadAll(rec.Body) + if !strings.Contains(strings.ToLower(string(body)), " Date: Wed, 22 Apr 2026 10:29:31 -0400 Subject: [PATCH 4/8] refactor(web): move embed package to web/ so go:embed reaches build/ go:embed paths are relative to the source file and cannot reach parent directories, so internal/web/embed.go could not see web/build/ without duplicating the placeholder. Relocating to web/embed.go lets the directive resolve to the real SvelteKit build output with no copy step. --- internal/web/build/_app/env.js | 1 - .../build/_app/immutable/assets/0.CfszLNRC.css | 1 - .../web/build/_app/immutable/chunks/Bczxu_ef.js | 1 - .../web/build/_app/immutable/chunks/Bs0stjkU.js | 1 - .../web/build/_app/immutable/chunks/Dg9CzvF0.js | 1 - .../web/build/_app/immutable/chunks/TKBjD5KV.js | 1 - .../web/build/_app/immutable/chunks/VGLXWWN0.js | 2 -- .../web/build/_app/immutable/chunks/jjiUbCvc.js | 1 - .../build/_app/immutable/entry/app.DktjMEms.js | 2 -- .../build/_app/immutable/entry/start.Dj4Tyjcw.js | 1 - .../web/build/_app/immutable/nodes/0.BNvMPOtQ.js | 1 - .../web/build/_app/immutable/nodes/1.C4_44cdw.js | 1 - .../web/build/_app/immutable/nodes/2.C7yKEp00.js | 1 - internal/web/build/_app/version.json | 1 - internal/web/build/favicon.png | Bin 70 -> 0 bytes internal/web/build/index.html | 15 --------------- {internal/web => web}/embed.go | 0 {internal/web => web}/embed_test.go | 0 18 files changed, 31 deletions(-) delete mode 100644 internal/web/build/_app/env.js delete mode 100644 internal/web/build/_app/immutable/assets/0.CfszLNRC.css delete mode 100644 internal/web/build/_app/immutable/chunks/Bczxu_ef.js delete mode 100644 internal/web/build/_app/immutable/chunks/Bs0stjkU.js delete mode 100644 internal/web/build/_app/immutable/chunks/Dg9CzvF0.js delete mode 100644 internal/web/build/_app/immutable/chunks/TKBjD5KV.js delete mode 100644 internal/web/build/_app/immutable/chunks/VGLXWWN0.js delete mode 100644 internal/web/build/_app/immutable/chunks/jjiUbCvc.js delete mode 100644 internal/web/build/_app/immutable/entry/app.DktjMEms.js delete mode 100644 internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js delete mode 100644 internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js delete mode 100644 internal/web/build/_app/immutable/nodes/1.C4_44cdw.js delete mode 100644 internal/web/build/_app/immutable/nodes/2.C7yKEp00.js delete mode 100644 internal/web/build/_app/version.json delete mode 100644 internal/web/build/favicon.png delete mode 100644 internal/web/build/index.html rename {internal/web => web}/embed.go (100%) rename {internal/web => web}/embed_test.go (100%) diff --git a/internal/web/build/_app/env.js b/internal/web/build/_app/env.js deleted file mode 100644 index f5427da6..00000000 --- a/internal/web/build/_app/env.js +++ /dev/null @@ -1 +0,0 @@ -export const env={} \ No newline at end of file diff --git a/internal/web/build/_app/immutable/assets/0.CfszLNRC.css b/internal/web/build/_app/immutable/assets/0.CfszLNRC.css deleted file mode 100644 index 0e85ed0f..00000000 --- a/internal/web/build/_app/immutable/assets/0.CfszLNRC.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.mt-2{margin-top:.5rem}.flex{display:flex}.contents{display:contents}.h-screen{height:100vh}.items-center{align-items:center}.justify-center{justify-content:center}.bg-surface-900{--tw-bg-opacity: 1;background-color:rgb(20 22 26 / var(--tw-bg-opacity, 1))}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-semibold{font-weight:600}.text-text-primary{--tw-text-opacity: 1;color:rgb(232 236 242 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(205 211 219 / var(--tw-text-opacity, 1))}:root{color-scheme:dark}html,body{height:100%;margin:0} diff --git a/internal/web/build/_app/immutable/chunks/Bczxu_ef.js b/internal/web/build/_app/immutable/chunks/Bczxu_ef.js deleted file mode 100644 index 94d4a4d1..00000000 --- a/internal/web/build/_app/immutable/chunks/Bczxu_ef.js +++ /dev/null @@ -1 +0,0 @@ -var dt=Object.defineProperty;var An=e=>{throw TypeError(e)};var ht=(e,n,t)=>n in e?dt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var se=(e,n,t)=>ht(e,typeof n!="symbol"?n+"":n,t),tn=(e,n,t)=>n.has(e)||An("Cannot "+t);var u=(e,n,t)=>(tn(e,n,"read from private field"),t?t.call(e):n.get(e)),k=(e,n,t)=>n.has(e)?An("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),ge=(e,n,t,r)=>(tn(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),P=(e,n,t)=>(tn(e,n,"access private method"),t);var pt=Array.isArray,wt=Array.prototype.indexOf,Se=Array.prototype.includes,or=Array.from,cr=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,gt=Object.prototype,yt=Array.prototype,mt=Object.getPrototypeOf,Rn=Object.isExtensible;const Et=()=>{};function Tt(e){for(var n=0;n{e=r,n=s});return{promise:t,resolve:e,reject:n}}const N=2,Ae=4,Ye=8,Fn=1<<24,B=16,V=32,ee=64,bt=128,M=512,T=1024,x=2048,G=4096,j=8192,U=16384,we=32768,kn=1<<25,$e=65536,fn=1<<17,St=1<<18,qe=1<<19,Mn=1<<20,ve=65536,an=1<<21,Fe=1<<22,Q=1<<23,rn=Symbol("$state"),_r=Symbol("legacy props"),$=new class extends Error{constructor(){super(...arguments);se(this,"name","StaleReactionError");se(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},en=3,jn=8;function At(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Rt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function kt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function xt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Nt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function dr(){throw new Error("https://svelte.dev/e/hydration_failed")}function hr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ot(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Dt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Pt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function pr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const wr=1,gr=2,yr=4,mr=8,Er=16,Tr=1,br=2,It="[",Ct="[!",Sr="[?",Ft="]",dn={},S=Symbol(),Mt="http://www.w3.org/1999/xhtml";function jt(){console.warn("https://svelte.dev/e/derived_inert")}function hn(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Ar(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let de=!1;function Rr(e){de=e}let A;function Re(e){if(e===null)throw hn(),dn;return A=e}function kr(){return Re(re(A))}function xr(e){if(de){if(re(A)!==null)throw hn(),dn;A=e}}function Nr(e=1){if(de){for(var n=e,t=A;n--;)t=re(t);A=t}}function Or(e=!0){for(var n=0,t=A;;){if(t.nodeType===jn){var r=t.data;if(r===Ft){if(n===0)return t;n-=1}else(r===It||r===Ct||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(n+=1)}var s=re(t);e&&t.remove(),t=s}}function Dr(e){if(!e||e.nodeType!==jn)throw hn(),dn;return e.data}function Ln(e){return e===this.v}function Lt(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}function Yn(e){return!Lt(e,this.v)}let nn=!1;function Pr(){nn=!0}let O=null;function Ze(e){O=e}function Ir(e,n=!1,t){O={p:O,i:!1,c:null,e:null,s:e,x:null,r:g,l:nn&&!n?{s:null,u:null,$:[]}:null}}function Cr(e){var n=O,t=n.e;if(t!==null){n.e=null;for(var r of t)tt(r)}return n.i=!0,O=n.p,{}}function Ue(){return!nn||O!==null&&O.l===null}let fe=[];function qn(){var e=fe;fe=[],Tt(e)}function xn(e){if(fe.length===0&&!Ce){var n=fe;queueMicrotask(()=>{n===fe&&qn()})}fe.push(e)}function Yt(){for(;fe.length>0;)qn()}function qt(e){var n=g;if(n===null)return w.f|=Q,e;if(!(n.f&we)&&!(n.f&Ae))throw e;We(e,n)}function We(e,n){for(;n!==null;){if(n.f&bt){if(!(n.f&we))throw e;try{n.b.error(e);return}catch(t){e=t}}n=n.parent}throw e}const Ut=-7169;function y(e,n){e.f=e.f&Ut|n}function pn(e){e.f&M||e.deps===null?y(e,T):y(e,G)}function Un(e){if(e!==null)for(const n of e)!(n.f&N)||!(n.f&ve)||(n.f^=ve,Un(n.deps))}function Ht(e,n,t){e.f&x?n.add(e):e.f&G&&t.add(e),Un(e.deps),y(e,T)}const le=new Set;let p=null,R=null,un=null,Ce=!1,sn=!1,ye=null,ze=null;var Nn=0;let zt=1;var me,Ee,ue,Z,H,je,C,Le,J,W,z,Te,be,oe,m,Be,Hn,Ve,on,Ge,Bt;const Qe=class Qe{constructor(){k(this,m);se(this,"id",zt++);se(this,"current",new Map);se(this,"previous",new Map);k(this,me,new Set);k(this,Ee,new Set);k(this,ue,new Set);k(this,Z,new Map);k(this,H,new Map);k(this,je,null);k(this,C,[]);k(this,Le,[]);k(this,J,new Set);k(this,W,new Set);k(this,z,new Map);k(this,Te,new Set);se(this,"is_fork",!1);k(this,be,!1);k(this,oe,new Set)}skip_effect(n){u(this,z).has(n)||u(this,z).set(n,{d:[],m:[]}),u(this,Te).delete(n)}unskip_effect(n,t=r=>this.schedule(r)){var r=u(this,z).get(n);if(r){u(this,z).delete(n);for(var s of r.d)y(s,x),t(s);for(s of r.m)y(s,G),t(s)}u(this,Te).add(n)}capture(n,t,r=!1){n.v!==S&&!this.previous.has(n)&&this.previous.set(n,n.v),n.f&Q||(this.current.set(n,[t,r]),R==null||R.set(n,t)),this.is_fork||(n.v=t)}activate(){p=this}deactivate(){p=null,R=null}flush(){try{sn=!0,p=this,P(this,m,Ve).call(this)}finally{Nn=0,un=null,ye=null,ze=null,sn=!1,p=null,R=null,ce.clear()}}discard(){for(const n of u(this,Ee))n(this);u(this,Ee).clear(),u(this,ue).clear(),le.delete(this)}register_created_effect(n){u(this,Le).push(n)}increment(n,t){let r=u(this,Z).get(t)??0;if(u(this,Z).set(t,r+1),n){let s=u(this,H).get(t)??0;u(this,H).set(t,s+1)}}decrement(n,t,r){let s=u(this,Z).get(t)??0;if(s===1?u(this,Z).delete(t):u(this,Z).set(t,s-1),n){let l=u(this,H).get(t)??0;l===1?u(this,H).delete(t):u(this,H).set(t,l-1)}u(this,be)||r||(ge(this,be,!0),xn(()=>{ge(this,be,!1),this.flush()}))}transfer_effects(n,t){for(const r of n)u(this,J).add(r);for(const r of t)u(this,W).add(r);n.clear(),t.clear()}oncommit(n){u(this,me).add(n)}ondiscard(n){u(this,Ee).add(n)}on_fork_commit(n){u(this,ue).add(n)}run_fork_commit_callbacks(){for(const n of u(this,ue))n(this);u(this,ue).clear()}settled(){return(u(this,je)??ge(this,je,Cn())).promise}static ensure(){if(p===null){const n=p=new Qe;sn||(le.add(p),Ce||xn(()=>{p===n&&n.flush()}))}return p}apply(){{R=null;return}}schedule(n){var s;if(un=n,(s=n.b)!=null&&s.is_pending&&n.f&(Ae|Ye|Fn)&&!(n.f&we)){n.b.defer_effect(n);return}for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(ye!==null&&t===g&&(w===null||!(w.f&N)))return;if(r&(ee|V)){if(!(r&T))return;t.f^=T}}u(this,C).push(t)}};me=new WeakMap,Ee=new WeakMap,ue=new WeakMap,Z=new WeakMap,H=new WeakMap,je=new WeakMap,C=new WeakMap,Le=new WeakMap,J=new WeakMap,W=new WeakMap,z=new WeakMap,Te=new WeakMap,be=new WeakMap,oe=new WeakMap,m=new WeakSet,Be=function(){return this.is_fork||u(this,H).size>0},Hn=function(){for(const r of u(this,oe))for(const s of u(r,H).keys()){for(var n=!1,t=s;t.parent!==null;){if(u(this,z).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},Ve=function(){var a,f;if(Nn++>1e3&&(le.delete(this),Gt()),!P(this,m,Be).call(this)){for(const i of u(this,J))u(this,W).delete(i),y(i,x),this.schedule(i);for(const i of u(this,W))y(i,G),this.schedule(i)}const n=u(this,C);ge(this,C,[]),this.apply();var t=ye=[],r=[],s=ze=[];for(const i of n)try{P(this,m,on).call(this,i,t,r)}catch(c){throw Vn(i),c}if(p=null,s.length>0){var l=Qe.ensure();for(const i of s)l.schedule(i)}if(ye=null,ze=null,P(this,m,Be).call(this)||P(this,m,Hn).call(this)){P(this,m,Ge).call(this,r),P(this,m,Ge).call(this,t);for(const[i,c]of u(this,z))Bn(i,c)}else{u(this,Z).size===0&&le.delete(this),u(this,J).clear(),u(this,W).clear();for(const i of u(this,me))i(this);u(this,me).clear(),On(r),On(t),(a=u(this,je))==null||a.resolve()}var o=p;if(u(this,C).length>0){const i=o??(o=this);u(i,C).push(...u(this,C).filter(c=>!u(i,C).includes(c)))}o!==null&&(le.add(o),P(f=o,m,Ve).call(f))},on=function(n,t,r){n.f^=T;for(var s=n.first;s!==null;){var l=s.f,o=(l&(V|ee))!==0,a=o&&(l&T)!==0,f=a||(l&j)!==0||u(this,z).has(s);if(!f&&s.fn!==null){o?s.f^=T:l&Ae?t.push(s):He(s)&&(l&B&&u(this,W).add(s),xe(s));var i=s.first;if(i!==null){s=i;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},Ge=function(n){for(var t=0;t!this.current.has(_));if(s.length===0)n&&v.discard();else if(t.length>0){if(n)for(const _ of u(this,Te))v.unskip_effect(_,b=>{var E;b.f&(B|Fe)?v.schedule(b):P(E=v,m,Ge).call(E,[b])});v.activate();var l=new Set,o=new Map;for(var a of t)zn(a,s,l,o);o=new Map;var f=[...v.current.keys()].filter(_=>this.current.has(_)?this.current.get(_)[0]!==_:!0);for(const _ of u(this,Le))!(_.f&(U|j|fn))&&wn(_,f,o)&&(_.f&(Fe|B)?(y(_,x),v.schedule(_)):u(v,J).add(_));if(u(v,C).length>0){v.apply();for(var i of u(v,C))P(c=v,m,on).call(c,i,[],[]);ge(v,C,[])}v.deactivate()}}for(const v of le)u(v,oe).has(this)&&(u(v,oe).delete(this),u(v,oe).size===0&&!P(h=v,m,Be).call(h)&&(v.activate(),P(d=v,m,Ve).call(d)))};let he=Qe;function Vt(e){var n=Ce;Ce=!0;try{for(var t;;){if(Yt(),p===null)return t;p.flush()}}finally{Ce=n}}function Gt(){try{Nt()}catch(e){We(e,un)}}let Y=null;function On(e){var n=e.length;if(n!==0){for(var t=0;t0)){ce.clear();for(const s of Y){if(s.f&(U|j))continue;const l=[s];let o=s.parent;for(;o!==null;)Y.has(o)&&(Y.delete(o),l.push(o)),o=o.parent;for(let a=l.length-1;a>=0;a--){const f=l[a];f.f&(U|j)||xe(f)}}Y.clear()}}Y=null}}function zn(e,n,t,r){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const s of e.reactions){const l=s.f;l&N?zn(s,n,t,r):l&(Fe|B)&&!(l&x)&&wn(s,n,r)&&(y(s,x),gn(s))}}function wn(e,n,t){const r=t.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Se.call(n,s))return!0;if(s.f&N&&wn(s,n,t))return t.set(s,!0),!0}return t.set(e,!1),!1}function gn(e){p.schedule(e)}function Bn(e,n){if(!(e.f&V&&e.f&T)){e.f&x?n.d.push(e):e.f&G&&n.m.push(e),y(e,T);for(var t=e.first;t!==null;)Bn(t,n),t=t.next}}function Vn(e){y(e,T);for(var n=e.first;n!==null;)Vn(n),n=n.next}function Kt(e,n,t,r){const s=Ue()?yn:Wt;var l=e.filter(d=>!d.settled);if(t.length===0&&l.length===0){r(n.map(s));return}var o=g,a=$t(),f=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(d=>d.promise)):null;function i(d){a();try{r(d)}catch(v){o.f&U||We(v,o)}Xe()}if(t.length===0){f.then(()=>i(n.map(s)));return}var c=Gn();function h(){Promise.all(t.map(d=>Zt(d))).then(d=>i([...n.map(s),...d])).catch(d=>We(d,o)).finally(()=>c())}f?f.then(()=>{a(),h(),Xe()}):h()}function $t(){var e=g,n=w,t=O,r=p;return function(l=!0){ke(e),te(n),Ze(t),l&&!(e.f&U)&&(r==null||r.activate(),r==null||r.apply())}}function Xe(e=!0){ke(null),te(null),Ze(null),e&&(p==null||p.deactivate())}function Gn(){var e=g,n=e.b,t=p,r=n.is_rendered();return n.update_pending_count(1,t),t.increment(r,e),(s=!1)=>{n.update_pending_count(-1,t),t.decrement(r,e,s)}}function yn(e){var n=N|x;return g!==null&&(g.f|=qe),{ctx:O,deps:null,effects:null,equals:Ln,f:n,fn:e,reactions:null,rv:0,v:S,wv:0,parent:g,ac:null}}function Zt(e,n,t){let r=g;r===null&&At();var s=void 0,l=En(S),o=!w,a=new Map;return rr(()=>{var v;var f=g,i=Cn();s=i.promise;try{Promise.resolve(e()).then(i.resolve,i.reject).finally(Xe)}catch(_){i.reject(_),Xe()}var c=p;if(o){if(f.f&we)var h=Gn();if(r.b.is_rendered())(v=a.get(c))==null||v.reject($),a.delete(c);else{for(const _ of a.values())_.reject($);a.clear()}a.set(c,i)}const d=(_,b=void 0)=>{if(h){var E=b===$;h(E)}if(!(b===$||f.f&U)){if(c.activate(),b)l.f|=Q,_n(l,b);else{l.f&Q&&(l.f^=Q),_n(l,_);for(const[Ne,Oe]of a){if(a.delete(Ne),Ne===c)break;Oe.reject($)}}c.deactivate()}};i.promise.then(d,_=>d(null,_||"unknown"))}),tr(()=>{for(const f of a.values())f.reject($)}),new Promise(f=>{function i(c){function h(){c===s?f(l):i(s)}c.then(h,h)}i(s)})}function Fr(e){const n=yn(e);return ft(n),n}function Wt(e){const n=yn(e);return n.equals=Yn,n}function Xt(e){var n=e.effects;if(n!==null){e.effects=null;for(var t=0;t0&&!Zn&&Qt()}return n}function Qt(){Zn=!1;for(const e of cn)e.f&T&&y(e,G),He(e)&&xe(e);cn.clear()}function ln(e){ie(e,e.v+1)}function Wn(e,n,t){var r=e.reactions;if(r!==null)for(var s=Ue(),l=r.length,o=0;o{if(_e===l)return a();var f=w,i=_e;te(null),In(l);var c=a();return te(f),In(i),c};return r&&t.set("length",X(e.length)),new Proxy(e,{defineProperty(a,f,i){(!("value"in i)||i.configurable===!1||i.enumerable===!1||i.writable===!1)&&Ot();var c=t.get(f);return c===void 0?o(()=>{var h=X(i.value);return t.set(f,h),h}):ie(c,i.value,!0),!0},deleteProperty(a,f){var i=t.get(f);if(i===void 0){if(f in a){const c=o(()=>X(S));t.set(f,c),ln(s)}}else ie(i,S),ln(s);return!0},get(a,f,i){var v;if(f===rn)return e;var c=t.get(f),h=f in a;if(c===void 0&&(!h||(v=Ie(a,f))!=null&&v.writable)&&(c=o(()=>{var _=De(h?a[f]:S),b=X(_);return b}),t.set(f,c)),c!==void 0){var d=Pe(c);return d===S?void 0:d}return Reflect.get(a,f,i)},getOwnPropertyDescriptor(a,f){var i=Reflect.getOwnPropertyDescriptor(a,f);if(i&&"value"in i){var c=t.get(f);c&&(i.value=Pe(c))}else if(i===void 0){var h=t.get(f),d=h==null?void 0:h.v;if(h!==void 0&&d!==S)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return i},has(a,f){var d;if(f===rn)return!0;var i=t.get(f),c=i!==void 0&&i.v!==S||Reflect.has(a,f);if(i!==void 0||g!==null&&(!c||(d=Ie(a,f))!=null&&d.writable)){i===void 0&&(i=o(()=>{var v=c?De(a[f]):S,_=X(v);return _}),t.set(f,i));var h=Pe(i);if(h===S)return!1}return c},set(a,f,i,c){var Sn;var h=t.get(f),d=f in a;if(r&&f==="length")for(var v=i;vX(S)),t.set(v+"",_))}if(h===void 0)(!d||(Sn=Ie(a,f))!=null&&Sn.writable)&&(h=o(()=>X(void 0)),ie(h,De(i)),t.set(f,h));else{d=h.v!==S;var b=o(()=>De(i));ie(h,b)}var E=Reflect.getOwnPropertyDescriptor(a,f);if(E!=null&&E.set&&E.set.call(c,i),!d){if(r&&typeof f=="string"){var Ne=t.get("length"),Oe=Number(f);Number.isInteger(Oe)&&Oe>=Ne.v&&ie(Ne,Oe+1)}ln(s)}return!0},ownKeys(a){Pe(s);var f=Reflect.ownKeys(a).filter(h=>{var d=t.get(h);return d===void 0||d.v!==S});for(var[i,c]of t)c.v!==S&&!(i in a)&&f.push(i);return f},setPrototypeOf(){Dt()}})}var Dn,er,Xn,Jn;function jr(){if(Dn===void 0){Dn=window,er=/Firefox/.test(navigator.userAgent);var e=Element.prototype,n=Node.prototype,t=Text.prototype;Xn=Ie(n,"firstChild").get,Jn=Ie(n,"nextSibling").get,Rn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Rn(t)&&(t.__t=void 0)}}function Je(e=""){return document.createTextNode(e)}function vn(e){return Xn.call(e)}function re(e){return Jn.call(e)}function Lr(e,n){if(!de)return vn(e);var t=vn(A);if(t===null)t=A.appendChild(Je());else if(n&&t.nodeType!==en){var r=Je();return t==null||t.before(r),Re(r),r}return n&&Tn(t),Re(t),t}function Yr(e,n=!1){if(!de){var t=vn(e);return t instanceof Comment&&t.data===""?re(t):t}if(n){if((A==null?void 0:A.nodeType)!==en){var r=Je();return A==null||A.before(r),Re(r),r}Tn(A)}return A}function qr(e,n=1,t=!1){let r=de?A:e;for(var s;n--;)s=r,r=re(r);if(!de)return r;if(t){if((r==null?void 0:r.nodeType)!==en){var l=Je();return r===null?s==null||s.after(l):r.before(l),Re(l),l}Tn(r)}return Re(r),r}function Ur(e){e.textContent=""}function Hr(){return!1}function zr(e,n,t){return document.createElementNS(Mt,e,void 0)}function Tn(e){if(e.nodeValue.length<65536)return;let n=e.nextSibling;for(;n!==null&&n.nodeType===en;)n.remove(),e.nodeValue+=n.nodeValue,n=e.nextSibling}function Qn(e){var n=w,t=g;te(null),ke(null);try{return e()}finally{te(n),ke(t)}}function et(e){g===null&&(w===null&&xt(),kt()),ne&&Rt()}function nr(e,n){var t=n.last;t===null?n.last=n.first=e:(t.next=e,e.prev=t,n.last=e)}function K(e,n){var t=g;t!==null&&t.f&j&&(e|=j);var r={ctx:O,deps:null,nodes:null,f:e|x|M,first:null,fn:n,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if(e&Ae)ye!==null?ye.push(r):he.ensure().schedule(r);else if(n!==null){try{xe(r)}catch(o){throw pe(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&qe)&&(s=s.first,e&B&&e&$e&&s!==null&&(s.f|=$e))}if(s!==null&&(s.parent=t,t!==null&&nr(s,t),w!==null&&w.f&N&&!(e&ee))){var l=w;(l.effects??(l.effects=[])).push(s)}return r}function nt(){return w!==null&&!q}function tr(e){const n=K(Ye,null);return y(n,T),n.teardown=e,n}function Br(e){et();var n=g.f,t=!w&&(n&V)!==0&&(n&we)===0;if(t){var r=O;(r.e??(r.e=[])).push(e)}else return tt(e)}function tt(e){return K(Ae|Mn,e)}function Vr(e){return et(),K(Ye|Mn,e)}function Gr(e){he.ensure();const n=K(ee|qe,e);return(t={})=>new Promise(r=>{t.outro?ir(n,()=>{pe(n),r(void 0)}):(pe(n),r(void 0))})}function Kr(e){return K(Ae,e)}function rr(e){return K(Fe|qe,e)}function $r(e,n=0){return K(Ye|n,e)}function Zr(e,n=[],t=[],r=[]){Kt(r,n,t,s=>{K(Ye,()=>e(...s.map(Pe)))})}function Wr(e,n=0){var t=K(B|n,e);return t}function Xr(e){return K(V|qe,e)}function rt(e){var n=e.teardown;if(n!==null){const t=ne,r=w;Pn(!0),te(null);try{n.call(null)}finally{Pn(t),te(r)}}}function bn(e,n=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const s=t.ac;s!==null&&Qn(()=>{s.abort($)});var r=t.next;t.f&ee?t.parent=null:pe(t,n),t=r}}function sr(e){for(var n=e.first;n!==null;){var t=n.next;n.f&V||pe(n),n=t}}function pe(e,n=!0){var t=!1;(n||e.f&St)&&e.nodes!==null&&e.nodes.end!==null&&(lr(e.nodes.start,e.nodes.end),t=!0),y(e,kn),bn(e,n&&!t),Me(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)l.stop();rt(e),e.f^=kn,e.f|=U;var s=e.parent;s!==null&&s.first!==null&&st(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function lr(e,n){for(;e!==null;){var t=e===n?null:re(e);e.remove(),e=t}}function st(e){var n=e.parent,t=e.prev,r=e.next;t!==null&&(t.next=r),r!==null&&(r.prev=t),n!==null&&(n.first===e&&(n.first=r),n.last===e&&(n.last=t))}function ir(e,n,t=!0){var r=[];lt(e,r,!0);var s=()=>{t&&pe(e),n&&n()},l=r.length;if(l>0){var o=()=>--l||s();for(var a of r)a.out(o)}else s()}function lt(e,n,t){if(!(e.f&j)){e.f^=j;var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)(a.is_global||t)&&n.push(a);for(var s=e.first;s!==null;){var l=s.next;if(!(s.f&ee)){var o=(s.f&$e)!==0||(s.f&V)!==0&&(e.f&B)!==0;lt(s,n,o?t:!1)}s=l}}}function Jr(e){it(e,!0)}function it(e,n){if(e.f&j){e.f^=j,e.f&T||(y(e,x),he.ensure().schedule(e));for(var t=e.first;t!==null;){var r=t.next,s=(t.f&$e)!==0||(t.f&V)!==0;it(t,s?n:!1),t=r}var l=e.nodes&&e.nodes.t;if(l!==null)for(const o of l)(o.is_global||n)&&o.in()}}function Qr(e,n){if(e.nodes)for(var t=e.nodes.start,r=e.nodes.end;t!==null;){var s=t===r?null:re(t);n.append(t),t=s}}let Ke=!1,ne=!1;function Pn(e){ne=e}let w=null,q=!1;function te(e){w=e}let g=null;function ke(e){g=e}let L=null;function ft(e){w!==null&&(L===null?L=[e]:L.push(e))}let D=null,I=0,F=null;function fr(e){F=e}let at=1,ae=0,_e=ae;function In(e){_e=e}function ut(){return++at}function He(e){var n=e.f;if(n&x)return!0;if(n&N&&(e.f&=~ve),n&G){for(var t=e.deps,r=t.length,s=0;se.wv)return!0}n&M&&R===null&&y(e,T)}return!1}function ot(e,n,t=!0){var r=e.reactions;if(r!==null&&!(L!==null&&Se.call(L,e)))for(var s=0;s{e.ac.abort($)}),e.ac=null);try{e.f|=an;var c=e.fn,h=c();e.f|=we;var d=e.deps,v=p==null?void 0:p.is_fork;if(D!==null){var _;if(v||Me(e,I),d!==null&&I>0)for(d.length=I+D.length,_=0;_{const e=u(n);if(typeof e=="function")return e})}function a(n){var e=n.l;return e.u??(e.u={a:[],b:[],m:[]})}export{r as o}; diff --git a/internal/web/build/_app/immutable/chunks/Dg9CzvF0.js b/internal/web/build/_app/immutable/chunks/Dg9CzvF0.js deleted file mode 100644 index 4ae6cf13..00000000 --- a/internal/web/build/_app/immutable/chunks/Dg9CzvF0.js +++ /dev/null @@ -1 +0,0 @@ -var ee=t=>{throw TypeError(t)};var Ce=(t,e,n)=>e.has(t)||ee("Cannot "+n);var y=(t,e,n)=>(Ce(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?ee("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{aF as It,aG as Ne,aD as T,z as I,ap as O,aC as _t,aH as qe}from"./Bczxu_ef.js";import{o as ne}from"./Bs0stjkU.js";const z=[];function Vt(t,e=It){let n=null;const a=new Set;function r(o){if(Ne(t,o)&&(t=o,n)){const l=!z.length;for(const c of a)c[1](),z.push(c,t);if(l){for(let c=0;c{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Bt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Kt{constructor(e,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=n}}class zt extends Error{constructor(e,n,a){super(a),this.status=e,this.text=n}}new URL("sveltekit-internal://");function De(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Ve(t){return t.split("%25").map(decodeURI).join("%25")}function Be(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Ot({href:t}){return t.split("#")[0]}function $(){}function Ke(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function ze(t){const e=atob(t),n=new Uint8Array(e.length);for(let a=0;a((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&X.delete(Ft(t)),Fe(t,e));const X=new Map;function Ge(t,e){const n=Ft(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&X.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=ze(r)),Promise.resolve(new Response(r,i))}return window.fetch(t,e)}function He(t,e,n){if(X.size>0){const a=Ft(t,n),r=X.get(a);if(r){if(performance.now(){const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return e.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Pt(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Pt(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Me.exec(l),[,u,w,p,f]=d;return e.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Pt(l)}).join("")}).join("")}/?$`),params:e}}function Je(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Ye(t){return t.slice(1).split("/").filter(Je)}function Xe(t,e,n){const a={},r=t.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;od).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=e[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function Pt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Qe({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=We(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return Xe(m,w,a)},errors:[1,...d||[]].map(f=>t[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,t[o]]}function s(o){return o===void 0?o:[r.has(o),t[o]]}}function ge(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function re(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}var fe;const A=((fe=globalThis.__sveltekit_avrrju)==null?void 0:fe.base)??"";var ue;const Ze=((ue=globalThis.__sveltekit_avrrju)==null?void 0:ue.assets)??A??"",tn="1776864372510",me="sveltekit:snapshot",_e="sveltekit:scroll",we="sveltekit:states",en="sveltekit:pageurl",G="sveltekit:history",Z="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Gt=location.origin;function ve(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function B(){return{x:pageXOffset,y:pageYOffset}}function F(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ae={...D,"":D.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function be(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function Ct(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,i=!a||!!r||Lt(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===Gt&&t.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function wt(t){let e=null,n=null,a=null,r=null,i=null,s=null,o=t;for(;o&&o!==document.documentElement;)a===null&&(a=F(o,"preload-code")),r===null&&(r=F(o,"preload-data")),e===null&&(e=F(o,"keepfocus")),n===null&&(n=F(o,"noscroll")),i===null&&(i=F(o,"reload")),s===null&&(s=F(o,"replacestate")),o=ye(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ae[a??"off"],preload_data:ae[r??"off"],keepfocus:l(e),noscroll:l(n),reload:l(i),replace_state:l(s)}}function oe(t){const e=Vt(t);let n=!0;function a(){n=!0,e.update(s=>s)}function r(s){n=!1,e.set(s)}function i(s){let o;return e.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const ke={v:$};function nn(){const{set:t,subscribe:e}=Vt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Ze}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==tn;return s&&(t(!0),ke.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:e,check:a}}function Lt(t,e,n){return t.origin!==Gt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function On(t){}const Ee=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ee];const rn=new Set([...Ee]);[...rn];function an(t){return t.filter(e=>e!=null)}function Ht(t){return t instanceof Bt||t instanceof zt?t.status:500}function on(t){return t instanceof zt?t.text:"Internal Error"}let R,tt,jt;const sn=ne.toString().includes("$$")||/function \w+\(\) \{\}/.test(ne.toString()),se="a:";var ot,st,it,lt,ct,ft,ut,dt,de,ht,he,pt,pe;sn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(se)},tt={current:null},jt={current:!1}):(R=new(de=class{constructor(){U(this,ot,T({}));U(this,st,T(null));U(this,it,T(null));U(this,lt,T({}));U(this,ct,T({id:null}));U(this,ft,T({}));U(this,ut,T(-1));U(this,dt,T(new URL(se)))}get data(){return I(y(this,ot))}set data(e){O(y(this,ot),e)}get form(){return I(y(this,st))}set form(e){O(y(this,st),e)}get error(){return I(y(this,it))}set error(e){O(y(this,it),e)}get params(){return I(y(this,lt))}set params(e){O(y(this,lt),e)}get route(){return I(y(this,ct))}set route(e){O(y(this,ct),e)}get state(){return I(y(this,ft))}set state(e){O(y(this,ft),e)}get status(){return I(y(this,ut))}set status(e){O(y(this,ut),e)}get url(){return I(y(this,dt))}set url(e){O(y(this,dt),e)}},ot=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,ut=new WeakMap,dt=new WeakMap,de),tt=new(he=class{constructor(){U(this,ht,T(null))}get current(){return I(y(this,ht))}set current(e){O(y(this,ht),e)}},ht=new WeakMap,he),jt=new(pe=class{constructor(){U(this,pt,T(!1))}get current(){return I(y(this,pt))}set current(e){O(y(this,pt),e)}},pt=new WeakMap,pe),ke.v=()=>jt.current=!0);function ln(t){Object.assign(R,t)}const cn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const N=ge(_e)??{},et=ge(me)??{},C={url:oe({}),page:oe({}),navigating:Vt(null),updated:nn()};function Mt(t){N[t]=B()}function fn(t,e){let n=t+1;for(;N[n];)delete N[n],n+=1;for(n=e+1;et[n];)delete et[n],n+=1}function nt(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise($)}async function Se(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(A||"/");t&&await t.update()}}let Wt,Nt,vt,P,qt,E;const yt=[],bt=[];let v=null;function kt(){var t;(t=v==null?void 0:v.fork)==null||t.then(e=>e==null?void 0:e.discard()),v=null}const mt=new Map,Re=new Set,un=new Set,Q=new Set;let _={branch:[],error:null,url:null},xe=!1,Et=!1,ie=!0,rt=!1,Y=!1,Le=!1,Jt=!1,Ae,k,L,V;const St=new Set,le=new Map;async function Cn(t,e,n){var i,s,o,l;globalThis.__sveltekit_avrrju&&(globalThis.__sveltekit_avrrju.query,globalThis.__sveltekit_avrrju.prerender),document.URL!==location.href&&(location.href=location.href),E=t,await((s=(i=t.hooks).init)==null?void 0:s.call(i)),Wt=Qe(t),P=document.documentElement,qt=e,Nt=t.nodes[0],vt=t.nodes[1],Nt(),vt(),k=(o=history.state)==null?void 0:o[G],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[G]:k,[Z]:L},""));const a=N[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Rn(qt,n)):(await H({type:"enter",url:ve(E.hash?An(new URL(location.href)):location.href),replace_state:!0}),r()),Sn()}function dn(){yt.length=0,Jt=!1}function Ue(t){bt.some(e=>e==null?void 0:e.snapshot)&&(et[t]=bt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Te(t){var e;(e=et[t])==null||e.forEach((n,a)=>{var r,i;(i=(r=bt[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ce(){Mt(k),re(_e,N),Ue(L),re(me,et)}async function hn(t,e,n,a){let r;e.invalidateAll&&kt(),await H({type:"goto",url:ve(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{e.invalidateAll&&(Jt=!0,r=[],le.forEach((i,s)=>{for(const o of i.keys())r.push(s+"/"+o)})),e.invalidate&&e.invalidate.forEach(En)}}),e.invalidateAll&&_t().then(_t).then(()=>{le.forEach((i,s)=>{i.forEach(({resource:o},l)=>{var c;r!=null&&r.includes(s+"/"+l)&&((c=o.refresh)==null||c.call(o))})})})}async function pn(t){if(t.id!==(v==null?void 0:v.id)){kt();const e={};St.add(e),v={id:t.id,token:e,promise:Oe({...t,preload:e}).then(n=>(St.delete(e),n.type==="loaded"&&n.state.error&&kt(),n)),fork:null}}return v.promise}async function $t(t){var n;const e=(n=await At(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(a=>a[1]()))}async function Ie(t,e,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...t.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Ae=new E.root({target:e,props:{...t.props,stores:C,components:bt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Te(L),n){const s={from:null,to:{...a,scroll:N[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}Et=!0}async function Rt({url:t,params:e,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(A&&(t.pathname===A||t.pathname===A+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);t.pathname=De(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:i,route:s},props:{constructors:an(n).map(f=>f.node.component),page:te(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;fo(new URL(s))))return!0;return!1}function Xt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function _n(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),i=e.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function wn({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:te(R),constructors:[]}}}async function Oe({id:t,invalidating:e,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===t)return St.delete(v.token),v.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch($)),c.forEach(h=>h==null?void 0:h[1]().catch($));const d=_.url?t!==xt(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=_n(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var j;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!mn(p,u,d,w,(j=b.universal)==null?void 0:j.uses,a)?b:(p=!0,Yt({loader:h[1],url:n,params:a,route:r,parent:async()=>{var gt;const q={};for(let K=0;KPromise.resolve({}),server_data_node:Xt(i)}),o={node:await vt(),loader:vt,universal:null,server:null,data:null};return Rt({url:n,params:r,branch:[s,o],status:t,error:e,errors:[],route:null})}catch(s){if(s instanceof Kt)return hn(new URL(s.location,location.href),{},0);throw s}}async function yn(t){const e=t.href;if(mt.has(e))return mt.get(e);let n;try{const a=(async()=>{let r=await E.hooks.reroute({url:new URL(t),fetch:async(i,s)=>gn(i,s,t).promise})??t;if(typeof r=="string"){const i=new URL(t);E.hash?i.hash=r:i.pathname=r,r=i}return r})();mt.set(e,a),n=await a}catch{mt.delete(e);return}return n}async function At(t,e){if(t&&!Lt(t,A,E.hash)){const n=await yn(t);if(!n)return;const a=bn(n);for(const r of Wt){const i=r.exec(a);if(i)return{id:xt(t),invalidating:e,route:r,params:Be(i),url:t}}}}function bn(t){return Ve(E.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(A.length))||"/"}function xt(t){return(E.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Pe({url:t,type:e,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=Zt(_,n,t,e,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return rt||Re.forEach(c=>c(l)),s?null:o}async function H({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=$,block:d=$,event:u}){var K;const w=V;V=l;const p=await At(e,!1),f=t==="enter"?Zt(_,p,e,t):Pe({url:e,type:t,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),V===l&&(V=w);return}const m=k,h=L;c(),rt=!0,Et&&f.navigation.type!=="enter"&&C.navigating.set(tt.current=f.navigation);let g=p&&await Oe(p);if(!g){if(Lt(e,A,E.hash))return await nt(e,i);g=await je(e,{id:null},await at(new zt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,i)}if(e=(p==null?void 0:p.url)||e,V!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await H({type:t,url:new URL(g.location,e),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await Qt({status:500,error:await at(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await Se(),await nt(e,i));if(dn(),Mt(m),Ue(h),g.props.page.url.pathname!==e.pathname&&(e.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const S=i?0:1,M={[G]:k+=S,[Z]:L+=S,[we]:s};(i?history.replaceState:history.pushState).call(history,M,"",e),i||fn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&kt(),v=null,g.props.page.state=s;let x;if(Et){const S=(await Promise.all(Array.from(un,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(S.length>0){let W=function(){S.forEach(Tt=>{Q.delete(Tt)})};S.push(W),S.forEach(Tt=>{Q.add(Tt)})}const M=f.navigation.to;_={...g.state,nav:{params:M.params,route:M.route,url:M.url}},g.props.page&&(g.props.page.url=e);const Ut=b&&await b;Ut?x=Ut.commit():(J=null,Ae.$set(g.props),J&&Object.assign(g.props.page,J),ln(g.props.page),x=(K=qe)==null?void 0:K()),Le=!0}else await Ie(g,qt,!1);const{activeElement:j}=document;await x,await _t(),await _t();let q=null;if(ie){const S=n?n.scroll:r?B():null;S?scrollTo(S.x,S.y):(q=e.hash&&document.getElementById($e(e)))?q.scrollIntoView():scrollTo(0,0)}const gt=document.activeElement!==j&&document.activeElement!==document.body;!a&&!gt&&Ln(e,!q),ie=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),rt=!1,t==="popstate"&&Te(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),Q.forEach(S=>S(f.navigation)),C.navigating.set(tt.current=null)}async function je(t,e,n,a,r){return t.origin===Gt&&t.pathname===location.pathname&&!xe?await Qt({status:a,error:n,url:t,route:e}):await nt(t,r)}function kn(){let t,e={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(t),t=setTimeout(()=>{i(l,D.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],D.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&($t(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=be(o,P),d=c===e.element&&(c==null?void 0:c.href)===e.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=Ct(c,A,E.hash);if(w||p)return;const f=wt(c),m=u&&xt(_.url)===xt(u);if(!(f.reload||m))if(l<=f.preload_data){e={element:c,href:c.href},n=D.tap;const h=await At(u,!1);if(!h)return;pn(h)}else l<=f.preload_code&&(e={element:c,href:c.href},n=l,$t(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=Ct(o,A,E.hash);if(c||d)continue;const u=wt(o);u.reload||(u.preload_code===D.viewport&&r.observe(o),u.preload_code===D.eager&&$t(l))}}Q.add(s),s()}function at(t,e){if(t instanceof Bt)return t.body;const n=Ht(t),a=on(t);return E.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function En(t){if(typeof t=="function")yt.push(t);else{const{href:e}=new URL(t,location.href);yt.push(n=>n.href===e)}}function Sn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ce(),!rt){const r=Zt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Re.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||kn(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=be(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=Ct(a,A,E.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=wt(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(E.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===Ot(location);if(i||l.reload&&(!w||!u)){Pe({url:r,type:"link",event:n})?rt=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Mt(k),t(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await H({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Lt(o,A,!1))return;const l=n.target,c=wt(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),H({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Dt){if((a=n.state)!=null&&a[G]){const r=n.state[G];if(V={},r===k)return;const i=N[r],s=n.state[we]??{},o=new URL(n.state[en]??location.href),l=n.state[Z],c=_.url?Ot(location)===Ot(_.url):!1;if(l===L&&(Le||c)){s!==R.state&&(R.state=s),t(o),N[k]=B(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await H({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!Y){const r=new URL(location.href);t(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[G]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))cn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(tt.current=null)});function t(n){_.url=R.url=n,C.page.set(te(R)),C.page.notify()}}async function Rn(t,{status:e=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){xe=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await At(c,!1)||{}),d=Wt.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=xn(g.uses)),Yt({loader:E.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x{const o=history.state;Dt=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",t),e&&scrollTo(i,s),Dt=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s{if(r.rangeCount===i.length){for(let s=0;s{i=u,s=w});return o.catch($),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:B()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((d=e==null?void 0:e.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!e,type:a,complete:o},fulfil:i,reject:s}}function te(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function An(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function $e(t){let e;if(E.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{Cn as a,On as l,R as p,C as s}; diff --git a/internal/web/build/_app/immutable/chunks/TKBjD5KV.js b/internal/web/build/_app/immutable/chunks/TKBjD5KV.js deleted file mode 100644 index a9844c65..00000000 --- a/internal/web/build/_app/immutable/chunks/TKBjD5KV.js +++ /dev/null @@ -1 +0,0 @@ -import{e}from"./Bczxu_ef.js";e(); diff --git a/internal/web/build/_app/immutable/chunks/VGLXWWN0.js b/internal/web/build/_app/immutable/chunks/VGLXWWN0.js deleted file mode 100644 index e9d56703..00000000 --- a/internal/web/build/_app/immutable/chunks/VGLXWWN0.js +++ /dev/null @@ -1,2 +0,0 @@ -var Oe=Object.defineProperty;var _e=s=>{throw TypeError(s)};var Fe=(s,e,r)=>e in s?Oe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var W=(s,e,r)=>Fe(s,typeof e!="symbol"?e+"":e,r),re=(s,e,r)=>e.has(s)||_e("Cannot "+r);var t=(s,e,r)=>(re(s,e,"read from private field"),r?r.call(s):e.get(s)),l=(s,e,r)=>e.has(s)?_e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,r),n=(s,e,r,a)=>(re(s,e,"write to private field"),a?a.call(s,r):e.set(s,r),r),c=(s,e,r)=>(re(s,e,"access private method"),r);import{y as Ie,z as be,A as Ce,B as Ee,a as Me,C as G,D as ce,q as C,h as M,k as V,E as ue,F as Ye,G as F,j as Te,H as ie,I,J as He,K as Pe,L as X,M as Z,N as pe,O as Ve,P as Be,Q as we,c as Se,S as Le,U as ne,w as ee,V as $e,W as qe,X as j,Y as xe,b as We,Z as je,_ as ge,$ as ze,a0 as Je,a1 as Ue,a2 as Ge,a3 as ae,m as Ke,a4 as Ne,a5 as Qe,a6 as Xe,a7 as fe,a8 as z,a9 as Ze,aa as et,ab as tt,ac as st,p as rt,ad as it,ae as nt,d as at}from"./Bczxu_ef.js";import{b as ft}from"./jjiUbCvc.js";function ht(s){let e=0,r=Ee(0),a;return()=>{Ie()&&(be(r),Ce(()=>(e===0&&(a=Me(()=>s(()=>ce(r)))),e+=1,()=>{G(()=>{e-=1,e===0&&(a==null||a(),a=void 0,ce(r))})})))}}var ot=Je|Ue;function lt(s,e,r,a){new dt(s,e,r,a)}var E,$,w,Y,v,S,u,T,N,H,A,B,q,x,R,te,f,Re,ke,Ae,he,K,Q,oe,le;class dt{constructor(e,r,a,_){l(this,f);W(this,"parent");W(this,"is_pending",!1);W(this,"transform_error");l(this,E);l(this,$,M?C:null);l(this,w);l(this,Y);l(this,v);l(this,S,null);l(this,u,null);l(this,T,null);l(this,N,null);l(this,H,0);l(this,A,0);l(this,B,!1);l(this,q,new Set);l(this,x,new Set);l(this,R,null);l(this,te,ht(()=>(n(this,R,Ee(t(this,H))),()=>{n(this,R,null)})));var i;n(this,E,e),n(this,w,r),n(this,Y,h=>{var p=V;p.b=this,p.f|=ue,a(h)}),this.parent=V.b,this.transform_error=_??((i=this.parent)==null?void 0:i.transform_error)??(h=>h),n(this,v,Ye(()=>{if(M){const h=t(this,$);We();const p=h.data===je;if(h.data.startsWith(ge)){const d=JSON.parse(h.data.slice(ge.length));c(this,f,ke).call(this,d)}else p?c(this,f,Ae).call(this):c(this,f,Re).call(this)}else c(this,f,he).call(this)},ot)),M&&n(this,E,C)}defer_effect(e){Pe(e,t(this,q),t(this,x))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!t(this,w).pending}update_pending_count(e,r){c(this,f,oe).call(this,e,r),n(this,H,t(this,H)+e),!(!t(this,R)||t(this,B))&&(n(this,B,!0),G(()=>{n(this,B,!1),t(this,R)&&Le(t(this,R),t(this,H))}))}get_effect_pending(){return t(this,te).call(this),be(t(this,R))}error(e){var r;if(!t(this,w).onerror&&!t(this,w).failed)throw e;(r=I)!=null&&r.is_fork?(t(this,S)&&I.skip_effect(t(this,S)),t(this,u)&&I.skip_effect(t(this,u)),t(this,T)&&I.skip_effect(t(this,T)),I.on_fork_commit(()=>{c(this,f,le).call(this,e)})):c(this,f,le).call(this,e)}}E=new WeakMap,$=new WeakMap,w=new WeakMap,Y=new WeakMap,v=new WeakMap,S=new WeakMap,u=new WeakMap,T=new WeakMap,N=new WeakMap,H=new WeakMap,A=new WeakMap,B=new WeakMap,q=new WeakMap,x=new WeakMap,R=new WeakMap,te=new WeakMap,f=new WeakSet,Re=function(){try{n(this,S,F(()=>t(this,Y).call(this,t(this,E))))}catch(e){this.error(e)}},ke=function(e){const r=t(this,w).failed;r&&n(this,T,F(()=>{r(t(this,E),()=>e,()=>()=>{})}))},Ae=function(){const e=t(this,w).pending;e&&(this.is_pending=!0,n(this,u,F(()=>e(t(this,E)))),G(()=>{var r=n(this,N,document.createDocumentFragment()),a=Te();r.append(a),n(this,S,c(this,f,Q).call(this,()=>F(()=>t(this,Y).call(this,a)))),t(this,A)===0&&(t(this,E).before(r),n(this,N,null),ie(t(this,u),()=>{n(this,u,null)}),c(this,f,K).call(this,I))}))},he=function(){try{if(this.is_pending=this.has_pending_snippet(),n(this,A,0),n(this,H,0),n(this,S,F(()=>{t(this,Y).call(this,t(this,E))})),t(this,A)>0){var e=n(this,N,document.createDocumentFragment());He(t(this,S),e);const r=t(this,w).pending;n(this,u,F(()=>r(t(this,E))))}else c(this,f,K).call(this,I)}catch(r){this.error(r)}},K=function(e){this.is_pending=!1,e.transfer_effects(t(this,q),t(this,x))},Q=function(e){var r=V,a=we,_=Se;X(t(this,v)),Z(t(this,v)),pe(t(this,v).ctx);try{return Ve.ensure(),e()}catch(i){return Be(i),null}finally{X(r),Z(a),pe(_)}},oe=function(e,r){var a;if(!this.has_pending_snippet()){this.parent&&c(a=this.parent,f,oe).call(a,e,r);return}n(this,A,t(this,A)+e),t(this,A)===0&&(c(this,f,K).call(this,r),t(this,u)&&ie(t(this,u),()=>{n(this,u,null)}),t(this,N)&&(t(this,E).before(t(this,N)),n(this,N,null)))},le=function(e){t(this,S)&&(ne(t(this,S)),n(this,S,null)),t(this,u)&&(ne(t(this,u)),n(this,u,null)),t(this,T)&&(ne(t(this,T)),n(this,T,null)),M&&(ee(t(this,$)),$e(),ee(qe()));var r=t(this,w).onerror;let a=t(this,w).failed;var _=!1,i=!1;const h=()=>{if(_){ze();return}_=!0,i&&xe(),t(this,T)!==null&&ie(t(this,T),()=>{n(this,T,null)}),c(this,f,Q).call(this,()=>{c(this,f,he).call(this)})},p=o=>{try{i=!0,r==null||r(o,h),i=!1}catch(d){j(d,t(this,v)&&t(this,v).parent)}a&&n(this,T,c(this,f,Q).call(this,()=>{try{return F(()=>{var d=V;d.b=this,d.f|=ue,a(t(this,E),()=>o,()=>h)})}catch(d){return j(d,t(this,v).parent),null}}))};G(()=>{var o;try{o=this.transform_error(e)}catch(d){j(d,t(this,v)&&t(this,v).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(p,d=>j(d,t(this,v)&&t(this,v).parent)):p(o)})};const _t=["touchstart","touchmove"];function ct(s){return _t.includes(s)}const J=Symbol("events"),ut=new Set,ve=new Set;let ye=null;function me(s){var D,b;var e=this,r=e.ownerDocument,a=s.type,_=((D=s.composedPath)==null?void 0:D.call(s))||[],i=_[0]||s.target;ye=s;var h=0,p=ye===s&&s[J];if(p){var o=_.indexOf(p);if(o!==-1&&(e===document||e===window)){s[J]=e;return}var d=_.indexOf(e);if(d===-1)return;o<=d&&(h=o)}if(i=_[h]||s.target,i!==e){Ge(s,"currentTarget",{configurable:!0,get(){return i||r}});var P=we,L=V;Z(null),X(null);try{for(var k,y=[];i!==null;){var g=i.assignedSlot||i.parentNode||i.host||null;try{var m=(b=i[J])==null?void 0:b[a];m!=null&&(!i.disabled||s.target===i)&&m.call(i,s)}catch(O){k?y.push(O):k=O}if(s.cancelBubble||g===e||g===null)break;i=g}if(k){for(let O of y)queueMicrotask(()=>{throw O});throw k}}finally{s[J]=e,delete s.currentTarget,Z(P),X(L)}}}function mt(s,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(s.__t??(s.__t=s.nodeValue))&&(s.__t=r,s.nodeValue=`${r}`)}function pt(s,e){return De(s,e)}function bt(s,e){ae(),e.intro=e.intro??!1;const r=e.target,a=M,_=C;try{for(var i=Ke(r);i&&(i.nodeType!==Ne||i.data!==Qe);)i=Xe(i);if(!i)throw fe;z(!0),ee(i);const h=De(s,{...e,anchor:i});return z(!1),h}catch(h){if(h instanceof Error&&h.message.split(` -`).some(p=>p.startsWith("https://svelte.dev/e/")))throw h;return h!==fe&&console.warn("Failed to hydrate: ",h),e.recover===!1&&Ze(),ae(),et(r),z(!1),pt(s,e)}finally{z(a),ee(_)}}const U=new Map;function De(s,{target:e,anchor:r,props:a={},events:_,context:i,intro:h=!0,transformError:p}){ae();var o=void 0,d=tt(()=>{var P=r??e.appendChild(Te());lt(P,{pending:()=>{}},y=>{rt({});var g=Se;if(i&&(g.c=i),_&&(a.$$events=_),M&&ft(y,null),o=s(y,a)||{},M&&(V.nodes.end=C,C===null||C.nodeType!==Ne||C.data!==it))throw nt(),fe;at()},p);var L=new Set,k=y=>{for(var g=0;g{var D;for(var y of L)for(const b of[e,document]){var g=U.get(b),m=g.get(y);--m==0?(b.removeEventListener(y,me),g.delete(y),g.size===0&&U.delete(b)):g.set(y,m)}ve.delete(k),P!==r&&((D=P.parentNode)==null||D.removeChild(P))}});return de.set(o,d),o}let de=new WeakMap;function Et(s,e){const r=de.get(s);return r?(de.delete(s),r(e)):Promise.resolve()}export{bt as h,pt as m,mt as s,Et as u}; diff --git a/internal/web/build/_app/immutable/chunks/jjiUbCvc.js b/internal/web/build/_app/immutable/chunks/jjiUbCvc.js deleted file mode 100644 index 79be165a..00000000 --- a/internal/web/build/_app/immutable/chunks/jjiUbCvc.js +++ /dev/null @@ -1 +0,0 @@ -import{i as p,j as u,k as c,m as l,n as E,T as w,o as g,h as i,q as s,R as y,b as N,v as x,w as M,x as b}from"./Bczxu_ef.js";var f;const d=((f=globalThis==null?void 0:globalThis.window)==null?void 0:f.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function A(t){return(d==null?void 0:d.createHTML(t))??t}function L(t){var r=p("template");return r.innerHTML=A(t.replaceAll("","")),r.content}function n(t,r){var e=c;e.nodes===null&&(e.nodes={start:t,end:r,a:null,t:null})}function P(t,r){var e=(r&w)!==0,m=(r&g)!==0,a,v=!t.startsWith("");return()=>{if(i)return n(s,null),s;a===void 0&&(a=L(v?t:""+t),e||(a=l(a)));var o=m||E?document.importNode(a,!0):a.cloneNode(!0);if(e){var T=l(o),h=o.lastChild;n(T,h)}else n(o,o);return o}}function C(t=""){if(!i){var r=u(t+"");return n(r,r),r}var e=s;return e.nodeType!==x?(e.before(e=u()),M(e)):b(e),n(e,e),e}function I(){if(i)return n(s,null),s;var t=document.createDocumentFragment(),r=document.createComment(""),e=u();return t.append(r,e),n(r,e),t}function D(t,r){if(i){var e=c;(!(e.f&y)||e.nodes.end===null)&&(e.nodes.end=s),N();return}t!==null&&t.before(r)}const R="5";var _;typeof window<"u"&&((_=window.__svelte??(window.__svelte={})).v??(_.v=new Set)).add(R);export{D as a,n as b,I as c,P as f,C as t}; diff --git a/internal/web/build/_app/immutable/entry/app.DktjMEms.js b/internal/web/build/_app/immutable/entry/app.DktjMEms.js deleted file mode 100644 index 3215de71..00000000 --- a/internal/web/build/_app/immutable/entry/app.DktjMEms.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BNvMPOtQ.js","../chunks/jjiUbCvc.js","../chunks/Bczxu_ef.js","../chunks/TKBjD5KV.js","../assets/0.CfszLNRC.css","../nodes/1.C4_44cdw.js","../chunks/VGLXWWN0.js","../chunks/Dg9CzvF0.js","../chunks/Bs0stjkU.js","../nodes/2.C7yKEp00.js"])))=>i.map(i=>d[i]); -var Re=Object.defineProperty;var ee=r=>{throw TypeError(r)};var we=(r,e,s)=>e in r?Re(r,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[e]=s;var te=(r,e,s)=>we(r,typeof e!="symbol"?e+"":e,s),re=(r,e,s)=>e.has(r)||ee("Cannot "+s);var n=(r,e,s)=>(re(r,e,"read from private field"),s?s.call(r):e.get(r)),w=(r,e,s)=>e.has(r)?ee("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,s),M=(r,e,s,i)=>(re(r,e,"write to private field"),i?i.call(r,s):e.set(r,s),s);import{af as Ae,U as z,H as Oe,j as se,G as ae,I as ke,h as C,q as X,J as Ie,ag as Te,b as oe,F as ce,a0 as fe,ah as ue,W as le,w as de,a8 as Y,a5 as xe,c as De,ai as Le,A as Ce,a as he,k as _e,aj as je,ak as ve,al as pe,am as Be,an as Me,z as E,ao as Ne,ap as L,aq as Ue,ar as Ye,as as qe,l as Fe,at as ze,au as Ge,av as Ve,aw as He,ax as We,ay as me,az as Je,a2 as Ze,aA as Ke,p as Qe,aB as Xe,u as $e,aC as et,f as N,s as tt,d as rt,aD as G,g as st,r as at,t as nt,aE as V}from"../chunks/Bczxu_ef.js";import{h as it,m as ot,u as ct,s as ft}from"../chunks/VGLXWWN0.js";import{a as x,f as ge,c as H,t as ut}from"../chunks/jjiUbCvc.js";import{o as lt}from"../chunks/Bs0stjkU.js";let U=!1;function dt(r){var e=U;try{return U=!1,[r(),U]}finally{U=e}}var S,A,b,T,j,p,q;class be{constructor(e,s=!0){te(this,"anchor");w(this,S,new Map);w(this,A,new Map);w(this,b,new Map);w(this,T,new Set);w(this,j,!0);w(this,p,e=>{if(n(this,S).has(e)){var s=n(this,S).get(e),i=n(this,A).get(s);if(i)Ae(i),n(this,T).delete(s);else{var o=n(this,b).get(s);o&&(n(this,A).set(s,o.effect),n(this,b).delete(s),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),i=o.effect)}for(const[c,a]of n(this,S)){if(n(this,S).delete(c),c===e)break;const t=n(this,b).get(a);t&&(z(t.effect),n(this,b).delete(a))}for(const[c,a]of n(this,A)){if(c===s||n(this,T).has(c))continue;const t=()=>{if(Array.from(n(this,S).values()).includes(c)){var u=document.createDocumentFragment();Ie(a,u),u.append(se()),n(this,b).set(c,{effect:a,fragment:u})}else z(a);n(this,T).delete(c),n(this,A).delete(c)};n(this,j)||!i?(n(this,T).add(c),Oe(a,t,!1)):t()}}});w(this,q,e=>{n(this,S).delete(e);const s=Array.from(n(this,S).values());for(const[i,o]of n(this,b))s.includes(i)||(z(o.effect),n(this,b).delete(i))});this.anchor=e,M(this,j,s)}ensure(e,s){var i=ke,o=Te();if(s&&!n(this,A).has(e)&&!n(this,b).has(e))if(o){var c=document.createDocumentFragment(),a=se();c.append(a),n(this,b).set(e,{effect:ae(()=>s(a)),fragment:c})}else n(this,A).set(e,ae(()=>s(this.anchor)));if(n(this,S).set(i,e),o){for(const[t,f]of n(this,A))t===e?i.unskip_effect(f):i.skip_effect(f);for(const[t,f]of n(this,b))t===e?i.unskip_effect(f.effect):i.skip_effect(f.effect);i.oncommit(n(this,p)),i.ondiscard(n(this,q))}else C&&(this.anchor=X),n(this,p).call(this,i)}}S=new WeakMap,A=new WeakMap,b=new WeakMap,T=new WeakMap,j=new WeakMap,p=new WeakMap,q=new WeakMap;function W(r,e,s=!1){var i;C&&(i=X,oe());var o=new be(r),c=s?fe:0;function a(t,f){if(C){var u=ue(i);if(t!==parseInt(u.substring(1))){var l=le();de(l),o.anchor=l,Y(!1),o.ensure(t,f),Y(!0);return}}o.ensure(t,f)}ce(()=>{var t=!1;e((f,u=0)=>{t=!0,a(u,f)}),t||a(-1,null)},c)}function J(r,e,s){var i;C&&(i=X,oe());var o=new be(r);ce(()=>{var c=e()??null;if(C){var a=ue(i),t=a===xe,f=c!==null;if(t!==f){var u=le();de(u),o.anchor=u,Y(!1),o.ensure(c,c&&(l=>s(l,c))),Y(!0);return}}o.ensure(c,c&&(l=>s(l,c)))},fe)}function ne(r,e){return r===e||(r==null?void 0:r[ve])===e}function Z(r={},e,s,i){var o=De.r,c=_e;return Le(()=>{var a,t;return Ce(()=>{a=t,t=[],he(()=>{r!==s(...t)&&(e(r,...t),a&&ne(s(...a),r)&&e(null,...a))})}),()=>{let f=c;for(;f!==o&&f.parent!==null&&f.parent.f&je;)f=f.parent;const u=()=>{t&&ne(s(...t),r)&&e(null,...t)},l=f.teardown;f.teardown=()=>{u(),l==null||l()}}}),r}function K(r,e,s,i){var R;var o=!Fe||(s&ze)!==0,c=(s&qe)!==0,a=(s&We)!==0,t=i,f=!0,u=()=>(f&&(f=!1,t=a?he(i):i),t);let l;if(c){var D=ve in r||me in r;l=((R=pe(r,e))==null?void 0:R.set)??(D&&e in r?d=>r[e]=d:void 0)}var k,m=!1;c?[k,m]=dt(()=>r[e]):k=r[e],k===void 0&&i!==void 0&&(k=u(),l&&(o&&Be(),l(k)));var v;if(o?v=()=>{var d=r[e];return d===void 0?u():(f=!0,d)}:v=()=>{var d=r[e];return d!==void 0&&(t=void 0),d===void 0?t:d},o&&!(s&Me))return v;if(l){var h=r.$$legacy;return function(d,_){return arguments.length>0?((!o||!_||h||m)&&l(_?v():d),d):v()}}var P=!1,g=(s&Ge?Ve:He)(()=>(P=!1,v()));c&&E(g);var I=_e;return function(d,_){if(arguments.length>0){const F=_?E(g):o&&c?Ne(d):d;return L(g,F),P=!0,t!==void 0&&(t=F),d}return Ue&&P||I.f&Ye?g.v:E(g)}}function ht(r){return class extends _t{constructor(e){super({component:r,...e})}}}var O,y;class _t{constructor(e){w(this,O);w(this,y);var c;var s=new Map,i=(a,t)=>{var f=Ke(t,!1,!1);return s.set(a,f),f};const o=new Proxy({...e.props||{},$$events:{}},{get(a,t){return E(s.get(t)??i(t,Reflect.get(a,t)))},has(a,t){return t===me?!0:(E(s.get(t)??i(t,Reflect.get(a,t))),Reflect.has(a,t))},set(a,t,f){return L(s.get(t)??i(t,f),f),Reflect.set(a,t,f)}});M(this,y,(e.hydrate?it:ot)(e.component,{target:e.target,anchor:e.anchor,props:o,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError})),(!((c=e==null?void 0:e.props)!=null&&c.$$host)||e.sync===!1)&&Je(),M(this,O,o.$$events);for(const a of Object.keys(n(this,y)))a==="$set"||a==="$destroy"||a==="$on"||Ze(this,a,{get(){return n(this,y)[a]},set(t){n(this,y)[a]=t},enumerable:!0});n(this,y).$set=a=>{Object.assign(o,a)},n(this,y).$destroy=()=>{ct(n(this,y))}}$set(e){n(this,y).$set(e)}$on(e,s){n(this,O)[e]=n(this,O)[e]||[];const i=(...o)=>s.call(this,...o);return n(this,O)[e].push(i),()=>{n(this,O)[e]=n(this,O)[e].filter(o=>o!==i)}}$destroy(){n(this,y).$destroy()}}O=new WeakMap,y=new WeakMap;const vt="modulepreload",mt=function(r,e){return new URL(r,e).href},ie={},Q=function(e,s,i){let o=Promise.resolve();if(s&&s.length>0){const a=document.getElementsByTagName("link"),t=document.querySelector("meta[property=csp-nonce]"),f=(t==null?void 0:t.nonce)||(t==null?void 0:t.getAttribute("nonce"));o=Promise.allSettled(s.map(u=>{if(u=mt(u,i),u in ie)return;ie[u]=!0;const l=u.endsWith(".css"),D=l?'[rel="stylesheet"]':"";if(!!i)for(let v=a.length-1;v>=0;v--){const h=a[v];if(h.href===u&&(!l||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${D}`))return;const m=document.createElement("link");if(m.rel=l?"stylesheet":vt,l||(m.as="script"),m.crossOrigin="",m.href=u,f&&m.setAttribute("nonce",f),document.head.appendChild(m),l)return new Promise((v,h)=>{m.addEventListener("load",v),m.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function c(a){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=a,window.dispatchEvent(t),!t.defaultPrevented)throw a}return o.then(a=>{for(const t of a||[])t.status==="rejected"&&c(t.reason);return e().catch(c)})},Ot={};var gt=ge('
'),bt=ge(" ",1);function yt(r,e){Qe(e,!0);let s=K(e,"components",23,()=>[]),i=K(e,"data_0",3,null),o=K(e,"data_1",3,null);Xe(()=>e.stores.page.set(e.page)),$e(()=>{e.stores,e.page,e.constructors,s(),e.form,i(),o(),e.stores.page.notify()});let c=G(!1),a=G(!1),t=G(null);lt(()=>{const h=e.stores.page.subscribe(()=>{E(c)&&(L(a,!0),et().then(()=>{L(t,document.title||"untitled page",!0)}))});return L(c,!0),h});const f=V(()=>e.constructors[1]);var u=bt(),l=N(u);{var D=h=>{const P=V(()=>e.constructors[0]);var g=H(),I=N(g);J(I,()=>E(P),(R,d)=>{Z(d(R,{get data(){return i()},get form(){return e.form},get params(){return e.page.params},children:(_,F)=>{var $=H(),Ee=N($);J(Ee,()=>E(f),(Pe,Se)=>{Z(Se(Pe,{get data(){return o()},get form(){return e.form},get params(){return e.page.params}}),B=>s()[1]=B,()=>{var B;return(B=s())==null?void 0:B[1]})}),x(_,$)},$$slots:{default:!0}}),_=>s()[0]=_,()=>{var _;return(_=s())==null?void 0:_[0]})}),x(h,g)},k=h=>{const P=V(()=>e.constructors[0]);var g=H(),I=N(g);J(I,()=>E(P),(R,d)=>{Z(d(R,{get data(){return i()},get form(){return e.form},get params(){return e.page.params}}),_=>s()[0]=_,()=>{var _;return(_=s())==null?void 0:_[0]})}),x(h,g)};W(l,h=>{e.constructors[1]?h(D):h(k,-1)})}var m=tt(l,2);{var v=h=>{var P=gt(),g=st(P);{var I=R=>{var d=ut();nt(()=>ft(d,E(t))),x(R,d)};W(g,R=>{E(a)&&R(I)})}at(P),x(h,P)};W(m,h=>{E(c)&&h(v)})}x(r,u),rt()}const kt=ht(yt),It=[()=>Q(()=>import("../nodes/0.BNvMPOtQ.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>Q(()=>import("../nodes/1.C4_44cdw.js"),__vite__mapDeps([5,1,2,6,7,8]),import.meta.url),()=>Q(()=>import("../nodes/2.C7yKEp00.js"),__vite__mapDeps([9,1,2,3]),import.meta.url)],Tt=[],xt={"/":[2]},ye={handleError:({error:r})=>{console.error(r)},reroute:()=>{},transport:{}},Et=Object.fromEntries(Object.entries(ye.transport).map(([r,e])=>[r,e.decode])),Dt=Object.fromEntries(Object.entries(ye.transport).map(([r,e])=>[r,e.encode])),Lt=!1,Ct=(r,e)=>Et[r](e);export{Ct as decode,Et as decoders,xt as dictionary,Dt as encoders,Lt as hash,ye as hooks,Ot as matchers,It as nodes,kt as root,Tt as server_loads}; diff --git a/internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js b/internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js deleted file mode 100644 index 3c0ebc89..00000000 --- a/internal/web/build/_app/immutable/entry/start.Dj4Tyjcw.js +++ /dev/null @@ -1 +0,0 @@ -import{l as o,a as r}from"../chunks/Dg9CzvF0.js";export{o as load_css,r as start}; diff --git a/internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js b/internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js deleted file mode 100644 index 82671432..00000000 --- a/internal/web/build/_app/immutable/nodes/0.BNvMPOtQ.js +++ /dev/null @@ -1 +0,0 @@ -import{c as o,a as s}from"../chunks/jjiUbCvc.js";import"../chunks/TKBjD5KV.js";import{h as l,b as d,f as m}from"../chunks/Bczxu_ef.js";function c(f,a,t,e,u){var i;l&&d();var n=(i=a.$$slots)==null?void 0:i[t],r=!1;n===!0&&(n=a.children,r=!0),n===void 0||n(f,r?()=>e:e)}function v(f,a){var t=o(),e=m(t);c(e,a,"default",{}),s(f,t)}export{v as component}; diff --git a/internal/web/build/_app/immutable/nodes/1.C4_44cdw.js b/internal/web/build/_app/immutable/nodes/1.C4_44cdw.js deleted file mode 100644 index 95180f6b..00000000 --- a/internal/web/build/_app/immutable/nodes/1.C4_44cdw.js +++ /dev/null @@ -1 +0,0 @@ -import{a as g,f as h}from"../chunks/jjiUbCvc.js";import{p as d,f as v,t as l,d as _,g as a,r as o,s as x}from"../chunks/Bczxu_ef.js";import{s as p}from"../chunks/VGLXWWN0.js";import{s as $,p as m}from"../chunks/Dg9CzvF0.js";const k={get error(){return m.error},get status(){return m.status}};$.updated.check;const f=k;var b=h("

",1);function y(c,n){d(n,!0);var t=b(),r=v(t),u=a(r,!0);o(r);var e=x(r,2),i=a(e,!0);o(e),l(()=>{var s;p(u,f.status),p(i,(s=f.error)==null?void 0:s.message)}),g(c,t),_()}export{y as component}; diff --git a/internal/web/build/_app/immutable/nodes/2.C7yKEp00.js b/internal/web/build/_app/immutable/nodes/2.C7yKEp00.js deleted file mode 100644 index 274fed7b..00000000 --- a/internal/web/build/_app/immutable/nodes/2.C7yKEp00.js +++ /dev/null @@ -1 +0,0 @@ -import{a as s,f as a}from"../chunks/jjiUbCvc.js";import"../chunks/TKBjD5KV.js";var n=a('

Minstrel

Scaffold — UI features land in subsequent plans.

');function i(e){var t=n();s(e,t)}export{i as component}; diff --git a/internal/web/build/_app/version.json b/internal/web/build/_app/version.json deleted file mode 100644 index 1f7e9292..00000000 --- a/internal/web/build/_app/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"1776864372510"} \ No newline at end of file diff --git a/internal/web/build/favicon.png b/internal/web/build/favicon.png deleted file mode 100644 index 0f2de3749df299a6b84bf6ff1a0b393a1c1fd22b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k92}1TpU9xZYBTuKYyVd1A7xwz3mB) Q_dp2-Pgg&ebxsLQ0NDZ% - - - - Minstrel - - -

- Minstrel SPA has not been built. Run - cd web && npm install && npm run build or - build the container image, which runs the web build during - docker build. -

- - diff --git a/internal/web/embed.go b/web/embed.go similarity index 100% rename from internal/web/embed.go rename to web/embed.go diff --git a/internal/web/embed_test.go b/web/embed_test.go similarity index 100% rename from internal/web/embed_test.go rename to web/embed_test.go From 75ce65c80e59447348915b8def0ad5086f02adfd Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 10:31:30 -0400 Subject: [PATCH 5/8] feat(server): serve embedded SPA at root with /api,/rest carve-out - NotFound wrapper routes unknown /api/* and /rest/* to a JSON 404 - Everything else falls through to the embedded web handler, which resolves static assets or returns index.html for SPA deep links --- internal/server/server.go | 14 +++++++ internal/server/server_test.go | 77 ++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) diff --git a/internal/server/server.go b/internal/server/server.go index 3c56987f..2515a019 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -5,6 +5,7 @@ import ( "encoding/json" "log/slog" "net/http" + "strings" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" @@ -14,6 +15,7 @@ import ( "git.fabledsword.com/bvandeusen/minstrel/internal/auth" "git.fabledsword.com/bvandeusen/minstrel/internal/library" "git.fabledsword.com/bvandeusen/minstrel/internal/subsonic" + "git.fabledsword.com/bvandeusen/minstrel/web" ) // ScanTrigger is the subset of the scanner the HTTP handler needs. Kept as an @@ -50,6 +52,18 @@ func (s *Server) Router() http.Handler { }) subsonic.Mount(r, s.Pool, s.Logger, s.SubsonicCfg) } + + spa := web.Handler() + r.NotFound(func(w http.ResponseWriter, req *http.Request) { + p := req.URL.Path + if strings.HasPrefix(p, "/api/") || strings.HasPrefix(p, "/rest/") { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusNotFound) + _, _ = w.Write([]byte(`{"error":{"code":"not_found","message":"not found"}}`)) + return + } + spa.ServeHTTP(w, req) + }) return r } diff --git a/internal/server/server_test.go b/internal/server/server_test.go index bb3ae017..9c207b0d 100644 --- a/internal/server/server_test.go +++ b/internal/server/server_test.go @@ -6,6 +6,7 @@ import ( "log/slog" "net/http" "net/http/httptest" + "strings" "testing" "git.fabledsword.com/bvandeusen/minstrel/internal/subsonic" @@ -33,3 +34,79 @@ func TestHealthz(t *testing.T) { t.Errorf("body = %v, want status=ok", body) } } + +func TestRouter_ServesSPAAtRoot(t *testing.T) { + s := New(slog.New(slog.NewTextHandler(io.Discard, nil)), nil, nil, subsonic.Config{}) + ts := httptest.NewServer(s.Router()) + defer ts.Close() + + resp, err := http.Get(ts.URL + "/") + if err != nil { + t.Fatalf("GET /: %v", err) + } + defer func() { _ = resp.Body.Close() }() + + if resp.StatusCode != http.StatusOK { + t.Errorf("status = %d, want 200", resp.StatusCode) + } + if ct := resp.Header.Get("Content-Type"); !strings.Contains(ct, "text/html") { + t.Errorf("Content-Type = %q, want text/html*", ct) + } +} + +func TestRouter_DeepLinkFallbackReturnsSPA(t *testing.T) { + s := New(slog.New(slog.NewTextHandler(io.Discard, nil)), nil, nil, subsonic.Config{}) + ts := httptest.NewServer(s.Router()) + defer ts.Close() + + resp, err := http.Get(ts.URL + "/artists/00000000-0000-0000-0000-000000000001") + if err != nil { + t.Fatalf("GET deep link: %v", err) + } + defer func() { _ = resp.Body.Close() }() + + if resp.StatusCode != http.StatusOK { + t.Errorf("status = %d, want 200", resp.StatusCode) + } + if ct := resp.Header.Get("Content-Type"); !strings.Contains(ct, "text/html") { + t.Errorf("Content-Type = %q, want text/html*", ct) + } +} + +func TestRouter_APIPathNotSwallowedBySPA(t *testing.T) { + s := New(slog.New(slog.NewTextHandler(io.Discard, nil)), nil, nil, subsonic.Config{}) + ts := httptest.NewServer(s.Router()) + defer ts.Close() + + resp, err := http.Get(ts.URL + "/api/does-not-exist") + if err != nil { + t.Fatalf("GET /api/does-not-exist: %v", err) + } + defer func() { _ = resp.Body.Close() }() + + if resp.StatusCode != http.StatusNotFound { + t.Errorf("status = %d, want 404", resp.StatusCode) + } + if ct := resp.Header.Get("Content-Type"); strings.Contains(ct, "text/html") { + t.Errorf("Content-Type = %q; /api/* must never return text/html", ct) + } +} + +func TestRouter_RestPathNotSwallowedBySPA(t *testing.T) { + s := New(slog.New(slog.NewTextHandler(io.Discard, nil)), nil, nil, subsonic.Config{}) + ts := httptest.NewServer(s.Router()) + defer ts.Close() + + resp, err := http.Get(ts.URL + "/rest/does-not-exist") + if err != nil { + t.Fatalf("GET /rest/does-not-exist: %v", err) + } + defer func() { _ = resp.Body.Close() }() + + if resp.StatusCode != http.StatusNotFound { + t.Errorf("status = %d, want 404", resp.StatusCode) + } + if ct := resp.Header.Get("Content-Type"); strings.Contains(ct, "text/html") { + t.Errorf("Content-Type = %q; /rest/* must never return text/html", ct) + } +} From d9f55df347a1ed6b2be23244f2f03fc60905dc17 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 12:58:29 -0400 Subject: [PATCH 6/8] build: multi-stage Dockerfile with node->go->slim for embedded SPA Web assets are built in the node stage, copied into the go stage before go build so //go:embed picks them up, then the minimal slim runtime carries only the final binary and ffmpeg. Co-Authored-By: Claude Opus 4.7 --- Dockerfile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Dockerfile b/Dockerfile index ed61cdc7..40b51f31 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,19 @@ # syntax=docker/dockerfile:1.6 +FROM node:22-bookworm-slim AS web +WORKDIR /web +COPY web/package.json web/package-lock.json ./ +RUN npm ci +COPY web/ ./ +RUN npm run build + FROM golang:1.23-bookworm AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . +# Overwrite the committed placeholder with the freshly-built SPA assets. +COPY --from=web /web/build ./web/build ENV CGO_ENABLED=0 RUN go build -trimpath -ldflags="-s -w" -o /out/minstrel ./cmd/minstrel From 0ee4dfcf4268200acbac832da39ad50239195a47 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 12:59:07 -0400 Subject: [PATCH 7/8] ci: install Node + build web before Go steps Go's //go:embed needs web/build/ to exist at compile time. CI now runs 'npm ci && npm run build && npm test' ahead of the Go steps so the embed directive sees real, freshly-built assets. Co-Authored-By: Claude Opus 4.7 --- .forgejo/workflows/test.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index fb057905..c26b7d74 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -1,7 +1,7 @@ name: test -# Lint + short unit tests only. Integration tests needing Postgres/ffmpeg -# run locally via docker-compose; they should guard with testing.Short(). +# Lint + short unit tests. Integration tests needing Postgres/ffmpeg run +# locally via docker-compose; they should guard with testing.Short(). on: push: @@ -17,6 +17,25 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: '22' + cache: 'npm' + cache-dependency-path: web/package-lock.json + + - name: Install web deps + working-directory: web + run: npm ci + + - name: Web build (populates web/build/ for go:embed) + working-directory: web + run: npm run build + + - name: Web test (vitest) + working-directory: web + run: npm test + - name: Detect Go project id: gomod shell: bash From 207798b6676dff08639e3edaca4dcf761f9dfd90 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 12:59:22 -0400 Subject: [PATCH 8/8] docs: document two-process dev workflow with Vite proxy Co-Authored-By: Claude Opus 4.7 --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 0fec0d42..9fb46ebe 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,20 @@ Forgejo Actions handles: - Container image build + push to the Forgejo registry on merge to `main` (`:main`) and on `v*` tags (`:`). Task and milestone tracking: Fable (`Minstrel` project, id 12). + +## Development + +Minstrel has two concurrent dev processes: + +1. **Backend:** `docker compose up` — starts Postgres and Minstrel on `:4533`. +2. **Frontend:** `cd web && npm install && npm run dev` — Vite dev server on `:5173` with HMR. + +The Vite dev server proxies `/api/*` and `/rest/*` to the backend on `:4533`, +so session cookies work correctly when the SPA is loaded from the Vite origin. + +### Production build + +`docker build -t minstrel .` runs the SvelteKit build inside a `node` stage, +copies the output into the `golang` stage, and `//go:embed`s it into the +final binary. The resulting container serves the SPA from `/` alongside the +API surfaces. No separate static-file server is required.