From b0f6d6681d2477c23bf49bba43c05e3ff89e5529 Mon Sep 17 00:00:00 2001 From: Xuan Son Nguyen Date: Fri, 2 Aug 2024 00:44:50 +0200 Subject: [PATCH] Add `main` example (chat UI) (#99) * bootstrap main example + mockup UI * first working version * more features * add CI build step * add more models * run prettier * more models * fix build * test ci * ok --- .github/workflows/generate-docs.yml | 10 +- .prettierignore | 32 + README.md | 12 +- actions.hpp | 2 + assets/screenshot_0.png | Bin 0 -> 179144 bytes examples/main/.eslintrc.cjs | 18 + examples/main/.gitignore | 24 + examples/main/README.md | 8 + examples/main/index.html | 13 + examples/main/package-lock.json | 4308 ++++++++++++++++++ examples/main/package.json | 37 + examples/main/postcss.config.js | 6 + examples/main/public/favicon.ico | Bin 0 -> 6250 bytes examples/main/public/wllama.png | Bin 0 -> 5785 bytes examples/main/src/App.tsx | 37 + examples/main/src/components/ChatScreen.tsx | 171 + examples/main/src/components/GuideScreen.tsx | 84 + examples/main/src/components/ModelScreen.tsx | 335 ++ examples/main/src/components/Navbar.tsx | 27 + examples/main/src/components/Sidebar.tsx | 106 + examples/main/src/config.ts | 60 + examples/main/src/index.css | 20 + examples/main/src/main.tsx | 11 + examples/main/src/utils/custom-models.tsx | 101 + examples/main/src/utils/messages.context.tsx | 120 + examples/main/src/utils/types.ts | 44 + examples/main/src/utils/utils.ts | 61 + examples/main/src/utils/wllama.context.tsx | 282 ++ examples/main/src/vite-env.d.ts | 1 + examples/main/tailwind.config.js | 14 + examples/main/tsconfig.app.json | 27 + examples/main/tsconfig.json | 11 + examples/main/tsconfig.node.json | 13 + examples/main/vite.config.ts | 20 + examples/reactjs/.eslintrc.cjs | 2 +- examples/reactjs/serve.js | 34 +- examples/reactjs/src/App.tsx | 70 +- examples/reactjs/src/main.tsx | 12 +- examples/reactjs/vite.config.ts | 6 +- package-lock.json | 20 +- package.json | 11 +- src/cache-manager.ts | 130 +- src/downloader/multi-downloads.ts | 67 +- src/downloader/remote-blob.ts | 96 +- src/multi-thread/wllama.wasm | Bin 1738101 -> 1738571 bytes src/single-thread/wllama.wasm | Bin 1722139 -> 1722609 bytes src/utils.ts | 75 +- src/wllama.ts | 493 +- src/worker.ts | 120 +- 49 files changed, 6734 insertions(+), 417 deletions(-) create mode 100644 .prettierignore create mode 100644 assets/screenshot_0.png create mode 100644 examples/main/.eslintrc.cjs create mode 100644 examples/main/.gitignore create mode 100644 examples/main/README.md create mode 100644 examples/main/index.html create mode 100644 examples/main/package-lock.json create mode 100644 examples/main/package.json create mode 100644 examples/main/postcss.config.js create mode 100644 examples/main/public/favicon.ico create mode 100644 examples/main/public/wllama.png create mode 100644 examples/main/src/App.tsx create mode 100644 examples/main/src/components/ChatScreen.tsx create mode 100644 examples/main/src/components/GuideScreen.tsx create mode 100644 examples/main/src/components/ModelScreen.tsx create mode 100644 examples/main/src/components/Navbar.tsx create mode 100644 examples/main/src/components/Sidebar.tsx create mode 100644 examples/main/src/config.ts create mode 100644 examples/main/src/index.css create mode 100644 examples/main/src/main.tsx create mode 100644 examples/main/src/utils/custom-models.tsx create mode 100644 examples/main/src/utils/messages.context.tsx create mode 100644 examples/main/src/utils/types.ts create mode 100644 examples/main/src/utils/utils.ts create mode 100644 examples/main/src/utils/wllama.context.tsx create mode 100644 examples/main/src/vite-env.d.ts create mode 100644 examples/main/tailwind.config.js create mode 100644 examples/main/tsconfig.app.json create mode 100644 examples/main/tsconfig.json create mode 100644 examples/main/tsconfig.node.json create mode 100644 examples/main/vite.config.ts diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml index a5b0d62..8d366ea 100644 --- a/.github/workflows/generate-docs.yml +++ b/.github/workflows/generate-docs.yml @@ -1,4 +1,4 @@ -name: Deploy docs to GitHub Pages +name: Deploy docs and demo to GitHub Pages on: # Runs on pushes targeting the default branch @@ -44,6 +44,14 @@ jobs: rm .gitignore rm -rf node_modules + - name: Build main example + working-directory: ./examples/main + run: | + npm i + npm run build + rm .gitignore + rm -rf node_modules + - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..bdff196 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,32 @@ +**/.vscode +**/.github +**/.git +**/.svn +**/.hg +**/node_modules +**/dist +**/docs + +/llama.cpp + +/examples/advanced +/examples/basic +/examples/embeddings + +/scripts +/esm +/models +/build + +/src/multi-thread +/src/single-thread + +*.md +*.mdx +*.json +*.lock +*.yml +*.cpp +*.hpp + +*.config.js diff --git a/README.md b/README.md index 6447b89..72dccfe 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ ![](./README_banner.png) -Another WebAssembly binding for [llama.cpp](https://github.com/ggerganov/llama.cpp). Inspired by [tangledgroup/llama-cpp-wasm](https://github.com/tangledgroup/llama-cpp-wasm), but unlike it, **Wllama** aims to supports **low-level API** like (de)tokenization, embeddings,... +WebAssembly binding for [llama.cpp](https://github.com/ggerganov/llama.cpp) + +👉 [Try the demo app](https://github.ngxson.com/wllama/examples/main/dist/) ## Recent changes @@ -38,6 +40,10 @@ Limitations: ## Demo and documentations +**Main demo**: https://github.ngxson.com/wllama/examples/main/dist/ + +![](./assets/screenshot_0.png) + **Documentation:** https://github.ngxson.com/wllama/docs/ Demo: @@ -114,11 +120,11 @@ Cases where we want to split the model: - Due to [size restriction of ArrayBuffer](https://stackoverflow.com/questions/17823225/do-arraybuffers-have-a-maximum-length), the size limitation of a file is 2GB. If your model is bigger than 2GB, you can split the model into small files. - Even with a small model, splitting into chunks allows the browser to download multiple chunks in parallel, thus making the download process a bit faster. -We use `gguf-split` to split a big gguf file into smaller files. You can download the pre-built binary via [llama.cpp release page](https://github.com/ggerganov/llama.cpp/releases): +We use `llama-gguf-split` to split a big gguf file into smaller files. You can download the pre-built binary via [llama.cpp release page](https://github.com/ggerganov/llama.cpp/releases): ```bash # Split the model into chunks of 512 Megabytes -./gguf-split --split-max-size 512M ./my_model.gguf ./my_model +./llama-gguf-split --split-max-size 512M ./my_model.gguf ./my_model ``` This will output files ending with `-00001-of-00003.gguf`, `-00002-of-00003.gguf`, and so on. diff --git a/actions.hpp b/actions.hpp index 63cb05d..1c68494 100644 --- a/actions.hpp +++ b/actions.hpp @@ -255,6 +255,8 @@ json action_load(app_t &app, json &body) {"token_bos", llama_token_bos(app.model)}, {"token_eos", llama_token_eos(app.model)}, {"token_eot", llama_token_eot(app.model)}, + {"add_bos_token", llama_add_bos_token(app.model) == 1}, + {"add_eos_token", llama_add_eos_token(app.model) == 1}, {"has_encoder", llama_model_has_encoder(app.model)}, {"token_decoder_start", llama_model_decoder_start_token(app.model)}, }; diff --git a/assets/screenshot_0.png b/assets/screenshot_0.png new file mode 100644 index 0000000000000000000000000000000000000000..aa93e278bb1848554fc31f476818ebf2c99c793b GIT binary patch literal 179144 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 a;~&BuyNqSP~E9n1#2 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 z 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 + + + + + + wllama + + +

+ + + diff --git a/examples/main/package-lock.json b/examples/main/package-lock.json new file mode 100644 index 0000000..dffd7d1 --- /dev/null +++ b/examples/main/package-lock.json @@ -0,0 +1,4308 @@ +{ + "name": "main", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "main", + "version": "0.0.0", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/react-fontawesome": "^0.2.2", + "@huggingface/jinja": "^0.2.2", + "daisyui": "^4.12.10", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@typescript-eslint/eslint-plugin": "^7.15.0", + "@typescript-eslint/parser": "^7.15.0", + "@vitejs/plugin-react": "^4.3.1", + "@wllama/wllama": "file:../../", + "autoprefixer": "^10.4.19", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7", + "postcss": "^8.4.40", + "tailwindcss": "^3.4.7", + "typescript": "^5.2.2", + "vite": "^5.3.4" + } + }, + "../..": { + "name": "@wllama/wllama", + "version": "1.14.2", + "dev": true, + "license": "MIT", + "devDependencies": { + "express": "^4.18.3", + "mime-types": "^2.1.35", + "typedoc": "^0.25.12", + "typescript": "^5.4.2" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, + "node_modules/@huggingface/jinja": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@huggingface/jinja/-/jinja-0.2.2.tgz", + "integrity": "sha512-/KPde26khDUIPkTGU82jdtTW9UAuvUTumCAbFs/7giR0SxsvZC4hru51PBvpijH6BVkHcROcvZM/lpy5h1jRRA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "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, + "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, + "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, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", + "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz", + "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz", + "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz", + "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz", + "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz", + "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz", + "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz", + "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz", + "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz", + "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz", + "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", + "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz", + "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz", + "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz", + "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz", + "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", + "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@wllama/wllama": { + "resolved": "../..", + "link": true + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "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 + }, + "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, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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 + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "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" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "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, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001645", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001645.tgz", + "integrity": "sha512-GFtY2+qt91kzyMk6j48dJcwJVq5uTkk71XxE3RtScx7XWRLsO7bU44LOFkOZYR8w9YMS0UhPSYpN/6rAMImmLw==", + "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" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "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/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/culori": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", + "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/daisyui": { + "version": "4.12.10", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.10.tgz", + "integrity": "sha512-jp1RAuzbHhGdXmn957Z2XsTZStXGHzFfF0FgIOZj3Wv9sH7OZgLfXTRZNfKVYxltGUOBsG1kbWAdF5SrqjebvA==", + "dependencies": { + "css-selector-tokenizer": "^0.8", + "culori": "^3", + "picocolors": "^1", + "postcss-js": "^4" + }, + "engines": { + "node": ">=16.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/daisyui" + } + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "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 + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", + "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "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, + "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.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.9.tgz", + "integrity": "sha512-QK49YrBAo5CLNLseZ7sZgvgTy21E6NEw22eZqc4teZfH8pxV3yXc9XXOYfUI6JNpw7mfHNkAeWtBxrTyykB6HA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "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.4" + }, + "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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "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, + "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, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "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, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dev": true, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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 + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "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, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/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 + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "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, + "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.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "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" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "dev": true, + "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 + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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, + "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" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz", + "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.19.1", + "@rollup/rollup-android-arm64": "4.19.1", + "@rollup/rollup-darwin-arm64": "4.19.1", + "@rollup/rollup-darwin-x64": "4.19.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.19.1", + "@rollup/rollup-linux-arm-musleabihf": "4.19.1", + "@rollup/rollup-linux-arm64-gnu": "4.19.1", + "@rollup/rollup-linux-arm64-musl": "4.19.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1", + "@rollup/rollup-linux-riscv64-gnu": "4.19.1", + "@rollup/rollup-linux-s390x-gnu": "4.19.1", + "@rollup/rollup-linux-x64-gnu": "4.19.1", + "@rollup/rollup-linux-x64-musl": "4.19.1", + "@rollup/rollup-win32-arm64-msvc": "4.19.1", + "@rollup/rollup-win32-ia32-msvc": "4.19.1", + "@rollup/rollup-win32-x64-msvc": "4.19.1", + "fsevents": "~2.3.2" + } + }, + "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" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", + "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "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, + "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, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "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 + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "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" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.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 + }, + "node_modules/vite": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz", + "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.39", + "rollup": "^4.13.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": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/examples/main/package.json b/examples/main/package.json new file mode 100644 index 0000000..68bd04b --- /dev/null +++ b/examples/main/package.json @@ -0,0 +1,37 @@ +{ + "name": "main", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/react-fontawesome": "^0.2.2", + "@huggingface/jinja": "^0.2.2", + "daisyui": "^4.12.10", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@typescript-eslint/eslint-plugin": "^7.15.0", + "@typescript-eslint/parser": "^7.15.0", + "@vitejs/plugin-react": "^4.3.1", + "@wllama/wllama": "file:../../", + "autoprefixer": "^10.4.19", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7", + "postcss": "^8.4.40", + "tailwindcss": "^3.4.7", + "typescript": "^5.2.2", + "vite": "^5.3.4" + } +} diff --git a/examples/main/postcss.config.js b/examples/main/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/examples/main/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/examples/main/public/favicon.ico b/examples/main/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0c448403a48edea0e3a4442b09abdbb7e3899d7e GIT binary patch literal 6250 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 literal 0 HcmV?d00001 diff --git a/examples/main/src/App.tsx b/examples/main/src/App.tsx new file mode 100644 index 0000000..5d235fd --- /dev/null +++ b/examples/main/src/App.tsx @@ -0,0 +1,37 @@ +import ChatScreen from './components/ChatScreen'; +import GuideScreen from './components/GuideScreen'; +import ModelScreen from './components/ModelScreen'; +import Navbar from './components/Navbar'; +import Sidebar from './components/Sidebar'; +import { MessagesProvider } from './utils/messages.context'; +import { Screen } from './utils/types'; +import { useWllama, WllamaProvider } from './utils/wllama.context'; + +function App() { + return ( + + + + + + ); +} + +function InnerApp() { + const { currScreen } = useWllama(); + + return ( +

+ +
+ + {currScreen === Screen.MODEL && } + {currScreen === Screen.CHAT && } + {currScreen === Screen.GUIDE && } + +
+
+ ); +} + +export default App; diff --git a/examples/main/src/components/ChatScreen.tsx b/examples/main/src/components/ChatScreen.tsx new file mode 100644 index 0000000..6eff917 --- /dev/null +++ b/examples/main/src/components/ChatScreen.tsx @@ -0,0 +1,171 @@ +import { useState } from 'react'; +import { useMessages } from '../utils/messages.context'; +import { useWllama } from '../utils/wllama.context'; +import { Message, Screen } from '../utils/types'; +import { formatChat } from '../utils/utils'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faStop } from '@fortawesome/free-solid-svg-icons'; + +export default function ChatScreen() { + const [input, setInput] = useState(''); + const { + currentConvId, + isGenerating, + createCompletion, + navigateTo, + currModel, + getWllamaInstance, + stopCompletion, + } = useWllama(); + const { + getConversationById, + addMessageToConversation, + editMessageInConversation, + newConversation, + } = useMessages(); + + const currConv = getConversationById(currentConvId); + + const onSubmit = async () => { + if (isGenerating) return; + + // copy input and create messages + const currHistory = currConv?.messages ?? []; + const userInput = input; + setInput(''); + const userMsg: Message = { + id: Date.now(), + content: userInput, + role: 'user', + }; + const assistantMsg: Message = { + id: Date.now() + 1, + content: '', + role: 'assistant', + }; + + // process conversation + let convId = currConv?.id; + if (!convId) { + // need to create new conversation + const newConv = newConversation(userMsg); + convId = newConv.id; + navigateTo(Screen.CHAT, convId); + addMessageToConversation(convId, assistantMsg); + } else { + // append to current conversation + addMessageToConversation(convId, userMsg); + addMessageToConversation(convId, assistantMsg); + } + + // generate response + if (!currModel) { + throw new Error('currModel is null'); + } + const formattedChat = await formatChat(getWllamaInstance(), [ + ...currHistory, + userMsg, + ]); + console.log({ formattedChat }); + await createCompletion(formattedChat, (newContent) => { + editMessageInConversation(convId, assistantMsg.id, newContent); + }); + }; + + return ( +
+
+
+ + {currConv ? ( + <> + {currConv.messages.map((msg) => + msg.role === 'user' ? ( +
+
{msg.content}
+
+ ) : ( +
+
+ {msg.content.length === 0 && isGenerating && ( + + )} + {msg.content} +
+
+ ) + )} + + ) : ( +
Ask me something 👋
+ )} +
+
+ {isGenerating && ( +
+ +
+ )} + + {currModel && ( +