From c7679072aa720b20872550443abb0ec7e0828ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Wed, 18 Feb 2026 03:19:22 +0100 Subject: [PATCH 01/23] =?UTF-8?q?=F0=9F=9A=A7=20api:=20re-scaffolding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - uses astral.sh tooling: uv, ruff, ty - removed legacy tools - some minor python fixes --- api/.devcontainer/devcontainer.json | 17 +- api/.flake8 | 4 - api/.isort.cfg | 3 - api/.python-version | 1 + api/.vscode/launch.json | 32 +- api/.vscode/settings.json | 24 +- api/LICENSE | 21 + api/README.md | 0 api/advent22_api/__init__.py | 0 api/advent22_api/app.py | 3 +- api/advent22_api/core/dav/helpers.py | 2 +- api/advent22_api/core/depends.py | 2 +- api/pyproject.toml | 66 +- api/uv.lock | 865 +++++++++++++++++++++++++++ 14 files changed, 974 insertions(+), 66 deletions(-) delete mode 100644 api/.flake8 delete mode 100644 api/.isort.cfg create mode 100644 api/.python-version create mode 100644 api/LICENSE create mode 100644 api/README.md create mode 100644 api/advent22_api/__init__.py create mode 100644 api/uv.lock diff --git a/api/.devcontainer/devcontainer.json b/api/.devcontainer/devcontainer.json index 1f81c10..baa737d 100644 --- a/api/.devcontainer/devcontainer.json +++ b/api/.devcontainer/devcontainer.json @@ -9,7 +9,10 @@ // Features to add to the dev container. More info: https://containers.dev/features. "features": { "ghcr.io/devcontainers/features/git-lfs:1": {}, - "ghcr.io/devcontainers-extra/features/poetry:2": {}, + "ghcr.io/devcontainers-extra/features/uv:1": {}, + "ghcr.io/devcontainers-extra/features/zsh-plugins:0": { + "plugins": "uv" + }, "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { "packages": "git-flow" }, @@ -17,7 +20,8 @@ }, "containerEnv": { - "TZ": "Europe/Berlin" + "TZ": "Europe/Berlin", + "UV_CACHE_DIR": "/workspaces/advent22/.uv_cache" }, // Configure tool-specific properties. @@ -31,22 +35,21 @@ }, // Add the IDs of extensions you want installed when the container is created. "extensions": [ + "astral-sh.ty", + "charliermarsh.ruff", "be5invis.toml", "mhutchie.git-graph", "ms-python.python", - "ms-python.black-formatter", - "ms-python.flake8", - "ms-python.isort", "ms-python.vscode-pylance" ] } }, // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "sudo /usr/local/py-utils/bin/poetry self add poetry-plugin-up", + // "postCreateCommand": "sudo /usr/local/py-utils/bin/poetry self add poetry-plugin-up", // Use 'postStartCommand' to run commands after the container is started. - "postStartCommand": "poetry install" + "postStartCommand": "uv sync" // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], diff --git a/api/.flake8 b/api/.flake8 deleted file mode 100644 index 223d36c..0000000 --- a/api/.flake8 +++ /dev/null @@ -1,4 +0,0 @@ -[flake8] -max-line-length = 80 -extend-select = B950 -extend-ignore = E203,E501 diff --git a/api/.isort.cfg b/api/.isort.cfg deleted file mode 100644 index d056ad0..0000000 --- a/api/.isort.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[settings] -profile = black -line_length = 80 diff --git a/api/.python-version b/api/.python-version new file mode 100644 index 0000000..6324d40 --- /dev/null +++ b/api/.python-version @@ -0,0 +1 @@ +3.14 diff --git a/api/.vscode/launch.json b/api/.vscode/launch.json index c7f8598..5cee0a0 100644 --- a/api/.vscode/launch.json +++ b/api/.vscode/launch.json @@ -4,19 +4,37 @@ // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + // { + // "name": "Main Module", + // "type": "debugpy", + // "request": "launch", + // "module": "advent22_api.main", + // "pythonArgs": [ + // "-Xfrozen_modules=off", + // ], + // "env": { + // "PYDEVD_DISABLE_FILE_VALIDATION": "1", + // "WEBDAV__CACHE_TTL": "30", + // }, + // "justMyCode": true, + // }, { - "name": "Main Module", - "type": "python", + "name": "FastAPI CLI (dev)", + "type": "debugpy", "request": "launch", - "module": "advent22_api.main", - "pythonArgs": [ - "-Xfrozen_modules=off", + "module": "fastapi", + "args": [ + "dev", + "--entrypoint", + "advent22_api.app:app", + "--reload-dir", + "${workspaceFolder}/advent22_api", ], "env": { - "PYDEVD_DISABLE_FILE_VALIDATION": "1", "WEBDAV__CACHE_TTL": "30", }, "justMyCode": true, - } + }, + ] } \ No newline at end of file diff --git a/api/.vscode/settings.json b/api/.vscode/settings.json index 86a51db..8ef21ae 100644 --- a/api/.vscode/settings.json +++ b/api/.vscode/settings.json @@ -3,22 +3,21 @@ "[python]": { "editor.formatOnSave": true, - "editor.defaultFormatter": "ms-python.black-formatter", + "editor.defaultFormatter": "charliermarsh.ruff", "editor.codeActionsOnSave": { "source.organizeImports": "explicit", "source.fixAll": "explicit", }, }, - "python.languageServer": "Pylance", - "python.analysis.autoImportCompletions": true, - "python.analysis.importFormat": "relative", - "python.analysis.fixAll": [ - "source.convertImportFormat", - "source.unusedImports", - ], - "python.analysis.typeCheckingMode": "basic", - "python.analysis.diagnosticMode": "workspace", + // "python.analysis.autoImportCompletions": true, + // "python.analysis.importFormat": "relative", + // "python.analysis.fixAll": [ + // "source.convertImportFormat", + // "source.unusedImports", + // ], + // "python.analysis.typeCheckingMode": "basic", + // "python.analysis.diagnosticMode": "workspace", "python.testing.unittestEnabled": false, "python.testing.pytestEnabled": true, @@ -27,7 +26,6 @@ "test", ], - "black-formatter.importStrategy": "fromEnvironment", - "flake8.importStrategy": "fromEnvironment", - "isort.importStrategy": "fromEnvironment", + "ty.diagnosticMode": "workspace", + "ruff.nativeServer": "on", } diff --git a/api/LICENSE b/api/LICENSE new file mode 100644 index 0000000..d4bc3d2 --- /dev/null +++ b/api/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Lenaisten e.V. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/api/README.md b/api/README.md new file mode 100644 index 0000000..e69de29 diff --git a/api/advent22_api/__init__.py b/api/advent22_api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/advent22_api/app.py b/api/advent22_api/app.py index 92ab036..616ddb8 100644 --- a/api/advent22_api/app.py +++ b/api/advent22_api/app.py @@ -37,7 +37,8 @@ if SETTINGS.production_mode: else: # Allow CORS in debug mode app.add_middleware( - CORSMiddleware, + # HACK: suppress while unresolved https://github.com/astral-sh/ty/issues/1635 + CORSMiddleware, # ty: ignore[invalid-argument-type] allow_credentials=True, allow_origins=["*"], allow_methods=["*"], diff --git a/api/advent22_api/core/dav/helpers.py b/api/advent22_api/core/dav/helpers.py index 256bf29..e3e728a 100644 --- a/api/advent22_api/core/dav/helpers.py +++ b/api/advent22_api/core/dav/helpers.py @@ -55,6 +55,6 @@ class RedisCache(__RedisCache): try: return super()._deserialize(s) - except (UnicodeDecodeError, JSONDecodeError): + except UnicodeDecodeError, JSONDecodeError: assert isinstance(s, bytes) return s diff --git a/api/advent22_api/core/depends.py b/api/advent22_api/core/depends.py index 15c90ab..fcbb02d 100644 --- a/api/advent22_api/core/depends.py +++ b/api/advent22_api/core/depends.py @@ -219,7 +219,7 @@ async def get_day_image( image = await AdventImage.from_img(img, cfg) return image.img - except (KeyError, RuntimeError): + except KeyError, RuntimeError: # Erstelle automatisch generiertes Bild return await gen_day_auto_image( day=day, diff --git a/api/pyproject.toml b/api/pyproject.toml index 6628b3f..ca399d6 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -1,33 +1,41 @@ -[tool.poetry] -authors = [ - "Jörn-Michael Miehe ", - "Penner42 ", -] -description = "" -license = "MIT" -name = "advent22_api" +[project] +name = "advent22-api" version = "0.1.0" +description = "" +license = {file = "LICENSE"} +readme = "README.md" +requires-python = ">=3.14" +authors = [ + {name = "Jörn-Michael Miehe", email = "jmm@yavook.de"}, + {name = "Penner42", email = "unbekannt42@web.de"}, +] +dependencies = [ + "asyncify>=0.12.1", + "cachetools>=7.0.1", + "cachetoolsutils>=11.0", + "fastapi>=0.129.0", + "fastapi-cli>=0.0.23", + "markdown>=3.10.2", + "numpy>=2.4.2", + "pillow>=12.1.1", + "pydantic-settings>=2.13.0", + "redis[hiredis]>=7.2.0", + "requests>=2.32.5", + "tomli-w>=1.2.0", + "uvicorn[standard]>=0.41.0", + "webdavclient3>=3.14.7", +] -[tool.poetry.dependencies] -Pillow = "^12.1.1" -asyncify = "^0.12.1" -cachetools = "^7.0.1" -cachetoolsutils = "^11.0" -fastapi = "^0.129.0" -markdown = "^3.10.2" -numpy = "^2.4.2" -pydantic-settings = "^2.13.0" -python = ">=3.11,<3.15" -redis = {extras = ["hiredis"], version = "^7.1.1"} -tomli-w = "^1.2.0" -uvicorn = {extras = ["standard"], version = "^0.40.0"} -webdavclient3 = "^3.14.7" - -[tool.poetry.group.dev.dependencies] -black = "^26.1.0" -flake8 = "^7.3.0" -pytest = "^9.0.2" +[dependency-groups] +dev = [ + "pytest>=9.0.2", + "ruff>=0.15.1", +] [build-system] -build-backend = "poetry.core.masonry.api" -requires = ["poetry-core>=1.0.0"] +requires = ["uv_build>=0.10.4,<0.11.0", "packaging"] +build-backend = "uv_build" + +[tool.uv.build-backend] +# module-name = "advent22_api" +module-root = "" diff --git a/api/uv.lock b/api/uv.lock new file mode 100644 index 0000000..c5bb260 --- /dev/null +++ b/api/uv.lock @@ -0,0 +1,865 @@ +version = 1 +revision = 3 +requires-python = ">=3.14" + +[[package]] +name = "advent22-api" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "asyncify" }, + { name = "cachetools" }, + { name = "cachetoolsutils" }, + { name = "fastapi" }, + { name = "fastapi-cli" }, + { name = "markdown" }, + { name = "numpy" }, + { name = "pillow" }, + { name = "pydantic-settings" }, + { name = "redis", extra = ["hiredis"] }, + { name = "requests" }, + { name = "tomli-w" }, + { name = "uvicorn", extra = ["standard"] }, + { name = "webdavclient3" }, +] + +[package.dev-dependencies] +dev = [ + { name = "pytest" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "asyncify", specifier = ">=0.12.1" }, + { name = "cachetools", specifier = ">=7.0.1" }, + { name = "cachetoolsutils", specifier = ">=11.0" }, + { name = "fastapi", specifier = ">=0.129.0" }, + { name = "fastapi-cli", specifier = ">=0.0.23" }, + { name = "markdown", specifier = ">=3.10.2" }, + { name = "numpy", specifier = ">=2.4.2" }, + { name = "pillow", specifier = ">=12.1.1" }, + { name = "pydantic-settings", specifier = ">=2.13.0" }, + { name = "redis", extras = ["hiredis"], specifier = ">=7.2.0" }, + { name = "requests", specifier = ">=2.32.5" }, + { name = "tomli-w", specifier = ">=1.2.0" }, + { name = "uvicorn", extras = ["standard"], specifier = ">=0.41.0" }, + { name = "webdavclient3", specifier = ">=3.14.7" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "pytest", specifier = ">=9.0.2" }, + { name = "ruff", specifier = ">=0.15.1" }, +] + +[[package]] +name = "annotated-doc" +version = "0.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" }, +] + +[[package]] +name = "asyncify" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "funkify" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/a8/0ecc62b031ab11378ae012d7868ed65c105fd600e21f5fa135d62d2e867d/asyncify-0.12.1.tar.gz", hash = "sha256:222cea6321b1fec8ffd4c8744611c230ca77cb078a18fd1274a461a77b3d7ed0", size = 5057, upload-time = "2025-10-15T21:54:33.827Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/1b/36cd51f4db7ba530f4d7f5a4c7707d047daa7822861496fe05ab27e0bf91/asyncify-0.12.1-py3-none-any.whl", hash = "sha256:8a015a2670674eb3814239c838f8c3dbe4e8724b706044a363943f1d45a85d77", size = 7024, upload-time = "2025-10-15T21:54:32.692Z" }, +] + +[[package]] +name = "cachetools" +version = "7.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/07/56595285564e90777d758ebd383d6b0b971b87729bbe2184a849932a3736/cachetools-7.0.1.tar.gz", hash = "sha256:e31e579d2c5b6e2944177a0397150d312888ddf4e16e12f1016068f0c03b8341", size = 36126, upload-time = "2026-02-10T22:24:05.03Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/9e/5faefbf9db1db466d633735faceda1f94aa99ce506ac450d232536266b32/cachetools-7.0.1-py3-none-any.whl", hash = "sha256:8f086515c254d5664ae2146d14fc7f65c9a4bce75152eb247e5a9c5e6d7b2ecf", size = 13484, upload-time = "2026-02-10T22:24:03.741Z" }, +] + +[[package]] +name = "cachetoolsutils" +version = "11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cachetools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/64/fb656abc52ace12006e273881c50bfe653904cbcaf45dfbe63a4cf3a0065/cachetoolsutils-11.0.tar.gz", hash = "sha256:4606e53a4526f1f51dc3ee3336fc68afc2e2284cb880f84d7c191ad8fc098d16", size = 11938, upload-time = "2025-11-22T06:45:47.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/f7/7fcc7b23fab403794044ec145a498ad92a8a3d6e54fb0cc4f87ca0e52fe6/cachetoolsutils-11.0-py3-none-any.whl", hash = "sha256:d3644c214f29b19619750ba9f3b06df4792822d535aed1ee60b31b0bc42245c8", size = 10123, upload-time = "2025-11-22T06:45:46.15Z" }, +] + +[[package]] +name = "certifi" +version = "2026.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "fastapi" +version = "0.129.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-doc" }, + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/47/75f6bea02e797abff1bca968d5997793898032d9923c1935ae2efdece642/fastapi-0.129.0.tar.gz", hash = "sha256:61315cebd2e65df5f97ec298c888f9de30430dd0612d59d6480beafbc10655af", size = 375450, upload-time = "2026-02-12T13:54:52.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/dd/d0ee25348ac58245ee9f90b6f3cbb666bf01f69be7e0911f9851bddbda16/fastapi-0.129.0-py3-none-any.whl", hash = "sha256:b4946880e48f462692b31c083be0432275cbfb6e2274566b1be91479cc1a84ec", size = 102950, upload-time = "2026-02-12T13:54:54.528Z" }, +] + +[[package]] +name = "fastapi-cli" +version = "0.0.23" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "rich-toolkit" }, + { name = "typer" }, + { name = "uvicorn", extra = ["standard"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/9f/cbd463e57de4e977b8ea0403f95347f9150441568b1d3fe3e4949ef80ef3/fastapi_cli-0.0.23.tar.gz", hash = "sha256:210ac280ea41e73aac5a57688781256beb23c2cba3a41266896fa43e6445c8e7", size = 19763, upload-time = "2026-02-16T19:45:53.358Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/89/19dcfd5cd289b306abdcabac68b88a4f54b7710a2c33adc16a337ecdcdfa/fastapi_cli-0.0.23-py3-none-any.whl", hash = "sha256:7e9634fc212da0b6cfc75bd3ac366cc9dfdb43b5e9ec12e58bfd1acdd2697f25", size = 12305, upload-time = "2026-02-16T19:45:52.554Z" }, +] + +[[package]] +name = "funkify" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/54/39bd03950834e2bf3d423c6d06b59120b11a7391798120020d2060c9dbd3/funkify-0.7.1.tar.gz", hash = "sha256:82dfb67a650e62542aae79a9bb3e7b9e4e6b2acdc9c84e50889a7ba1368d2bdc", size = 2779, upload-time = "2025-10-15T21:54:38.195Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/76/44039e1ed968742197f6982b0631e8439382b39ea7ea359efaf3213433de/funkify-0.7.1-py3-none-any.whl", hash = "sha256:490d5e0d45eb1dd75ff1e2ba6e415ddbb3dc5090d350f1aa7822e1777b648a8a", size = 3577, upload-time = "2025-10-15T21:54:37.169Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "hiredis" +version = "3.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/82/d2817ce0653628e0a0cb128533f6af0dd6318a49f3f3a6a7bd1f2f2154af/hiredis-3.3.0.tar.gz", hash = "sha256:105596aad9249634361815c574351f1bd50455dc23b537c2940066c4a9dea685", size = 89048, upload-time = "2025-10-14T16:33:34.263Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/b3/b948ee76a6b2bc7e45249861646f91f29704f743b52565cf64cee9c4658b/hiredis-3.3.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c135bda87211f7af9e2fd4e046ab433c576cd17b69e639a0f5bb2eed5e0e71a9", size = 82105, upload-time = "2025-10-14T16:32:37.204Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9b/4210f4ebfb3ab4ada964b8de08190f54cbac147198fb463cd3c111cc13e0/hiredis-3.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2f855c678230aed6fc29b962ce1cc67e5858a785ef3a3fd6b15dece0487a2e60", size = 46237, upload-time = "2025-10-14T16:32:38.07Z" }, + { url = "https://files.pythonhosted.org/packages/b3/7a/e38bfd7d04c05036b4ccc6f42b86b1032185cf6ae426e112a97551fece14/hiredis-3.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4059c78a930cbb33c391452ccce75b137d6f89e2eebf6273d75dafc5c2143c03", size = 41894, upload-time = "2025-10-14T16:32:38.929Z" }, + { url = "https://files.pythonhosted.org/packages/28/d3/eae43d9609c5d9a6effef0586ee47e13a0d84b44264b688d97a75cd17ee5/hiredis-3.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:334a3f1d14c253bb092e187736c3384203bd486b244e726319bbb3f7dffa4a20", size = 170486, upload-time = "2025-10-14T16:32:40.147Z" }, + { url = "https://files.pythonhosted.org/packages/c3/fd/34d664554880b27741ab2916d66207357563b1639e2648685f4c84cfb755/hiredis-3.3.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd137b147235447b3d067ec952c5b9b95ca54b71837e1b38dbb2ec03b89f24fc", size = 182031, upload-time = "2025-10-14T16:32:41.06Z" }, + { url = "https://files.pythonhosted.org/packages/08/a3/0c69fdde3f4155b9f7acc64ccffde46f312781469260061b3bbaa487fd34/hiredis-3.3.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8f88f4f2aceb73329ece86a1cb0794fdbc8e6d614cb5ca2d1023c9b7eb432db8", size = 180542, upload-time = "2025-10-14T16:32:42.993Z" }, + { url = "https://files.pythonhosted.org/packages/68/7a/ad5da4d7bc241e57c5b0c4fe95aa75d1f2116e6e6c51577394d773216e01/hiredis-3.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:550f4d1538822fc75ebf8cf63adc396b23d4958bdbbad424521f2c0e3dfcb169", size = 172353, upload-time = "2025-10-14T16:32:43.965Z" }, + { url = "https://files.pythonhosted.org/packages/4b/dc/c46eace64eb047a5b31acd5e4b0dc6d2f0390a4a3f6d507442d9efa570ad/hiredis-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:54b14211fbd5930fc696f6fcd1f1f364c660970d61af065a80e48a1fa5464dd6", size = 166435, upload-time = "2025-10-14T16:32:44.97Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ac/ad13a714e27883a2e4113c980c94caf46b801b810de5622c40f8d3e8335f/hiredis-3.3.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c9e96f63dbc489fc86f69951e9f83dadb9582271f64f6822c47dcffa6fac7e4a", size = 177218, upload-time = "2025-10-14T16:32:45.936Z" }, + { url = "https://files.pythonhosted.org/packages/c2/38/268fabd85b225271fe1ba82cb4a484fcc1bf922493ff2c74b400f1a6f339/hiredis-3.3.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:106e99885d46684d62ab3ec1d6b01573cc0e0083ac295b11aaa56870b536c7ec", size = 170477, upload-time = "2025-10-14T16:32:46.898Z" }, + { url = "https://files.pythonhosted.org/packages/20/6b/02bb8af810ea04247334ab7148acff7a61c08a8832830c6703f464be83a9/hiredis-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:087e2ef3206361281b1a658b5b4263572b6ba99465253e827796964208680459", size = 167915, upload-time = "2025-10-14T16:32:47.847Z" }, + { url = "https://files.pythonhosted.org/packages/83/94/901fa817e667b2e69957626395e6dee416e31609dca738f28e6b545ca6c2/hiredis-3.3.0-cp314-cp314-win32.whl", hash = "sha256:80638ebeab1cefda9420e9fedc7920e1ec7b4f0513a6b23d58c9d13c882f8065", size = 21165, upload-time = "2025-10-14T16:32:50.753Z" }, + { url = "https://files.pythonhosted.org/packages/b1/7e/4881b9c1d0b4cdaba11bd10e600e97863f977ea9d67c5988f7ec8cd363e5/hiredis-3.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a68aaf9ba024f4e28cf23df9196ff4e897bd7085872f3a30644dca07fa787816", size = 22996, upload-time = "2025-10-14T16:32:51.543Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b6/d7e6c17da032665a954a89c1e6ee3bd12cb51cd78c37527842b03519981d/hiredis-3.3.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:f7f80442a32ce51ee5d89aeb5a84ee56189a0e0e875f1a57bbf8d462555ae48f", size = 83034, upload-time = "2025-10-14T16:32:52.395Z" }, + { url = "https://files.pythonhosted.org/packages/27/6c/6751b698060cdd1b2d8427702cff367c9ed7a1705bcf3792eb5b896f149b/hiredis-3.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a1a67530da714954ed50579f4fe1ab0ddbac9c43643b1721c2cb226a50dde263", size = 46701, upload-time = "2025-10-14T16:32:53.572Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8e/20a5cf2c83c7a7e08c76b9abab113f99f71cd57468a9c7909737ce6e9bf8/hiredis-3.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:616868352e47ab355559adca30f4f3859f9db895b4e7bc71e2323409a2add751", size = 42381, upload-time = "2025-10-14T16:32:54.762Z" }, + { url = "https://files.pythonhosted.org/packages/be/0a/547c29c06e8c9c337d0df3eec39da0cf1aad701daf8a9658dd37f25aca66/hiredis-3.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e799b79f3150083e9702fc37e6243c0bd47a443d6eae3f3077b0b3f510d6a145", size = 180313, upload-time = "2025-10-14T16:32:55.644Z" }, + { url = "https://files.pythonhosted.org/packages/89/8a/488de5469e3d0921a1c425045bf00e983d48b2111a90e47cf5769eaa536c/hiredis-3.3.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ef1dfb0d2c92c3701655e2927e6bbe10c499aba632c7ea57b6392516df3864b", size = 190488, upload-time = "2025-10-14T16:32:56.649Z" }, + { url = "https://files.pythonhosted.org/packages/b5/59/8493edc3eb9ae0dbea2b2230c2041a52bc03e390b02ffa3ac0bca2af9aea/hiredis-3.3.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c290da6bc2a57e854c7da9956cd65013483ede935677e84560da3b848f253596", size = 189210, upload-time = "2025-10-14T16:32:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/f0/de/8c9a653922057b32fb1e2546ecd43ef44c9aa1a7cf460c87cae507eb2bc7/hiredis-3.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd8c438d9e1728f0085bf9b3c9484d19ec31f41002311464e75b69550c32ffa8", size = 180972, upload-time = "2025-10-14T16:32:58.737Z" }, + { url = "https://files.pythonhosted.org/packages/e4/a3/51e6e6afaef2990986d685ca6e254ffbd191f1635a59b2d06c9e5d10c8a2/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1bbc6b8a88bbe331e3ebf6685452cebca6dfe6d38a6d4efc5651d7e363ba28bd", size = 175315, upload-time = "2025-10-14T16:32:59.774Z" }, + { url = "https://files.pythonhosted.org/packages/96/54/e436312feb97601f70f8b39263b8da5ac4a5d18305ebdfb08ad7621f6119/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:55d8c18fe9a05496c5c04e6eccc695169d89bf358dff964bcad95696958ec05f", size = 185653, upload-time = "2025-10-14T16:33:00.749Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a3/88e66030d066337c6c0f883a912c6d4b2d6d7173490fbbc113a6cbe414ff/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:4ddc79afa76b805d364e202a754666cb3c4d9c85153cbfed522871ff55827838", size = 179032, upload-time = "2025-10-14T16:33:01.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/1f/fb7375467e9adaa371cd617c2984fefe44bdce73add4c70b8dd8cab1b33a/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8e8a4b8540581dcd1b2b25827a54cfd538e0afeaa1a0e3ca87ad7126965981cc", size = 176127, upload-time = "2025-10-14T16:33:02.793Z" }, + { url = "https://files.pythonhosted.org/packages/66/14/0dc2b99209c400f3b8f24067273e9c3cb383d894e155830879108fb19e98/hiredis-3.3.0-cp314-cp314t-win32.whl", hash = "sha256:298593bb08487753b3afe6dc38bac2532e9bac8dcee8d992ef9977d539cc6776", size = 22024, upload-time = "2025-10-14T16:33:03.812Z" }, + { url = "https://files.pythonhosted.org/packages/b2/2f/8a0befeed8bbe142d5a6cf3b51e8cbe019c32a64a596b0ebcbc007a8f8f1/hiredis-3.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b442b6ab038a6f3b5109874d2514c4edf389d8d8b553f10f12654548808683bc", size = 23808, upload-time = "2025-10-14T16:33:04.965Z" }, +] + +[[package]] +name = "httptools" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/46/120a669232c7bdedb9d52d4aeae7e6c7dfe151e99dc70802e2fc7a5e1993/httptools-0.7.1.tar.gz", hash = "sha256:abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9", size = 258961, upload-time = "2025-10-10T03:55:08.559Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/50/9d095fcbb6de2d523e027a2f304d4551855c2f46e0b82befd718b8b20056/httptools-0.7.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c08fe65728b8d70b6923ce31e3956f859d5e1e8548e6f22ec520a962c6757270", size = 203619, upload-time = "2025-10-10T03:54:54.321Z" }, + { url = "https://files.pythonhosted.org/packages/07/f0/89720dc5139ae54b03f861b5e2c55a37dba9a5da7d51e1e824a1f343627f/httptools-0.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7aea2e3c3953521c3c51106ee11487a910d45586e351202474d45472db7d72d3", size = 108714, upload-time = "2025-10-10T03:54:55.163Z" }, + { url = "https://files.pythonhosted.org/packages/b3/cb/eea88506f191fb552c11787c23f9a405f4c7b0c5799bf73f2249cd4f5228/httptools-0.7.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0e68b8582f4ea9166be62926077a3334064d422cf08ab87d8b74664f8e9058e1", size = 472909, upload-time = "2025-10-10T03:54:56.056Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4a/a548bdfae6369c0d078bab5769f7b66f17f1bfaa6fa28f81d6be6959066b/httptools-0.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df091cf961a3be783d6aebae963cc9b71e00d57fa6f149025075217bc6a55a7b", size = 470831, upload-time = "2025-10-10T03:54:57.219Z" }, + { url = "https://files.pythonhosted.org/packages/4d/31/14df99e1c43bd132eec921c2e7e11cda7852f65619bc0fc5bdc2d0cb126c/httptools-0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f084813239e1eb403ddacd06a30de3d3e09a9b76e7894dcda2b22f8a726e9c60", size = 452631, upload-time = "2025-10-10T03:54:58.219Z" }, + { url = "https://files.pythonhosted.org/packages/22/d2/b7e131f7be8d854d48cb6d048113c30f9a46dca0c9a8b08fcb3fcd588cdc/httptools-0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7347714368fb2b335e9063bc2b96f2f87a9ceffcd9758ac295f8bbcd3ffbc0ca", size = 452910, upload-time = "2025-10-10T03:54:59.366Z" }, + { url = "https://files.pythonhosted.org/packages/53/cf/878f3b91e4e6e011eff6d1fa9ca39f7eb17d19c9d7971b04873734112f30/httptools-0.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:cfabda2a5bb85aa2a904ce06d974a3f30fb36cc63d7feaddec05d2050acede96", size = 88205, upload-time = "2025-10-10T03:55:00.389Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "lxml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz", hash = "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62", size = 4073426, upload-time = "2025-09-22T04:04:59.287Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/15/d4a377b385ab693ce97b472fe0c77c2b16ec79590e688b3ccc71fba19884/lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe", size = 8659801, upload-time = "2025-09-22T04:02:30.113Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e8/c128e37589463668794d503afaeb003987373c5f94d667124ffd8078bbd9/lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d", size = 4659403, upload-time = "2025-09-22T04:02:32.119Z" }, + { url = "https://files.pythonhosted.org/packages/00/ce/74903904339decdf7da7847bb5741fc98a5451b42fc419a86c0c13d26fe2/lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d", size = 4966974, upload-time = "2025-09-22T04:02:34.155Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d3/131dec79ce61c5567fecf82515bd9bc36395df42501b50f7f7f3bd065df0/lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5", size = 5102953, upload-time = "2025-09-22T04:02:36.054Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ea/a43ba9bb750d4ffdd885f2cd333572f5bb900cd2408b67fdda07e85978a0/lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0", size = 5055054, upload-time = "2025-09-22T04:02:38.154Z" }, + { url = "https://files.pythonhosted.org/packages/60/23/6885b451636ae286c34628f70a7ed1fcc759f8d9ad382d132e1c8d3d9bfd/lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba", size = 5352421, upload-time = "2025-09-22T04:02:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/48/5b/fc2ddfc94ddbe3eebb8e9af6e3fd65e2feba4967f6a4e9683875c394c2d8/lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0", size = 5673684, upload-time = "2025-09-22T04:02:42.288Z" }, + { url = "https://files.pythonhosted.org/packages/29/9c/47293c58cc91769130fbf85531280e8cc7868f7fbb6d92f4670071b9cb3e/lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d", size = 5252463, upload-time = "2025-09-22T04:02:44.165Z" }, + { url = "https://files.pythonhosted.org/packages/9b/da/ba6eceb830c762b48e711ded880d7e3e89fc6c7323e587c36540b6b23c6b/lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37", size = 4698437, upload-time = "2025-09-22T04:02:46.524Z" }, + { url = "https://files.pythonhosted.org/packages/a5/24/7be3f82cb7990b89118d944b619e53c656c97dc89c28cfb143fdb7cd6f4d/lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9", size = 5269890, upload-time = "2025-09-22T04:02:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/1b/bd/dcfb9ea1e16c665efd7538fc5d5c34071276ce9220e234217682e7d2c4a5/lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917", size = 5097185, upload-time = "2025-09-22T04:02:50.746Z" }, + { url = "https://files.pythonhosted.org/packages/21/04/a60b0ff9314736316f28316b694bccbbabe100f8483ad83852d77fc7468e/lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f", size = 4745895, upload-time = "2025-09-22T04:02:52.968Z" }, + { url = "https://files.pythonhosted.org/packages/d6/bd/7d54bd1846e5a310d9c715921c5faa71cf5c0853372adf78aee70c8d7aa2/lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8", size = 5695246, upload-time = "2025-09-22T04:02:54.798Z" }, + { url = "https://files.pythonhosted.org/packages/fd/32/5643d6ab947bc371da21323acb2a6e603cedbe71cb4c99c8254289ab6f4e/lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a", size = 5260797, upload-time = "2025-09-22T04:02:57.058Z" }, + { url = "https://files.pythonhosted.org/packages/33/da/34c1ec4cff1eea7d0b4cd44af8411806ed943141804ac9c5d565302afb78/lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c", size = 5277404, upload-time = "2025-09-22T04:02:58.966Z" }, + { url = "https://files.pythonhosted.org/packages/82/57/4eca3e31e54dc89e2c3507e1cd411074a17565fa5ffc437c4ae0a00d439e/lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b", size = 3670072, upload-time = "2025-09-22T04:03:38.05Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e0/c96cf13eccd20c9421ba910304dae0f619724dcf1702864fd59dd386404d/lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed", size = 4080617, upload-time = "2025-09-22T04:03:39.835Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5d/b3f03e22b3d38d6f188ef044900a9b29b2fe0aebb94625ce9fe244011d34/lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8", size = 3754930, upload-time = "2025-09-22T04:03:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/5c/42c2c4c03554580708fc738d13414801f340c04c3eff90d8d2d227145275/lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d", size = 8910380, upload-time = "2025-09-22T04:03:01.645Z" }, + { url = "https://files.pythonhosted.org/packages/bf/4f/12df843e3e10d18d468a7557058f8d3733e8b6e12401f30b1ef29360740f/lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba", size = 4775632, upload-time = "2025-09-22T04:03:03.814Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0c/9dc31e6c2d0d418483cbcb469d1f5a582a1cd00a1f4081953d44051f3c50/lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601", size = 4975171, upload-time = "2025-09-22T04:03:05.651Z" }, + { url = "https://files.pythonhosted.org/packages/e7/2b/9b870c6ca24c841bdd887504808f0417aa9d8d564114689266f19ddf29c8/lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed", size = 5110109, upload-time = "2025-09-22T04:03:07.452Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0c/4f5f2a4dd319a178912751564471355d9019e220c20d7db3fb8307ed8582/lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37", size = 5041061, upload-time = "2025-09-22T04:03:09.297Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/554eed290365267671fe001a20d72d14f468ae4e6acef1e179b039436967/lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338", size = 5306233, upload-time = "2025-09-22T04:03:11.651Z" }, + { url = "https://files.pythonhosted.org/packages/7a/31/1d748aa275e71802ad9722df32a7a35034246b42c0ecdd8235412c3396ef/lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9", size = 5604739, upload-time = "2025-09-22T04:03:13.592Z" }, + { url = "https://files.pythonhosted.org/packages/8f/41/2c11916bcac09ed561adccacceaedd2bf0e0b25b297ea92aab99fd03d0fa/lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd", size = 5225119, upload-time = "2025-09-22T04:03:15.408Z" }, + { url = "https://files.pythonhosted.org/packages/99/05/4e5c2873d8f17aa018e6afde417c80cc5d0c33be4854cce3ef5670c49367/lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d", size = 4633665, upload-time = "2025-09-22T04:03:17.262Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c9/dcc2da1bebd6275cdc723b515f93edf548b82f36a5458cca3578bc899332/lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9", size = 5234997, upload-time = "2025-09-22T04:03:19.14Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e2/5172e4e7468afca64a37b81dba152fc5d90e30f9c83c7c3213d6a02a5ce4/lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e", size = 5090957, upload-time = "2025-09-22T04:03:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b3/15461fd3e5cd4ddcb7938b87fc20b14ab113b92312fc97afe65cd7c85de1/lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d", size = 4764372, upload-time = "2025-09-22T04:03:23.27Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/f310b987c8bf9e61c4dd8e8035c416bd3230098f5e3cfa69fc4232de7059/lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec", size = 5634653, upload-time = "2025-09-22T04:03:25.767Z" }, + { url = "https://files.pythonhosted.org/packages/70/ff/51c80e75e0bc9382158133bdcf4e339b5886c6ee2418b5199b3f1a61ed6d/lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272", size = 5233795, upload-time = "2025-09-22T04:03:27.62Z" }, + { url = "https://files.pythonhosted.org/packages/56/4d/4856e897df0d588789dd844dbed9d91782c4ef0b327f96ce53c807e13128/lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f", size = 5257023, upload-time = "2025-09-22T04:03:30.056Z" }, + { url = "https://files.pythonhosted.org/packages/0f/85/86766dfebfa87bea0ab78e9ff7a4b4b45225df4b4d3b8cc3c03c5cd68464/lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312", size = 3911420, upload-time = "2025-09-22T04:03:32.198Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1a/b248b355834c8e32614650b8008c69ffeb0ceb149c793961dd8c0b991bb3/lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca", size = 4406837, upload-time = "2025-09-22T04:03:34.027Z" }, + { url = "https://files.pythonhosted.org/packages/92/aa/df863bcc39c5e0946263454aba394de8a9084dbaff8ad143846b0d844739/lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c", size = 3822205, upload-time = "2025-09-22T04:03:36.249Z" }, +] + +[[package]] +name = "markdown" +version = "3.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/fd/0005efbd0af48e55eb3c7208af93f2862d4b1a56cd78e84309a2d959208d/numpy-2.4.2.tar.gz", hash = "sha256:659a6107e31a83c4e33f763942275fd278b21d095094044eb35569e86a21ddae", size = 20723651, upload-time = "2026-01-31T23:13:10.135Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/88/b7df6050bf18fdcfb7046286c6535cabbdd2064a3440fca3f069d319c16e/numpy-2.4.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:444be170853f1f9d528428eceb55f12918e4fda5d8805480f36a002f1415e09b", size = 16663092, upload-time = "2026-01-31T23:12:04.521Z" }, + { url = "https://files.pythonhosted.org/packages/25/7a/1fee4329abc705a469a4afe6e69b1ef7e915117747886327104a8493a955/numpy-2.4.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d1240d50adff70c2a88217698ca844723068533f3f5c5fa6ee2e3220e3bdb000", size = 14698770, upload-time = "2026-01-31T23:12:06.96Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0b/f9e49ba6c923678ad5bc38181c08ac5e53b7a5754dbca8e581aa1a56b1ff/numpy-2.4.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:7cdde6de52fb6664b00b056341265441192d1291c130e99183ec0d4b110ff8b1", size = 5208562, upload-time = "2026-01-31T23:12:09.632Z" }, + { url = "https://files.pythonhosted.org/packages/7d/12/d7de8f6f53f9bb76997e5e4c069eda2051e3fe134e9181671c4391677bb2/numpy-2.4.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:cda077c2e5b780200b6b3e09d0b42205a3d1c68f30c6dceb90401c13bff8fe74", size = 6543710, upload-time = "2026-01-31T23:12:11.969Z" }, + { url = "https://files.pythonhosted.org/packages/09/63/c66418c2e0268a31a4cf8a8b512685748200f8e8e8ec6c507ce14e773529/numpy-2.4.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d30291931c915b2ab5717c2974bb95ee891a1cf22ebc16a8006bd59cd210d40a", size = 15677205, upload-time = "2026-01-31T23:12:14.33Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6c/7f237821c9642fb2a04d2f1e88b4295677144ca93285fd76eff3bcba858d/numpy-2.4.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bba37bc29d4d85761deed3954a1bc62be7cf462b9510b51d367b769a8c8df325", size = 16611738, upload-time = "2026-01-31T23:12:16.525Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a7/39c4cdda9f019b609b5c473899d87abff092fc908cfe4d1ecb2fcff453b0/numpy-2.4.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b2f0073ed0868db1dcd86e052d37279eef185b9c8db5bf61f30f46adac63c909", size = 17028888, upload-time = "2026-01-31T23:12:19.306Z" }, + { url = "https://files.pythonhosted.org/packages/da/b3/e84bb64bdfea967cc10950d71090ec2d84b49bc691df0025dddb7c26e8e3/numpy-2.4.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7f54844851cdb630ceb623dcec4db3240d1ac13d4990532446761baede94996a", size = 18339556, upload-time = "2026-01-31T23:12:21.816Z" }, + { url = "https://files.pythonhosted.org/packages/88/f5/954a291bc1192a27081706862ac62bb5920fbecfbaa302f64682aa90beed/numpy-2.4.2-cp314-cp314-win32.whl", hash = "sha256:12e26134a0331d8dbd9351620f037ec470b7c75929cb8a1537f6bfe411152a1a", size = 6006899, upload-time = "2026-01-31T23:12:24.14Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/eff72a91b2efdd1bc98b3b8759f6a1654aa87612fc86e3d87d6fe4f948c4/numpy-2.4.2-cp314-cp314-win_amd64.whl", hash = "sha256:068cdb2d0d644cdb45670810894f6a0600797a69c05f1ac478e8d31670b8ee75", size = 12443072, upload-time = "2026-01-31T23:12:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/37/75/62726948db36a56428fce4ba80a115716dc4fad6a3a4352487f8bb950966/numpy-2.4.2-cp314-cp314-win_arm64.whl", hash = "sha256:6ed0be1ee58eef41231a5c943d7d1375f093142702d5723ca2eb07db9b934b05", size = 10494886, upload-time = "2026-01-31T23:12:28.488Z" }, + { url = "https://files.pythonhosted.org/packages/36/2f/ee93744f1e0661dc267e4b21940870cabfae187c092e1433b77b09b50ac4/numpy-2.4.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:98f16a80e917003a12c0580f97b5f875853ebc33e2eaa4bccfc8201ac6869308", size = 14818567, upload-time = "2026-01-31T23:12:30.709Z" }, + { url = "https://files.pythonhosted.org/packages/a7/24/6535212add7d76ff938d8bdc654f53f88d35cddedf807a599e180dcb8e66/numpy-2.4.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:20abd069b9cda45874498b245c8015b18ace6de8546bf50dfa8cea1696ed06ef", size = 5328372, upload-time = "2026-01-31T23:12:32.962Z" }, + { url = "https://files.pythonhosted.org/packages/5e/9d/c48f0a035725f925634bf6b8994253b43f2047f6778a54147d7e213bc5a7/numpy-2.4.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e98c97502435b53741540a5717a6749ac2ada901056c7db951d33e11c885cc7d", size = 6649306, upload-time = "2026-01-31T23:12:34.797Z" }, + { url = "https://files.pythonhosted.org/packages/81/05/7c73a9574cd4a53a25907bad38b59ac83919c0ddc8234ec157f344d57d9a/numpy-2.4.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da6cad4e82cb893db4b69105c604d805e0c3ce11501a55b5e9f9083b47d2ffe8", size = 15722394, upload-time = "2026-01-31T23:12:36.565Z" }, + { url = "https://files.pythonhosted.org/packages/35/fa/4de10089f21fc7d18442c4a767ab156b25c2a6eaf187c0db6d9ecdaeb43f/numpy-2.4.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e4424677ce4b47fe73c8b5556d876571f7c6945d264201180db2dc34f676ab5", size = 16653343, upload-time = "2026-01-31T23:12:39.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f9/d33e4ffc857f3763a57aa85650f2e82486832d7492280ac21ba9efda80da/numpy-2.4.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2b8f157c8a6f20eb657e240f8985cc135598b2b46985c5bccbde7616dc9c6b1e", size = 17078045, upload-time = "2026-01-31T23:12:42.041Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b8/54bdb43b6225badbea6389fa038c4ef868c44f5890f95dd530a218706da3/numpy-2.4.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5daf6f3914a733336dab21a05cdec343144600e964d2fcdabaac0c0269874b2a", size = 18380024, upload-time = "2026-01-31T23:12:44.331Z" }, + { url = "https://files.pythonhosted.org/packages/a5/55/6e1a61ded7af8df04016d81b5b02daa59f2ea9252ee0397cb9f631efe9e5/numpy-2.4.2-cp314-cp314t-win32.whl", hash = "sha256:8c50dd1fc8826f5b26a5ee4d77ca55d88a895f4e4819c7ecc2a9f5905047a443", size = 6153937, upload-time = "2026-01-31T23:12:47.229Z" }, + { url = "https://files.pythonhosted.org/packages/45/aa/fa6118d1ed6d776b0983f3ceac9b1a5558e80df9365b1c3aa6d42bf9eee4/numpy-2.4.2-cp314-cp314t-win_amd64.whl", hash = "sha256:fcf92bee92742edd401ba41135185866f7026c502617f422eb432cfeca4fe236", size = 12631844, upload-time = "2026-01-31T23:12:48.997Z" }, + { url = "https://files.pythonhosted.org/packages/32/0a/2ec5deea6dcd158f254a7b372fb09cfba5719419c8d66343bab35237b3fb/numpy-2.4.2-cp314-cp314t-win_arm64.whl", hash = "sha256:1f92f53998a17265194018d1cc321b2e96e900ca52d54c7c77837b71b9465181", size = 10565379, upload-time = "2026-01-31T23:12:51.345Z" }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, +] + +[[package]] +name = "pillow" +version = "12.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1f/42/5c74462b4fd957fcd7b13b04fb3205ff8349236ea74c7c375766d6c82288/pillow-12.1.1.tar.gz", hash = "sha256:9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4", size = 46980264, upload-time = "2026-02-11T04:23:07.146Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/d0/bebb3ffbf31c5a8e97241476c4cf8b9828954693ce6744b4a2326af3e16b/pillow-12.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:417423db963cb4be8bac3fc1204fe61610f6abeed1580a7a2cbb2fbda20f12af", size = 4062652, upload-time = "2026-02-11T04:21:53.19Z" }, + { url = "https://files.pythonhosted.org/packages/2d/c0/0e16fb0addda4851445c28f8350d8c512f09de27bbb0d6d0bbf8b6709605/pillow-12.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:b957b71c6b2387610f556a7eb0828afbe40b4a98036fc0d2acfa5a44a0c2036f", size = 4138823, upload-time = "2026-02-11T04:22:03.088Z" }, + { url = "https://files.pythonhosted.org/packages/6b/fb/6170ec655d6f6bb6630a013dd7cf7bc218423d7b5fa9071bf63dc32175ae/pillow-12.1.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:097690ba1f2efdeb165a20469d59d8bb03c55fb6621eb2041a060ae8ea3e9642", size = 3601143, upload-time = "2026-02-11T04:22:04.909Z" }, + { url = "https://files.pythonhosted.org/packages/59/04/dc5c3f297510ba9a6837cbb318b87dd2b8f73eb41a43cc63767f65cb599c/pillow-12.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2815a87ab27848db0321fb78c7f0b2c8649dee134b7f2b80c6a45c6831d75ccd", size = 5266254, upload-time = "2026-02-11T04:22:07.656Z" }, + { url = "https://files.pythonhosted.org/packages/05/30/5db1236b0d6313f03ebf97f5e17cda9ca060f524b2fcc875149a8360b21c/pillow-12.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f7ed2c6543bad5a7d5530eb9e78c53132f93dfa44a28492db88b41cdab885202", size = 4657499, upload-time = "2026-02-11T04:22:09.613Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/008d2ca0eb612e81968e8be0bbae5051efba24d52debf930126d7eaacbba/pillow-12.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:652a2c9ccfb556235b2b501a3a7cf3742148cd22e04b5625c5fe057ea3e3191f", size = 6232137, upload-time = "2026-02-11T04:22:11.434Z" }, + { url = "https://files.pythonhosted.org/packages/70/f1/f14d5b8eeb4b2cd62b9f9f847eb6605f103df89ef619ac68f92f748614ea/pillow-12.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d6e4571eedf43af33d0fc233a382a76e849badbccdf1ac438841308652a08e1f", size = 8042721, upload-time = "2026-02-11T04:22:13.321Z" }, + { url = "https://files.pythonhosted.org/packages/5a/d6/17824509146e4babbdabf04d8171491fa9d776f7061ff6e727522df9bd03/pillow-12.1.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b574c51cf7d5d62e9be37ba446224b59a2da26dc4c1bb2ecbe936a4fb1a7cb7f", size = 6347798, upload-time = "2026-02-11T04:22:15.449Z" }, + { url = "https://files.pythonhosted.org/packages/d1/ee/c85a38a9ab92037a75615aba572c85ea51e605265036e00c5b67dfafbfe2/pillow-12.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a37691702ed687799de29a518d63d4682d9016932db66d4e90c345831b02fb4e", size = 7039315, upload-time = "2026-02-11T04:22:17.24Z" }, + { url = "https://files.pythonhosted.org/packages/ec/f3/bc8ccc6e08a148290d7523bde4d9a0d6c981db34631390dc6e6ec34cacf6/pillow-12.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f95c00d5d6700b2b890479664a06e754974848afaae5e21beb4d83c106923fd0", size = 6462360, upload-time = "2026-02-11T04:22:19.111Z" }, + { url = "https://files.pythonhosted.org/packages/f6/ab/69a42656adb1d0665ab051eec58a41f169ad295cf81ad45406963105408f/pillow-12.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:559b38da23606e68681337ad74622c4dbba02254fc9cb4488a305dd5975c7eeb", size = 7165438, upload-time = "2026-02-11T04:22:21.041Z" }, + { url = "https://files.pythonhosted.org/packages/02/46/81f7aa8941873f0f01d4b55cc543b0a3d03ec2ee30d617a0448bf6bd6dec/pillow-12.1.1-cp314-cp314-win32.whl", hash = "sha256:03edcc34d688572014ff223c125a3f77fb08091e4607e7745002fc214070b35f", size = 6431503, upload-time = "2026-02-11T04:22:22.833Z" }, + { url = "https://files.pythonhosted.org/packages/40/72/4c245f7d1044b67affc7f134a09ea619d4895333d35322b775b928180044/pillow-12.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:50480dcd74fa63b8e78235957d302d98d98d82ccbfac4c7e12108ba9ecbdba15", size = 7176748, upload-time = "2026-02-11T04:22:24.64Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ad/8a87bdbe038c5c698736e3348af5c2194ffb872ea52f11894c95f9305435/pillow-12.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:5cb1785d97b0c3d1d1a16bc1d710c4a0049daefc4935f3a8f31f827f4d3d2e7f", size = 2544314, upload-time = "2026-02-11T04:22:26.685Z" }, + { url = "https://files.pythonhosted.org/packages/6c/9d/efd18493f9de13b87ede7c47e69184b9e859e4427225ea962e32e56a49bc/pillow-12.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1f90cff8aa76835cba5769f0b3121a22bd4eb9e6884cfe338216e557a9a548b8", size = 5268612, upload-time = "2026-02-11T04:22:29.884Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f1/4f42eb2b388eb2ffc660dcb7f7b556c1015c53ebd5f7f754965ef997585b/pillow-12.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1f1be78ce9466a7ee64bfda57bdba0f7cc499d9794d518b854816c41bf0aa4e9", size = 4660567, upload-time = "2026-02-11T04:22:31.799Z" }, + { url = "https://files.pythonhosted.org/packages/01/54/df6ef130fa43e4b82e32624a7b821a2be1c5653a5fdad8469687a7db4e00/pillow-12.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:42fc1f4677106188ad9a55562bbade416f8b55456f522430fadab3cef7cd4e60", size = 6269951, upload-time = "2026-02-11T04:22:33.921Z" }, + { url = "https://files.pythonhosted.org/packages/a9/48/618752d06cc44bb4aae8ce0cd4e6426871929ed7b46215638088270d9b34/pillow-12.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98edb152429ab62a1818039744d8fbb3ccab98a7c29fc3d5fcef158f3f1f68b7", size = 8074769, upload-time = "2026-02-11T04:22:35.877Z" }, + { url = "https://files.pythonhosted.org/packages/c3/bd/f1d71eb39a72fa088d938655afba3e00b38018d052752f435838961127d8/pillow-12.1.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d470ab1178551dd17fdba0fef463359c41aaa613cdcd7ff8373f54be629f9f8f", size = 6381358, upload-time = "2026-02-11T04:22:37.698Z" }, + { url = "https://files.pythonhosted.org/packages/64/ef/c784e20b96674ed36a5af839305f55616f8b4f8aa8eeccf8531a6e312243/pillow-12.1.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6408a7b064595afcab0a49393a413732a35788f2a5092fdc6266952ed67de586", size = 7068558, upload-time = "2026-02-11T04:22:39.597Z" }, + { url = "https://files.pythonhosted.org/packages/73/cb/8059688b74422ae61278202c4e1ad992e8a2e7375227be0a21c6b87ca8d5/pillow-12.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5d8c41325b382c07799a3682c1c258469ea2ff97103c53717b7893862d0c98ce", size = 6493028, upload-time = "2026-02-11T04:22:42.73Z" }, + { url = "https://files.pythonhosted.org/packages/c6/da/e3c008ed7d2dd1f905b15949325934510b9d1931e5df999bb15972756818/pillow-12.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c7697918b5be27424e9ce568193efd13d925c4481dd364e43f5dff72d33e10f8", size = 7191940, upload-time = "2026-02-11T04:22:44.543Z" }, + { url = "https://files.pythonhosted.org/packages/01/4a/9202e8d11714c1fc5951f2e1ef362f2d7fbc595e1f6717971d5dd750e969/pillow-12.1.1-cp314-cp314t-win32.whl", hash = "sha256:d2912fd8114fc5545aa3a4b5576512f64c55a03f3ebcca4c10194d593d43ea36", size = 6438736, upload-time = "2026-02-11T04:22:46.347Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ca/cbce2327eb9885476b3957b2e82eb12c866a8b16ad77392864ad601022ce/pillow-12.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:4ceb838d4bd9dab43e06c363cab2eebf63846d6a4aeaea283bbdfd8f1a8ed58b", size = 7182894, upload-time = "2026-02-11T04:22:48.114Z" }, + { url = "https://files.pythonhosted.org/packages/ec/d2/de599c95ba0a973b94410477f8bf0b6f0b5e67360eb89bcb1ad365258beb/pillow-12.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:7b03048319bfc6170e93bd60728a1af51d3dd7704935feb228c4d4faab35d334", size = 2546446, upload-time = "2026-02-11T04:22:50.342Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/a1/ae859ffac5a3338a66b74c5e29e244fd3a3cc483c89feaf9f56c39898d75/pydantic_settings-2.13.0.tar.gz", hash = "sha256:95d875514610e8595672800a5c40b073e99e4aae467fa7c8f9c263061ea2e1fe", size = 222450, upload-time = "2026-02-15T12:11:23.476Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/1a/dd1b9d7e627486cf8e7523d09b70010e05a4bc41414f4ae6ce184cf0afb6/pydantic_settings-2.13.0-py3-none-any.whl", hash = "sha256:d67b576fff39cd086b595441bf9c75d4193ca9c0ed643b90360694d0f1240246", size = 58429, upload-time = "2026-02-15T12:11:22.133Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "redis" +version = "7.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/32/6fac13a11e73e1bc67a2ae821a72bfe4c2d8c4c48f0267e4a952be0f1bae/redis-7.2.0.tar.gz", hash = "sha256:4dd5bf4bd4ae80510267f14185a15cba2a38666b941aff68cccf0256b51c1f26", size = 4901247, upload-time = "2026-02-16T17:16:22.797Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/cf/f6180b67f99688d83e15c84c5beda831d1d341e95872d224f87ccafafe61/redis-7.2.0-py3-none-any.whl", hash = "sha256:01f591f8598e483f1842d429e8ae3a820804566f1c73dca1b80e23af9fba0497", size = 394898, upload-time = "2026-02-16T17:16:20.693Z" }, +] + +[package.optional-dependencies] +hiredis = [ + { name = "hiredis" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rich" +version = "14.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/99/a4cab2acbb884f80e558b0771e97e21e939c5dfb460f488d19df485e8298/rich-14.3.2.tar.gz", hash = "sha256:e712f11c1a562a11843306f5ed999475f09ac31ffb64281f73ab29ffdda8b3b8", size = 230143, upload-time = "2026-02-01T16:20:47.908Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/45/615f5babd880b4bd7d405cc0dc348234c5ffb6ed1ea33e152ede08b2072d/rich-14.3.2-py3-none-any.whl", hash = "sha256:08e67c3e90884651da3239ea668222d19bea7b589149d8014a21c633420dbb69", size = 309963, upload-time = "2026-02-01T16:20:46.078Z" }, +] + +[[package]] +name = "rich-toolkit" +version = "0.19.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/c9/4bbf4bfee195ed1b7d7a6733cc523ca61dbfb4a3e3c12ea090aaffd97597/rich_toolkit-0.19.4.tar.gz", hash = "sha256:52e23d56f9dc30d1343eb3b3f6f18764c313fbfea24e52e6a1d6069bec9c18eb", size = 193951, upload-time = "2026-02-12T10:08:15.814Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/31/97d39719def09c134385bfcfbedfed255168b571e7beb3ad7765aae660ca/rich_toolkit-0.19.4-py3-none-any.whl", hash = "sha256:34ac344de8862801644be8b703e26becf44b047e687f208d7829e8f7cfc311d6", size = 32757, upload-time = "2026-02-12T10:08:15.037Z" }, +] + +[[package]] +name = "ruff" +version = "0.15.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/04/dc/4e6ac71b511b141cf626357a3946679abeba4cf67bc7cc5a17920f31e10d/ruff-0.15.1.tar.gz", hash = "sha256:c590fe13fb57c97141ae975c03a1aedb3d3156030cabd740d6ff0b0d601e203f", size = 4540855, upload-time = "2026-02-12T23:09:09.998Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/bf/e6e4324238c17f9d9120a9d60aa99a7daaa21204c07fcd84e2ef03bb5fd1/ruff-0.15.1-py3-none-linux_armv6l.whl", hash = "sha256:b101ed7cf4615bda6ffe65bdb59f964e9f4a0d3f85cbf0e54f0ab76d7b90228a", size = 10367819, upload-time = "2026-02-12T23:09:03.598Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ea/c8f89d32e7912269d38c58f3649e453ac32c528f93bb7f4219258be2e7ed/ruff-0.15.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:939c995e9277e63ea632cc8d3fae17aa758526f49a9a850d2e7e758bfef46602", size = 10798618, upload-time = "2026-02-12T23:09:22.928Z" }, + { url = "https://files.pythonhosted.org/packages/5e/0f/1d0d88bc862624247d82c20c10d4c0f6bb2f346559d8af281674cf327f15/ruff-0.15.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1d83466455fdefe60b8d9c8df81d3c1bbb2115cede53549d3b522ce2bc703899", size = 10148518, upload-time = "2026-02-12T23:08:58.339Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c8/291c49cefaa4a9248e986256df2ade7add79388fe179e0691be06fae6f37/ruff-0.15.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9457e3c3291024866222b96108ab2d8265b477e5b1534c7ddb1810904858d16", size = 10518811, upload-time = "2026-02-12T23:09:31.865Z" }, + { url = "https://files.pythonhosted.org/packages/c3/1a/f5707440e5ae43ffa5365cac8bbb91e9665f4a883f560893829cf16a606b/ruff-0.15.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92c92b003e9d4f7fbd33b1867bb15a1b785b1735069108dfc23821ba045b29bc", size = 10196169, upload-time = "2026-02-12T23:09:17.306Z" }, + { url = "https://files.pythonhosted.org/packages/2a/ff/26ddc8c4da04c8fd3ee65a89c9fb99eaa5c30394269d424461467be2271f/ruff-0.15.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fe5c41ab43e3a06778844c586251eb5a510f67125427625f9eb2b9526535779", size = 10990491, upload-time = "2026-02-12T23:09:25.503Z" }, + { url = "https://files.pythonhosted.org/packages/fc/00/50920cb385b89413f7cdb4bb9bc8fc59c1b0f30028d8bccc294189a54955/ruff-0.15.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66a6dd6df4d80dc382c6484f8ce1bcceb55c32e9f27a8b94c32f6c7331bf14fb", size = 11843280, upload-time = "2026-02-12T23:09:19.88Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6d/2f5cad8380caf5632a15460c323ae326f1e1a2b5b90a6ee7519017a017ca/ruff-0.15.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a4a42cbb8af0bda9bcd7606b064d7c0bc311a88d141d02f78920be6acb5aa83", size = 11274336, upload-time = "2026-02-12T23:09:14.907Z" }, + { url = "https://files.pythonhosted.org/packages/a3/1d/5f56cae1d6c40b8a318513599b35ea4b075d7dc1cd1d04449578c29d1d75/ruff-0.15.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ab064052c31dddada35079901592dfba2e05f5b1e43af3954aafcbc1096a5b2", size = 11137288, upload-time = "2026-02-12T23:09:07.475Z" }, + { url = "https://files.pythonhosted.org/packages/cd/20/6f8d7d8f768c93b0382b33b9306b3b999918816da46537d5a61635514635/ruff-0.15.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5631c940fe9fe91f817a4c2ea4e81f47bee3ca4aa646134a24374f3c19ad9454", size = 11070681, upload-time = "2026-02-12T23:08:55.43Z" }, + { url = "https://files.pythonhosted.org/packages/9a/67/d640ac76069f64cdea59dba02af2e00b1fa30e2103c7f8d049c0cff4cafd/ruff-0.15.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:68138a4ba184b4691ccdc39f7795c66b3c68160c586519e7e8444cf5a53e1b4c", size = 10486401, upload-time = "2026-02-12T23:09:27.927Z" }, + { url = "https://files.pythonhosted.org/packages/65/3d/e1429f64a3ff89297497916b88c32a5cc88eeca7e9c787072d0e7f1d3e1e/ruff-0.15.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:518f9af03bfc33c03bdb4cb63fabc935341bb7f54af500f92ac309ecfbba6330", size = 10197452, upload-time = "2026-02-12T23:09:12.147Z" }, + { url = "https://files.pythonhosted.org/packages/78/83/e2c3bade17dad63bf1e1c2ffaf11490603b760be149e1419b07049b36ef2/ruff-0.15.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:da79f4d6a826caaea95de0237a67e33b81e6ec2e25fc7e1993a4015dffca7c61", size = 10693900, upload-time = "2026-02-12T23:09:34.418Z" }, + { url = "https://files.pythonhosted.org/packages/a1/27/fdc0e11a813e6338e0706e8b39bb7a1d61ea5b36873b351acee7e524a72a/ruff-0.15.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3dd86dccb83cd7d4dcfac303ffc277e6048600dfc22e38158afa208e8bf94a1f", size = 11227302, upload-time = "2026-02-12T23:09:36.536Z" }, + { url = "https://files.pythonhosted.org/packages/f6/58/ac864a75067dcbd3b95be5ab4eb2b601d7fbc3d3d736a27e391a4f92a5c1/ruff-0.15.1-py3-none-win32.whl", hash = "sha256:660975d9cb49b5d5278b12b03bb9951d554543a90b74ed5d366b20e2c57c2098", size = 10462555, upload-time = "2026-02-12T23:09:29.899Z" }, + { url = "https://files.pythonhosted.org/packages/e0/5e/d4ccc8a27ecdb78116feac4935dfc39d1304536f4296168f91ed3ec00cd2/ruff-0.15.1-py3-none-win_amd64.whl", hash = "sha256:c820fef9dd5d4172a6570e5721704a96c6679b80cf7be41659ed439653f62336", size = 11599956, upload-time = "2026-02-12T23:09:01.157Z" }, + { url = "https://files.pythonhosted.org/packages/2a/07/5bda6a85b220c64c65686bc85bd0bbb23b29c62b3a9f9433fa55f17cda93/ruff-0.15.1-py3-none-win_arm64.whl", hash = "sha256:5ff7d5f0f88567850f45081fac8f4ec212be8d0b963e385c3f7d0d2eb4899416", size = 10874604, upload-time = "2026-02-12T23:09:05.515Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "starlette" +version = "0.52.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz", hash = "sha256:834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933", size = 2653702, upload-time = "2026-01-18T13:34:11.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/0d/13d1d239a25cbfb19e740db83143e95c772a1fe10202dda4b76792b114dd/starlette-0.52.1-py3-none-any.whl", hash = "sha256:0029d43eb3d273bc4f83a08720b4912ea4b071087a3b48db01b7c839f7954d74", size = 74272, upload-time = "2026-01-18T13:34:09.188Z" }, +] + +[[package]] +name = "tomli-w" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz", hash = "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021", size = 7184, upload-time = "2025-01-15T12:07:24.262Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl", hash = "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90", size = 6675, upload-time = "2025-01-15T12:07:22.074Z" }, +] + +[[package]] +name = "typer" +version = "0.24.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-doc" }, + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/b6/3e681d3b6bb22647509bdbfdd18055d5adc0dce5c5585359fa46ff805fdc/typer-0.24.0.tar.gz", hash = "sha256:f9373dc4eff901350694f519f783c29b6d7a110fc0dcc11b1d7e353b85ca6504", size = 118380, upload-time = "2026-02-16T22:08:48.496Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/d0/4da85c2a45054bb661993c93524138ace4956cb075a7ae0c9d1deadc331b/typer-0.24.0-py3-none-any.whl", hash = "sha256:5fc435a9c8356f6160ed6e85a6301fdd6e3d8b2851da502050d1f92c5e9eddc8", size = 56441, upload-time = "2026-02-16T22:08:47.535Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.41.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/ce/eeb58ae4ac36fe09e3842eb02e0eb676bf2c53ae062b98f1b2531673efdd/uvicorn-0.41.0.tar.gz", hash = "sha256:09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a", size = 82633, upload-time = "2026-02-16T23:07:24.1Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/e4/d04a086285c20886c0daad0e026f250869201013d18f81d9ff5eada73a88/uvicorn-0.41.0-py3-none-any.whl", hash = "sha256:29e35b1d2c36a04b9e180d4007ede3bcb32a85fbdfd6c6aeb3f26839de088187", size = 68783, upload-time = "2026-02-16T23:07:22.357Z" }, +] + +[package.optional-dependencies] +standard = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "httptools" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, + { name = "watchfiles" }, + { name = "websockets" }, +] + +[[package]] +name = "uvloop" +version = "0.22.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz", hash = "sha256:6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f", size = 2443250, upload-time = "2025-10-16T22:17:19.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", size = 1362067, upload-time = "2025-10-16T22:16:44.503Z" }, + { url = "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", size = 752423, upload-time = "2025-10-16T22:16:45.968Z" }, + { url = "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", size = 4272437, upload-time = "2025-10-16T22:16:47.451Z" }, + { url = "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", size = 4292101, upload-time = "2025-10-16T22:16:49.318Z" }, + { url = "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", size = 4114158, upload-time = "2025-10-16T22:16:50.517Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", size = 4177360, upload-time = "2025-10-16T22:16:52.646Z" }, + { url = "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", size = 1454790, upload-time = "2025-10-16T22:16:54.355Z" }, + { url = "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", size = 796783, upload-time = "2025-10-16T22:16:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", size = 4647548, upload-time = "2025-10-16T22:16:57.008Z" }, + { url = "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", size = 4467065, upload-time = "2025-10-16T22:16:58.206Z" }, + { url = "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", size = 4328384, upload-time = "2025-10-16T22:16:59.36Z" }, + { url = "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", size = 4296730, upload-time = "2025-10-16T22:17:00.744Z" }, +] + +[[package]] +name = "watchfiles" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz", hash = "sha256:a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2", size = 94440, upload-time = "2025-10-14T15:06:21.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/f4/0872229324ef69b2c3edec35e84bd57a1289e7d3fe74588048ed8947a323/watchfiles-1.1.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:d1715143123baeeaeadec0528bb7441103979a1d5f6fd0e1f915383fea7ea6d5", size = 404315, upload-time = "2025-10-14T15:05:26.501Z" }, + { url = "https://files.pythonhosted.org/packages/7b/22/16d5331eaed1cb107b873f6ae1b69e9ced582fcf0c59a50cd84f403b1c32/watchfiles-1.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:39574d6370c4579d7f5d0ad940ce5b20db0e4117444e39b6d8f99db5676c52fd", size = 390869, upload-time = "2025-10-14T15:05:27.649Z" }, + { url = "https://files.pythonhosted.org/packages/b2/7e/5643bfff5acb6539b18483128fdc0ef2cccc94a5b8fbda130c823e8ed636/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7365b92c2e69ee952902e8f70f3ba6360d0d596d9299d55d7d386df84b6941fb", size = 449919, upload-time = "2025-10-14T15:05:28.701Z" }, + { url = "https://files.pythonhosted.org/packages/51/2e/c410993ba5025a9f9357c376f48976ef0e1b1aefb73b97a5ae01a5972755/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfff9740c69c0e4ed32416f013f3c45e2ae42ccedd1167ef2d805c000b6c71a5", size = 460845, upload-time = "2025-10-14T15:05:30.064Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a4/2df3b404469122e8680f0fcd06079317e48db58a2da2950fb45020947734/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b27cf2eb1dda37b2089e3907d8ea92922b673c0c427886d4edc6b94d8dfe5db3", size = 489027, upload-time = "2025-10-14T15:05:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/ea/84/4587ba5b1f267167ee715b7f66e6382cca6938e0a4b870adad93e44747e6/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:526e86aced14a65a5b0ec50827c745597c782ff46b571dbfe46192ab9e0b3c33", size = 595615, upload-time = "2025-10-14T15:05:32.074Z" }, + { url = "https://files.pythonhosted.org/packages/6a/0f/c6988c91d06e93cd0bb3d4a808bcf32375ca1904609835c3031799e3ecae/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04e78dd0b6352db95507fd8cb46f39d185cf8c74e4cf1e4fbad1d3df96faf510", size = 474836, upload-time = "2025-10-14T15:05:33.209Z" }, + { url = "https://files.pythonhosted.org/packages/b4/36/ded8aebea91919485b7bbabbd14f5f359326cb5ec218cd67074d1e426d74/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c85794a4cfa094714fb9c08d4a218375b2b95b8ed1666e8677c349906246c05", size = 455099, upload-time = "2025-10-14T15:05:34.189Z" }, + { url = "https://files.pythonhosted.org/packages/98/e0/8c9bdba88af756a2fce230dd365fab2baf927ba42cd47521ee7498fd5211/watchfiles-1.1.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:74d5012b7630714b66be7b7b7a78855ef7ad58e8650c73afc4c076a1f480a8d6", size = 630626, upload-time = "2025-10-14T15:05:35.216Z" }, + { url = "https://files.pythonhosted.org/packages/2a/84/a95db05354bf2d19e438520d92a8ca475e578c647f78f53197f5a2f17aaf/watchfiles-1.1.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:8fbe85cb3201c7d380d3d0b90e63d520f15d6afe217165d7f98c9c649654db81", size = 622519, upload-time = "2025-10-14T15:05:36.259Z" }, + { url = "https://files.pythonhosted.org/packages/1d/ce/d8acdc8de545de995c339be67711e474c77d643555a9bb74a9334252bd55/watchfiles-1.1.1-cp314-cp314-win32.whl", hash = "sha256:3fa0b59c92278b5a7800d3ee7733da9d096d4aabcfabb9a928918bd276ef9b9b", size = 272078, upload-time = "2025-10-14T15:05:37.63Z" }, + { url = "https://files.pythonhosted.org/packages/c4/c9/a74487f72d0451524be827e8edec251da0cc1fcf111646a511ae752e1a3d/watchfiles-1.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:c2047d0b6cea13b3316bdbafbfa0c4228ae593d995030fda39089d36e64fc03a", size = 287664, upload-time = "2025-10-14T15:05:38.95Z" }, + { url = "https://files.pythonhosted.org/packages/df/b8/8ac000702cdd496cdce998c6f4ee0ca1f15977bba51bdf07d872ebdfc34c/watchfiles-1.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:842178b126593addc05acf6fce960d28bc5fae7afbaa2c6c1b3a7b9460e5be02", size = 277154, upload-time = "2025-10-14T15:05:39.954Z" }, + { url = "https://files.pythonhosted.org/packages/47/a8/e3af2184707c29f0f14b1963c0aace6529f9d1b8582d5b99f31bbf42f59e/watchfiles-1.1.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:88863fbbc1a7312972f1c511f202eb30866370ebb8493aef2812b9ff28156a21", size = 403820, upload-time = "2025-10-14T15:05:40.932Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/e47e307c2f4bd75f9f9e8afbe3876679b18e1bcec449beca132a1c5ffb2d/watchfiles-1.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:55c7475190662e202c08c6c0f4d9e345a29367438cf8e8037f3155e10a88d5a5", size = 390510, upload-time = "2025-10-14T15:05:41.945Z" }, + { url = "https://files.pythonhosted.org/packages/d5/a0/ad235642118090f66e7b2f18fd5c42082418404a79205cdfca50b6309c13/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f53fa183d53a1d7a8852277c92b967ae99c2d4dcee2bfacff8868e6e30b15f7", size = 448408, upload-time = "2025-10-14T15:05:43.385Z" }, + { url = "https://files.pythonhosted.org/packages/df/85/97fa10fd5ff3332ae17e7e40e20784e419e28521549780869f1413742e9d/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6aae418a8b323732fa89721d86f39ec8f092fc2af67f4217a2b07fd3e93c6101", size = 458968, upload-time = "2025-10-14T15:05:44.404Z" }, + { url = "https://files.pythonhosted.org/packages/47/c2/9059c2e8966ea5ce678166617a7f75ecba6164375f3b288e50a40dc6d489/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f096076119da54a6080e8920cbdaac3dbee667eb91dcc5e5b78840b87415bd44", size = 488096, upload-time = "2025-10-14T15:05:45.398Z" }, + { url = "https://files.pythonhosted.org/packages/94/44/d90a9ec8ac309bc26db808a13e7bfc0e4e78b6fc051078a554e132e80160/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00485f441d183717038ed2e887a7c868154f216877653121068107b227a2f64c", size = 596040, upload-time = "2025-10-14T15:05:46.502Z" }, + { url = "https://files.pythonhosted.org/packages/95/68/4e3479b20ca305cfc561db3ed207a8a1c745ee32bf24f2026a129d0ddb6e/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a55f3e9e493158d7bfdb60a1165035f1cf7d320914e7b7ea83fe22c6023b58fc", size = 473847, upload-time = "2025-10-14T15:05:47.484Z" }, + { url = "https://files.pythonhosted.org/packages/4f/55/2af26693fd15165c4ff7857e38330e1b61ab8c37d15dc79118cdba115b7a/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c91ed27800188c2ae96d16e3149f199d62f86c7af5f5f4d2c61a3ed8cd3666c", size = 455072, upload-time = "2025-10-14T15:05:48.928Z" }, + { url = "https://files.pythonhosted.org/packages/66/1d/d0d200b10c9311ec25d2273f8aad8c3ef7cc7ea11808022501811208a750/watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:311ff15a0bae3714ffb603e6ba6dbfba4065ab60865d15a6ec544133bdb21099", size = 629104, upload-time = "2025-10-14T15:05:49.908Z" }, + { url = "https://files.pythonhosted.org/packages/e3/bd/fa9bb053192491b3867ba07d2343d9f2252e00811567d30ae8d0f78136fe/watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:a916a2932da8f8ab582f242c065f5c81bed3462849ca79ee357dd9551b0e9b01", size = 622112, upload-time = "2025-10-14T15:05:50.941Z" }, +] + +[[package]] +name = "webdavclient3" +version = "3.14.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lxml" }, + { name = "python-dateutil" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/d8/ca3981053ed553363322f71745f543186b93439b6417f5d6ca91d4b4fec7/webdavclient3-3.14.7.tar.gz", hash = "sha256:6c04252b579bc015cec78081480c63eadf1030f382768248777c6203f059b3f5", size = 30836, upload-time = "2026-02-06T17:54:15.506Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/5e/0b1c2f494d03c4acbc44567fa68b954cd0fa3f21eb3f9528011da371f9b1/webdavclient3-3.14.7-py3-none-any.whl", hash = "sha256:a904381da8e3ae77b4ca9e11e05058d91a07704254d71c193c797f7c2fb15025", size = 22887, upload-time = "2026-02-06T17:54:14.068Z" }, +] + +[[package]] +name = "websockets" +version = "16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5", size = 179346, upload-time = "2026-01-10T09:23:47.181Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/1d/e88022630271f5bd349ed82417136281931e558d628dd52c4d8621b4a0b2/websockets-16.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8cc451a50f2aee53042ac52d2d053d08bf89bcb31ae799cb4487587661c038a0", size = 177406, upload-time = "2026-01-10T09:23:12.178Z" }, + { url = "https://files.pythonhosted.org/packages/f2/78/e63be1bf0724eeb4616efb1ae1c9044f7c3953b7957799abb5915bffd38e/websockets-16.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:daa3b6ff70a9241cf6c7fc9e949d41232d9d7d26fd3522b1ad2b4d62487e9904", size = 175085, upload-time = "2026-01-10T09:23:13.511Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f4/d3c9220d818ee955ae390cf319a7c7a467beceb24f05ee7aaaa2414345ba/websockets-16.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fd3cb4adb94a2a6e2b7c0d8d05cb94e6f1c81a0cf9dc2694fb65c7e8d94c42e4", size = 175328, upload-time = "2026-01-10T09:23:14.727Z" }, + { url = "https://files.pythonhosted.org/packages/63/bc/d3e208028de777087e6fb2b122051a6ff7bbcca0d6df9d9c2bf1dd869ae9/websockets-16.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:781caf5e8eee67f663126490c2f96f40906594cb86b408a703630f95550a8c3e", size = 185044, upload-time = "2026-01-10T09:23:15.939Z" }, + { url = "https://files.pythonhosted.org/packages/ad/6e/9a0927ac24bd33a0a9af834d89e0abc7cfd8e13bed17a86407a66773cc0e/websockets-16.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caab51a72c51973ca21fa8a18bd8165e1a0183f1ac7066a182ff27107b71e1a4", size = 186279, upload-time = "2026-01-10T09:23:17.148Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ca/bf1c68440d7a868180e11be653c85959502efd3a709323230314fda6e0b3/websockets-16.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19c4dc84098e523fd63711e563077d39e90ec6702aff4b5d9e344a60cb3c0cb1", size = 185711, upload-time = "2026-01-10T09:23:18.372Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f8/fdc34643a989561f217bb477cbc47a3a07212cbda91c0e4389c43c296ebf/websockets-16.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a5e18a238a2b2249c9a9235466b90e96ae4795672598a58772dd806edc7ac6d3", size = 184982, upload-time = "2026-01-10T09:23:19.652Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d1/574fa27e233764dbac9c52730d63fcf2823b16f0856b3329fc6268d6ae4f/websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8", size = 177915, upload-time = "2026-01-10T09:23:21.458Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f1/ae6b937bf3126b5134ce1f482365fde31a357c784ac51852978768b5eff4/websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d", size = 178381, upload-time = "2026-01-10T09:23:22.715Z" }, + { url = "https://files.pythonhosted.org/packages/06/9b/f791d1db48403e1f0a27577a6beb37afae94254a8c6f08be4a23e4930bc0/websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244", size = 177737, upload-time = "2026-01-10T09:23:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/bd/40/53ad02341fa33b3ce489023f635367a4ac98b73570102ad2cdd770dacc9a/websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e", size = 175268, upload-time = "2026-01-10T09:23:25.781Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/6158d4e459b984f949dcbbb0c5d270154c7618e11c01029b9bbd1bb4c4f9/websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641", size = 175486, upload-time = "2026-01-10T09:23:27.033Z" }, + { url = "https://files.pythonhosted.org/packages/e5/2d/7583b30208b639c8090206f95073646c2c9ffd66f44df967981a64f849ad/websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8", size = 185331, upload-time = "2026-01-10T09:23:28.259Z" }, + { url = "https://files.pythonhosted.org/packages/45/b0/cce3784eb519b7b5ad680d14b9673a31ab8dcb7aad8b64d81709d2430aa8/websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e", size = 186501, upload-time = "2026-01-10T09:23:29.449Z" }, + { url = "https://files.pythonhosted.org/packages/19/60/b8ebe4c7e89fb5f6cdf080623c9d92789a53636950f7abacfc33fe2b3135/websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944", size = 186062, upload-time = "2026-01-10T09:23:31.368Z" }, + { url = "https://files.pythonhosted.org/packages/88/a8/a080593f89b0138b6cba1b28f8df5673b5506f72879322288b031337c0b8/websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206", size = 185356, upload-time = "2026-01-10T09:23:32.627Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b6/b9afed2afadddaf5ebb2afa801abf4b0868f42f8539bfe4b071b5266c9fe/websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6", size = 178085, upload-time = "2026-01-10T09:23:33.816Z" }, + { url = "https://files.pythonhosted.org/packages/9f/3e/28135a24e384493fa804216b79a6a6759a38cc4ff59118787b9fb693df93/websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd", size = 178531, upload-time = "2026-01-10T09:23:35.016Z" }, + { url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" }, +] From 67eebecd39b5b4ae44c914124ac41472a3ca46d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Wed, 18 Feb 2026 03:21:03 +0100 Subject: [PATCH 02/23] =?UTF-8?q?=F0=9F=94=A7=20minor=20refactoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - use `type` keyword instead of `typing.TypeAlias` - use `str` instead of `AnyStr` --- api/advent22_api/core/advent_image.py | 20 +++++++++++--------- api/advent22_api/core/calendar_config.py | 3 +-- api/advent22_api/core/settings.py | 6 +----- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/api/advent22_api/core/advent_image.py b/api/advent22_api/core/advent_image.py index 813165d..f170f52 100644 --- a/api/advent22_api/core/advent_image.py +++ b/api/advent22_api/core/advent_image.py @@ -1,7 +1,7 @@ import colorsys import logging from dataclasses import dataclass -from typing import AnyStr, Self, TypeAlias +from typing import Self, cast import numpy as np from PIL import Image as PILImage @@ -11,9 +11,9 @@ from PIL.ImageFont import FreeTypeFont from .config import Config -_RGB: TypeAlias = tuple[int, int, int] -_XY: TypeAlias = tuple[float, float] -_Box: TypeAlias = tuple[int, int, int, int] +type _RGB = tuple[int, int, int] +type _XY = tuple[float, float] +type _Box = tuple[int, int, int, int] _logger = logging.getLogger(__name__) @@ -56,7 +56,7 @@ class AdventImage: async def get_text_box( self, xy: _XY, - text: AnyStr, + text: str, font: FreeTypeFont, anchor: str | None = "mm", **text_kwargs, @@ -95,12 +95,12 @@ class AdventImage: pixel_data = np.asarray(self.img.crop(box)) mean_color: np.ndarray = np.mean(pixel_data, axis=(0, 1)) - return _RGB(mean_color.astype(int)) + return cast(_RGB, mean_color.astype(int)) async def hide_text( self, xy: _XY, - text: AnyStr, + text: str, font: FreeTypeFont, anchor: str | None = "mm", **text_kwargs, @@ -134,8 +134,10 @@ class AdventImage: else: tc_v -= 3 - text_color = colorsys.hsv_to_rgb(tc_h, tc_s, tc_v) - text_color = _RGB(int(val) for val in text_color) + text_color: tuple[int | float, int | float, int | float] = colorsys.hsv_to_rgb( + tc_h, tc_s, tc_v + ) + text_color = cast(_RGB, tuple(int(val) for val in text_color)) # Buchstaben verstecken ImageDraw.Draw(self.img).text( diff --git a/api/advent22_api/core/calendar_config.py b/api/advent22_api/core/calendar_config.py index 6760f09..8745232 100644 --- a/api/advent22_api/core/calendar_config.py +++ b/api/advent22_api/core/calendar_config.py @@ -1,5 +1,4 @@ import tomllib -from typing import TypeAlias import tomli_w from fastapi import Depends @@ -20,7 +19,7 @@ class DoorSaved(BaseModel): y2: int -DoorsSaved: TypeAlias = list[DoorSaved] +type DoorsSaved = list[DoorSaved] class CalendarConfig(BaseModel): diff --git a/api/advent22_api/core/settings.py b/api/advent22_api/core/settings.py index d0d2408..73a27f2 100644 --- a/api/advent22_api/core/settings.py +++ b/api/advent22_api/core/settings.py @@ -1,10 +1,6 @@ -from typing import TypeVar - from pydantic import BaseModel from pydantic_settings import BaseSettings, SettingsConfigDict -T = TypeVar("T") - class Credentials(BaseModel): username: str = "" @@ -71,7 +67,7 @@ class Settings(BaseSettings): # openapi settings ##### - def __dev_value(self, value: T) -> T | None: + def __dev_value[T](self, value: T) -> T | None: if self.production_mode: return None From d0a7daf7bec67d9b9342420a798c6c4451ab0026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Thu, 19 Feb 2026 03:09:28 +0100 Subject: [PATCH 03/23] =?UTF-8?q?=F0=9F=9A=A7=20api:=20re-scaffolding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - remove legacy "poetry.lock", "main.py" - flesh out launch.json to use only "fastapi-cli" - remove unneeded lines from "settings.json" - rework main "Dockerfile" for "uv" compliance - update ".dockerignore" --- .dockerignore | 9 +- Dockerfile | 125 +-- api/.vscode/launch.json | 22 +- api/.vscode/settings.json | 13 - api/advent22_api/main.py | 22 - api/poetry.lock | 1876 ------------------------------------- 6 files changed, 50 insertions(+), 2017 deletions(-) delete mode 100644 api/advent22_api/main.py delete mode 100644 api/poetry.lock diff --git a/.dockerignore b/.dockerignore index 3d87bc6..9c406e3 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,14 +11,17 @@ **/.dockerignore # found in python and JS dirs -**/__pycache__ -**/node_modules -**/.pytest_cache +**/__pycache__/ +**/node_modules/ +**/.pytest_cache/ +**/.ruff_cache/ +**/.venv/ # env files **/.env **/.env.local **/.env.*.local +api/api.conf # log files **/npm-debug.log* diff --git a/Dockerfile b/Dockerfile index 72888d6..27e059a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +1,6 @@ ARG NODE_VERSION=24 ARG PYTHON_VERSION=3.14-slim -############# -# build api # -############# - -ARG PYTHON_VERSION -FROM python:${PYTHON_VERSION} AS build-api - -# env setup -WORKDIR /usr/local/src/advent22_api -ENV \ - PATH="/root/.local/bin:${PATH}" - -# install poetry with export plugin -RUN set -ex; \ - \ - python -m pip --no-cache-dir install --upgrade pip wheel; \ - \ - apt-get update; apt-get install --yes --no-install-recommends \ - curl \ - ; rm -rf /var/lib/apt/lists/*; \ - \ - curl -sSL https://install.python-poetry.org | python3 -; \ - poetry self add poetry-plugin-export; - -# build dependency wheels -COPY api/pyproject.toml api/poetry.lock ./ -RUN set -ex; \ - \ - # # buildtime dependencies - # apt-get update; apt-get install --yes --no-install-recommends \ - # build-essential \ - # ; rm -rf /var/lib/apt/lists/*; \ - \ - # generate requirements.txt - poetry export \ - --format requirements.txt \ - --output requirements.txt; \ - \ - python3 -m pip --no-cache-dir wheel \ - --wheel-dir ./dist \ - --requirement requirements.txt; - -# build advent22_api wheel -COPY api ./ -RUN poetry build --format wheel --output ./dist - ############ # build ui # ############ @@ -71,59 +25,60 @@ RUN set -ex; \ # exclude webpack-bundle-analyzer output rm -f /tmp/advent22_ui/html/report.html; -###################### -# python preparation # -###################### - -ARG PYTHON_VERSION -FROM python:${PYTHON_VERSION} AS uvicorn-gunicorn - -# where credit is due ... -LABEL maintainer="Sebastián Ramirez " -WORKDIR /usr/local/share/uvicorn-gunicorn - -# install uvicorn-gunicorn -COPY ./scripts/mini-tiangolo ./ - -RUN set -ex; \ - chmod +x start.sh; \ - python3 -m pip --no-cache-dir install gunicorn; - -CMD ["/usr/local/share/uvicorn-gunicorn/start.sh"] - ########### # web app # ########### -FROM uvicorn-gunicorn AS production +ARG PYTHON_VERSION +FROM python:${PYTHON_VERSION} AS production # env setup -ENV \ - PRODUCTION_MODE="true" \ - PORT="8000" \ - MODULE_NAME="advent22_api.app" +ENV \ + PATH="/usr/local/share/advent22_api/.venv/bin:$PATH" \ + UV_COMPILE_BYTECODE=1 \ + UV_NO_DEV=1 \ + PRODUCTION_MODE="true" EXPOSE 8000 -WORKDIR /opt/advent22 -VOLUME [ "/opt/advent22" ] +# install advent22_api deps +WORKDIR /usr/local/share/advent22_api -COPY --from=build-api /usr/local/src/advent22_api/dist /usr/local/share/advent22_api.dist -RUN set -ex; \ - # remove example app - rm -rf /app; \ +RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ + --mount=type=cache,target=/root/.cache/uv \ + --mount=type=bind,source=api/uv.lock,target=uv.lock \ + --mount=type=bind,source=api/pyproject.toml,target=pyproject.toml \ \ - # # runtime dependencies - # apt-get update; apt-get install --yes --no-install-recommends \ - # ; rm -rf /var/lib/apt/lists/*; \ + uv sync \ + --locked \ + --no-install-project \ + --no-editable \ + ; + +# install advent22_api +COPY api ./ +RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ + --mount=type=cache,target=/root/.cache/uv \ \ - # install advent22_api wheels - python3 -m pip --no-cache-dir install --no-deps /usr/local/share/advent22_api.dist/*.whl; \ - \ - # prepare data directory - chown nobody:nogroup ./ + uv sync \ + --locked \ + --no-editable \ + ; + +CMD [ \ + "fastapi", "run", \ + "--host", "0.0.0.0", \ + "--port", "8000", \ + "--entrypoint", "advent22_api.app:app", \ + "--workers", "$(nproc)" \ +] # add prepared advent22_ui COPY --from=build-ui /tmp/advent22_ui /usr/local/share/advent22_ui +# prepare data directory +WORKDIR /opt/advent22 +VOLUME [ "/opt/advent22" ] +RUN chown -R nobody:nogroup ./ + # run as unprivileged user USER nobody diff --git a/api/.vscode/launch.json b/api/.vscode/launch.json index 5cee0a0..39e8b42 100644 --- a/api/.vscode/launch.json +++ b/api/.vscode/launch.json @@ -4,20 +4,6 @@ // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - // { - // "name": "Main Module", - // "type": "debugpy", - // "request": "launch", - // "module": "advent22_api.main", - // "pythonArgs": [ - // "-Xfrozen_modules=off", - // ], - // "env": { - // "PYDEVD_DISABLE_FILE_VALIDATION": "1", - // "WEBDAV__CACHE_TTL": "30", - // }, - // "justMyCode": true, - // }, { "name": "FastAPI CLI (dev)", "type": "debugpy", @@ -25,10 +11,10 @@ "module": "fastapi", "args": [ "dev", - "--entrypoint", - "advent22_api.app:app", - "--reload-dir", - "${workspaceFolder}/advent22_api", + "--host", "0.0.0.0", + "--port", "8000", + "--entrypoint", "advent22_api.app:app", + "--reload-dir", "${workspaceFolder}/advent22_api", ], "env": { "WEBDAV__CACHE_TTL": "30", diff --git a/api/.vscode/settings.json b/api/.vscode/settings.json index 8ef21ae..c6bd75b 100644 --- a/api/.vscode/settings.json +++ b/api/.vscode/settings.json @@ -10,21 +10,8 @@ }, }, - // "python.analysis.autoImportCompletions": true, - // "python.analysis.importFormat": "relative", - // "python.analysis.fixAll": [ - // "source.convertImportFormat", - // "source.unusedImports", - // ], - // "python.analysis.typeCheckingMode": "basic", - // "python.analysis.diagnosticMode": "workspace", - "python.testing.unittestEnabled": false, "python.testing.pytestEnabled": true, - "python.testing.pytestArgs": [ - "--import-mode=importlib", - "test", - ], "ty.diagnosticMode": "workspace", "ruff.nativeServer": "on", diff --git a/api/advent22_api/main.py b/api/advent22_api/main.py deleted file mode 100644 index 336a245..0000000 --- a/api/advent22_api/main.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python3 - -import uvicorn - -from .core.settings import SETTINGS - - -def main() -> None: - """ - If the `main` script is run, `uvicorn` is used to run the app. - """ - - uvicorn.run( - app="advent22_api.app:app", - host="0.0.0.0", - port=8000, - reload=not SETTINGS.production_mode, - ) - - -if __name__ == "__main__": - main() diff --git a/api/poetry.lock b/api/poetry.lock deleted file mode 100644 index fce840c..0000000 --- a/api/poetry.lock +++ /dev/null @@ -1,1876 +0,0 @@ -# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand. - -[[package]] -name = "annotated-doc" -version = "0.0.4" -description = "Document parameters, class attributes, return types, and variables inline, with Annotated." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320"}, - {file = "annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4"}, -] - -[[package]] -name = "annotated-types" -version = "0.7.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] - -[[package]] -name = "anyio" -version = "4.12.1" -description = "High-level concurrency and networking framework on top of asyncio or Trio" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c"}, - {file = "anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703"}, -] - -[package.dependencies] -idna = ">=2.8" -typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} - -[package.extras] -trio = ["trio (>=0.31.0) ; python_version < \"3.10\"", "trio (>=0.32.0) ; python_version >= \"3.10\""] - -[[package]] -name = "async-timeout" -version = "5.0.1" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_full_version < \"3.11.3\"" -files = [ - {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, - {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, -] - -[[package]] -name = "asyncify" -version = "0.12.1" -description = "sync 2 async" -optional = false -python-versions = "<4.0,>=3.11" -groups = ["main"] -files = [ - {file = "asyncify-0.12.1-py3-none-any.whl", hash = "sha256:8a015a2670674eb3814239c838f8c3dbe4e8724b706044a363943f1d45a85d77"}, - {file = "asyncify-0.12.1.tar.gz", hash = "sha256:222cea6321b1fec8ffd4c8744611c230ca77cb078a18fd1274a461a77b3d7ed0"}, -] - -[package.dependencies] -funkify = ">=0.7" - -[[package]] -name = "black" -version = "26.1.0" -description = "The uncompromising code formatter." -optional = false -python-versions = ">=3.10" -groups = ["dev"] -files = [ - {file = "black-26.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ca699710dece84e3ebf6e92ee15f5b8f72870ef984bf944a57a777a48357c168"}, - {file = "black-26.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5e8e75dabb6eb83d064b0db46392b25cabb6e784ea624219736e8985a6b3675d"}, - {file = "black-26.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb07665d9a907a1a645ee41a0df8a25ffac8ad9c26cdb557b7b88eeeeec934e0"}, - {file = "black-26.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:7ed300200918147c963c87700ccf9966dceaefbbb7277450a8d646fc5646bf24"}, - {file = "black-26.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:c5b7713daea9bf943f79f8c3b46f361cc5229e0e604dcef6a8bb6d1c37d9df89"}, - {file = "black-26.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3cee1487a9e4c640dc7467aaa543d6c0097c391dc8ac74eb313f2fbf9d7a7cb5"}, - {file = "black-26.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d62d14ca31c92adf561ebb2e5f2741bf8dea28aef6deb400d49cca011d186c68"}, - {file = "black-26.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fb1dafbbaa3b1ee8b4550a84425aac8874e5f390200f5502cf3aee4a2acb2f14"}, - {file = "black-26.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:101540cb2a77c680f4f80e628ae98bd2bd8812fb9d72ade4f8995c5ff019e82c"}, - {file = "black-26.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:6f3977a16e347f1b115662be07daa93137259c711e526402aa444d7a88fdc9d4"}, - {file = "black-26.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6eeca41e70b5f5c84f2f913af857cf2ce17410847e1d54642e658e078da6544f"}, - {file = "black-26.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dd39eef053e58e60204f2cdf059e2442e2eb08f15989eefe259870f89614c8b6"}, - {file = "black-26.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9459ad0d6cd483eacad4c6566b0f8e42af5e8b583cee917d90ffaa3778420a0a"}, - {file = "black-26.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a19915ec61f3a8746e8b10adbac4a577c6ba9851fa4a9e9fbfbcf319887a5791"}, - {file = "black-26.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:643d27fb5facc167c0b1b59d0315f2674a6e950341aed0fc05cf307d22bf4954"}, - {file = "black-26.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ba1d768fbfb6930fc93b0ecc32a43d8861ded16f47a40f14afa9bb04ab93d304"}, - {file = "black-26.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2b807c240b64609cb0e80d2200a35b23c7df82259f80bef1b2c96eb422b4aac9"}, - {file = "black-26.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1de0f7d01cc894066a1153b738145b194414cc6eeaad8ef4397ac9abacf40f6b"}, - {file = "black-26.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:91a68ae46bf07868963671e4d05611b179c2313301bd756a89ad4e3b3db2325b"}, - {file = "black-26.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:be5e2fe860b9bd9edbf676d5b60a9282994c03fbbd40fe8f5e75d194f96064ca"}, - {file = "black-26.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9dc8c71656a79ca49b8d3e2ce8103210c9481c57798b48deeb3a8bb02db5f115"}, - {file = "black-26.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b22b3810451abe359a964cc88121d57f7bce482b53a066de0f1584988ca36e79"}, - {file = "black-26.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:53c62883b3f999f14e5d30b5a79bd437236658ad45b2f853906c7cbe79de00af"}, - {file = "black-26.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:f016baaadc423dc960cdddf9acae679e71ee02c4c341f78f3179d7e4819c095f"}, - {file = "black-26.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:66912475200b67ef5a0ab665011964bf924745103f51977a78b4fb92a9fc1bf0"}, - {file = "black-26.1.0-py3-none-any.whl", hash = "sha256:1054e8e47ebd686e078c0bb0eaf31e6ce69c966058d122f2c0c950311f9f3ede"}, - {file = "black-26.1.0.tar.gz", hash = "sha256:d294ac3340eef9c9eb5d29288e96dc719ff269a88e27b396340459dd85da4c58"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -packaging = ">=22.0" -pathspec = ">=1.0.0" -platformdirs = ">=2" -pytokens = ">=0.3.0" - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.10)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "cachetools" -version = "7.0.1" -description = "Extensible memoizing collections and decorators" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "cachetools-7.0.1-py3-none-any.whl", hash = "sha256:8f086515c254d5664ae2146d14fc7f65c9a4bce75152eb247e5a9c5e6d7b2ecf"}, - {file = "cachetools-7.0.1.tar.gz", hash = "sha256:e31e579d2c5b6e2944177a0397150d312888ddf4e16e12f1016068f0c03b8341"}, -] - -[[package]] -name = "cachetoolsutils" -version = "11.0" -description = "Cachetools Utilities" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "cachetoolsutils-11.0-py3-none-any.whl", hash = "sha256:d3644c214f29b19619750ba9f3b06df4792822d535aed1ee60b31b0bc42245c8"}, - {file = "cachetoolsutils-11.0.tar.gz", hash = "sha256:4606e53a4526f1f51dc3ee3336fc68afc2e2284cb880f84d7c191ad8fc098d16"}, -] - -[package.dependencies] -cachetools = "*" - -[package.extras] -crypt = ["pycryptodome"] -dev = ["black", "coverage", "flake8", "mypy", "pymarkdownlnt", "pyright", "pytest", "ruff"] -doc = ["mkdocs", "mkdocs-material", "mkdocstrings[python]"] -pub = ["build", "twine", "wheel"] -tests = ["pymemcache", "redis"] - -[[package]] -name = "certifi" -version = "2026.1.4" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.7" -groups = ["main"] -files = [ - {file = "certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c"}, - {file = "certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.4" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7" -groups = ["main"] -files = [ - {file = "charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d"}, - {file = "charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016"}, - {file = "charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525"}, - {file = "charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14"}, - {file = "charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c"}, - {file = "charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-win32.whl", hash = "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa"}, - {file = "charset_normalizer-3.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966"}, - {file = "charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50"}, - {file = "charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f"}, - {file = "charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"}, -] - -[[package]] -name = "click" -version = "8.3.1" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.10" -groups = ["main", "dev"] -files = [ - {file = "click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"}, - {file = "click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main", "dev"] -markers = "platform_system == \"Windows\" or sys_platform == \"win32\"" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "fastapi" -version = "0.129.0" -description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "fastapi-0.129.0-py3-none-any.whl", hash = "sha256:b4946880e48f462692b31c083be0432275cbfb6e2274566b1be91479cc1a84ec"}, - {file = "fastapi-0.129.0.tar.gz", hash = "sha256:61315cebd2e65df5f97ec298c888f9de30430dd0612d59d6480beafbc10655af"}, -] - -[package.dependencies] -annotated-doc = ">=0.0.2" -pydantic = ">=2.7.0" -starlette = ">=0.40.0,<1.0.0" -typing-extensions = ">=4.8.0" -typing-inspection = ">=0.4.2" - -[package.extras] -all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.9.3)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=5.8.0)", "uvicorn[standard] (>=0.12.0)"] -standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "jinja2 (>=3.1.5)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"] -standard-no-fastapi-cloud-cli = ["email-validator (>=2.0.0)", "fastapi-cli[standard-no-fastapi-cloud-cli] (>=0.0.8)", "httpx (>=0.23.0,<1.0.0)", "jinja2 (>=3.1.5)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"] - -[[package]] -name = "flake8" -version = "7.3.0" -description = "the modular source code checker: pep8 pyflakes and co" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e"}, - {file = "flake8-7.3.0.tar.gz", hash = "sha256:fe044858146b9fc69b551a4b490d69cf960fcb78ad1edcb84e7fbb1b4a8e3872"}, -] - -[package.dependencies] -mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.14.0,<2.15.0" -pyflakes = ">=3.4.0,<3.5.0" - -[[package]] -name = "funkify" -version = "0.7.1" -description = "Funkify modules so that they are callable" -optional = false -python-versions = "<4.0,>=3.11" -groups = ["main"] -files = [ - {file = "funkify-0.7.1-py3-none-any.whl", hash = "sha256:490d5e0d45eb1dd75ff1e2ba6e415ddbb3dc5090d350f1aa7822e1777b648a8a"}, - {file = "funkify-0.7.1.tar.gz", hash = "sha256:82dfb67a650e62542aae79a9bb3e7b9e4e6b2acdc9c84e50889a7ba1368d2bdc"}, -] - -[[package]] -name = "h11" -version = "0.16.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, - {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, -] - -[[package]] -name = "hiredis" -version = "3.3.0" -description = "Python wrapper for hiredis" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "hiredis-3.3.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:9937d9b69321b393fbace69f55423480f098120bc55a3316e1ca3508c4dbbd6f"}, - {file = "hiredis-3.3.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:50351b77f89ba6a22aff430b993653847f36b71d444509036baa0f2d79d1ebf4"}, - {file = "hiredis-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1d00bce25c813eec45a2f524249f58daf51d38c9d3347f6f643ae53826fc735a"}, - {file = "hiredis-3.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ef840d9f142556ed384180ed8cdf14ff875fcae55c980cbe5cec7adca2ef4d8"}, - {file = "hiredis-3.3.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:88bc79d7e9b94d17ed1bd8b7f2815ed0eada376ed5f48751044e5e4d179aa2f2"}, - {file = "hiredis-3.3.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7165c7363e59b258e1875c51f35c0b2b9901e6c691037b487d8a0ace2c137ed2"}, - {file = "hiredis-3.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c3be446f0c38fbe6863a7cf4522c9a463df6e64bee87c4402e9f6d7d2e7f869"}, - {file = "hiredis-3.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:96f9a27643279853b91a1fb94a88b559e55fdecec86f1fcd5f2561492be52e47"}, - {file = "hiredis-3.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0a5eebb170de1b415c78ae5ca3aee17cff8b885df93c2055d54320e789d838f4"}, - {file = "hiredis-3.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:200678547ac3966bac3e38df188211fdc13d5f21509c23267e7def411710e112"}, - {file = "hiredis-3.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd9d78c5363a858f9dc5e698e5e1e402b83c00226cba294f977a92c53092b549"}, - {file = "hiredis-3.3.0-cp310-cp310-win32.whl", hash = "sha256:a0d31ff178b913137a7a08c7377e93805914755a15c3585e203d0d74496456c0"}, - {file = "hiredis-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:7b41833c8f0d4c7fbfaa867c8ed9a4e4aaa71d7c54e4806ed62da2d5cd27b40d"}, - {file = "hiredis-3.3.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:63ee6c1ae6a2462a2439eb93c38ab0315cd5f4b6d769c6a34903058ba538b5d6"}, - {file = "hiredis-3.3.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:31eda3526e2065268a8f97fbe3d0e9a64ad26f1d89309e953c80885c511ea2ae"}, - {file = "hiredis-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a26bae1b61b7bcafe3d0d0c7d012fb66ab3c95f2121dbea336df67e344e39089"}, - {file = "hiredis-3.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9546079f7fd5c50fbff9c791710049b32eebe7f9b94debec1e8b9f4c048cba2"}, - {file = "hiredis-3.3.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ae327fc13b1157b694d53f92d50920c0051e30b0c245f980a7036e299d039ab4"}, - {file = "hiredis-3.3.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4016e50a8be5740a59c5af5252e5ad16c395021a999ad24c6604f0d9faf4d346"}, - {file = "hiredis-3.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c17b473f273465a3d2168a57a5b43846165105ac217d5652a005e14068589ddc"}, - {file = "hiredis-3.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9ecd9b09b11bd0b8af87d29c3f5da628d2bdc2a6c23d2dd264d2da082bd4bf32"}, - {file = "hiredis-3.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:00fb04eac208cd575d14f246e74a468561081ce235937ab17d77cde73aefc66c"}, - {file = "hiredis-3.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:60814a7d0b718adf3bfe2c32c6878b0e00d6ae290ad8e47f60d7bba3941234a6"}, - {file = "hiredis-3.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fcbd1a15e935aa323b5b2534b38419511b7909b4b8ee548e42b59090a1b37bb1"}, - {file = "hiredis-3.3.0-cp311-cp311-win32.whl", hash = "sha256:73679607c5a19f4bcfc9cf6eb54480bcd26617b68708ac8b1079da9721be5449"}, - {file = "hiredis-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:30a4df3d48f32538de50648d44146231dde5ad7f84f8f08818820f426840ae97"}, - {file = "hiredis-3.3.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:5b8e1d6a2277ec5b82af5dce11534d3ed5dffeb131fd9b210bc1940643b39b5f"}, - {file = "hiredis-3.3.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c4981de4d335f996822419e8a8b3b87367fcef67dc5fb74d3bff4df9f6f17783"}, - {file = "hiredis-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1706480a683e328ae9ba5d704629dee2298e75016aa0207e7067b9c40cecc271"}, - {file = "hiredis-3.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a95cef9989736ac313639f8f545b76b60b797e44e65834aabbb54e4fad8d6c8"}, - {file = "hiredis-3.3.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca2802934557ccc28a954414c245ba7ad904718e9712cb67c05152cf6b9dd0a3"}, - {file = "hiredis-3.3.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fe730716775f61e76d75810a38ee4c349d3af3896450f1525f5a4034cf8f2ed7"}, - {file = "hiredis-3.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:749faa69b1ce1f741f5eaf743435ac261a9262e2d2d66089192477e7708a9abc"}, - {file = "hiredis-3.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:95c9427f2ac3f1dd016a3da4e1161fa9d82f221346c8f3fdd6f3f77d4e28946c"}, - {file = "hiredis-3.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c863ee44fe7bff25e41f3a5105c936a63938b76299b802d758f40994ab340071"}, - {file = "hiredis-3.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2213c7eb8ad5267434891f3241c7776e3bafd92b5933fc57d53d4456247dc542"}, - {file = "hiredis-3.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a172bae3e2837d74530cd60b06b141005075db1b814d966755977c69bd882ce8"}, - {file = "hiredis-3.3.0-cp312-cp312-win32.whl", hash = "sha256:cb91363b9fd6d41c80df9795e12fffbaf5c399819e6ae8120f414dedce6de068"}, - {file = "hiredis-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:04ec150e95eea3de9ff8bac754978aa17b8bf30a86d4ab2689862020945396b0"}, - {file = "hiredis-3.3.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:b7048b4ec0d5dddc8ddd03da603de0c4b43ef2540bf6e4c54f47d23e3480a4fa"}, - {file = "hiredis-3.3.0-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:e5f86ce5a779319c15567b79e0be806e8e92c18bb2ea9153e136312fafa4b7d6"}, - {file = "hiredis-3.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fbdb97a942e66016fff034df48a7a184e2b7dc69f14c4acd20772e156f20d04b"}, - {file = "hiredis-3.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0fb4bea72fe45ff13e93ddd1352b43ff0749f9866263b5cca759a4c960c776f"}, - {file = "hiredis-3.3.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:85b9baf98050e8f43c2826ab46aaf775090d608217baf7af7882596aef74e7f9"}, - {file = "hiredis-3.3.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:69079fb0f0ebb61ba63340b9c4bce9388ad016092ca157e5772eb2818209d930"}, - {file = "hiredis-3.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c17f77b79031ea4b0967d30255d2ae6e7df0603ee2426ad3274067f406938236"}, - {file = "hiredis-3.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45d14f745fc177bc05fc24bdf20e2b515e9a068d3d4cce90a0fb78d04c9c9d9a"}, - {file = "hiredis-3.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ba063fdf1eff6377a0c409609cbe890389aefddfec109c2d20fcc19cfdafe9da"}, - {file = "hiredis-3.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1799cc66353ad066bfdd410135c951959da9f16bcb757c845aab2f21fc4ef099"}, - {file = "hiredis-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2cbf71a121996ffac82436b6153290815b746afb010cac19b3290a1644381b07"}, - {file = "hiredis-3.3.0-cp313-cp313-win32.whl", hash = "sha256:a7cbbc6026bf03659f0b25e94bbf6e64f6c8c22f7b4bc52fe569d041de274194"}, - {file = "hiredis-3.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:a8def89dd19d4e2e4482b7412d453dec4a5898954d9a210d7d05f60576cedef6"}, - {file = "hiredis-3.3.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c135bda87211f7af9e2fd4e046ab433c576cd17b69e639a0f5bb2eed5e0e71a9"}, - {file = "hiredis-3.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2f855c678230aed6fc29b962ce1cc67e5858a785ef3a3fd6b15dece0487a2e60"}, - {file = "hiredis-3.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4059c78a930cbb33c391452ccce75b137d6f89e2eebf6273d75dafc5c2143c03"}, - {file = "hiredis-3.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:334a3f1d14c253bb092e187736c3384203bd486b244e726319bbb3f7dffa4a20"}, - {file = "hiredis-3.3.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd137b147235447b3d067ec952c5b9b95ca54b71837e1b38dbb2ec03b89f24fc"}, - {file = "hiredis-3.3.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8f88f4f2aceb73329ece86a1cb0794fdbc8e6d614cb5ca2d1023c9b7eb432db8"}, - {file = "hiredis-3.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:550f4d1538822fc75ebf8cf63adc396b23d4958bdbbad424521f2c0e3dfcb169"}, - {file = "hiredis-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:54b14211fbd5930fc696f6fcd1f1f364c660970d61af065a80e48a1fa5464dd6"}, - {file = "hiredis-3.3.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c9e96f63dbc489fc86f69951e9f83dadb9582271f64f6822c47dcffa6fac7e4a"}, - {file = "hiredis-3.3.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:106e99885d46684d62ab3ec1d6b01573cc0e0083ac295b11aaa56870b536c7ec"}, - {file = "hiredis-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:087e2ef3206361281b1a658b5b4263572b6ba99465253e827796964208680459"}, - {file = "hiredis-3.3.0-cp314-cp314-win32.whl", hash = "sha256:80638ebeab1cefda9420e9fedc7920e1ec7b4f0513a6b23d58c9d13c882f8065"}, - {file = "hiredis-3.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a68aaf9ba024f4e28cf23df9196ff4e897bd7085872f3a30644dca07fa787816"}, - {file = "hiredis-3.3.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:f7f80442a32ce51ee5d89aeb5a84ee56189a0e0e875f1a57bbf8d462555ae48f"}, - {file = "hiredis-3.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a1a67530da714954ed50579f4fe1ab0ddbac9c43643b1721c2cb226a50dde263"}, - {file = "hiredis-3.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:616868352e47ab355559adca30f4f3859f9db895b4e7bc71e2323409a2add751"}, - {file = "hiredis-3.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e799b79f3150083e9702fc37e6243c0bd47a443d6eae3f3077b0b3f510d6a145"}, - {file = "hiredis-3.3.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ef1dfb0d2c92c3701655e2927e6bbe10c499aba632c7ea57b6392516df3864b"}, - {file = "hiredis-3.3.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c290da6bc2a57e854c7da9956cd65013483ede935677e84560da3b848f253596"}, - {file = "hiredis-3.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd8c438d9e1728f0085bf9b3c9484d19ec31f41002311464e75b69550c32ffa8"}, - {file = "hiredis-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1bbc6b8a88bbe331e3ebf6685452cebca6dfe6d38a6d4efc5651d7e363ba28bd"}, - {file = "hiredis-3.3.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:55d8c18fe9a05496c5c04e6eccc695169d89bf358dff964bcad95696958ec05f"}, - {file = "hiredis-3.3.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:4ddc79afa76b805d364e202a754666cb3c4d9c85153cbfed522871ff55827838"}, - {file = "hiredis-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8e8a4b8540581dcd1b2b25827a54cfd538e0afeaa1a0e3ca87ad7126965981cc"}, - {file = "hiredis-3.3.0-cp314-cp314t-win32.whl", hash = "sha256:298593bb08487753b3afe6dc38bac2532e9bac8dcee8d992ef9977d539cc6776"}, - {file = "hiredis-3.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b442b6ab038a6f3b5109874d2514c4edf389d8d8b553f10f12654548808683bc"}, - {file = "hiredis-3.3.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:114c0b9f1b5fad99edae38e747018aead358a4f4e9720cc1876495d78cdb8276"}, - {file = "hiredis-3.3.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:c6d91a5e6904ed7eca21d74b041e03f2ad598dd08a6065b06a776974fe5d003c"}, - {file = "hiredis-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:76374faa075e996c895cbe106ba923852a9f8146f2aa59eba22111c5e5ec6316"}, - {file = "hiredis-3.3.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50a54397bd104c2e2f5b7696bbdab8ba2973d3075e4deb932adb025b8863de91"}, - {file = "hiredis-3.3.0-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:15edee02cc9cc06e07e2bcfae07e283e640cc1aeedd08b4c6934bf1a0113c607"}, - {file = "hiredis-3.3.0-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ff3179a57745d0f8d71fa8bf3ea3944d3f557dcfa4431304497987fecad381dd"}, - {file = "hiredis-3.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bdb7cd9e1e73db78f145a09bb837732790d0912eb963dee5768631faf2ece162"}, - {file = "hiredis-3.3.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:4d3b4e0d4445faf9041c52a98cb5d2b65c4fcaebb2aa02efa7c6517c4917f7e8"}, - {file = "hiredis-3.3.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ffea6c407cff532c7599d3ec9e8502c2c865753cebab044f3dfce9afbf71a8df"}, - {file = "hiredis-3.3.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:bcd745a28e1b3216e42680d91e142a42569dfad68a6f40535080c47b0356c796"}, - {file = "hiredis-3.3.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4c18a97ea55d1a58f5c3adfe236b3e7cccedc6735cbd36ab1c786c52fd823667"}, - {file = "hiredis-3.3.0-cp38-cp38-win32.whl", hash = "sha256:77eacd969e3c6ff50c2b078c27d2a773c652248a5d81af5765a8663478d0bc02"}, - {file = "hiredis-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:161a4a595a53475587aef8dc549d0527962879b0c5d62f7947b44ba7e5084b76"}, - {file = "hiredis-3.3.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:1203697a7ebadc7cf873acc189df9e44fcb377b636e6660471707ac8d5bcba68"}, - {file = "hiredis-3.3.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:9a7ea2344d277317160da4911f885bcf7dfd8381b830d76b442f7775b41544b3"}, - {file = "hiredis-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9bd7c9a089cf4e4f4b5a61f412c76293449bac6b0bf92bb49a3892850bd5c899"}, - {file = "hiredis-3.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:294de11e3995128c784534e327d1f9382b88dc5407356465df7934c710e8392d"}, - {file = "hiredis-3.3.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a3aab895358368f81f9546a7cd192b6fb427f785cb1a8853cf9db38df01e9ca"}, - {file = "hiredis-3.3.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:eaf8418e33e23d6d7ef0128eff4c06ab3040d40b9bbc8a24d6265d751a472596"}, - {file = "hiredis-3.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41aea51949142bad4e40badb0396392d7f4394791e4097a0951ab75bcc58ff84"}, - {file = "hiredis-3.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1f9a5f84a8bd29ac5b9953b27e8ba5508396afeabf1d165611a1e31fbd90a0e1"}, - {file = "hiredis-3.3.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a5f9fde56550ebbe962f437a4c982b0856d03aea7fab09e30fa6c0f9be992b40"}, - {file = "hiredis-3.3.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c567aab02612d91f3e747fc492100ae894515194f85d6fb6bb68958c0e718721"}, - {file = "hiredis-3.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ca97c5e6f9e9b9f0aed61b70fed2d594ce2f7472905077d2d10b307c50a41008"}, - {file = "hiredis-3.3.0-cp39-cp39-win32.whl", hash = "sha256:776dc5769d5eb05e969216de095377ff61c802414a74bd3c24a4ca8526c897ab"}, - {file = "hiredis-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:538a9f5fbb3a8a4ef0c3abd309cccb90cd2ba9976fcc2b44193af9507d005b48"}, - {file = "hiredis-3.3.0.tar.gz", hash = "sha256:105596aad9249634361815c574351f1bd50455dc23b537c2940066c4a9dea685"}, -] - -[[package]] -name = "httptools" -version = "0.7.1" -description = "A collection of framework independent HTTP protocol utils." -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "httptools-0.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:11d01b0ff1fe02c4c32d60af61a4d613b74fad069e47e06e9067758c01e9ac78"}, - {file = "httptools-0.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d86c1e5afdc479a6fdabf570be0d3eb791df0ae727e8dbc0259ed1249998d4"}, - {file = "httptools-0.7.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c8c751014e13d88d2be5f5f14fc8b89612fcfa92a9cc480f2bc1598357a23a05"}, - {file = "httptools-0.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:654968cb6b6c77e37b832a9be3d3ecabb243bbe7a0b8f65fbc5b6b04c8fcabed"}, - {file = "httptools-0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b580968316348b474b020edf3988eecd5d6eec4634ee6561e72ae3a2a0e00a8a"}, - {file = "httptools-0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d496e2f5245319da9d764296e86c5bb6fcf0cf7a8806d3d000717a889c8c0b7b"}, - {file = "httptools-0.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cbf8317bfccf0fed3b5680c559d3459cccf1abe9039bfa159e62e391c7270568"}, - {file = "httptools-0.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:474d3b7ab469fefcca3697a10d11a32ee2b9573250206ba1e50d5980910da657"}, - {file = "httptools-0.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3c3b7366bb6c7b96bd72d0dbe7f7d5eead261361f013be5f6d9590465ea1c70"}, - {file = "httptools-0.7.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:379b479408b8747f47f3b253326183d7c009a3936518cdb70db58cffd369d9df"}, - {file = "httptools-0.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cad6b591a682dcc6cf1397c3900527f9affef1e55a06c4547264796bbd17cf5e"}, - {file = "httptools-0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eb844698d11433d2139bbeeb56499102143beb582bd6c194e3ba69c22f25c274"}, - {file = "httptools-0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f65744d7a8bdb4bda5e1fa23e4ba16832860606fcc09d674d56e425e991539ec"}, - {file = "httptools-0.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:135fbe974b3718eada677229312e97f3b31f8a9c8ffa3ae6f565bf808d5b6bcb"}, - {file = "httptools-0.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:38e0c83a2ea9746ebbd643bdfb521b9aa4a91703e2cd705c20443405d2fd16a5"}, - {file = "httptools-0.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f25bbaf1235e27704f1a7b86cd3304eabc04f569c828101d94a0e605ef7205a5"}, - {file = "httptools-0.7.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c15f37ef679ab9ecc06bfc4e6e8628c32a8e4b305459de7cf6785acd57e4d03"}, - {file = "httptools-0.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7fe6e96090df46b36ccfaf746f03034e5ab723162bc51b0a4cf58305324036f2"}, - {file = "httptools-0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f72fdbae2dbc6e68b8239defb48e6a5937b12218e6ffc2c7846cc37befa84362"}, - {file = "httptools-0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e99c7b90a29fd82fea9ef57943d501a16f3404d7b9ee81799d41639bdaae412c"}, - {file = "httptools-0.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:3e14f530fefa7499334a79b0cf7e7cd2992870eb893526fb097d51b4f2d0f321"}, - {file = "httptools-0.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6babce6cfa2a99545c60bfef8bee0cc0545413cb0018f617c8059a30ad985de3"}, - {file = "httptools-0.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:601b7628de7504077dd3dcb3791c6b8694bbd967148a6d1f01806509254fb1ca"}, - {file = "httptools-0.7.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:04c6c0e6c5fb0739c5b8a9eb046d298650a0ff38cf42537fc372b28dc7e4472c"}, - {file = "httptools-0.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69d4f9705c405ae3ee83d6a12283dc9feba8cc6aaec671b412917e644ab4fa66"}, - {file = "httptools-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44c8f4347d4b31269c8a9205d8a5ee2df5322b09bbbd30f8f862185bb6b05346"}, - {file = "httptools-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:465275d76db4d554918aba40bf1cbebe324670f3dfc979eaffaa5d108e2ed650"}, - {file = "httptools-0.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:322d00c2068d125bd570f7bf78b2d367dad02b919d8581d7476d8b75b294e3e6"}, - {file = "httptools-0.7.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c08fe65728b8d70b6923ce31e3956f859d5e1e8548e6f22ec520a962c6757270"}, - {file = "httptools-0.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7aea2e3c3953521c3c51106ee11487a910d45586e351202474d45472db7d72d3"}, - {file = "httptools-0.7.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0e68b8582f4ea9166be62926077a3334064d422cf08ab87d8b74664f8e9058e1"}, - {file = "httptools-0.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df091cf961a3be783d6aebae963cc9b71e00d57fa6f149025075217bc6a55a7b"}, - {file = "httptools-0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f084813239e1eb403ddacd06a30de3d3e09a9b76e7894dcda2b22f8a726e9c60"}, - {file = "httptools-0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7347714368fb2b335e9063bc2b96f2f87a9ceffcd9758ac295f8bbcd3ffbc0ca"}, - {file = "httptools-0.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:cfabda2a5bb85aa2a904ce06d974a3f30fb36cc63d7feaddec05d2050acede96"}, - {file = "httptools-0.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ac50afa68945df63ec7a2707c506bd02239272288add34539a2ef527254626a4"}, - {file = "httptools-0.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de987bb4e7ac95b99b805b99e0aae0ad51ae61df4263459d36e07cf4052d8b3a"}, - {file = "httptools-0.7.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d169162803a24425eb5e4d51d79cbf429fd7a491b9e570a55f495ea55b26f0bf"}, - {file = "httptools-0.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49794f9250188a57fa73c706b46cb21a313edb00d337ca4ce1a011fe3c760b28"}, - {file = "httptools-0.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aeefa0648362bb97a7d6b5ff770bfb774930a327d7f65f8208394856862de517"}, - {file = "httptools-0.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0d92b10dbf0b3da4823cde6a96d18e6ae358a9daa741c71448975f6a2c339cad"}, - {file = "httptools-0.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:5ddbd045cfcb073db2449563dd479057f2c2b681ebc232380e63ef15edc9c023"}, - {file = "httptools-0.7.1.tar.gz", hash = "sha256:abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9"}, -] - -[[package]] -name = "idna" -version = "3.11" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"}, - {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "iniconfig" -version = "2.3.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.10" -groups = ["dev"] -files = [ - {file = "iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"}, - {file = "iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730"}, -] - -[[package]] -name = "lxml" -version = "6.0.2" -description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "lxml-6.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e77dd455b9a16bbd2a5036a63ddbd479c19572af81b624e79ef422f929eef388"}, - {file = "lxml-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d444858b9f07cefff6455b983aea9a67f7462ba1f6cbe4a21e8bf6791bf2153"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f952dacaa552f3bb8834908dddd500ba7d508e6ea6eb8c52eb2d28f48ca06a31"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:71695772df6acea9f3c0e59e44ba8ac50c4f125217e84aab21074a1a55e7e5c9"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:17f68764f35fd78d7c4cc4ef209a184c38b65440378013d24b8aecd327c3e0c8"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:058027e261afed589eddcfe530fcc6f3402d7fd7e89bfd0532df82ebc1563dba"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8ffaeec5dfea5881d4c9d8913a32d10cfe3923495386106e4a24d45300ef79c"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:f2e3b1a6bb38de0bc713edd4d612969dd250ca8b724be8d460001a387507021c"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d6690ec5ec1cce0385cb20896b16be35247ac8c2046e493d03232f1c2414d321"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2a50c3c1d11cad0ebebbac357a97b26aa79d2bcaf46f256551152aa85d3a4d1"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:3efe1b21c7801ffa29a1112fab3b0f643628c30472d507f39544fd48e9549e34"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:59c45e125140b2c4b33920d21d83681940ca29f0b83f8629ea1a2196dc8cfe6a"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:452b899faa64f1805943ec1c0c9ebeaece01a1af83e130b69cdefeda180bb42c"}, - {file = "lxml-6.0.2-cp310-cp310-win32.whl", hash = "sha256:1e786a464c191ca43b133906c6903a7e4d56bef376b75d97ccbb8ec5cf1f0a4b"}, - {file = "lxml-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:dacf3c64ef3f7440e3167aa4b49aa9e0fb99e0aa4f9ff03795640bf94531bcb0"}, - {file = "lxml-6.0.2-cp310-cp310-win_arm64.whl", hash = "sha256:45f93e6f75123f88d7f0cfd90f2d05f441b808562bf0bc01070a00f53f5028b5"}, - {file = "lxml-6.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:13e35cbc684aadf05d8711a5d1b5857c92e5e580efa9a0d2be197199c8def607"}, - {file = "lxml-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b1675e096e17c6fe9c0e8c81434f5736c0739ff9ac6123c87c2d452f48fc938"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac6e5811ae2870953390452e3476694196f98d447573234592d30488147404d"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5aa0fc67ae19d7a64c3fe725dc9a1bb11f80e01f78289d05c6f62545affec438"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de496365750cc472b4e7902a485d3f152ecf57bd3ba03ddd5578ed8ceb4c5964"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:200069a593c5e40b8f6fc0d84d86d970ba43138c3e68619ffa234bc9bb806a4d"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:b2c3da8d93cf5db60e8858c17684c47d01fee6405e554fb55018dd85fc23b178"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:442de7530296ef5e188373a1ea5789a46ce90c4847e597856570439621d9c553"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2593c77efde7bfea7f6389f1ab249b15ed4aa5bc5cb5131faa3b843c429fbedb"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3e3cb08855967a20f553ff32d147e14329b3ae70ced6edc2f282b94afbc74b2a"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2ed6c667fcbb8c19c6791bbf40b7268ef8ddf5a96940ba9404b9f9a304832f6c"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b8f18914faec94132e5b91e69d76a5c1d7b0c73e2489ea8929c4aaa10b76bbf7"}, - {file = "lxml-6.0.2-cp311-cp311-win32.whl", hash = "sha256:6605c604e6daa9e0d7f0a2137bdc47a2e93b59c60a65466353e37f8272f47c46"}, - {file = "lxml-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e5867f2651016a3afd8dd2c8238baa66f1e2802f44bc17e236f547ace6647078"}, - {file = "lxml-6.0.2-cp311-cp311-win_arm64.whl", hash = "sha256:4197fb2534ee05fd3e7afaab5d8bfd6c2e186f65ea7f9cd6a82809c887bd1285"}, - {file = "lxml-6.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456"}, - {file = "lxml-6.0.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322"}, - {file = "lxml-6.0.2-cp312-cp312-win32.whl", hash = "sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849"}, - {file = "lxml-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f"}, - {file = "lxml-6.0.2-cp312-cp312-win_arm64.whl", hash = "sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6"}, - {file = "lxml-6.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77"}, - {file = "lxml-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314"}, - {file = "lxml-6.0.2-cp313-cp313-win32.whl", hash = "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2"}, - {file = "lxml-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7"}, - {file = "lxml-6.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf"}, - {file = "lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe"}, - {file = "lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c"}, - {file = "lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b"}, - {file = "lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed"}, - {file = "lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8"}, - {file = "lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d"}, - {file = "lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f"}, - {file = "lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312"}, - {file = "lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca"}, - {file = "lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c"}, - {file = "lxml-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a656ca105115f6b766bba324f23a67914d9c728dafec57638e2b92a9dcd76c62"}, - {file = "lxml-6.0.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c54d83a2188a10ebdba573f16bd97135d06c9ef60c3dc495315c7a28c80a263f"}, - {file = "lxml-6.0.2-cp38-cp38-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:1ea99340b3c729beea786f78c38f60f4795622f36e305d9c9be402201efdc3b7"}, - {file = "lxml-6.0.2-cp38-cp38-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:af85529ae8d2a453feee4c780d9406a5e3b17cee0dd75c18bd31adcd584debc3"}, - {file = "lxml-6.0.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fe659f6b5d10fb5a17f00a50eb903eb277a71ee35df4615db573c069bcf967ac"}, - {file = "lxml-6.0.2-cp38-cp38-win32.whl", hash = "sha256:5921d924aa5468c939d95c9814fa9f9b5935a6ff4e679e26aaf2951f74043512"}, - {file = "lxml-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:0aa7070978f893954008ab73bb9e3c24a7c56c054e00566a21b553dc18105fca"}, - {file = "lxml-6.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2c8458c2cdd29589a8367c09c8f030f1d202be673f0ca224ec18590b3b9fb694"}, - {file = "lxml-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3fee0851639d06276e6b387f1c190eb9d7f06f7f53514e966b26bae46481ec90"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b2142a376b40b6736dfc214fd2902409e9e3857eff554fed2d3c60f097e62a62"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a6b5b39cc7e2998f968f05309e666103b53e2edd01df8dc51b90d734c0825444"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4aec24d6b72ee457ec665344a29acb2d35937d5192faebe429ea02633151aad"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:b42f4d86b451c2f9d06ffb4f8bbc776e04df3ba070b9fe2657804b1b40277c48"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cdaefac66e8b8f30e37a9b4768a391e1f8a16a7526d5bc77a7928408ef68e93"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:b738f7e648735714bbb82bdfd030203360cfeab7f6e8a34772b3c8c8b820568c"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:daf42de090d59db025af61ce6bdb2521f0f102ea0e6ea310f13c17610a97da4c"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:66328dabea70b5ba7e53d94aa774b733cf66686535f3bc9250a7aab53a91caaf"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:e237b807d68a61fc3b1e845407e27e5eb8ef69bc93fe8505337c1acb4ee300b6"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:ac02dc29fd397608f8eb15ac1610ae2f2f0154b03f631e6d724d9e2ad4ee2c84"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:817ef43a0c0b4a77bd166dc9a09a555394105ff3374777ad41f453526e37f9cb"}, - {file = "lxml-6.0.2-cp39-cp39-win32.whl", hash = "sha256:bc532422ff26b304cfb62b328826bd995c96154ffd2bac4544f37dbb95ecaa8f"}, - {file = "lxml-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:995e783eb0374c120f528f807443ad5a83a656a8624c467ea73781fc5f8a8304"}, - {file = "lxml-6.0.2-cp39-cp39-win_arm64.whl", hash = "sha256:08b9d5e803c2e4725ae9e8559ee880e5328ed61aa0935244e0515d7d9dbec0aa"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e748d4cf8fef2526bb2a589a417eba0c8674e29ffcb570ce2ceca44f1e567bf6"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4ddb1049fa0579d0cbd00503ad8c58b9ab34d1254c77bc6a5576d96ec7853dba"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cb233f9c95f83707dae461b12b720c1af9c28c2d19208e1be03387222151daf5"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc456d04db0515ce3320d714a1eac7a97774ff0849e7718b492d957da4631dd4"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2613e67de13d619fd283d58bda40bff0ee07739f624ffee8b13b631abf33083d"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:24a8e756c982c001ca8d59e87c80c4d9dcd4d9b44a4cbeb8d9be4482c514d41d"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1c06035eafa8404b5cf475bb37a9f6088b0aca288d4ccc9d69389750d5543700"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c7d13103045de1bdd6fe5d61802565f1a3537d70cd3abf596aa0af62761921ee"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a3c150a95fbe5ac91de323aa756219ef9cf7fde5a3f00e2281e30f33fa5fa4f"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60fa43be34f78bebb27812ed90f1925ec99560b0fa1decdb7d12b84d857d31e9"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21c73b476d3cfe836be731225ec3421fa2f048d84f6df6a8e70433dff1376d5a"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e"}, - {file = "lxml-6.0.2.tar.gz", hash = "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62"}, -] - -[package.extras] -cssselect = ["cssselect (>=0.7)"] -html-clean = ["lxml_html_clean"] -html5 = ["html5lib"] -htmlsoup = ["BeautifulSoup4"] - -[[package]] -name = "markdown" -version = "3.10.2" -description = "Python implementation of John Gruber's Markdown." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36"}, - {file = "markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950"}, -] - -[package.extras] -docs = ["mdx_gh_links (>=0.2)", "mkdocs (>=1.6)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python] (>=0.28.3)"] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = ">=3.6" -groups = ["dev"] -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "mypy-extensions" -version = "1.1.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, - {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, -] - -[[package]] -name = "numpy" -version = "2.4.2" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.11" -groups = ["main"] -files = [ - {file = "numpy-2.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e7e88598032542bd49af7c4747541422884219056c268823ef6e5e89851c8825"}, - {file = "numpy-2.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7edc794af8b36ca37ef5fcb5e0d128c7e0595c7b96a2318d1badb6fcd8ee86b1"}, - {file = "numpy-2.4.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:6e9f61981ace1360e42737e2bae58b27bf28a1b27e781721047d84bd754d32e7"}, - {file = "numpy-2.4.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cb7bbb88aa74908950d979eeaa24dbdf1a865e3c7e45ff0121d8f70387b55f73"}, - {file = "numpy-2.4.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f069069931240b3fc703f1e23df63443dbd6390614c8c44a87d96cd0ec81eb1"}, - {file = "numpy-2.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c02ef4401a506fb60b411467ad501e1429a3487abca4664871d9ae0b46c8ba32"}, - {file = "numpy-2.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2653de5c24910e49c2b106499803124dde62a5a1fe0eedeaecf4309a5f639390"}, - {file = "numpy-2.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1ae241bbfc6ae276f94a170b14785e561cb5e7f626b6688cf076af4110887413"}, - {file = "numpy-2.4.2-cp311-cp311-win32.whl", hash = "sha256:df1b10187212b198dd45fa943d8985a3c8cf854aed4923796e0e019e113a1bda"}, - {file = "numpy-2.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:b9c618d56a29c9cb1c4da979e9899be7578d2e0b3c24d52079c166324c9e8695"}, - {file = "numpy-2.4.2-cp311-cp311-win_arm64.whl", hash = "sha256:47c5a6ed21d9452b10227e5e8a0e1c22979811cad7dcc19d8e3e2fb8fa03f1a3"}, - {file = "numpy-2.4.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:21982668592194c609de53ba4933a7471880ccbaadcc52352694a59ecc860b3a"}, - {file = "numpy-2.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40397bda92382fcec844066efb11f13e1c9a3e2a8e8f318fb72ed8b6db9f60f1"}, - {file = "numpy-2.4.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:b3a24467af63c67829bfaa61eecf18d5432d4f11992688537be59ecd6ad32f5e"}, - {file = "numpy-2.4.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:805cc8de9fd6e7a22da5aed858e0ab16be5a4db6c873dde1d7451c541553aa27"}, - {file = "numpy-2.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d82351358ffbcdcd7b686b90742a9b86632d6c1c051016484fa0b326a0a1548"}, - {file = "numpy-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e35d3e0144137d9fdae62912e869136164534d64a169f86438bc9561b6ad49f"}, - {file = "numpy-2.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:adb6ed2ad29b9e15321d167d152ee909ec73395901b70936f029c3bc6d7f4460"}, - {file = "numpy-2.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8906e71fd8afcb76580404e2a950caef2685df3d2a57fe82a86ac8d33cc007ba"}, - {file = "numpy-2.4.2-cp312-cp312-win32.whl", hash = "sha256:ec055f6dae239a6299cace477b479cca2fc125c5675482daf1dd886933a1076f"}, - {file = "numpy-2.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:209fae046e62d0ce6435fcfe3b1a10537e858249b3d9b05829e2a05218296a85"}, - {file = "numpy-2.4.2-cp312-cp312-win_arm64.whl", hash = "sha256:fbde1b0c6e81d56f5dccd95dd4a711d9b95df1ae4009a60887e56b27e8d903fa"}, - {file = "numpy-2.4.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25f2059807faea4b077a2b6837391b5d830864b3543627f381821c646f31a63c"}, - {file = "numpy-2.4.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bd3a7a9f5847d2fb8c2c6d1c862fa109c31a9abeca1a3c2bd5a64572955b2979"}, - {file = "numpy-2.4.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8e4549f8a3c6d13d55041925e912bfd834285ef1dd64d6bc7d542583355e2e98"}, - {file = "numpy-2.4.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:aea4f66ff44dfddf8c2cffd66ba6538c5ec67d389285292fe428cb2c738c8aef"}, - {file = "numpy-2.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3cd545784805de05aafe1dde61752ea49a359ccba9760c1e5d1c88a93bbf2b7"}, - {file = "numpy-2.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0d9b7c93578baafcbc5f0b83eaf17b79d345c6f36917ba0c67f45226911d499"}, - {file = "numpy-2.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f74f0f7779cc7ae07d1810aab8ac6b1464c3eafb9e283a40da7309d5e6e48fbb"}, - {file = "numpy-2.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c7ac672d699bf36275c035e16b65539931347d68b70667d28984c9fb34e07fa7"}, - {file = "numpy-2.4.2-cp313-cp313-win32.whl", hash = "sha256:8e9afaeb0beff068b4d9cd20d322ba0ee1cecfb0b08db145e4ab4dd44a6b5110"}, - {file = "numpy-2.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:7df2de1e4fba69a51c06c28f5a3de36731eb9639feb8e1cf7e4a7b0daf4cf622"}, - {file = "numpy-2.4.2-cp313-cp313-win_arm64.whl", hash = "sha256:0fece1d1f0a89c16b03442eae5c56dc0be0c7883b5d388e0c03f53019a4bfd71"}, - {file = "numpy-2.4.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5633c0da313330fd20c484c78cdd3f9b175b55e1a766c4a174230c6b70ad8262"}, - {file = "numpy-2.4.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d9f64d786b3b1dd742c946c42d15b07497ed14af1a1f3ce840cce27daa0ce913"}, - {file = "numpy-2.4.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:b21041e8cb6a1eb5312dd1d2f80a94d91efffb7a06b70597d44f1bd2dfc315ab"}, - {file = "numpy-2.4.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:00ab83c56211a1d7c07c25e3217ea6695e50a3e2f255053686b081dc0b091a82"}, - {file = "numpy-2.4.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fb882da679409066b4603579619341c6d6898fc83a8995199d5249f986e8e8f"}, - {file = "numpy-2.4.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:66cb9422236317f9d44b67b4d18f44efe6e9c7f8794ac0462978513359461554"}, - {file = "numpy-2.4.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0f01dcf33e73d80bd8dc0f20a71303abbafa26a19e23f6b68d1aa9990af90257"}, - {file = "numpy-2.4.2-cp313-cp313t-win32.whl", hash = "sha256:52b913ec40ff7ae845687b0b34d8d93b60cb66dcee06996dd5c99f2fc9328657"}, - {file = "numpy-2.4.2-cp313-cp313t-win_amd64.whl", hash = "sha256:5eea80d908b2c1f91486eb95b3fb6fab187e569ec9752ab7d9333d2e66bf2d6b"}, - {file = "numpy-2.4.2-cp313-cp313t-win_arm64.whl", hash = "sha256:fd49860271d52127d61197bb50b64f58454e9f578cb4b2c001a6de8b1f50b0b1"}, - {file = "numpy-2.4.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:444be170853f1f9d528428eceb55f12918e4fda5d8805480f36a002f1415e09b"}, - {file = "numpy-2.4.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d1240d50adff70c2a88217698ca844723068533f3f5c5fa6ee2e3220e3bdb000"}, - {file = "numpy-2.4.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:7cdde6de52fb6664b00b056341265441192d1291c130e99183ec0d4b110ff8b1"}, - {file = "numpy-2.4.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:cda077c2e5b780200b6b3e09d0b42205a3d1c68f30c6dceb90401c13bff8fe74"}, - {file = "numpy-2.4.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d30291931c915b2ab5717c2974bb95ee891a1cf22ebc16a8006bd59cd210d40a"}, - {file = "numpy-2.4.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bba37bc29d4d85761deed3954a1bc62be7cf462b9510b51d367b769a8c8df325"}, - {file = "numpy-2.4.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b2f0073ed0868db1dcd86e052d37279eef185b9c8db5bf61f30f46adac63c909"}, - {file = "numpy-2.4.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7f54844851cdb630ceb623dcec4db3240d1ac13d4990532446761baede94996a"}, - {file = "numpy-2.4.2-cp314-cp314-win32.whl", hash = "sha256:12e26134a0331d8dbd9351620f037ec470b7c75929cb8a1537f6bfe411152a1a"}, - {file = "numpy-2.4.2-cp314-cp314-win_amd64.whl", hash = "sha256:068cdb2d0d644cdb45670810894f6a0600797a69c05f1ac478e8d31670b8ee75"}, - {file = "numpy-2.4.2-cp314-cp314-win_arm64.whl", hash = "sha256:6ed0be1ee58eef41231a5c943d7d1375f093142702d5723ca2eb07db9b934b05"}, - {file = "numpy-2.4.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:98f16a80e917003a12c0580f97b5f875853ebc33e2eaa4bccfc8201ac6869308"}, - {file = "numpy-2.4.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:20abd069b9cda45874498b245c8015b18ace6de8546bf50dfa8cea1696ed06ef"}, - {file = "numpy-2.4.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e98c97502435b53741540a5717a6749ac2ada901056c7db951d33e11c885cc7d"}, - {file = "numpy-2.4.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da6cad4e82cb893db4b69105c604d805e0c3ce11501a55b5e9f9083b47d2ffe8"}, - {file = "numpy-2.4.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e4424677ce4b47fe73c8b5556d876571f7c6945d264201180db2dc34f676ab5"}, - {file = "numpy-2.4.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2b8f157c8a6f20eb657e240f8985cc135598b2b46985c5bccbde7616dc9c6b1e"}, - {file = "numpy-2.4.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5daf6f3914a733336dab21a05cdec343144600e964d2fcdabaac0c0269874b2a"}, - {file = "numpy-2.4.2-cp314-cp314t-win32.whl", hash = "sha256:8c50dd1fc8826f5b26a5ee4d77ca55d88a895f4e4819c7ecc2a9f5905047a443"}, - {file = "numpy-2.4.2-cp314-cp314t-win_amd64.whl", hash = "sha256:fcf92bee92742edd401ba41135185866f7026c502617f422eb432cfeca4fe236"}, - {file = "numpy-2.4.2-cp314-cp314t-win_arm64.whl", hash = "sha256:1f92f53998a17265194018d1cc321b2e96e900ca52d54c7c77837b71b9465181"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:89f7268c009bc492f506abd6f5265defa7cb3f7487dc21d357c3d290add45082"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6dee3bb76aa4009d5a912180bf5b2de012532998d094acee25d9cb8dee3e44a"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:cd2bd2bbed13e213d6b55dc1d035a4f91748a7d3edc9480c13898b0353708920"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:cf28c0c1d4c4bf00f509fa7eb02c58d7caf221b50b467bcb0d9bbf1584d5c821"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e04ae107ac591763a47398bb45b568fc38f02dbc4aa44c063f67a131f99346cb"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:602f65afdef699cda27ec0b9224ae5dc43e328f4c24c689deaf77133dbee74d0"}, - {file = "numpy-2.4.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:be71bf1edb48ebbbf7f6337b5bfd2f895d1902f6335a5830b20141fc126ffba0"}, - {file = "numpy-2.4.2.tar.gz", hash = "sha256:659a6107e31a83c4e33f763942275fd278b21d095094044eb35569e86a21ddae"}, -] - -[[package]] -name = "packaging" -version = "26.0" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529"}, - {file = "packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4"}, -] - -[[package]] -name = "pathspec" -version = "1.0.4" -description = "Utility library for gitignore style pattern matching of file paths." -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723"}, - {file = "pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645"}, -] - -[package.extras] -hyperscan = ["hyperscan (>=0.7)"] -optional = ["typing-extensions (>=4)"] -re2 = ["google-re2 (>=1.1)"] -tests = ["pytest (>=9)", "typing-extensions (>=4.15)"] - -[[package]] -name = "pillow" -version = "12.1.1" -description = "Python Imaging Library (fork)" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "pillow-12.1.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1f1625b72740fdda5d77b4def688eb8fd6490975d06b909fd19f13f391e077e0"}, - {file = "pillow-12.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:178aa072084bd88ec759052feca8e56cbb14a60b39322b99a049e58090479713"}, - {file = "pillow-12.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b66e95d05ba806247aaa1561f080abc7975daf715c30780ff92a20e4ec546e1b"}, - {file = "pillow-12.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89c7e895002bbe49cdc5426150377cbbc04767d7547ed145473f496dfa40408b"}, - {file = "pillow-12.1.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a5cbdcddad0af3da87cb16b60d23648bc3b51967eb07223e9fed77a82b457c4"}, - {file = "pillow-12.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9f51079765661884a486727f0729d29054242f74b46186026582b4e4769918e4"}, - {file = "pillow-12.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:99c1506ea77c11531d75e3a412832a13a71c7ebc8192ab9e4b2e355555920e3e"}, - {file = "pillow-12.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:36341d06738a9f66c8287cf8b876d24b18db9bd8740fa0672c74e259ad408cff"}, - {file = "pillow-12.1.1-cp310-cp310-win32.whl", hash = "sha256:6c52f062424c523d6c4db85518774cc3d50f5539dd6eed32b8f6229b26f24d40"}, - {file = "pillow-12.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:c6008de247150668a705a6338156efb92334113421ceecf7438a12c9a12dab23"}, - {file = "pillow-12.1.1-cp310-cp310-win_arm64.whl", hash = "sha256:1a9b0ee305220b392e1124a764ee4265bd063e54a751a6b62eff69992f457fa9"}, - {file = "pillow-12.1.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:e879bb6cd5c73848ef3b2b48b8af9ff08c5b71ecda8048b7dd22d8a33f60be32"}, - {file = "pillow-12.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:365b10bb9417dd4498c0e3b128018c4a624dc11c7b97d8cc54effe3b096f4c38"}, - {file = "pillow-12.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d4ce8e329c93845720cd2014659ca67eac35f6433fd3050393d85f3ecef0dad5"}, - {file = "pillow-12.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc354a04072b765eccf2204f588a7a532c9511e8b9c7f900e1b64e3e33487090"}, - {file = "pillow-12.1.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e7976bf1910a8116b523b9f9f58bf410f3e8aa330cd9a2bb2953f9266ab49af"}, - {file = "pillow-12.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:597bd9c8419bc7c6af5604e55847789b69123bbe25d65cc6ad3012b4f3c98d8b"}, - {file = "pillow-12.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2c1fc0f2ca5f96a3c8407e41cca26a16e46b21060fe6d5b099d2cb01412222f5"}, - {file = "pillow-12.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:578510d88c6229d735855e1f278aa305270438d36a05031dfaae5067cc8eb04d"}, - {file = "pillow-12.1.1-cp311-cp311-win32.whl", hash = "sha256:7311c0a0dcadb89b36b7025dfd8326ecfa36964e29913074d47382706e516a7c"}, - {file = "pillow-12.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:fbfa2a7c10cc2623f412753cddf391c7f971c52ca40a3f65dc5039b2939e8563"}, - {file = "pillow-12.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:b81b5e3511211631b3f672a595e3221252c90af017e399056d0faabb9538aa80"}, - {file = "pillow-12.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ab323b787d6e18b3d91a72fc99b1a2c28651e4358749842b8f8dfacd28ef2052"}, - {file = "pillow-12.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:adebb5bee0f0af4909c30db0d890c773d1a92ffe83da908e2e9e720f8edf3984"}, - {file = "pillow-12.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb66b7cc26f50977108790e2456b7921e773f23db5630261102233eb355a3b79"}, - {file = "pillow-12.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aee2810642b2898bb187ced9b349e95d2a7272930796e022efaf12e99dccd293"}, - {file = "pillow-12.1.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a0b1cd6232e2b618adcc54d9882e4e662a089d5768cd188f7c245b4c8c44a397"}, - {file = "pillow-12.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7aac39bcf8d4770d089588a2e1dd111cbaa42df5a94be3114222057d68336bd0"}, - {file = "pillow-12.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ab174cd7d29a62dd139c44bf74b698039328f45cb03b4596c43473a46656b2f3"}, - {file = "pillow-12.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:339ffdcb7cbeaa08221cd401d517d4b1fe7a9ed5d400e4a8039719238620ca35"}, - {file = "pillow-12.1.1-cp312-cp312-win32.whl", hash = "sha256:5d1f9575a12bed9e9eedd9a4972834b08c97a352bd17955ccdebfeca5913fa0a"}, - {file = "pillow-12.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:21329ec8c96c6e979cd0dfd29406c40c1d52521a90544463057d2aaa937d66a6"}, - {file = "pillow-12.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:af9a332e572978f0218686636610555ae3defd1633597be015ed50289a03c523"}, - {file = "pillow-12.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d242e8ac078781f1de88bf823d70c1a9b3c7950a44cdf4b7c012e22ccbcd8e4e"}, - {file = "pillow-12.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:02f84dfad02693676692746df05b89cf25597560db2857363a208e393429f5e9"}, - {file = "pillow-12.1.1-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:e65498daf4b583091ccbb2556c7000abf0f3349fcd57ef7adc9a84a394ed29f6"}, - {file = "pillow-12.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c6db3b84c87d48d0088943bf33440e0c42370b99b1c2a7989216f7b42eede60"}, - {file = "pillow-12.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8b7e5304e34942bf62e15184219a7b5ad4ff7f3bb5cca4d984f37df1a0e1aee2"}, - {file = "pillow-12.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:18e5bddd742a44b7e6b1e773ab5db102bd7a94c32555ba656e76d319d19c3850"}, - {file = "pillow-12.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc44ef1f3de4f45b50ccf9136999d71abb99dca7706bc75d222ed350b9fd2289"}, - {file = "pillow-12.1.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5a8eb7ed8d4198bccbd07058416eeec51686b498e784eda166395a23eb99138e"}, - {file = "pillow-12.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47b94983da0c642de92ced1702c5b6c292a84bd3a8e1d1702ff923f183594717"}, - {file = "pillow-12.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:518a48c2aab7ce596d3bf79d0e275661b846e86e4d0e7dec34712c30fe07f02a"}, - {file = "pillow-12.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a550ae29b95c6dc13cf69e2c9dc5747f814c54eeb2e32d683e5e93af56caa029"}, - {file = "pillow-12.1.1-cp313-cp313-win32.whl", hash = "sha256:a003d7422449f6d1e3a34e3dd4110c22148336918ddbfc6a32581cd54b2e0b2b"}, - {file = "pillow-12.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:344cf1e3dab3be4b1fa08e449323d98a2a3f819ad20f4b22e77a0ede31f0faa1"}, - {file = "pillow-12.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:5c0dd1636633e7e6a0afe7bf6a51a14992b7f8e60de5789018ebbdfae55b040a"}, - {file = "pillow-12.1.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0330d233c1a0ead844fc097a7d16c0abff4c12e856c0b325f231820fee1f39da"}, - {file = "pillow-12.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5dae5f21afb91322f2ff791895ddd8889e5e947ff59f71b46041c8ce6db790bc"}, - {file = "pillow-12.1.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2e0c664be47252947d870ac0d327fea7e63985a08794758aa8af5b6cb6ec0c9c"}, - {file = "pillow-12.1.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:691ab2ac363b8217f7d31b3497108fb1f50faab2f75dfb03284ec2f217e87bf8"}, - {file = "pillow-12.1.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9e8064fb1cc019296958595f6db671fba95209e3ceb0c4734c9baf97de04b20"}, - {file = "pillow-12.1.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:472a8d7ded663e6162dafdf20015c486a7009483ca671cece7a9279b512fcb13"}, - {file = "pillow-12.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:89b54027a766529136a06cfebeecb3a04900397a3590fd252160b888479517bf"}, - {file = "pillow-12.1.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:86172b0831b82ce4f7877f280055892b31179e1576aa00d0df3bb1bbf8c3e524"}, - {file = "pillow-12.1.1-cp313-cp313t-win32.whl", hash = "sha256:44ce27545b6efcf0fdbdceb31c9a5bdea9333e664cda58a7e674bb74608b3986"}, - {file = "pillow-12.1.1-cp313-cp313t-win_amd64.whl", hash = "sha256:a285e3eb7a5a45a2ff504e31f4a8d1b12ef62e84e5411c6804a42197c1cf586c"}, - {file = "pillow-12.1.1-cp313-cp313t-win_arm64.whl", hash = "sha256:cc7d296b5ea4d29e6570dabeaed58d31c3fea35a633a69679fb03d7664f43fb3"}, - {file = "pillow-12.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:417423db963cb4be8bac3fc1204fe61610f6abeed1580a7a2cbb2fbda20f12af"}, - {file = "pillow-12.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:b957b71c6b2387610f556a7eb0828afbe40b4a98036fc0d2acfa5a44a0c2036f"}, - {file = "pillow-12.1.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:097690ba1f2efdeb165a20469d59d8bb03c55fb6621eb2041a060ae8ea3e9642"}, - {file = "pillow-12.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2815a87ab27848db0321fb78c7f0b2c8649dee134b7f2b80c6a45c6831d75ccd"}, - {file = "pillow-12.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f7ed2c6543bad5a7d5530eb9e78c53132f93dfa44a28492db88b41cdab885202"}, - {file = "pillow-12.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:652a2c9ccfb556235b2b501a3a7cf3742148cd22e04b5625c5fe057ea3e3191f"}, - {file = "pillow-12.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d6e4571eedf43af33d0fc233a382a76e849badbccdf1ac438841308652a08e1f"}, - {file = "pillow-12.1.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b574c51cf7d5d62e9be37ba446224b59a2da26dc4c1bb2ecbe936a4fb1a7cb7f"}, - {file = "pillow-12.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a37691702ed687799de29a518d63d4682d9016932db66d4e90c345831b02fb4e"}, - {file = "pillow-12.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f95c00d5d6700b2b890479664a06e754974848afaae5e21beb4d83c106923fd0"}, - {file = "pillow-12.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:559b38da23606e68681337ad74622c4dbba02254fc9cb4488a305dd5975c7eeb"}, - {file = "pillow-12.1.1-cp314-cp314-win32.whl", hash = "sha256:03edcc34d688572014ff223c125a3f77fb08091e4607e7745002fc214070b35f"}, - {file = "pillow-12.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:50480dcd74fa63b8e78235957d302d98d98d82ccbfac4c7e12108ba9ecbdba15"}, - {file = "pillow-12.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:5cb1785d97b0c3d1d1a16bc1d710c4a0049daefc4935f3a8f31f827f4d3d2e7f"}, - {file = "pillow-12.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1f90cff8aa76835cba5769f0b3121a22bd4eb9e6884cfe338216e557a9a548b8"}, - {file = "pillow-12.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1f1be78ce9466a7ee64bfda57bdba0f7cc499d9794d518b854816c41bf0aa4e9"}, - {file = "pillow-12.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:42fc1f4677106188ad9a55562bbade416f8b55456f522430fadab3cef7cd4e60"}, - {file = "pillow-12.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98edb152429ab62a1818039744d8fbb3ccab98a7c29fc3d5fcef158f3f1f68b7"}, - {file = "pillow-12.1.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d470ab1178551dd17fdba0fef463359c41aaa613cdcd7ff8373f54be629f9f8f"}, - {file = "pillow-12.1.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6408a7b064595afcab0a49393a413732a35788f2a5092fdc6266952ed67de586"}, - {file = "pillow-12.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5d8c41325b382c07799a3682c1c258469ea2ff97103c53717b7893862d0c98ce"}, - {file = "pillow-12.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c7697918b5be27424e9ce568193efd13d925c4481dd364e43f5dff72d33e10f8"}, - {file = "pillow-12.1.1-cp314-cp314t-win32.whl", hash = "sha256:d2912fd8114fc5545aa3a4b5576512f64c55a03f3ebcca4c10194d593d43ea36"}, - {file = "pillow-12.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:4ceb838d4bd9dab43e06c363cab2eebf63846d6a4aeaea283bbdfd8f1a8ed58b"}, - {file = "pillow-12.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:7b03048319bfc6170e93bd60728a1af51d3dd7704935feb228c4d4faab35d334"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:600fd103672b925fe62ed08e0d874ea34d692474df6f4bf7ebe148b30f89f39f"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:665e1b916b043cef294bc54d47bf02d87e13f769bc4bc5fa225a24b3a6c5aca9"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:495c302af3aad1ca67420ddd5c7bd480c8867ad173528767d906428057a11f0e"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8fd420ef0c52c88b5a035a0886f367748c72147b2b8f384c9d12656678dfdfa9"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f975aa7ef9684ce7e2c18a3aa8f8e2106ce1e46b94ab713d156b2898811651d3"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8089c852a56c2966cf18835db62d9b34fef7ba74c726ad943928d494fa7f4735"}, - {file = "pillow-12.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:cb9bb857b2d057c6dfc72ac5f3b44836924ba15721882ef103cecb40d002d80e"}, - {file = "pillow-12.1.1.tar.gz", hash = "sha256:9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=8.2)", "sphinx-autobuild", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -test-arrow = ["arro3-compute", "arro3-core", "nanoarrow", "pyarrow"] -tests = ["check-manifest", "coverage (>=7.4.2)", "defusedxml", "markdown2", "olefile", "packaging", "pyroma (>=5)", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "trove-classifiers (>=2024.10.12)"] -xmp = ["defusedxml"] - -[[package]] -name = "platformdirs" -version = "4.9.1" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.10" -groups = ["dev"] -files = [ - {file = "platformdirs-4.9.1-py3-none-any.whl", hash = "sha256:61d8b967d34791c162d30d60737369cbbd77debad5b981c4bfda1842e71e0d66"}, - {file = "platformdirs-4.9.1.tar.gz", hash = "sha256:f310f16e89c4e29117805d8328f7c10876eeff36c94eac879532812110f7d39f"}, -] - -[[package]] -name = "pluggy" -version = "1.6.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, - {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["coverage", "pytest", "pytest-benchmark"] - -[[package]] -name = "pycodestyle" -version = "2.14.0" -description = "Python style guide checker" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "pycodestyle-2.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d"}, - {file = "pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783"}, -] - -[[package]] -name = "pydantic" -version = "2.12.5" -description = "Data validation using Python type hints" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d"}, - {file = "pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49"}, -] - -[package.dependencies] -annotated-types = ">=0.6.0" -pydantic-core = "2.41.5" -typing-extensions = ">=4.14.1" -typing-inspection = ">=0.4.2" - -[package.extras] -email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] - -[[package]] -name = "pydantic-core" -version = "2.41.5" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "pydantic_core-2.41.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146"}, - {file = "pydantic_core-2.41.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2"}, - {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97"}, - {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9"}, - {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52"}, - {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941"}, - {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a"}, - {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c"}, - {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2"}, - {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556"}, - {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49"}, - {file = "pydantic_core-2.41.5-cp310-cp310-win32.whl", hash = "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba"}, - {file = "pydantic_core-2.41.5-cp310-cp310-win_amd64.whl", hash = "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9"}, - {file = "pydantic_core-2.41.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6"}, - {file = "pydantic_core-2.41.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b"}, - {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a"}, - {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8"}, - {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e"}, - {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1"}, - {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b"}, - {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b"}, - {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284"}, - {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594"}, - {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e"}, - {file = "pydantic_core-2.41.5-cp311-cp311-win32.whl", hash = "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b"}, - {file = "pydantic_core-2.41.5-cp311-cp311-win_amd64.whl", hash = "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe"}, - {file = "pydantic_core-2.41.5-cp311-cp311-win_arm64.whl", hash = "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f"}, - {file = "pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7"}, - {file = "pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0"}, - {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69"}, - {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75"}, - {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05"}, - {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc"}, - {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c"}, - {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5"}, - {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c"}, - {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294"}, - {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1"}, - {file = "pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d"}, - {file = "pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815"}, - {file = "pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3"}, - {file = "pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9"}, - {file = "pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34"}, - {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0"}, - {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33"}, - {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e"}, - {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2"}, - {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586"}, - {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d"}, - {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740"}, - {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e"}, - {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858"}, - {file = "pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36"}, - {file = "pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11"}, - {file = "pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd"}, - {file = "pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a"}, - {file = "pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14"}, - {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1"}, - {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66"}, - {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869"}, - {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2"}, - {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375"}, - {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553"}, - {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90"}, - {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07"}, - {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb"}, - {file = "pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23"}, - {file = "pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf"}, - {file = "pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c"}, - {file = "pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008"}, - {file = "pydantic_core-2.41.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:8bfeaf8735be79f225f3fefab7f941c712aaca36f1128c9d7e2352ee1aa87bdf"}, - {file = "pydantic_core-2.41.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:346285d28e4c8017da95144c7f3acd42740d637ff41946af5ce6e5e420502dd5"}, - {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a75dafbf87d6276ddc5b2bf6fae5254e3d0876b626eb24969a574fff9149ee5d"}, - {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b93a4d08587e2b7e7882de461e82b6ed76d9026ce91ca7915e740ecc7855f60"}, - {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8465ab91a4bd96d36dde3263f06caa6a8a6019e4113f24dc753d79a8b3a3f82"}, - {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:299e0a22e7ae2b85c1a57f104538b2656e8ab1873511fd718a1c1c6f149b77b5"}, - {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:707625ef0983fcfb461acfaf14de2067c5942c6bb0f3b4c99158bed6fedd3cf3"}, - {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f41eb9797986d6ebac5e8edff36d5cef9de40def462311b3eb3eeded1431e425"}, - {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0384e2e1021894b1ff5a786dbf94771e2986ebe2869533874d7e43bc79c6f504"}, - {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:f0cd744688278965817fd0839c4a4116add48d23890d468bc436f78beb28abf5"}, - {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:753e230374206729bf0a807954bcc6c150d3743928a73faffee51ac6557a03c3"}, - {file = "pydantic_core-2.41.5-cp39-cp39-win32.whl", hash = "sha256:873e0d5b4fb9b89ef7c2d2a963ea7d02879d9da0da8d9d4933dee8ee86a8b460"}, - {file = "pydantic_core-2.41.5-cp39-cp39-win_amd64.whl", hash = "sha256:e4f4a984405e91527a0d62649ee21138f8e3d0ef103be488c1dc11a80d7f184b"}, - {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034"}, - {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c"}, - {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2"}, - {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad"}, - {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd"}, - {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc"}, - {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56"}, - {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963"}, - {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f"}, - {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51"}, - {file = "pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e"}, -] - -[package.dependencies] -typing-extensions = ">=4.14.1" - -[[package]] -name = "pydantic-settings" -version = "2.13.0" -description = "Settings management using Pydantic" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "pydantic_settings-2.13.0-py3-none-any.whl", hash = "sha256:d67b576fff39cd086b595441bf9c75d4193ca9c0ed643b90360694d0f1240246"}, - {file = "pydantic_settings-2.13.0.tar.gz", hash = "sha256:95d875514610e8595672800a5c40b073e99e4aae467fa7c8f9c263061ea2e1fe"}, -] - -[package.dependencies] -pydantic = ">=2.7.0" -python-dotenv = ">=0.21.0" -typing-inspection = ">=0.4.0" - -[package.extras] -aws-secrets-manager = ["boto3 (>=1.35.0)", "boto3-stubs[secretsmanager]"] -azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"] -gcp-secret-manager = ["google-cloud-secret-manager (>=2.23.1)"] -toml = ["tomli (>=2.0.1)"] -yaml = ["pyyaml (>=6.0.1)"] - -[[package]] -name = "pyflakes" -version = "3.4.0" -description = "passive checker of Python programs" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "pyflakes-3.4.0-py2.py3-none-any.whl", hash = "sha256:f742a7dbd0d9cb9ea41e9a24a918996e8170c799fa528688d40dd582c8265f4f"}, - {file = "pyflakes-3.4.0.tar.gz", hash = "sha256:b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58"}, -] - -[[package]] -name = "pygments" -version = "2.19.2" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"}, - {file = "pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"}, -] - -[package.extras] -windows-terminal = ["colorama (>=0.4.6)"] - -[[package]] -name = "pytest" -version = "9.0.2" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.10" -groups = ["dev"] -files = [ - {file = "pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b"}, - {file = "pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11"}, -] - -[package.dependencies] -colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""} -iniconfig = ">=1.0.1" -packaging = ">=22" -pluggy = ">=1.5,<2" -pygments = ">=2.7.2" - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.2.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61"}, - {file = "python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "pytokens" -version = "0.4.1" -description = "A Fast, spec compliant Python 3.14+ tokenizer that runs on older Pythons." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "pytokens-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a44ed93ea23415c54f3face3b65ef2b844d96aeb3455b8a69b3df6beab6acc5"}, - {file = "pytokens-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:add8bf86b71a5d9fb5b89f023a80b791e04fba57960aa790cc6125f7f1d39dfe"}, - {file = "pytokens-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:670d286910b531c7b7e3c0b453fd8156f250adb140146d234a82219459b9640c"}, - {file = "pytokens-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4e691d7f5186bd2842c14813f79f8884bb03f5995f0575272009982c5ac6c0f7"}, - {file = "pytokens-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:27b83ad28825978742beef057bfe406ad6ed524b2d28c252c5de7b4a6dd48fa2"}, - {file = "pytokens-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d70e77c55ae8380c91c0c18dea05951482e263982911fc7410b1ffd1dadd3440"}, - {file = "pytokens-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a58d057208cb9075c144950d789511220b07636dd2e4708d5645d24de666bdc"}, - {file = "pytokens-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b49750419d300e2b5a3813cf229d4e5a4c728dae470bcc89867a9ad6f25a722d"}, - {file = "pytokens-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9907d61f15bf7261d7e775bd5d7ee4d2930e04424bab1972591918497623a16"}, - {file = "pytokens-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:ee44d0f85b803321710f9239f335aafe16553b39106384cef8e6de40cb4ef2f6"}, - {file = "pytokens-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:140709331e846b728475786df8aeb27d24f48cbcf7bcd449f8de75cae7a45083"}, - {file = "pytokens-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d6c4268598f762bc8e91f5dbf2ab2f61f7b95bdc07953b602db879b3c8c18e1"}, - {file = "pytokens-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24afde1f53d95348b5a0eb19488661147285ca4dd7ed752bbc3e1c6242a304d1"}, - {file = "pytokens-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5ad948d085ed6c16413eb5fec6b3e02fa00dc29a2534f088d3302c47eb59adf9"}, - {file = "pytokens-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:3f901fe783e06e48e8cbdc82d631fca8f118333798193e026a50ce1b3757ea68"}, - {file = "pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8bdb9d0ce90cbf99c525e75a2fa415144fd570a1ba987380190e8b786bc6ef9b"}, - {file = "pytokens-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5502408cab1cb18e128570f8d598981c68a50d0cbd7c61312a90507cd3a1276f"}, - {file = "pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29d1d8fb1030af4d231789959f21821ab6325e463f0503a61d204343c9b355d1"}, - {file = "pytokens-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:970b08dd6b86058b6dc07efe9e98414f5102974716232d10f32ff39701e841c4"}, - {file = "pytokens-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:9bd7d7f544d362576be74f9d5901a22f317efc20046efe2034dced238cbbfe78"}, - {file = "pytokens-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4a14d5f5fc78ce85e426aa159489e2d5961acf0e47575e08f35584009178e321"}, - {file = "pytokens-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f50fd18543be72da51dd505e2ed20d2228c74e0464e4262e4899797803d7fa"}, - {file = "pytokens-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc74c035f9bfca0255c1af77ddd2d6ae8419012805453e4b0e7513e17904545d"}, - {file = "pytokens-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f66a6bbe741bd431f6d741e617e0f39ec7257ca1f89089593479347cc4d13324"}, - {file = "pytokens-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:b35d7e5ad269804f6697727702da3c517bb8a5228afa450ab0fa787732055fc9"}, - {file = "pytokens-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8fcb9ba3709ff77e77f1c7022ff11d13553f3c30299a9fe246a166903e9091eb"}, - {file = "pytokens-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79fc6b8699564e1f9b521582c35435f1bd32dd06822322ec44afdeba666d8cb3"}, - {file = "pytokens-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d31b97b3de0f61571a124a00ffe9a81fb9939146c122c11060725bd5aea79975"}, - {file = "pytokens-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:967cf6e3fd4adf7de8fc73cd3043754ae79c36475c1c11d514fc72cf5490094a"}, - {file = "pytokens-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:584c80c24b078eec1e227079d56dc22ff755e0ba8654d8383b2c549107528918"}, - {file = "pytokens-0.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:da5baeaf7116dced9c6bb76dc31ba04a2dc3695f3d9f74741d7910122b456edc"}, - {file = "pytokens-0.4.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11edda0942da80ff58c4408407616a310adecae1ddd22eef8c692fe266fa5009"}, - {file = "pytokens-0.4.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0fc71786e629cef478cbf29d7ea1923299181d0699dbe7c3c0f4a583811d9fc1"}, - {file = "pytokens-0.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dcafc12c30dbaf1e2af0490978352e0c4041a7cde31f4f81435c2a5e8b9cabb6"}, - {file = "pytokens-0.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:42f144f3aafa5d92bad964d471a581651e28b24434d184871bd02e3a0d956037"}, - {file = "pytokens-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34bcc734bd2f2d5fe3b34e7b3c0116bfb2397f2d9666139988e7a3eb5f7400e3"}, - {file = "pytokens-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941d4343bf27b605e9213b26bfa1c4bf197c9c599a9627eb7305b0defcfe40c1"}, - {file = "pytokens-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3ad72b851e781478366288743198101e5eb34a414f1d5627cdd585ca3b25f1db"}, - {file = "pytokens-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:682fa37ff4d8e95f7df6fe6fe6a431e8ed8e788023c6bcc0f0880a12eab80ad1"}, - {file = "pytokens-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:30f51edd9bb7f85c748979384165601d028b84f7bd13fe14d3e065304093916a"}, - {file = "pytokens-0.4.1-py3-none-any.whl", hash = "sha256:26cef14744a8385f35d0e095dc8b3a7583f6c953c2e3d269c7f82484bf5ad2de"}, - {file = "pytokens-0.4.1.tar.gz", hash = "sha256:292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a"}, -] - -[package.extras] -dev = ["black", "build", "mypy", "pytest", "pytest-cov", "setuptools", "tox", "twine", "wheel"] - -[[package]] -name = "pyyaml" -version = "6.0.3" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "PyYAML-6.0.3-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f"}, - {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4"}, - {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3"}, - {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6"}, - {file = "PyYAML-6.0.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369"}, - {file = "PyYAML-6.0.3-cp38-cp38-win32.whl", hash = "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295"}, - {file = "PyYAML-6.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b"}, - {file = "pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b"}, - {file = "pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956"}, - {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8"}, - {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198"}, - {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b"}, - {file = "pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0"}, - {file = "pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69"}, - {file = "pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e"}, - {file = "pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c"}, - {file = "pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e"}, - {file = "pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824"}, - {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c"}, - {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00"}, - {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d"}, - {file = "pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a"}, - {file = "pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4"}, - {file = "pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b"}, - {file = "pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf"}, - {file = "pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196"}, - {file = "pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0"}, - {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28"}, - {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c"}, - {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc"}, - {file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e"}, - {file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea"}, - {file = "pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5"}, - {file = "pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b"}, - {file = "pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd"}, - {file = "pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8"}, - {file = "pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1"}, - {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c"}, - {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5"}, - {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6"}, - {file = "pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6"}, - {file = "pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be"}, - {file = "pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26"}, - {file = "pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c"}, - {file = "pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb"}, - {file = "pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac"}, - {file = "pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310"}, - {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7"}, - {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788"}, - {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5"}, - {file = "pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764"}, - {file = "pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35"}, - {file = "pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac"}, - {file = "pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3"}, - {file = "pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3"}, - {file = "pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba"}, - {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c"}, - {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702"}, - {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c"}, - {file = "pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065"}, - {file = "pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65"}, - {file = "pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9"}, - {file = "pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b"}, - {file = "pyyaml-6.0.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da"}, - {file = "pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917"}, - {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9"}, - {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5"}, - {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a"}, - {file = "pyyaml-6.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926"}, - {file = "pyyaml-6.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7"}, - {file = "pyyaml-6.0.3-cp39-cp39-win32.whl", hash = "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0"}, - {file = "pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007"}, - {file = "pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f"}, -] - -[[package]] -name = "redis" -version = "7.1.1" -description = "Python client for Redis database and key-value store" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "redis-7.1.1-py3-none-any.whl", hash = "sha256:f77817f16071c2950492c67d40b771fa493eb3fccc630a424a10976dbb794b7a"}, - {file = "redis-7.1.1.tar.gz", hash = "sha256:a2814b2bda15b39dad11391cc48edac4697214a8a5a4bd10abe936ab4892eb43"}, -] - -[package.dependencies] -async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""} -hiredis = {version = ">=3.2.0", optional = true, markers = "extra == \"hiredis\""} - -[package.extras] -circuit-breaker = ["pybreaker (>=1.4.0)"] -hiredis = ["hiredis (>=3.2.0)"] -jwt = ["pyjwt (>=2.9.0)"] -ocsp = ["cryptography (>=36.0.1)", "pyopenssl (>=20.0.1)", "requests (>=2.31.0)"] - -[[package]] -name = "requests" -version = "2.32.5" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"}, - {file = "requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset_normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "starlette" -version = "0.52.1" -description = "The little ASGI library that shines." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "starlette-0.52.1-py3-none-any.whl", hash = "sha256:0029d43eb3d273bc4f83a08720b4912ea4b071087a3b48db01b7c839f7954d74"}, - {file = "starlette-0.52.1.tar.gz", hash = "sha256:834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933"}, -] - -[package.dependencies] -anyio = ">=3.6.2,<5" -typing-extensions = {version = ">=4.10.0", markers = "python_version < \"3.13\""} - -[package.extras] -full = ["httpx (>=0.27.0,<0.29.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.18)", "pyyaml"] - -[[package]] -name = "tomli-w" -version = "1.2.0" -description = "A lil' TOML writer" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "tomli_w-1.2.0-py3-none-any.whl", hash = "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90"}, - {file = "tomli_w-1.2.0.tar.gz", hash = "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021"}, -] - -[[package]] -name = "typing-extensions" -version = "4.15.0" -description = "Backported and Experimental Type Hints for Python 3.9+" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, - {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, -] - -[[package]] -name = "typing-inspection" -version = "0.4.2" -description = "Runtime typing introspection tools" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"}, - {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"}, -] - -[package.dependencies] -typing-extensions = ">=4.12.0" - -[[package]] -name = "urllib3" -version = "2.6.3" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"}, - {file = "urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"}, -] - -[package.extras] -brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""] - -[[package]] -name = "uvicorn" -version = "0.40.0" -description = "The lightning-fast ASGI server." -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "uvicorn-0.40.0-py3-none-any.whl", hash = "sha256:c6c8f55bc8bf13eb6fa9ff87ad62308bbbc33d0b67f84293151efe87e0d5f2ee"}, - {file = "uvicorn-0.40.0.tar.gz", hash = "sha256:839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea"}, -] - -[package.dependencies] -click = ">=7.0" -colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} -h11 = ">=0.8" -httptools = {version = ">=0.6.3", optional = true, markers = "extra == \"standard\""} -python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} -pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} -uvloop = {version = ">=0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""} -watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} -websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} - -[package.extras] -standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.15.1) ; sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\"", "watchfiles (>=0.13)", "websockets (>=10.4)"] - -[[package]] -name = "uvloop" -version = "0.22.1" -description = "Fast implementation of asyncio event loop on top of libuv" -optional = false -python-versions = ">=3.8.1" -groups = ["main"] -markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\"" -files = [ - {file = "uvloop-0.22.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ef6f0d4cc8a9fa1f6a910230cd53545d9a14479311e87e3cb225495952eb672c"}, - {file = "uvloop-0.22.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7cd375a12b71d33d46af85a3343b35d98e8116134ba404bd657b3b1d15988792"}, - {file = "uvloop-0.22.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac33ed96229b7790eb729702751c0e93ac5bc3bcf52ae9eccbff30da09194b86"}, - {file = "uvloop-0.22.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:481c990a7abe2c6f4fc3d98781cc9426ebd7f03a9aaa7eb03d3bfc68ac2a46bd"}, - {file = "uvloop-0.22.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a592b043a47ad17911add5fbd087c76716d7c9ccc1d64ec9249ceafd735f03c2"}, - {file = "uvloop-0.22.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1489cf791aa7b6e8c8be1c5a080bae3a672791fcb4e9e12249b05862a2ca9cec"}, - {file = "uvloop-0.22.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c60ebcd36f7b240b30788554b6f0782454826a0ed765d8430652621b5de674b9"}, - {file = "uvloop-0.22.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b7f102bf3cb1995cfeaee9321105e8f5da76fdb104cdad8986f85461a1b7b77"}, - {file = "uvloop-0.22.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53c85520781d84a4b8b230e24a5af5b0778efdb39142b424990ff1ef7c48ba21"}, - {file = "uvloop-0.22.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56a2d1fae65fd82197cb8c53c367310b3eabe1bbb9fb5a04d28e3e3520e4f702"}, - {file = "uvloop-0.22.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40631b049d5972c6755b06d0bfe8233b1bd9a8a6392d9d1c45c10b6f9e9b2733"}, - {file = "uvloop-0.22.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:535cc37b3a04f6cd2c1ef65fa1d370c9a35b6695df735fcff5427323f2cd5473"}, - {file = "uvloop-0.22.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fe94b4564e865d968414598eea1a6de60adba0c040ba4ed05ac1300de402cd42"}, - {file = "uvloop-0.22.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:51eb9bd88391483410daad430813d982010f9c9c89512321f5b60e2cddbdddd6"}, - {file = "uvloop-0.22.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:700e674a166ca5778255e0e1dc4e9d79ab2acc57b9171b79e65feba7184b3370"}, - {file = "uvloop-0.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b5b1ac819a3f946d3b2ee07f09149578ae76066d70b44df3fa990add49a82e4"}, - {file = "uvloop-0.22.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e047cc068570bac9866237739607d1313b9253c3051ad84738cbb095be0537b2"}, - {file = "uvloop-0.22.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:512fec6815e2dd45161054592441ef76c830eddaad55c8aa30952e6fe1ed07c0"}, - {file = "uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705"}, - {file = "uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8"}, - {file = "uvloop-0.22.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2ea3d6190a2968f4a14a23019d3b16870dd2190cd69c8180f7c632d21de68d"}, - {file = "uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e"}, - {file = "uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e"}, - {file = "uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad"}, - {file = "uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142"}, - {file = "uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74"}, - {file = "uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35"}, - {file = "uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25"}, - {file = "uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6"}, - {file = "uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079"}, - {file = "uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289"}, - {file = "uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3"}, - {file = "uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c"}, - {file = "uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21"}, - {file = "uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88"}, - {file = "uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e"}, - {file = "uvloop-0.22.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:80eee091fe128e425177fbd82f8635769e2f32ec9daf6468286ec57ec0313efa"}, - {file = "uvloop-0.22.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:017bd46f9e7b78e81606329d07141d3da446f8798c6baeec124260e22c262772"}, - {file = "uvloop-0.22.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3e5c6727a57cb6558592a95019e504f605d1c54eb86463ee9f7a2dbd411c820"}, - {file = "uvloop-0.22.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:57df59d8b48feb0e613d9b1f5e57b7532e97cbaf0d61f7aa9aa32221e84bc4b6"}, - {file = "uvloop-0.22.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:55502bc2c653ed2e9692e8c55cb95b397d33f9f2911e929dc97c4d6b26d04242"}, - {file = "uvloop-0.22.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4a968a72422a097b09042d5fa2c5c590251ad484acf910a651b4b620acd7f193"}, - {file = "uvloop-0.22.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b45649628d816c030dba3c80f8e2689bab1c89518ed10d426036cdc47874dfc4"}, - {file = "uvloop-0.22.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ea721dd3203b809039fcc2983f14608dae82b212288b346e0bfe46ec2fab0b7c"}, - {file = "uvloop-0.22.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ae676de143db2b2f60a9696d7eca5bb9d0dd6cc3ac3dad59a8ae7e95f9e1b54"}, - {file = "uvloop-0.22.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:17d4e97258b0172dfa107b89aa1eeba3016f4b1974ce85ca3ef6a66b35cbf659"}, - {file = "uvloop-0.22.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:05e4b5f86e621cf3927631789999e697e58f0d2d32675b67d9ca9eb0bca55743"}, - {file = "uvloop-0.22.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:286322a90bea1f9422a470d5d2ad82d38080be0a29c4dd9b3e6384320a4d11e7"}, - {file = "uvloop-0.22.1.tar.gz", hash = "sha256:6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f"}, -] - -[package.extras] -dev = ["Cython (>=3.0,<4.0)", "setuptools (>=60)"] -docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx_rtd_theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] -test = ["aiohttp (>=3.10.5)", "flake8 (>=6.1,<7.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=25.3.0,<25.4.0)", "pycodestyle (>=2.11.0,<2.12.0)"] - -[[package]] -name = "watchfiles" -version = "1.1.1" -description = "Simple, modern and high performance file watching and code reload in python." -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "watchfiles-1.1.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:eef58232d32daf2ac67f42dea51a2c80f0d03379075d44a587051e63cc2e368c"}, - {file = "watchfiles-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03fa0f5237118a0c5e496185cafa92878568b652a2e9a9382a5151b1a0380a43"}, - {file = "watchfiles-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca65483439f9c791897f7db49202301deb6e15fe9f8fe2fed555bf986d10c31"}, - {file = "watchfiles-1.1.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f0ab1c1af0cb38e3f598244c17919fb1a84d1629cc08355b0074b6d7f53138ac"}, - {file = "watchfiles-1.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bc570d6c01c206c46deb6e935a260be44f186a2f05179f52f7fcd2be086a94d"}, - {file = "watchfiles-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e84087b432b6ac94778de547e08611266f1f8ffad28c0ee4c82e028b0fc5966d"}, - {file = "watchfiles-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:620bae625f4cb18427b1bb1a2d9426dc0dd5a5ba74c7c2cdb9de405f7b129863"}, - {file = "watchfiles-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:544364b2b51a9b0c7000a4b4b02f90e9423d97fbbf7e06689236443ebcad81ab"}, - {file = "watchfiles-1.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bbe1ef33d45bc71cf21364df962af171f96ecaeca06bd9e3d0b583efb12aec82"}, - {file = "watchfiles-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a0bb430adb19ef49389e1ad368450193a90038b5b752f4ac089ec6942c4dff4"}, - {file = "watchfiles-1.1.1-cp310-cp310-win32.whl", hash = "sha256:3f6d37644155fb5beca5378feb8c1708d5783145f2a0f1c4d5a061a210254844"}, - {file = "watchfiles-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:a36d8efe0f290835fd0f33da35042a1bb5dc0e83cbc092dcf69bce442579e88e"}, - {file = "watchfiles-1.1.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f57b396167a2565a4e8b5e56a5a1c537571733992b226f4f1197d79e94cf0ae5"}, - {file = "watchfiles-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:421e29339983e1bebc281fab40d812742268ad057db4aee8c4d2bce0af43b741"}, - {file = "watchfiles-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e43d39a741e972bab5d8100b5cdacf69db64e34eb19b6e9af162bccf63c5cc6"}, - {file = "watchfiles-1.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f537afb3276d12814082a2e9b242bdcf416c2e8fd9f799a737990a1dbe906e5b"}, - {file = "watchfiles-1.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2cd9e04277e756a2e2d2543d65d1e2166d6fd4c9b183f8808634fda23f17b14"}, - {file = "watchfiles-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f3f58818dc0b07f7d9aa7fe9eb1037aecb9700e63e1f6acfed13e9fef648f5d"}, - {file = "watchfiles-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bb9f66367023ae783551042d31b1d7fd422e8289eedd91f26754a66f44d5cff"}, - {file = "watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aebfd0861a83e6c3d1110b78ad54704486555246e542be3e2bb94195eabb2606"}, - {file = "watchfiles-1.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5fac835b4ab3c6487b5dbad78c4b3724e26bcc468e886f8ba8cc4306f68f6701"}, - {file = "watchfiles-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:399600947b170270e80134ac854e21b3ccdefa11a9529a3decc1327088180f10"}, - {file = "watchfiles-1.1.1-cp311-cp311-win32.whl", hash = "sha256:de6da501c883f58ad50db3a32ad397b09ad29865b5f26f64c24d3e3281685849"}, - {file = "watchfiles-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:35c53bd62a0b885bf653ebf6b700d1bf05debb78ad9292cf2a942b23513dc4c4"}, - {file = "watchfiles-1.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:57ca5281a8b5e27593cb7d82c2ac927ad88a96ed406aa446f6344e4328208e9e"}, - {file = "watchfiles-1.1.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:8c89f9f2f740a6b7dcc753140dd5e1ab9215966f7a3530d0c0705c83b401bd7d"}, - {file = "watchfiles-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bd404be08018c37350f0d6e34676bd1e2889990117a2b90070b3007f172d0610"}, - {file = "watchfiles-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8526e8f916bb5b9a0a777c8317c23ce65de259422bba5b31325a6fa6029d33af"}, - {file = "watchfiles-1.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2edc3553362b1c38d9f06242416a5d8e9fe235c204a4072e988ce2e5bb1f69f6"}, - {file = "watchfiles-1.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30f7da3fb3f2844259cba4720c3fc7138eb0f7b659c38f3bfa65084c7fc7abce"}, - {file = "watchfiles-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8979280bdafff686ba5e4d8f97840f929a87ed9cdf133cbbd42f7766774d2aa"}, - {file = "watchfiles-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dcc5c24523771db3a294c77d94771abcfcb82a0e0ee8efd910c37c59ec1b31bb"}, - {file = "watchfiles-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db5d7ae38ff20153d542460752ff397fcf5c96090c1230803713cf3147a6803"}, - {file = "watchfiles-1.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:28475ddbde92df1874b6c5c8aaeb24ad5be47a11f87cde5a28ef3835932e3e94"}, - {file = "watchfiles-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:36193ed342f5b9842edd3532729a2ad55c4160ffcfa3700e0d54be496b70dd43"}, - {file = "watchfiles-1.1.1-cp312-cp312-win32.whl", hash = "sha256:859e43a1951717cc8de7f4c77674a6d389b106361585951d9e69572823f311d9"}, - {file = "watchfiles-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:91d4c9a823a8c987cce8fa2690923b069966dabb196dd8d137ea2cede885fde9"}, - {file = "watchfiles-1.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:a625815d4a2bdca61953dbba5a39d60164451ef34c88d751f6c368c3ea73d404"}, - {file = "watchfiles-1.1.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:130e4876309e8686a5e37dba7d5e9bc77e6ed908266996ca26572437a5271e18"}, - {file = "watchfiles-1.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5f3bde70f157f84ece3765b42b4a52c6ac1a50334903c6eaf765362f6ccca88a"}, - {file = "watchfiles-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14e0b1fe858430fc0251737ef3824c54027bedb8c37c38114488b8e131cf8219"}, - {file = "watchfiles-1.1.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f27db948078f3823a6bb3b465180db8ebecf26dd5dae6f6180bd87383b6b4428"}, - {file = "watchfiles-1.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:059098c3a429f62fc98e8ec62b982230ef2c8df68c79e826e37b895bc359a9c0"}, - {file = "watchfiles-1.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfb5862016acc9b869bb57284e6cb35fdf8e22fe59f7548858e2f971d045f150"}, - {file = "watchfiles-1.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:319b27255aacd9923b8a276bb14d21a5f7ff82564c744235fc5eae58d95422ae"}, - {file = "watchfiles-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c755367e51db90e75b19454b680903631d41f9e3607fbd941d296a020c2d752d"}, - {file = "watchfiles-1.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c22c776292a23bfc7237a98f791b9ad3144b02116ff10d820829ce62dff46d0b"}, - {file = "watchfiles-1.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3a476189be23c3686bc2f4321dd501cb329c0a0469e77b7b534ee10129ae6374"}, - {file = "watchfiles-1.1.1-cp313-cp313-win32.whl", hash = "sha256:bf0a91bfb5574a2f7fc223cf95eeea79abfefa404bf1ea5e339c0c1560ae99a0"}, - {file = "watchfiles-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:52e06553899e11e8074503c8e716d574adeeb7e68913115c4b3653c53f9bae42"}, - {file = "watchfiles-1.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:ac3cc5759570cd02662b15fbcd9d917f7ecd47efe0d6b40474eafd246f91ea18"}, - {file = "watchfiles-1.1.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:563b116874a9a7ce6f96f87cd0b94f7faf92d08d0021e837796f0a14318ef8da"}, - {file = "watchfiles-1.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3ad9fe1dae4ab4212d8c91e80b832425e24f421703b5a42ef2e4a1e215aff051"}, - {file = "watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce70f96a46b894b36eba678f153f052967a0d06d5b5a19b336ab0dbbd029f73e"}, - {file = "watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb467c999c2eff23a6417e58d75e5828716f42ed8289fe6b77a7e5a91036ca70"}, - {file = "watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:836398932192dae4146c8f6f737d74baeac8b70ce14831a239bdb1ca882fc261"}, - {file = "watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:743185e7372b7bc7c389e1badcc606931a827112fbbd37f14c537320fca08620"}, - {file = "watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:afaeff7696e0ad9f02cbb8f56365ff4686ab205fcf9c4c5b6fdfaaa16549dd04"}, - {file = "watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7eb7da0eb23aa2ba036d4f616d46906013a68caf61b7fdbe42fc8b25132e77"}, - {file = "watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:831a62658609f0e5c64178211c942ace999517f5770fe9436be4c2faeba0c0ef"}, - {file = "watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:f9a2ae5c91cecc9edd47e041a930490c31c3afb1f5e6d71de3dc671bfaca02bf"}, - {file = "watchfiles-1.1.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:d1715143123baeeaeadec0528bb7441103979a1d5f6fd0e1f915383fea7ea6d5"}, - {file = "watchfiles-1.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:39574d6370c4579d7f5d0ad940ce5b20db0e4117444e39b6d8f99db5676c52fd"}, - {file = "watchfiles-1.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7365b92c2e69ee952902e8f70f3ba6360d0d596d9299d55d7d386df84b6941fb"}, - {file = "watchfiles-1.1.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfff9740c69c0e4ed32416f013f3c45e2ae42ccedd1167ef2d805c000b6c71a5"}, - {file = "watchfiles-1.1.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b27cf2eb1dda37b2089e3907d8ea92922b673c0c427886d4edc6b94d8dfe5db3"}, - {file = "watchfiles-1.1.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:526e86aced14a65a5b0ec50827c745597c782ff46b571dbfe46192ab9e0b3c33"}, - {file = "watchfiles-1.1.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04e78dd0b6352db95507fd8cb46f39d185cf8c74e4cf1e4fbad1d3df96faf510"}, - {file = "watchfiles-1.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c85794a4cfa094714fb9c08d4a218375b2b95b8ed1666e8677c349906246c05"}, - {file = "watchfiles-1.1.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:74d5012b7630714b66be7b7b7a78855ef7ad58e8650c73afc4c076a1f480a8d6"}, - {file = "watchfiles-1.1.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:8fbe85cb3201c7d380d3d0b90e63d520f15d6afe217165d7f98c9c649654db81"}, - {file = "watchfiles-1.1.1-cp314-cp314-win32.whl", hash = "sha256:3fa0b59c92278b5a7800d3ee7733da9d096d4aabcfabb9a928918bd276ef9b9b"}, - {file = "watchfiles-1.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:c2047d0b6cea13b3316bdbafbfa0c4228ae593d995030fda39089d36e64fc03a"}, - {file = "watchfiles-1.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:842178b126593addc05acf6fce960d28bc5fae7afbaa2c6c1b3a7b9460e5be02"}, - {file = "watchfiles-1.1.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:88863fbbc1a7312972f1c511f202eb30866370ebb8493aef2812b9ff28156a21"}, - {file = "watchfiles-1.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:55c7475190662e202c08c6c0f4d9e345a29367438cf8e8037f3155e10a88d5a5"}, - {file = "watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f53fa183d53a1d7a8852277c92b967ae99c2d4dcee2bfacff8868e6e30b15f7"}, - {file = "watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6aae418a8b323732fa89721d86f39ec8f092fc2af67f4217a2b07fd3e93c6101"}, - {file = "watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f096076119da54a6080e8920cbdaac3dbee667eb91dcc5e5b78840b87415bd44"}, - {file = "watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00485f441d183717038ed2e887a7c868154f216877653121068107b227a2f64c"}, - {file = "watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a55f3e9e493158d7bfdb60a1165035f1cf7d320914e7b7ea83fe22c6023b58fc"}, - {file = "watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c91ed27800188c2ae96d16e3149f199d62f86c7af5f5f4d2c61a3ed8cd3666c"}, - {file = "watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:311ff15a0bae3714ffb603e6ba6dbfba4065ab60865d15a6ec544133bdb21099"}, - {file = "watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:a916a2932da8f8ab582f242c065f5c81bed3462849ca79ee357dd9551b0e9b01"}, - {file = "watchfiles-1.1.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c882d69f6903ef6092bedfb7be973d9319940d56b8427ab9187d1ecd73438a70"}, - {file = "watchfiles-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d6ff426a7cb54f310d51bfe83fe9f2bbe40d540c741dc974ebc30e6aa238f52e"}, - {file = "watchfiles-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79ff6c6eadf2e3fc0d7786331362e6ef1e51125892c75f1004bd6b52155fb956"}, - {file = "watchfiles-1.1.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c1f5210f1b8fc91ead1283c6fd89f70e76fb07283ec738056cf34d51e9c1d62c"}, - {file = "watchfiles-1.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9c4702f29ca48e023ffd9b7ff6b822acdf47cb1ff44cb490a3f1d5ec8987e9c"}, - {file = "watchfiles-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acb08650863767cbc58bca4813b92df4d6c648459dcaa3d4155681962b2aa2d3"}, - {file = "watchfiles-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08af70fd77eee58549cd69c25055dc344f918d992ff626068242259f98d598a2"}, - {file = "watchfiles-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c3631058c37e4a0ec440bf583bc53cdbd13e5661bb6f465bc1d88ee9a0a4d02"}, - {file = "watchfiles-1.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cf57a27fb986c6243d2ee78392c503826056ffe0287e8794503b10fb51b881be"}, - {file = "watchfiles-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d7e7067c98040d646982daa1f37a33d3544138ea155536c2e0e63e07ff8a7e0f"}, - {file = "watchfiles-1.1.1-cp39-cp39-win32.whl", hash = "sha256:6c9c9262f454d1c4d8aaa7050121eb4f3aea197360553699520767daebf2180b"}, - {file = "watchfiles-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:74472234c8370669850e1c312490f6026d132ca2d396abfad8830b4f1c096957"}, - {file = "watchfiles-1.1.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:17ef139237dfced9da49fb7f2232c86ca9421f666d78c264c7ffca6601d154c3"}, - {file = "watchfiles-1.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:672b8adf25b1a0d35c96b5888b7b18699d27d4194bac8beeae75be4b7a3fc9b2"}, - {file = "watchfiles-1.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77a13aea58bc2b90173bc69f2a90de8e282648939a00a602e1dc4ee23e26b66d"}, - {file = "watchfiles-1.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b495de0bb386df6a12b18335a0285dda90260f51bdb505503c02bcd1ce27a8b"}, - {file = "watchfiles-1.1.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:db476ab59b6765134de1d4fe96a1a9c96ddf091683599be0f26147ea1b2e4b88"}, - {file = "watchfiles-1.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89eef07eee5e9d1fda06e38822ad167a044153457e6fd997f8a858ab7564a336"}, - {file = "watchfiles-1.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce19e06cbda693e9e7686358af9cd6f5d61312ab8b00488bc36f5aabbaf77e24"}, - {file = "watchfiles-1.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e6f39af2eab0118338902798b5aa6664f46ff66bc0280de76fca67a7f262a49"}, - {file = "watchfiles-1.1.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdab464fee731e0884c35ae3588514a9bcf718d0e2c82169c1c4a85cc19c3c7f"}, - {file = "watchfiles-1.1.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3dbd8cbadd46984f802f6d479b7e3afa86c42d13e8f0f322d669d79722c8ec34"}, - {file = "watchfiles-1.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5524298e3827105b61951a29c3512deb9578586abf3a7c5da4a8069df247cccc"}, - {file = "watchfiles-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b943d3668d61cfa528eb949577479d3b077fd25fb83c641235437bc0b5bc60e"}, - {file = "watchfiles-1.1.1.tar.gz", hash = "sha256:a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2"}, -] - -[package.dependencies] -anyio = ">=3.0.0" - -[[package]] -name = "webdavclient3" -version = "3.14.7" -description = "WebDAV client, based on original package https://github.com/designerror/webdav-client-python but uses requests instead of PyCURL" -optional = false -python-versions = ">=3.6" -groups = ["main"] -files = [ - {file = "webdavclient3-3.14.7-py3-none-any.whl", hash = "sha256:a904381da8e3ae77b4ca9e11e05058d91a07704254d71c193c797f7c2fb15025"}, - {file = "webdavclient3-3.14.7.tar.gz", hash = "sha256:6c04252b579bc015cec78081480c63eadf1030f382768248777c6203f059b3f5"}, -] - -[package.dependencies] -lxml = "*" -python-dateutil = "*" -requests = "*" - -[package.extras] -dev = ["coverage", "pytest", "ruff"] -test = ["coverage", "pytest"] - -[[package]] -name = "websockets" -version = "16.0" -description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -optional = false -python-versions = ">=3.10" -groups = ["main"] -files = [ - {file = "websockets-16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04cdd5d2d1dacbad0a7bf36ccbcd3ccd5a30ee188f2560b7a62a30d14107b31a"}, - {file = "websockets-16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ff32bb86522a9e5e31439a58addbb0166f0204d64066fb955265c4e214160f0"}, - {file = "websockets-16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:583b7c42688636f930688d712885cf1531326ee05effd982028212ccc13e5957"}, - {file = "websockets-16.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7d837379b647c0c4c2355c2499723f82f1635fd2c26510e1f587d89bc2199e72"}, - {file = "websockets-16.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df57afc692e517a85e65b72e165356ed1df12386ecb879ad5693be08fac65dde"}, - {file = "websockets-16.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2b9f1e0d69bc60a4a87349d50c09a037a2607918746f07de04df9e43252c77a3"}, - {file = "websockets-16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:335c23addf3d5e6a8633f9f8eda77efad001671e80b95c491dd0924587ece0b3"}, - {file = "websockets-16.0-cp310-cp310-win32.whl", hash = "sha256:37b31c1623c6605e4c00d466c9d633f9b812ea430c11c8a278774a1fde1acfa9"}, - {file = "websockets-16.0-cp310-cp310-win_amd64.whl", hash = "sha256:8e1dab317b6e77424356e11e99a432b7cb2f3ec8c5ab4dabbcee6add48f72b35"}, - {file = "websockets-16.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:31a52addea25187bde0797a97d6fc3d2f92b6f72a9370792d65a6e84615ac8a8"}, - {file = "websockets-16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:417b28978cdccab24f46400586d128366313e8a96312e4b9362a4af504f3bbad"}, - {file = "websockets-16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:af80d74d4edfa3cb9ed973a0a5ba2b2a549371f8a741e0800cb07becdd20f23d"}, - {file = "websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:08d7af67b64d29823fed316505a89b86705f2b7981c07848fb5e3ea3020c1abe"}, - {file = "websockets-16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7be95cfb0a4dae143eaed2bcba8ac23f4892d8971311f1b06f3c6b78952ee70b"}, - {file = "websockets-16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6297ce39ce5c2e6feb13c1a996a2ded3b6832155fcfc920265c76f24c7cceb5"}, - {file = "websockets-16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c1b30e4f497b0b354057f3467f56244c603a79c0d1dafce1d16c283c25f6e64"}, - {file = "websockets-16.0-cp311-cp311-win32.whl", hash = "sha256:5f451484aeb5cafee1ccf789b1b66f535409d038c56966d6101740c1614b86c6"}, - {file = "websockets-16.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d7f0659570eefb578dacde98e24fb60af35350193e4f56e11190787bee77dac"}, - {file = "websockets-16.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:71c989cbf3254fbd5e84d3bff31e4da39c43f884e64f2551d14bb3c186230f00"}, - {file = "websockets-16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8b6e209ffee39ff1b6d0fa7bfef6de950c60dfb91b8fcead17da4ee539121a79"}, - {file = "websockets-16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:86890e837d61574c92a97496d590968b23c2ef0aeb8a9bc9421d174cd378ae39"}, - {file = "websockets-16.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9b5aca38b67492ef518a8ab76851862488a478602229112c4b0d58d63a7a4d5c"}, - {file = "websockets-16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e0334872c0a37b606418ac52f6ab9cfd17317ac26365f7f65e203e2d0d0d359f"}, - {file = "websockets-16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a0b31e0b424cc6b5a04b8838bbaec1688834b2383256688cf47eb97412531da1"}, - {file = "websockets-16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:485c49116d0af10ac698623c513c1cc01c9446c058a4e61e3bf6c19dff7335a2"}, - {file = "websockets-16.0-cp312-cp312-win32.whl", hash = "sha256:eaded469f5e5b7294e2bdca0ab06becb6756ea86894a47806456089298813c89"}, - {file = "websockets-16.0-cp312-cp312-win_amd64.whl", hash = "sha256:5569417dc80977fc8c2d43a86f78e0a5a22fee17565d78621b6bb264a115d4ea"}, - {file = "websockets-16.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:878b336ac47938b474c8f982ac2f7266a540adc3fa4ad74ae96fea9823a02cc9"}, - {file = "websockets-16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52a0fec0e6c8d9a784c2c78276a48a2bdf099e4ccc2a4cad53b27718dbfd0230"}, - {file = "websockets-16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e6578ed5b6981005df1860a56e3617f14a6c307e6a71b4fff8c48fdc50f3ed2c"}, - {file = "websockets-16.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:95724e638f0f9c350bb1c2b0a7ad0e83d9cc0c9259f3ea94e40d7b02a2179ae5"}, - {file = "websockets-16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0204dc62a89dc9d50d682412c10b3542d748260d743500a85c13cd1ee4bde82"}, - {file = "websockets-16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:52ac480f44d32970d66763115edea932f1c5b1312de36df06d6b219f6741eed8"}, - {file = "websockets-16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6e5a82b677f8f6f59e8dfc34ec06ca6b5b48bc4fcda346acd093694cc2c24d8f"}, - {file = "websockets-16.0-cp313-cp313-win32.whl", hash = "sha256:abf050a199613f64c886ea10f38b47770a65154dc37181bfaff70c160f45315a"}, - {file = "websockets-16.0-cp313-cp313-win_amd64.whl", hash = "sha256:3425ac5cf448801335d6fdc7ae1eb22072055417a96cc6b31b3861f455fbc156"}, - {file = "websockets-16.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8cc451a50f2aee53042ac52d2d053d08bf89bcb31ae799cb4487587661c038a0"}, - {file = "websockets-16.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:daa3b6ff70a9241cf6c7fc9e949d41232d9d7d26fd3522b1ad2b4d62487e9904"}, - {file = "websockets-16.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fd3cb4adb94a2a6e2b7c0d8d05cb94e6f1c81a0cf9dc2694fb65c7e8d94c42e4"}, - {file = "websockets-16.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:781caf5e8eee67f663126490c2f96f40906594cb86b408a703630f95550a8c3e"}, - {file = "websockets-16.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caab51a72c51973ca21fa8a18bd8165e1a0183f1ac7066a182ff27107b71e1a4"}, - {file = "websockets-16.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19c4dc84098e523fd63711e563077d39e90ec6702aff4b5d9e344a60cb3c0cb1"}, - {file = "websockets-16.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a5e18a238a2b2249c9a9235466b90e96ae4795672598a58772dd806edc7ac6d3"}, - {file = "websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8"}, - {file = "websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d"}, - {file = "websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244"}, - {file = "websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e"}, - {file = "websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641"}, - {file = "websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8"}, - {file = "websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e"}, - {file = "websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944"}, - {file = "websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206"}, - {file = "websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6"}, - {file = "websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd"}, - {file = "websockets-16.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:349f83cd6c9a415428ee1005cadb5c2c56f4389bc06a9af16103c3bc3dcc8b7d"}, - {file = "websockets-16.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:4a1aba3340a8dca8db6eb5a7986157f52eb9e436b74813764241981ca4888f03"}, - {file = "websockets-16.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f4a32d1bd841d4bcbffdcb3d2ce50c09c3909fbead375ab28d0181af89fd04da"}, - {file = "websockets-16.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0298d07ee155e2e9fda5be8a9042200dd2e3bb0b8a38482156576f863a9d457c"}, - {file = "websockets-16.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a653aea902e0324b52f1613332ddf50b00c06fdaf7e92624fbf8c77c78fa5767"}, - {file = "websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec"}, - {file = "websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5"}, -] - -[metadata] -lock-version = "2.1" -python-versions = ">=3.11,<3.15" -content-hash = "d2f71ae5113dc024260aef6440c03b1dfee8e14290fc321ab606b26ee9642b1b" From eb3985d6a9907f65ac1ff2e189c7430784903cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Thu, 19 Feb 2026 03:11:11 +0100 Subject: [PATCH 04/23] =?UTF-8?q?=F0=9F=A7=B0=20api:=20add=20tool=20"uv-up?= =?UTF-8?q?x"=20(kin=20to=20poetry-plugin-up)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/.devcontainer/devcontainer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/.devcontainer/devcontainer.json b/api/.devcontainer/devcontainer.json index baa737d..42e2669 100644 --- a/api/.devcontainer/devcontainer.json +++ b/api/.devcontainer/devcontainer.json @@ -46,10 +46,10 @@ }, // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "sudo /usr/local/py-utils/bin/poetry self add poetry-plugin-up", + "postCreateCommand": "uv tool install uv-upx", // Use 'postStartCommand' to run commands after the container is started. - "postStartCommand": "uv sync" + "postStartCommand": "uv tool upgrade uv-upx && uv sync" // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], From 89403a8e30347350bfca3926cc562a3178f14778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Thu, 19 Feb 2026 23:45:59 +0100 Subject: [PATCH 05/23] =?UTF-8?q?=F0=9F=9A=A7=20api:=20re-scaffolding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - main Dockerfile readability - use "granian" in production mode - simpler "production.py" replacing "mini-tiangolo" (gunicorn+unicorn) --- .dockerignore | 7 +- Dockerfile | 42 ++-- api/advent22_api/core/settings.py | 3 +- api/advent22_api/production.py | 58 +++++ api/pyproject.toml | 7 +- api/uv.lock | 320 ++++++++++++++++++++++++- scripts/mini-tiangolo/gunicorn_conf.py | 67 ------ scripts/mini-tiangolo/start.sh | 20 -- 8 files changed, 406 insertions(+), 118 deletions(-) create mode 100644 api/advent22_api/production.py delete mode 100644 scripts/mini-tiangolo/gunicorn_conf.py delete mode 100644 scripts/mini-tiangolo/start.sh diff --git a/.dockerignore b/.dockerignore index 9c406e3..46a73ba 100644 --- a/.dockerignore +++ b/.dockerignore @@ -15,16 +15,19 @@ **/node_modules/ **/.pytest_cache/ **/.ruff_cache/ +**/.uv_cache/ **/.venv/ # env files **/.env **/.env.local **/.env.*.local -api/api.conf # log files **/npm-debug.log* **/yarn-debug.log* **/yarn-error.log* -**/pnpm-debug.log* \ No newline at end of file +**/pnpm-debug.log* + +# custom files +api/api.conf diff --git a/Dockerfile b/Dockerfile index 27e059a..9f9219d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,36 +12,40 @@ FROM node:${NODE_VERSION} AS build-ui WORKDIR /usr/local/src/advent22_ui # install advent22_ui dependencies -COPY ui/package*.json ui/yarn*.lock ./ -RUN set -ex; \ +RUN --mount=type=bind,source=ui/package.json,target=package.json \ + --mount=type=bind,source=ui/yarn.lock,target=yarn.lock \ + set -ex; \ + \ corepack enable; \ - yarn install; + yarn install --frozen-lockfile; # copy and build advent22_ui COPY ui ./ RUN set -ex; \ + \ yarn dlx update-browserslist-db@latest; \ - yarn build --dest /tmp/advent22_ui/html; \ + yarn build --dest /tmp/advent22_ui; \ # exclude webpack-bundle-analyzer output - rm -f /tmp/advent22_ui/html/report.html; + rm -f /tmp/advent22_ui/report.html; -########### -# web app # -########### +############ +# main app # +############ ARG PYTHON_VERSION FROM python:${PYTHON_VERSION} AS production -# env setup +# env setup for uv ENV \ - PATH="/usr/local/share/advent22_api/.venv/bin:$PATH" \ + PATH="/opt/advent22/api/.venv/bin:$PATH" \ UV_COMPILE_BYTECODE=1 \ UV_NO_DEV=1 \ - PRODUCTION_MODE="true" + UV_LINK_MODE="copy" + EXPOSE 8000 # install advent22_api deps -WORKDIR /usr/local/share/advent22_api +WORKDIR /opt/advent22/api RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ --mount=type=cache,target=/root/.cache/uv \ @@ -64,20 +68,14 @@ RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ --no-editable \ ; -CMD [ \ - "fastapi", "run", \ - "--host", "0.0.0.0", \ - "--port", "8000", \ - "--entrypoint", "advent22_api.app:app", \ - "--workers", "$(nproc)" \ -] +CMD [ "advent22" ] # add prepared advent22_ui -COPY --from=build-ui /tmp/advent22_ui /usr/local/share/advent22_ui +COPY --from=build-ui /tmp/advent22_ui /opt/advent22/ui # prepare data directory -WORKDIR /opt/advent22 -VOLUME [ "/opt/advent22" ] +WORKDIR /opt/advent22/data +VOLUME [ "/opt/advent22/data" ] RUN chown -R nobody:nogroup ./ # run as unprivileged user diff --git a/api/advent22_api/core/settings.py b/api/advent22_api/core/settings.py index 73a27f2..a574b17 100644 --- a/api/advent22_api/core/settings.py +++ b/api/advent22_api/core/settings.py @@ -51,6 +51,7 @@ class Settings(BaseSettings): """ model_config = SettingsConfigDict( + env_prefix="ADVENT22__", env_file="api.conf", env_file_encoding="utf-8", env_nested_delimiter="__", @@ -61,7 +62,7 @@ class Settings(BaseSettings): ##### production_mode: bool = False - ui_directory: str = "/usr/local/share/advent22_ui/html" + ui_directory: str = "/opt/advent22/ui" ##### # openapi settings diff --git a/api/advent22_api/production.py b/api/advent22_api/production.py new file mode 100644 index 0000000..ef8d270 --- /dev/null +++ b/api/advent22_api/production.py @@ -0,0 +1,58 @@ +import os + +from granian.cli import cli as granian_cli +from pydantic import BaseModel, Field +from pydantic_settings import BaseSettings, SettingsConfigDict + + +class WorkersSettings(BaseModel): + per_core: int = Field(1, ge=1) + max: int | None = Field(None, ge=1) + exact: int | None = Field(None, ge=1) + + @property + def count(self) -> int: + # usage of "or" operator: values here are not allowed to be 0 + base = self.exact or (self.per_core * (os.cpu_count() or 1)) + return min(base, self.max or base) + + +class BindSettings(BaseModel): + host: str = "0.0.0.0" + port: int = 8000 + + +class Settings(BaseSettings): + model_config = SettingsConfigDict( + env_prefix="ADVENT22__", + env_nested_delimiter="__", + ) + + workers: WorkersSettings = WorkersSettings() + bind: BindSettings = BindSettings() + + +def start(): + os.environ["ADVENT22__PRODUCTION_MODE"] = "true" + + settings = Settings() + granian_cli( + [ + "--host", + settings.bind.host, + "--port", + settings.bind.port, + "--workers", + settings.workers.count, + "--interface", + "asgi", + "--loop", + "uvloop", + "--process-name", + "advent22", + # app + "advent22_api.app:app", + ], + auto_envvar_prefix="GRANIAN", + standalone_mode=False, + ) diff --git a/api/pyproject.toml b/api/pyproject.toml index ca399d6..802d5e5 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -14,7 +14,7 @@ dependencies = [ "cachetools>=7.0.1", "cachetoolsutils>=11.0", "fastapi>=0.129.0", - "fastapi-cli>=0.0.23", + "granian[pname,uvloop]>=2.7.1", "markdown>=3.10.2", "numpy>=2.4.2", "pillow>=12.1.1", @@ -22,12 +22,15 @@ dependencies = [ "redis[hiredis]>=7.2.0", "requests>=2.32.5", "tomli-w>=1.2.0", - "uvicorn[standard]>=0.41.0", "webdavclient3>=3.14.7", ] +[project.scripts] +advent22 = "advent22_api.production:start" + [dependency-groups] dev = [ + "fastapi[standard]>=0.129.0", "pytest>=9.0.2", "ruff>=0.15.1", ] diff --git a/api/uv.lock b/api/uv.lock index c5bb260..7c0dfc0 100644 --- a/api/uv.lock +++ b/api/uv.lock @@ -11,7 +11,7 @@ dependencies = [ { name = "cachetools" }, { name = "cachetoolsutils" }, { name = "fastapi" }, - { name = "fastapi-cli" }, + { name = "granian", extra = ["pname", "uvloop"] }, { name = "markdown" }, { name = "numpy" }, { name = "pillow" }, @@ -19,12 +19,12 @@ dependencies = [ { name = "redis", extra = ["hiredis"] }, { name = "requests" }, { name = "tomli-w" }, - { name = "uvicorn", extra = ["standard"] }, { name = "webdavclient3" }, ] [package.dev-dependencies] dev = [ + { name = "fastapi", extra = ["standard"] }, { name = "pytest" }, { name = "ruff" }, ] @@ -35,7 +35,7 @@ requires-dist = [ { name = "cachetools", specifier = ">=7.0.1" }, { name = "cachetoolsutils", specifier = ">=11.0" }, { name = "fastapi", specifier = ">=0.129.0" }, - { name = "fastapi-cli", specifier = ">=0.0.23" }, + { name = "granian", extras = ["pname", "uvloop"], specifier = ">=2.7.1" }, { name = "markdown", specifier = ">=3.10.2" }, { name = "numpy", specifier = ">=2.4.2" }, { name = "pillow", specifier = ">=12.1.1" }, @@ -43,12 +43,12 @@ requires-dist = [ { name = "redis", extras = ["hiredis"], specifier = ">=7.2.0" }, { name = "requests", specifier = ">=2.32.5" }, { name = "tomli-w", specifier = ">=1.2.0" }, - { name = "uvicorn", extras = ["standard"], specifier = ">=0.41.0" }, { name = "webdavclient3", specifier = ">=3.14.7" }, ] [package.metadata.requires-dev] dev = [ + { name = "fastapi", extras = ["standard"], specifier = ">=0.129.0" }, { name = "pytest", specifier = ">=9.0.2" }, { name = "ruff", specifier = ">=0.15.1" }, ] @@ -171,6 +171,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "dnspython" +version = "2.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" }, +] + +[[package]] +name = "email-validator" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/22/900cb125c76b7aaa450ce02fd727f452243f2e91a61af068b40adba60ea9/email_validator-2.3.0.tar.gz", hash = "sha256:9fc05c37f2f6cf439ff414f8fc46d917929974a82244c20eb10231ba60c54426", size = 51238, upload-time = "2025-08-26T13:09:06.831Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/15/545e2b6cf2e3be84bc1ed85613edd75b8aea69807a71c26f4ca6a9258e82/email_validator-2.3.0-py3-none-any.whl", hash = "sha256:80f13f623413e6b197ae73bb10bf4eb0908faf509ad8362c5edeb0be7fd450b4", size = 35604, upload-time = "2025-08-26T13:09:05.858Z" }, +] + [[package]] name = "fastapi" version = "0.129.0" @@ -187,6 +209,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9e/dd/d0ee25348ac58245ee9f90b6f3cbb666bf01f69be7e0911f9851bddbda16/fastapi-0.129.0-py3-none-any.whl", hash = "sha256:b4946880e48f462692b31c083be0432275cbfb6e2274566b1be91479cc1a84ec", size = 102950, upload-time = "2026-02-12T13:54:54.528Z" }, ] +[package.optional-dependencies] +standard = [ + { name = "email-validator" }, + { name = "fastapi-cli", extra = ["standard"] }, + { name = "httpx" }, + { name = "jinja2" }, + { name = "pydantic-extra-types" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "uvicorn", extra = ["standard"] }, +] + [[package]] name = "fastapi-cli" version = "0.0.23" @@ -201,6 +235,69 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/68/89/19dcfd5cd289b306abdcabac68b88a4f54b7710a2c33adc16a337ecdcdfa/fastapi_cli-0.0.23-py3-none-any.whl", hash = "sha256:7e9634fc212da0b6cfc75bd3ac366cc9dfdb43b5e9ec12e58bfd1acdd2697f25", size = 12305, upload-time = "2026-02-16T19:45:52.554Z" }, ] +[package.optional-dependencies] +standard = [ + { name = "fastapi-cloud-cli" }, + { name = "uvicorn", extra = ["standard"] }, +] + +[[package]] +name = "fastapi-cloud-cli" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastar" }, + { name = "httpx" }, + { name = "pydantic", extra = ["email"] }, + { name = "rich-toolkit" }, + { name = "rignore" }, + { name = "sentry-sdk" }, + { name = "typer" }, + { name = "uvicorn", extra = ["standard"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/0b/f07f4976784978ef159fd2e8f5c16f1f9d610578fb1fd976ff1315c11ea6/fastapi_cloud_cli-0.13.0.tar.gz", hash = "sha256:4d8f42337e8021c648f6cb0672de7d5b31b0fc7387a83d7b12f974600ac3f2fd", size = 38436, upload-time = "2026-02-17T05:18:19.033Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b4/88/71a1e989d17b9edb483f32e28b7891ffdd3005271518c98ba6415987c430/fastapi_cloud_cli-0.13.0-py3-none-any.whl", hash = "sha256:874a9ed8dba34ec828f198c72de9f9a38de77ac1b15083d6bc3a4d772b0bc477", size = 27631, upload-time = "2026-02-17T05:18:18.094Z" }, +] + +[[package]] +name = "fastar" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/e7/f89d54fb04104114dd0552836dc2b47914f416cc0e200b409dd04a33de5e/fastar-0.8.0.tar.gz", hash = "sha256:f4d4d68dbf1c4c2808f0e730fac5843493fc849f70fe3ad3af60dfbaf68b9a12", size = 68524, upload-time = "2025-11-26T02:36:00.72Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/4a/9573b87a0ef07580ed111e7230259aec31bb33ca3667963ebee77022ec61/fastar-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:50b36ce654ba44b0e13fae607ae17ee6e1597b69f71df1bee64bb8328d881dfc", size = 706041, upload-time = "2025-11-26T02:34:40.638Z" }, + { url = "https://files.pythonhosted.org/packages/4a/19/f95444a1d4f375333af49300aa75ee93afa3335c0e40fda528e460ed859c/fastar-0.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:63a892762683d7ab00df0227d5ea9677c62ff2cde9b875e666c0be569ed940f3", size = 628617, upload-time = "2025-11-26T02:34:24.893Z" }, + { url = "https://files.pythonhosted.org/packages/b3/c9/b51481b38b7e3f16ef2b9e233b1a3623386c939d745d6e41bbd389eaae30/fastar-0.8.0-cp314-cp314-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4ae6a145c1bff592644bde13f2115e0239f4b7babaf506d14e7d208483cf01a5", size = 869299, upload-time = "2025-11-26T02:33:54.274Z" }, + { url = "https://files.pythonhosted.org/packages/bf/02/3ba1267ee5ba7314e29c431cf82eaa68586f2c40cdfa08be3632b7d07619/fastar-0.8.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ae0ff7c0a1c7e1428404b81faee8aebef466bfd0be25bfe4dabf5d535c68741", size = 764667, upload-time = "2025-11-26T02:32:49.606Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/bf33530fd015b5d7c2cc69e0bce4a38d736754a6955487005aab1af6adcd/fastar-0.8.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dbfd87dbd217b45c898b2dbcd0169aae534b2c1c5cbe3119510881f6a5ac8ef5", size = 763993, upload-time = "2025-11-26T02:33:05.782Z" }, + { url = "https://files.pythonhosted.org/packages/da/e0/9564d24e7cea6321a8d921c6d2a457044a476ef197aa4708e179d3d97f0d/fastar-0.8.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a5abd99fcba83ef28c8fe6ae2927edc79053db43a0457a962ed85c9bf150d37", size = 930153, upload-time = "2025-11-26T02:33:21.53Z" }, + { url = "https://files.pythonhosted.org/packages/35/b1/6f57fcd8d6e192cfebf97e58eb27751640ad93784c857b79039e84387b51/fastar-0.8.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91d4c685620c3a9d6b5ae091dbabab4f98b20049b7ecc7976e19cc9016c0d5d6", size = 821177, upload-time = "2025-11-26T02:33:35.839Z" }, + { url = "https://files.pythonhosted.org/packages/b3/78/9e004ea9f3aa7466f5ddb6f9518780e1d2f0ed3ca55f093632982598bace/fastar-0.8.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f77c2f2cad76e9dc7b6701297adb1eba87d0485944b416fc2ccf5516c01219a3", size = 820652, upload-time = "2025-11-26T02:34:09.776Z" }, + { url = "https://files.pythonhosted.org/packages/42/95/b604ed536544005c9f1aee7c4c74b00150db3d8d535cd8232dc20f947063/fastar-0.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e7f07c4a3dada7757a8fc430a5b4a29e6ef696d2212747213f57086ffd970316", size = 985961, upload-time = "2025-11-26T02:34:56.401Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fa9d4d96a5d494bdb8699363bb9de8178c0c21a02e1d89cd6f913d127018/fastar-0.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:90c0c3fe55105c0aed8a83135dbdeb31e683455dbd326a1c48fa44c378b85616", size = 1039316, upload-time = "2025-11-26T02:35:13.807Z" }, + { url = "https://files.pythonhosted.org/packages/4e/f9/8462789243bc3f33e8401378ec6d54de4e20cfa60c96a0e15e3e9d1389bb/fastar-0.8.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fb9ee51e5bffe0dab3d3126d3a4fac8d8f7235cedcb4b8e74936087ce1c157f3", size = 1045028, upload-time = "2025-11-26T02:35:31.079Z" }, + { url = "https://files.pythonhosted.org/packages/a5/71/9abb128777e616127194b509e98fcda3db797d76288c1a8c23dd22afc14f/fastar-0.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e380b1e8d30317f52406c43b11e98d11e1d68723bbd031e18049ea3497b59a6d", size = 994677, upload-time = "2025-11-26T02:35:49.391Z" }, + { url = "https://files.pythonhosted.org/packages/de/c1/b81b3f194853d7ad232a67a1d768f5f51a016f165cfb56cb31b31bbc6177/fastar-0.8.0-cp314-cp314-win32.whl", hash = "sha256:1c4ffc06e9c4a8ca498c07e094670d8d8c0d25b17ca6465b9774da44ea997ab1", size = 456687, upload-time = "2025-11-26T02:36:30.205Z" }, + { url = "https://files.pythonhosted.org/packages/cb/87/9e0cd4768a98181d56f0cdbab2363404cc15deb93f4aad3b99cd2761bbaa/fastar-0.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:5517a8ad4726267c57a3e0e2a44430b782e00b230bf51c55b5728e758bb3a692", size = 490578, upload-time = "2025-11-26T02:36:16.218Z" }, + { url = "https://files.pythonhosted.org/packages/aa/1e/580a76cf91847654f2ad6520e956e93218f778540975bc4190d363f709e2/fastar-0.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:58030551046ff4a8616931e52a36c83545ff05996db5beb6e0cd2b7e748aa309", size = 461473, upload-time = "2025-11-26T02:36:06.373Z" }, + { url = "https://files.pythonhosted.org/packages/58/4c/bdb5c6efe934f68708529c8c9d4055ebef5c4be370621966438f658b29bd/fastar-0.8.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:1e7d29b6bfecb29db126a08baf3c04a5ab667f6cea2b7067d3e623a67729c4a6", size = 705570, upload-time = "2025-11-26T02:34:42.01Z" }, + { url = "https://files.pythonhosted.org/packages/6d/78/f01ac7e71d5a37621bd13598a26e948a12b85ca8042f7ee1a0a8c9f59cda/fastar-0.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:05eb7b96940f9526b485f1d0b02393839f0f61cac4b1f60024984f8b326d2640", size = 627761, upload-time = "2025-11-26T02:34:26.152Z" }, + { url = "https://files.pythonhosted.org/packages/06/45/6df0ecda86ea9d2e95053c1a655d153dee55fc121b6e13ea6d1e246a50b6/fastar-0.8.0-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:619352d8ac011794e2345c462189dc02ba634750d23cd9d86a9267dd71b1f278", size = 869414, upload-time = "2025-11-26T02:33:55.618Z" }, + { url = "https://files.pythonhosted.org/packages/b2/72/486421f5a8c0c377cc82e7a50c8a8ea899a6ec2aa72bde8f09fb667a2dc8/fastar-0.8.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74ebfecef3fe6d7a90355fac1402fd30636988332a1d33f3e80019a10782bb24", size = 763863, upload-time = "2025-11-26T02:32:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/39f654dbb41a3867fb1f2c8081c014d8f1d32ea10585d84cacbef0b32995/fastar-0.8.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2975aca5a639e26a3ab0d23b4b0628d6dd6d521146c3c11486d782be621a35aa", size = 763065, upload-time = "2025-11-26T02:33:07.274Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bd/c011a34fb3534c4c3301f7c87c4ffd7e47f6113c904c092ddc8a59a303ea/fastar-0.8.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afc438eaed8ff0dcdd9308268be5cb38c1db7e94c3ccca7c498ca13a4a4535a3", size = 930530, upload-time = "2025-11-26T02:33:23.117Z" }, + { url = "https://files.pythonhosted.org/packages/55/9d/aa6e887a7033c571b1064429222bbe09adc9a3c1e04f3d1788ba5838ebd5/fastar-0.8.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ced0a5399cc0a84a858ef0a31ca2d0c24d3bbec4bcda506a9192d8119f3590a", size = 820572, upload-time = "2025-11-26T02:33:37.542Z" }, + { url = "https://files.pythonhosted.org/packages/ad/9c/7a3a2278a1052e1a5d98646de7c095a00cffd2492b3b84ce730e2f1cd93a/fastar-0.8.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec9b23da8c4c039da3fe2e358973c66976a0c8508aa06d6626b4403cb5666c19", size = 820649, upload-time = "2025-11-26T02:34:11.108Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/d38edc1f4438cd047e56137c26d94783ffade42e1b3bde620ccf17b771ef/fastar-0.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:dfba078fcd53478032fd0ceed56960ec6b7ff0511cfc013a8a3a4307e3a7bac4", size = 985653, upload-time = "2025-11-26T02:34:57.884Z" }, + { url = "https://files.pythonhosted.org/packages/69/d9/2147d0c19757e165cd62d41cec3f7b38fad2ad68ab784978b5f81716c7ea/fastar-0.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:ade56c94c14be356d295fecb47a3fcd473dd43a8803ead2e2b5b9e58feb6dcfa", size = 1038140, upload-time = "2025-11-26T02:35:15.778Z" }, + { url = "https://files.pythonhosted.org/packages/7f/1d/ec4c717ffb8a308871e9602ec3197d957e238dc0227127ac573ec9bca952/fastar-0.8.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:e48d938f9366db5e59441728f70b7f6c1ccfab7eff84f96f9b7e689b07786c52", size = 1045195, upload-time = "2025-11-26T02:35:32.865Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9f/637334dc8c8f3bb391388b064ae13f0ad9402bc5a6c3e77b8887d0c31921/fastar-0.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:79c441dc1482ff51a54fb3f57ae6f7bb3d2cff88fa2cc5d196c519f8aab64a56", size = 994686, upload-time = "2025-11-26T02:35:51.392Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e2/dfa19a4b260b8ab3581b7484dcb80c09b25324f4daa6b6ae1c7640d1607a/fastar-0.8.0-cp314-cp314t-win32.whl", hash = "sha256:187f61dc739afe45ac8e47ed7fd1adc45d52eac110cf27d579155720507d6fbe", size = 455767, upload-time = "2025-11-26T02:36:34.758Z" }, + { url = "https://files.pythonhosted.org/packages/51/47/df65c72afc1297797b255f90c4778b5d6f1f0f80282a134d5ab610310ed9/fastar-0.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:40e9d763cf8bf85ce2fa256e010aa795c0fe3d3bd1326d5c3084e6ce7857127e", size = 489971, upload-time = "2025-11-26T02:36:22.081Z" }, + { url = "https://files.pythonhosted.org/packages/85/11/0aa8455af26f0ae89e42be67f3a874255ee5d7f0f026fc86e8d56f76b428/fastar-0.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:e59673307b6a08210987059a2bdea2614fe26e3335d0e5d1a3d95f49a05b1418", size = 460467, upload-time = "2025-11-26T02:36:07.978Z" }, +] + [[package]] name = "funkify" version = "0.7.1" @@ -210,6 +307,45 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/57/76/44039e1ed968742197f6982b0631e8439382b39ea7ea359efaf3213433de/funkify-0.7.1-py3-none-any.whl", hash = "sha256:490d5e0d45eb1dd75ff1e2ba6e415ddbb3dc5090d350f1aa7822e1777b648a8a", size = 3577, upload-time = "2025-10-15T21:54:37.169Z" }, ] +[[package]] +name = "granian" +version = "2.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/e5/c3a745a2c60cba6e67c5607fe6e18883fd2b7800fd7215511c526fab3872/granian-2.7.1.tar.gz", hash = "sha256:cc79292b24895db9441d32c3a9f11a4e19805d566bc77f9deb7ef18daac62e16", size = 128508, upload-time = "2026-02-08T20:02:31.53Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/c1/cc5c0abc5c573a8832c584f52c98f7882119fe81d52a49285800e25d993f/granian-2.7.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:a677972bb9050ec15896452f2c299b56f15e01212c1185d9373b92348fd88930", size = 6397999, upload-time = "2026-02-08T20:01:44.515Z" }, + { url = "https://files.pythonhosted.org/packages/e8/77/5248e8cf1c25f080959c0a4e4a8039107b0b2bf67a9fc8904cfe57614a24/granian-2.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ee4b404425a135274ab69513fdc1883ce954beef22113058e6e2a25d89926e68", size = 6108572, upload-time = "2026-02-08T20:01:45.919Z" }, + { url = "https://files.pythonhosted.org/packages/cb/a0/fa0b961d7c9b1c2f046a58b85ffe1e7bc5d3a7fcc8c947bdd6fd397a312c/granian-2.7.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5c4eaf3b0c1602a2ef75a8e418bb6d2867994e7ac246ea6833f7b812289d038c", size = 7101910, upload-time = "2026-02-08T20:01:47.773Z" }, + { url = "https://files.pythonhosted.org/packages/ca/70/edd388b12ebecde4edbbf4d62cd78ed6e5ae0f6b834e88de2fe06e6f948e/granian-2.7.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d593d80f568b2025a227a9b0bf664db94c9423069b27c120e288a2350507a4d8", size = 6399861, upload-time = "2026-02-08T20:01:49.594Z" }, + { url = "https://files.pythonhosted.org/packages/74/18/6e8962f1be1a578841e9c68bb8f3a416c30880003c3180a1e6b852ad1717/granian-2.7.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab94be605aaf90968fd04fb527f1b2790f6815dd0e9690586adb4a9be1f25010", size = 6951789, upload-time = "2026-02-08T20:01:51.115Z" }, + { url = "https://files.pythonhosted.org/packages/eb/47/9f07664d847653115b196f70594016de8fd7629e5aa1645d6d20f771cf14/granian-2.7.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:392f6cc3eb7a5039a815a823c3f468161b4eb179d061450c0ec843cef0eb1b54", size = 6983541, upload-time = "2026-02-08T20:01:52.693Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c6/08b9203a4f897a31810bb18344b5ecaf26eb34135916c257c14ec762eb51/granian-2.7.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:ff063c417ee16fadca3c534e2059a6cf47e1df2607f1c6012be4ea6486b814f5", size = 7032652, upload-time = "2026-02-08T20:01:54.336Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/c7a5c595313432a5373e6014980a77d8f028f24f31b68406af97ace94fe6/granian-2.7.1-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:1a59ed88c40896db96a973e49a5ba2a2f84d7569c1da8cf11c685d11bffc2ef1", size = 7254611, upload-time = "2026-02-08T20:01:55.74Z" }, + { url = "https://files.pythonhosted.org/packages/2f/3a/fe283eeb7a2f525472bd6ef2b0c6b7fb95d4369902b75d8e7e252628e62e/granian-2.7.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:773ff347d4541634e8c50b82b532eefa68c0043cda100bd44712b88565a5495b", size = 7110307, upload-time = "2026-02-08T20:01:57.117Z" }, + { url = "https://files.pythonhosted.org/packages/61/ea/b6901c64cac1fc3b455acdba279d80454fe963eca314ebfaf4e2eec9933c/granian-2.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:089f8a0d6d6a215f6773aa9dfdb56ec349d28840203517e7a7933485b1a1f404", size = 4122834, upload-time = "2026-02-08T20:01:58.682Z" }, + { url = "https://files.pythonhosted.org/packages/5c/41/bd76745d2fd2e2735390037324cb2d2b2f934473d77fb27f176494f5b2f3/granian-2.7.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:e25c7dedd9325e11bda1d9692f25314791d24ae39b8206fb858f18a57087f2ee", size = 6376497, upload-time = "2026-02-08T20:02:00.117Z" }, + { url = "https://files.pythonhosted.org/packages/40/ea/bdb388e3e24308e92c370674d225e819eee6740dd440d6450860039b934a/granian-2.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:387c6032d46191deaf18819f15988e98d0f5c85eef09efb28c4c4b7b8b0dc2d2", size = 6092395, upload-time = "2026-02-08T20:02:01.75Z" }, + { url = "https://files.pythonhosted.org/packages/31/9c/438da7d5c66ed2c9df1c5946485e464fd52a420217212e0c9b5bb90f8e93/granian-2.7.1-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1d1b5b47a34ab0f47f8bd447894412b4d9bdcb2011fbb9d1b8f7890c8442d233", size = 6226387, upload-time = "2026-02-08T20:02:03.185Z" }, + { url = "https://files.pythonhosted.org/packages/91/1a/f317272d59618a846a0c7ea019ab0352d947e8afdae40faea580b98600c7/granian-2.7.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b7f65cd1d46c8ee454b0f29743340bebc170c1da2af83bd759fb02d69c24c7e9", size = 7123367, upload-time = "2026-02-08T20:02:04.721Z" }, + { url = "https://files.pythonhosted.org/packages/d0/63/0c0c0005798c808082ae72b6bc3ccc1282d1b078375b060c5477aabbe407/granian-2.7.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d12b93e6467fc079b38e104154d5e5625a5e7c6a1776a59039c1e5fb57e0fe3", size = 6709311, upload-time = "2026-02-08T20:02:06.266Z" }, + { url = "https://files.pythonhosted.org/packages/e6/27/73655570644b3e727b22e3cf4239eebe90c18d1d3c868fc3d71e4d50dd46/granian-2.7.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:ff4aba223bfeca0c6bc8f64ef03d87d04aff36515b2fd91108e5c9f55e67a5ee", size = 6802243, upload-time = "2026-02-08T20:02:07.757Z" }, + { url = "https://files.pythonhosted.org/packages/23/00/2b9655d05f14bee4cd4080f3a18f0f0f4e7014158d7323a1cb0d31ed61cb/granian-2.7.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:2cc036b6f7db04ba6750aa86dff17c7930b7f295e4bfc5f35e9231d9f42e8094", size = 6978785, upload-time = "2026-02-08T20:02:09.269Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e4/deff2560260ddc9a99315ecb345c93485b0b102708838e7c42837c7a6535/granian-2.7.1-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:f2834f178ddbe25f077b28eba3b0e3e3814b17a0fc61fe44c17c270eef37ff54", size = 7303589, upload-time = "2026-02-08T20:02:10.81Z" }, + { url = "https://files.pythonhosted.org/packages/d1/52/7fefaf4f1317883e7a5f25a92bca43f914b47d4762ad8f38f48e7e85b2a8/granian-2.7.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:874d4eedc527f9c59dd192e263be8047b86759e71ac9552283d010bcea93993b", size = 6984251, upload-time = "2026-02-08T20:02:12.753Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c1/d6aa049cdbe15b9ffe7964b01cc50efc8ccc067c3a50da7bc5ced1eaf6a4/granian-2.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:d787d9bf1744c275fa60775629e910305aa6395a88a32eea25b0008652ed9fe9", size = 4051984, upload-time = "2026-02-08T20:02:14.325Z" }, +] + +[package.optional-dependencies] +pname = [ + { name = "setproctitle" }, +] +uvloop = [ + { name = "uvloop", marker = "platform_python_implementation == 'CPython' and sys_platform != 'win32'" }, +] + [[package]] name = "h11" version = "0.16.0" @@ -253,6 +389,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b2/2f/8a0befeed8bbe142d5a6cf3b51e8cbe019c32a64a596b0ebcbc007a8f8f1/hiredis-3.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b442b6ab038a6f3b5109874d2514c4edf389d8d8b553f10f12654548808683bc", size = 23808, upload-time = "2025-10-14T16:33:04.965Z" }, ] +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + [[package]] name = "httptools" version = "0.7.1" @@ -268,6 +417,21 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/53/cf/878f3b91e4e6e011eff6d1fa9ca39f7eb17d19c9d7971b04873734112f30/httptools-0.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:cfabda2a5bb85aa2a904ce06d974a3f30fb36cc63d7feaddec05d2050acede96", size = 88205, upload-time = "2025-10-10T03:55:00.389Z" }, ] +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -286,6 +450,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + [[package]] name = "lxml" version = "6.0.2" @@ -351,6 +527,36 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, ] +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + [[package]] name = "mdurl" version = "0.1.2" @@ -455,6 +661,11 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, ] +[package.optional-dependencies] +email = [ + { name = "email-validator" }, +] + [[package]] name = "pydantic-core" version = "2.41.5" @@ -494,6 +705,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, ] +[[package]] +name = "pydantic-extra-types" +version = "2.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/35/2fee58b1316a73e025728583d3b1447218a97e621933fc776fb8c0f2ebdd/pydantic_extra_types-2.11.0.tar.gz", hash = "sha256:4e9991959d045b75feb775683437a97991d02c138e00b59176571db9ce634f0e", size = 157226, upload-time = "2025-12-31T16:18:27.944Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/17/fabd56da47096d240dd45ba627bead0333b0cf0ee8ada9bec579287dadf3/pydantic_extra_types-2.11.0-py3-none-any.whl", hash = "sha256:84b864d250a0fc62535b7ec591e36f2c5b4d1325fa0017eb8cda9aeb63b374a6", size = 74296, upload-time = "2025-12-31T16:18:26.38Z" }, +] + [[package]] name = "pydantic-settings" version = "2.13.0" @@ -554,6 +778,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, ] +[[package]] +name = "python-multipart" +version = "0.0.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz", hash = "sha256:7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58", size = 37612, upload-time = "2026-01-25T10:15:56.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/d0/397f9626e711ff749a95d96b7af99b9c566a9bb5129b8e4c10fc4d100304/python_multipart-0.0.22-py3-none-any.whl", hash = "sha256:2b2cd894c83d21bf49d702499531c7bafd057d730c201782048f7945d82de155", size = 24579, upload-time = "2026-01-25T10:15:54.811Z" }, +] + [[package]] name = "pyyaml" version = "6.0.3" @@ -636,6 +869,44 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/28/31/97d39719def09c134385bfcfbedfed255168b571e7beb3ad7765aae660ca/rich_toolkit-0.19.4-py3-none-any.whl", hash = "sha256:34ac344de8862801644be8b703e26becf44b047e687f208d7829e8f7cfc311d6", size = 32757, upload-time = "2026-02-12T10:08:15.037Z" }, ] +[[package]] +name = "rignore" +version = "0.7.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/f5/8bed2310abe4ae04b67a38374a4d311dd85220f5d8da56f47ae9361be0b0/rignore-0.7.6.tar.gz", hash = "sha256:00d3546cd793c30cb17921ce674d2c8f3a4b00501cb0e3dd0e82217dbeba2671", size = 57140, upload-time = "2025-11-05T21:41:21.968Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/b9/1f5bd82b87e5550cd843ceb3768b4a8ef274eb63f29333cf2f29644b3d75/rignore-0.7.6-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:8e41be9fa8f2f47239ded8920cc283699a052ac4c371f77f5ac017ebeed75732", size = 882632, upload-time = "2025-11-05T20:42:44.063Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6b/07714a3efe4a8048864e8a5b7db311ba51b921e15268b17defaebf56d3db/rignore-0.7.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6dc1e171e52cefa6c20e60c05394a71165663b48bca6c7666dee4f778f2a7d90", size = 820760, upload-time = "2025-11-05T20:42:27.885Z" }, + { url = "https://files.pythonhosted.org/packages/ac/0f/348c829ea2d8d596e856371b14b9092f8a5dfbb62674ec9b3f67e4939a9d/rignore-0.7.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ce2268837c3600f82ab8db58f5834009dc638ee17103582960da668963bebc5", size = 899044, upload-time = "2025-11-05T20:40:55.336Z" }, + { url = "https://files.pythonhosted.org/packages/f0/30/2e1841a19b4dd23878d73edd5d82e998a83d5ed9570a89675f140ca8b2ad/rignore-0.7.6-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:690a3e1b54bfe77e89c4bacb13f046e642f8baadafc61d68f5a726f324a76ab6", size = 874144, upload-time = "2025-11-05T20:41:10.195Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bf/0ce9beb2e5f64c30e3580bef09f5829236889f01511a125f98b83169b993/rignore-0.7.6-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09d12ac7a0b6210c07bcd145007117ebd8abe99c8eeb383e9e4673910c2754b2", size = 1168062, upload-time = "2025-11-05T20:41:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/b9/8b/571c178414eb4014969865317da8a02ce4cf5241a41676ef91a59aab24de/rignore-0.7.6-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a2b2b74a8c60203b08452479b90e5ce3dbe96a916214bc9eb2e5af0b6a9beb0", size = 942542, upload-time = "2025-11-05T20:41:41.838Z" }, + { url = "https://files.pythonhosted.org/packages/19/62/7a3cf601d5a45137a7e2b89d10c05b5b86499190c4b7ca5c3c47d79ee519/rignore-0.7.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fc5a531ef02131e44359419a366bfac57f773ea58f5278c2cdd915f7d10ea94", size = 958739, upload-time = "2025-11-05T20:42:12.463Z" }, + { url = "https://files.pythonhosted.org/packages/5f/1f/4261f6a0d7caf2058a5cde2f5045f565ab91aa7badc972b57d19ce58b14e/rignore-0.7.6-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b7a1f77d9c4cd7e76229e252614d963442686bfe12c787a49f4fe481df49e7a9", size = 984138, upload-time = "2025-11-05T20:41:56.775Z" }, + { url = "https://files.pythonhosted.org/packages/2b/bf/628dfe19c75e8ce1f45f7c248f5148b17dfa89a817f8e3552ab74c3ae812/rignore-0.7.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ead81f728682ba72b5b1c3d5846b011d3e0174da978de87c61645f2ed36659a7", size = 1079299, upload-time = "2025-11-05T21:40:16.639Z" }, + { url = "https://files.pythonhosted.org/packages/af/a5/be29c50f5c0c25c637ed32db8758fdf5b901a99e08b608971cda8afb293b/rignore-0.7.6-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:12ffd50f520c22ffdabed8cd8bfb567d9ac165b2b854d3e679f4bcaef11a9441", size = 1139618, upload-time = "2025-11-05T21:40:34.507Z" }, + { url = "https://files.pythonhosted.org/packages/2a/40/3c46cd7ce4fa05c20b525fd60f599165e820af66e66f2c371cd50644558f/rignore-0.7.6-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:e5a16890fbe3c894f8ca34b0fcacc2c200398d4d46ae654e03bc9b3dbf2a0a72", size = 1117626, upload-time = "2025-11-05T21:40:51.494Z" }, + { url = "https://files.pythonhosted.org/packages/8c/b9/aea926f263b8a29a23c75c2e0d8447965eb1879d3feb53cfcf84db67ed58/rignore-0.7.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3abab3bf99e8a77488ef6c7c9a799fac22224c28fe9f25cc21aa7cc2b72bfc0b", size = 1128144, upload-time = "2025-11-05T21:41:09.169Z" }, + { url = "https://files.pythonhosted.org/packages/a4/f6/0d6242f8d0df7f2ecbe91679fefc1f75e7cd2072cb4f497abaab3f0f8523/rignore-0.7.6-cp314-cp314-win32.whl", hash = "sha256:eeef421c1782953c4375aa32f06ecae470c1285c6381eee2a30d2e02a5633001", size = 646385, upload-time = "2025-11-05T21:41:55.105Z" }, + { url = "https://files.pythonhosted.org/packages/d5/38/c0dcd7b10064f084343d6af26fe9414e46e9619c5f3224b5272e8e5d9956/rignore-0.7.6-cp314-cp314-win_amd64.whl", hash = "sha256:6aeed503b3b3d5af939b21d72a82521701a4bd3b89cd761da1e7dc78621af304", size = 725738, upload-time = "2025-11-05T21:41:39.736Z" }, + { url = "https://files.pythonhosted.org/packages/d9/7a/290f868296c1ece914d565757ab363b04730a728b544beb567ceb3b2d96f/rignore-0.7.6-cp314-cp314-win_arm64.whl", hash = "sha256:104f215b60b3c984c386c3e747d6ab4376d5656478694e22c7bd2f788ddd8304", size = 656008, upload-time = "2025-11-05T21:41:29.028Z" }, + { url = "https://files.pythonhosted.org/packages/ca/d2/3c74e3cd81fe8ea08a8dcd2d755c09ac2e8ad8fe409508904557b58383d3/rignore-0.7.6-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:bb24a5b947656dd94cb9e41c4bc8b23cec0c435b58be0d74a874f63c259549e8", size = 882835, upload-time = "2025-11-05T20:42:45.443Z" }, + { url = "https://files.pythonhosted.org/packages/77/61/a772a34b6b63154877433ac2d048364815b24c2dd308f76b212c408101a2/rignore-0.7.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5b1e33c9501cefe24b70a1eafd9821acfd0ebf0b35c3a379430a14df089993e3", size = 820301, upload-time = "2025-11-05T20:42:29.226Z" }, + { url = "https://files.pythonhosted.org/packages/71/30/054880b09c0b1b61d17eeb15279d8bf729c0ba52b36c3ada52fb827cbb3c/rignore-0.7.6-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bec3994665a44454df86deb762061e05cd4b61e3772f5b07d1882a8a0d2748d5", size = 897611, upload-time = "2025-11-05T20:40:56.475Z" }, + { url = "https://files.pythonhosted.org/packages/1e/40/b2d1c169f833d69931bf232600eaa3c7998ba4f9a402e43a822dad2ea9f2/rignore-0.7.6-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:26cba2edfe3cff1dfa72bddf65d316ddebf182f011f2f61538705d6dbaf54986", size = 873875, upload-time = "2025-11-05T20:41:11.561Z" }, + { url = "https://files.pythonhosted.org/packages/55/59/ca5ae93d83a1a60e44b21d87deb48b177a8db1b85e82fc8a9abb24a8986d/rignore-0.7.6-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ffa86694fec604c613696cb91e43892aa22e1fec5f9870e48f111c603e5ec4e9", size = 1167245, upload-time = "2025-11-05T20:41:28.29Z" }, + { url = "https://files.pythonhosted.org/packages/a5/52/cf3dce392ba2af806cba265aad6bcd9c48bb2a6cb5eee448d3319f6e505b/rignore-0.7.6-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48efe2ed95aa8104145004afb15cdfa02bea5cdde8b0344afeb0434f0d989aa2", size = 941750, upload-time = "2025-11-05T20:41:43.111Z" }, + { url = "https://files.pythonhosted.org/packages/ec/be/3f344c6218d779395e785091d05396dfd8b625f6aafbe502746fcd880af2/rignore-0.7.6-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dcae43eb44b7f2457fef7cc87f103f9a0013017a6f4e62182c565e924948f21", size = 958896, upload-time = "2025-11-05T20:42:13.784Z" }, + { url = "https://files.pythonhosted.org/packages/c9/34/d3fa71938aed7d00dcad87f0f9bcb02ad66c85d6ffc83ba31078ce53646a/rignore-0.7.6-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2cd649a7091c0dad2f11ef65630d30c698d505cbe8660dd395268e7c099cc99f", size = 983992, upload-time = "2025-11-05T20:41:58.022Z" }, + { url = "https://files.pythonhosted.org/packages/24/a4/52a697158e9920705bdbd0748d59fa63e0f3233fb92e9df9a71afbead6ca/rignore-0.7.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42de84b0289d478d30ceb7ae59023f7b0527786a9a5b490830e080f0e4ea5aeb", size = 1078181, upload-time = "2025-11-05T21:40:18.151Z" }, + { url = "https://files.pythonhosted.org/packages/ac/65/aa76dbcdabf3787a6f0fd61b5cc8ed1e88580590556d6c0207960d2384bb/rignore-0.7.6-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:875a617e57b53b4acbc5a91de418233849711c02e29cc1f4f9febb2f928af013", size = 1139232, upload-time = "2025-11-05T21:40:35.966Z" }, + { url = "https://files.pythonhosted.org/packages/08/44/31b31a49b3233c6842acc1c0731aa1e7fb322a7170612acf30327f700b44/rignore-0.7.6-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:8703998902771e96e49968105207719f22926e4431b108450f3f430b4e268b7c", size = 1117349, upload-time = "2025-11-05T21:40:53.013Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ae/1b199a2302c19c658cf74e5ee1427605234e8c91787cfba0015f2ace145b/rignore-0.7.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:602ef33f3e1b04c1e9a10a3c03f8bc3cef2d2383dcc250d309be42b49923cabc", size = 1127702, upload-time = "2025-11-05T21:41:10.881Z" }, + { url = "https://files.pythonhosted.org/packages/fc/d3/18210222b37e87e36357f7b300b7d98c6dd62b133771e71ae27acba83a4f/rignore-0.7.6-cp314-cp314t-win32.whl", hash = "sha256:c1d8f117f7da0a4a96a8daef3da75bc090e3792d30b8b12cfadc240c631353f9", size = 647033, upload-time = "2025-11-05T21:42:00.095Z" }, + { url = "https://files.pythonhosted.org/packages/3e/87/033eebfbee3ec7d92b3bb1717d8f68c88e6fc7de54537040f3b3a405726f/rignore-0.7.6-cp314-cp314t-win_amd64.whl", hash = "sha256:ca36e59408bec81de75d307c568c2d0d410fb880b1769be43611472c61e85c96", size = 725647, upload-time = "2025-11-05T21:41:44.449Z" }, + { url = "https://files.pythonhosted.org/packages/79/62/b88e5879512c55b8ee979c666ee6902adc4ed05007226de266410ae27965/rignore-0.7.6-cp314-cp314t-win_arm64.whl", hash = "sha256:b83adabeb3e8cf662cabe1931b83e165b88c526fa6af6b3aa90429686e474896", size = 656035, upload-time = "2025-11-05T21:41:31.13Z" }, +] + [[package]] name = "ruff" version = "0.15.1" @@ -661,6 +932,47 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2a/07/5bda6a85b220c64c65686bc85bd0bbb23b29c62b3a9f9433fa55f17cda93/ruff-0.15.1-py3-none-win_arm64.whl", hash = "sha256:5ff7d5f0f88567850f45081fac8f4ec212be8d0b963e385c3f7d0d2eb4899416", size = 10874604, upload-time = "2026-02-12T23:09:05.515Z" }, ] +[[package]] +name = "sentry-sdk" +version = "2.53.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d3/06/66c8b705179bc54087845f28fd1b72f83751b6e9a195628e2e9af9926505/sentry_sdk-2.53.0.tar.gz", hash = "sha256:6520ef2c4acd823f28efc55e43eb6ce2e6d9f954a95a3aa96b6fd14871e92b77", size = 412369, upload-time = "2026-02-16T11:11:14.743Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/d4/2fdf854bc3b9c7f55219678f812600a20a138af2dd847d99004994eada8f/sentry_sdk-2.53.0-py2.py3-none-any.whl", hash = "sha256:46e1ed8d84355ae54406c924f6b290c3d61f4048625989a723fd622aab838899", size = 437908, upload-time = "2026-02-16T11:11:13.227Z" }, +] + +[[package]] +name = "setproctitle" +version = "1.3.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz", hash = "sha256:bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e", size = 27002, upload-time = "2025-09-05T12:51:25.278Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/c7/43ac3a98414f91d1b86a276bc2f799ad0b4b010e08497a95750d5bc42803/setproctitle-1.3.7-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:80c36c6a87ff72eabf621d0c79b66f3bdd0ecc79e873c1e9f0651ee8bf215c63", size = 18052, upload-time = "2025-09-05T12:50:17.928Z" }, + { url = "https://files.pythonhosted.org/packages/cd/2c/dc258600a25e1a1f04948073826bebc55e18dbd99dc65a576277a82146fa/setproctitle-1.3.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b53602371a52b91c80aaf578b5ada29d311d12b8a69c0c17fbc35b76a1fd4f2e", size = 13071, upload-time = "2025-09-05T12:50:19.061Z" }, + { url = "https://files.pythonhosted.org/packages/ab/26/8e3bb082992f19823d831f3d62a89409deb6092e72fc6940962983ffc94f/setproctitle-1.3.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fcb966a6c57cf07cc9448321a08f3be6b11b7635be502669bc1d8745115d7e7f", size = 33180, upload-time = "2025-09-05T12:50:20.395Z" }, + { url = "https://files.pythonhosted.org/packages/f1/af/ae692a20276d1159dd0cf77b0bcf92cbb954b965655eb4a69672099bb214/setproctitle-1.3.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:46178672599b940368d769474fe13ecef1b587d58bb438ea72b9987f74c56ea5", size = 34043, upload-time = "2025-09-05T12:50:22.454Z" }, + { url = "https://files.pythonhosted.org/packages/34/b2/6a092076324dd4dac1a6d38482bedebbff5cf34ef29f58585ec76e47bc9d/setproctitle-1.3.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7f9e9e3ff135cbcc3edd2f4cf29b139f4aca040d931573102742db70ff428c17", size = 35892, upload-time = "2025-09-05T12:50:23.937Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1a/8836b9f28cee32859ac36c3df85aa03e1ff4598d23ea17ca2e96b5845a8f/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:14c7eba8d90c93b0e79c01f0bd92a37b61983c27d6d7d5a3b5defd599113d60e", size = 32898, upload-time = "2025-09-05T12:50:25.617Z" }, + { url = "https://files.pythonhosted.org/packages/ef/22/8fabdc24baf42defb599714799d8445fe3ae987ec425a26ec8e80ea38f8e/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:9e64e98077fb30b6cf98073d6c439cd91deb8ebbf8fc62d9dbf52bd38b0c6ac0", size = 34308, upload-time = "2025-09-05T12:50:26.827Z" }, + { url = "https://files.pythonhosted.org/packages/15/1b/b9bee9de6c8cdcb3b3a6cb0b3e773afdb86bbbc1665a3bfa424a4294fda2/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b91387cc0f02a00ac95dcd93f066242d3cca10ff9e6153de7ee07069c6f0f7c8", size = 32536, upload-time = "2025-09-05T12:50:28.5Z" }, + { url = "https://files.pythonhosted.org/packages/37/0c/75e5f2685a5e3eda0b39a8b158d6d8895d6daf3ba86dec9e3ba021510272/setproctitle-1.3.7-cp314-cp314-win32.whl", hash = "sha256:52b054a61c99d1b72fba58b7f5486e04b20fefc6961cd76722b424c187f362ed", size = 12731, upload-time = "2025-09-05T12:50:43.955Z" }, + { url = "https://files.pythonhosted.org/packages/d2/ae/acddbce90d1361e1786e1fb421bc25baeb0c22ef244ee5d0176511769ec8/setproctitle-1.3.7-cp314-cp314-win_amd64.whl", hash = "sha256:5818e4080ac04da1851b3ec71e8a0f64e3748bf9849045180566d8b736702416", size = 13464, upload-time = "2025-09-05T12:50:45.057Z" }, + { url = "https://files.pythonhosted.org/packages/01/6d/20886c8ff2e6d85e3cabadab6aab9bb90acaf1a5cfcb04d633f8d61b2626/setproctitle-1.3.7-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6fc87caf9e323ac426910306c3e5d3205cd9f8dcac06d233fcafe9337f0928a3", size = 18062, upload-time = "2025-09-05T12:50:29.78Z" }, + { url = "https://files.pythonhosted.org/packages/9a/60/26dfc5f198715f1343b95c2f7a1c16ae9ffa45bd89ffd45a60ed258d24ea/setproctitle-1.3.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6134c63853d87a4897ba7d5cc0e16abfa687f6c66fc09f262bb70d67718f2309", size = 13075, upload-time = "2025-09-05T12:50:31.604Z" }, + { url = "https://files.pythonhosted.org/packages/21/9c/980b01f50d51345dd513047e3ba9e96468134b9181319093e61db1c47188/setproctitle-1.3.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1403d2abfd32790b6369916e2313dffbe87d6b11dca5bbd898981bcde48e7a2b", size = 34744, upload-time = "2025-09-05T12:50:32.777Z" }, + { url = "https://files.pythonhosted.org/packages/86/b4/82cd0c86e6d1c4538e1a7eb908c7517721513b801dff4ba3f98ef816a240/setproctitle-1.3.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e7c5bfe4228ea22373e3025965d1a4116097e555ee3436044f5c954a5e63ac45", size = 35589, upload-time = "2025-09-05T12:50:34.13Z" }, + { url = "https://files.pythonhosted.org/packages/8a/4f/9f6b2a7417fd45673037554021c888b31247f7594ff4bd2239918c5cd6d0/setproctitle-1.3.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:585edf25e54e21a94ccb0fe81ad32b9196b69ebc4fc25f81da81fb8a50cca9e4", size = 37698, upload-time = "2025-09-05T12:50:35.524Z" }, + { url = "https://files.pythonhosted.org/packages/20/92/927b7d4744aac214d149c892cb5fa6dc6f49cfa040cb2b0a844acd63dcaf/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:96c38cdeef9036eb2724c2210e8d0b93224e709af68c435d46a4733a3675fee1", size = 34201, upload-time = "2025-09-05T12:50:36.697Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0c/fd4901db5ba4b9d9013e62f61d9c18d52290497f956745cd3e91b0d80f90/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:45e3ef48350abb49cf937d0a8ba15e42cee1e5ae13ca41a77c66d1abc27a5070", size = 35801, upload-time = "2025-09-05T12:50:38.314Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e3/54b496ac724e60e61cc3447f02690105901ca6d90da0377dffe49ff99fc7/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:1fae595d032b30dab4d659bece20debd202229fce12b55abab978b7f30783d73", size = 33958, upload-time = "2025-09-05T12:50:39.841Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a8/c84bb045ebf8c6fdc7f7532319e86f8380d14bbd3084e6348df56bdfe6fd/setproctitle-1.3.7-cp314-cp314t-win32.whl", hash = "sha256:02432f26f5d1329ab22279ff863c83589894977063f59e6c4b4845804a08f8c2", size = 12745, upload-time = "2025-09-05T12:50:41.377Z" }, + { url = "https://files.pythonhosted.org/packages/08/b6/3a5a4f9952972791a9114ac01dfc123f0df79903577a3e0a7a404a695586/setproctitle-1.3.7-cp314-cp314t-win_amd64.whl", hash = "sha256:cbc388e3d86da1f766d8fc2e12682e446064c01cea9f88a88647cfe7c011de6a", size = 13469, upload-time = "2025-09-05T12:50:42.67Z" }, +] + [[package]] name = "shellingham" version = "1.5.4" diff --git a/scripts/mini-tiangolo/gunicorn_conf.py b/scripts/mini-tiangolo/gunicorn_conf.py deleted file mode 100644 index 7dd141d..0000000 --- a/scripts/mini-tiangolo/gunicorn_conf.py +++ /dev/null @@ -1,67 +0,0 @@ -import json -import multiprocessing -import os - -workers_per_core_str = os.getenv("WORKERS_PER_CORE", "1") -max_workers_str = os.getenv("MAX_WORKERS") -use_max_workers = None -if max_workers_str: - use_max_workers = int(max_workers_str) -web_concurrency_str = os.getenv("WEB_CONCURRENCY", None) - -host = os.getenv("HOST", "0.0.0.0") -port = os.getenv("PORT", "80") -bind_env = os.getenv("BIND", None) -use_loglevel = os.getenv("LOG_LEVEL", "info") -if bind_env: - use_bind = bind_env -else: - use_bind = f"{host}:{port}" - -cores = multiprocessing.cpu_count() -workers_per_core = float(workers_per_core_str) -default_web_concurrency = workers_per_core * cores -if web_concurrency_str: - web_concurrency = int(web_concurrency_str) - assert web_concurrency > 0 -else: - web_concurrency = max(int(default_web_concurrency), 2) - if use_max_workers: - web_concurrency = min(web_concurrency, use_max_workers) -accesslog_var = os.getenv("ACCESS_LOG", "-") -use_accesslog = accesslog_var or None -errorlog_var = os.getenv("ERROR_LOG", "-") -use_errorlog = errorlog_var or None -graceful_timeout_str = os.getenv("GRACEFUL_TIMEOUT", "120") -timeout_str = os.getenv("TIMEOUT", "120") -keepalive_str = os.getenv("KEEP_ALIVE", "5") - -# Gunicorn config variables -loglevel = use_loglevel -workers = web_concurrency -bind = use_bind -errorlog = use_errorlog -worker_tmp_dir = "/dev/shm" -accesslog = use_accesslog -graceful_timeout = int(graceful_timeout_str) -timeout = int(timeout_str) -keepalive = int(keepalive_str) - - -# For debugging and testing -log_data = { - "loglevel": loglevel, - "workers": workers, - "bind": bind, - "graceful_timeout": graceful_timeout, - "timeout": timeout, - "keepalive": keepalive, - "errorlog": errorlog, - "accesslog": accesslog, - # Additional, non-gunicorn variables - "workers_per_core": workers_per_core, - "use_max_workers": use_max_workers, - "host": host, - "port": port, -} -print(json.dumps(log_data)) diff --git a/scripts/mini-tiangolo/start.sh b/scripts/mini-tiangolo/start.sh deleted file mode 100644 index b72737b..0000000 --- a/scripts/mini-tiangolo/start.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -set -e - -MODULE_NAME=${MODULE_NAME:-"app.main"} -VARIABLE_NAME=${VARIABLE_NAME:-"app"} -export APP_MODULE="${APP_MODULE:-"$MODULE_NAME:$VARIABLE_NAME"}" -export GUNICORN_CONF="${GUNICORN_CONF:-"/usr/local/share/uvicorn-gunicorn/gunicorn_conf.py"}" -export WORKER_CLASS="${WORKER_CLASS:-"uvicorn.workers.UvicornWorker"}" - -if [ -f "${PRE_START_PATH}" ] ; then - echo "Running script ${PRE_START_PATH}" - # shellcheck disable=SC1090 - . "${PRE_START_PATH}" -fi - -# Start Gunicorn -exec gunicorn \ - -k "${WORKER_CLASS}" \ - -c "${GUNICORN_CONF}" \ - "${APP_MODULE}" From e5e4bda66a7847e27398858f7f38cccfd9916d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Fri, 20 Feb 2026 00:28:48 +0100 Subject: [PATCH 06/23] =?UTF-8?q?=E2=9C=A8=20final=20image=20now=20uses=20?= =?UTF-8?q?dhi=20base=20image?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 55 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9f9219d..aa06f73 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ ARG NODE_VERSION=24 -ARG PYTHON_VERSION=3.14-slim +ARG PYTHON_VERSION=3.14 ############ # build ui # @@ -28,30 +28,33 @@ RUN set -ex; \ # exclude webpack-bundle-analyzer output rm -f /tmp/advent22_ui/report.html; -############ -# main app # -############ + +############### +# install app # +############### ARG PYTHON_VERSION -FROM python:${PYTHON_VERSION} AS production +FROM dhi.io/python:${PYTHON_VERSION}-dev AS install-app -# env setup for uv -ENV \ - PATH="/opt/advent22/api/.venv/bin:$PATH" \ +# env setup +WORKDIR /opt/advent22 +ENV UV_WORKING_DIR="api/" \ UV_COMPILE_BYTECODE=1 \ UV_NO_DEV=1 \ UV_LINK_MODE="copy" -EXPOSE 8000 - -# install advent22_api deps -WORKDIR /opt/advent22/api - RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ --mount=type=cache,target=/root/.cache/uv \ - --mount=type=bind,source=api/uv.lock,target=uv.lock \ - --mount=type=bind,source=api/pyproject.toml,target=pyproject.toml \ + --mount=type=bind,source=api/uv.lock,target=api/uv.lock \ + --mount=type=bind,source=api/pyproject.toml,target=api/pyproject.toml \ + set -ex; \ \ + # prepare data directory + mkdir data; \ + chown nobody:nobody data; \ + chmod u=rwx,g=rx,o=rx data; \ + \ + # install advent22_api deps uv sync \ --locked \ --no-install-project \ @@ -59,7 +62,7 @@ RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ ; # install advent22_api -COPY api ./ +COPY api api/ RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ --mount=type=cache,target=/root/.cache/uv \ \ @@ -68,15 +71,27 @@ RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ --no-editable \ ; +# add prepared advent22_ui +COPY --from=build-ui /tmp/advent22_ui ui/ + + +#################### +# production image # +#################### + +ARG PYTHON_VERSION +FROM dhi.io/python:${PYTHON_VERSION} AS production + +ENV PATH="/opt/advent22/api/.venv/bin:$PATH" +EXPOSE 8000 CMD [ "advent22" ] -# add prepared advent22_ui -COPY --from=build-ui /tmp/advent22_ui /opt/advent22/ui +ARG PYTHON_VERSION +COPY --from=install-app /opt/python/lib/python${PYTHON_VERSION} /opt/python/lib/python${PYTHON_VERSION}/ +COPY --from=install-app /opt/advent22 /opt/advent22/ -# prepare data directory WORKDIR /opt/advent22/data VOLUME [ "/opt/advent22/data" ] -RUN chown -R nobody:nogroup ./ # run as unprivileged user USER nobody From 1179fa0f80c4a430c5ae1ca91aa07462fb5508c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Fri, 20 Feb 2026 01:36:23 +0100 Subject: [PATCH 07/23] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20api:=20upgrade=20dep?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `uv-upx upgrade run` --- api/pyproject.toml | 4 ++-- api/uv.lock | 54 +++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/api/pyproject.toml b/api/pyproject.toml index 802d5e5..ebaa1d3 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ "markdown>=3.10.2", "numpy>=2.4.2", "pillow>=12.1.1", - "pydantic-settings>=2.13.0", + "pydantic-settings>=2.13.1", "redis[hiredis]>=7.2.0", "requests>=2.32.5", "tomli-w>=1.2.0", @@ -32,7 +32,7 @@ advent22 = "advent22_api.production:start" dev = [ "fastapi[standard]>=0.129.0", "pytest>=9.0.2", - "ruff>=0.15.1", + "ruff>=0.15.2", ] [build-system] diff --git a/api/uv.lock b/api/uv.lock index 7c0dfc0..6fba3a5 100644 --- a/api/uv.lock +++ b/api/uv.lock @@ -39,7 +39,7 @@ requires-dist = [ { name = "markdown", specifier = ">=3.10.2" }, { name = "numpy", specifier = ">=2.4.2" }, { name = "pillow", specifier = ">=12.1.1" }, - { name = "pydantic-settings", specifier = ">=2.13.0" }, + { name = "pydantic-settings", specifier = ">=2.13.1" }, { name = "redis", extras = ["hiredis"], specifier = ">=7.2.0" }, { name = "requests", specifier = ">=2.32.5" }, { name = "tomli-w", specifier = ">=1.2.0" }, @@ -50,7 +50,7 @@ requires-dist = [ dev = [ { name = "fastapi", extras = ["standard"], specifier = ">=0.129.0" }, { name = "pytest", specifier = ">=9.0.2" }, - { name = "ruff", specifier = ">=0.15.1" }, + { name = "ruff", specifier = ">=0.15.2" }, ] [[package]] @@ -720,16 +720,16 @@ wheels = [ [[package]] name = "pydantic-settings" -version = "2.13.0" +version = "2.13.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pydantic" }, { name = "python-dotenv" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/96/a1/ae859ffac5a3338a66b74c5e29e244fd3a3cc483c89feaf9f56c39898d75/pydantic_settings-2.13.0.tar.gz", hash = "sha256:95d875514610e8595672800a5c40b073e99e4aae467fa7c8f9c263061ea2e1fe", size = 222450, upload-time = "2026-02-15T12:11:23.476Z" } +sdist = { url = "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz", hash = "sha256:b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025", size = 223826, upload-time = "2026-02-19T13:45:08.055Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b0/1a/dd1b9d7e627486cf8e7523d09b70010e05a4bc41414f4ae6ce184cf0afb6/pydantic_settings-2.13.0-py3-none-any.whl", hash = "sha256:d67b576fff39cd086b595441bf9c75d4193ca9c0ed643b90360694d0f1240246", size = 58429, upload-time = "2026-02-15T12:11:22.133Z" }, + { url = "https://files.pythonhosted.org/packages/00/4b/ccc026168948fec4f7555b9164c724cf4125eac006e176541483d2c959be/pydantic_settings-2.13.1-py3-none-any.whl", hash = "sha256:d56fd801823dbeae7f0975e1f8c8e25c258eb75d278ea7abb5d9cebb01b56237", size = 58929, upload-time = "2026-02-19T13:45:06.034Z" }, ] [[package]] @@ -844,15 +844,15 @@ wheels = [ [[package]] name = "rich" -version = "14.3.2" +version = "14.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/74/99/a4cab2acbb884f80e558b0771e97e21e939c5dfb460f488d19df485e8298/rich-14.3.2.tar.gz", hash = "sha256:e712f11c1a562a11843306f5ed999475f09ac31ffb64281f73ab29ffdda8b3b8", size = 230143, upload-time = "2026-02-01T16:20:47.908Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz", hash = "sha256:b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b", size = 230582, upload-time = "2026-02-19T17:23:12.474Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/45/615f5babd880b4bd7d405cc0dc348234c5ffb6ed1ea33e152ede08b2072d/rich-14.3.2-py3-none-any.whl", hash = "sha256:08e67c3e90884651da3239ea668222d19bea7b589149d8014a21c633420dbb69", size = 309963, upload-time = "2026-02-01T16:20:46.078Z" }, + { url = "https://files.pythonhosted.org/packages/14/25/b208c5683343959b670dc001595f2f3737e051da617f66c31f7c4fa93abc/rich-14.3.3-py3-none-any.whl", hash = "sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d", size = 310458, upload-time = "2026-02-19T17:23:13.732Z" }, ] [[package]] @@ -909,27 +909,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.15.1" +version = "0.15.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/04/dc/4e6ac71b511b141cf626357a3946679abeba4cf67bc7cc5a17920f31e10d/ruff-0.15.1.tar.gz", hash = "sha256:c590fe13fb57c97141ae975c03a1aedb3d3156030cabd740d6ff0b0d601e203f", size = 4540855, upload-time = "2026-02-12T23:09:09.998Z" } +sdist = { url = "https://files.pythonhosted.org/packages/06/04/eab13a954e763b0606f460443fcbf6bb5a0faf06890ea3754ff16523dce5/ruff-0.15.2.tar.gz", hash = "sha256:14b965afee0969e68bb871eba625343b8673375f457af4abe98553e8bbb98342", size = 4558148, upload-time = "2026-02-19T22:32:20.271Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/bf/e6e4324238c17f9d9120a9d60aa99a7daaa21204c07fcd84e2ef03bb5fd1/ruff-0.15.1-py3-none-linux_armv6l.whl", hash = "sha256:b101ed7cf4615bda6ffe65bdb59f964e9f4a0d3f85cbf0e54f0ab76d7b90228a", size = 10367819, upload-time = "2026-02-12T23:09:03.598Z" }, - { url = "https://files.pythonhosted.org/packages/b3/ea/c8f89d32e7912269d38c58f3649e453ac32c528f93bb7f4219258be2e7ed/ruff-0.15.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:939c995e9277e63ea632cc8d3fae17aa758526f49a9a850d2e7e758bfef46602", size = 10798618, upload-time = "2026-02-12T23:09:22.928Z" }, - { url = "https://files.pythonhosted.org/packages/5e/0f/1d0d88bc862624247d82c20c10d4c0f6bb2f346559d8af281674cf327f15/ruff-0.15.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1d83466455fdefe60b8d9c8df81d3c1bbb2115cede53549d3b522ce2bc703899", size = 10148518, upload-time = "2026-02-12T23:08:58.339Z" }, - { url = "https://files.pythonhosted.org/packages/f5/c8/291c49cefaa4a9248e986256df2ade7add79388fe179e0691be06fae6f37/ruff-0.15.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9457e3c3291024866222b96108ab2d8265b477e5b1534c7ddb1810904858d16", size = 10518811, upload-time = "2026-02-12T23:09:31.865Z" }, - { url = "https://files.pythonhosted.org/packages/c3/1a/f5707440e5ae43ffa5365cac8bbb91e9665f4a883f560893829cf16a606b/ruff-0.15.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92c92b003e9d4f7fbd33b1867bb15a1b785b1735069108dfc23821ba045b29bc", size = 10196169, upload-time = "2026-02-12T23:09:17.306Z" }, - { url = "https://files.pythonhosted.org/packages/2a/ff/26ddc8c4da04c8fd3ee65a89c9fb99eaa5c30394269d424461467be2271f/ruff-0.15.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fe5c41ab43e3a06778844c586251eb5a510f67125427625f9eb2b9526535779", size = 10990491, upload-time = "2026-02-12T23:09:25.503Z" }, - { url = "https://files.pythonhosted.org/packages/fc/00/50920cb385b89413f7cdb4bb9bc8fc59c1b0f30028d8bccc294189a54955/ruff-0.15.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66a6dd6df4d80dc382c6484f8ce1bcceb55c32e9f27a8b94c32f6c7331bf14fb", size = 11843280, upload-time = "2026-02-12T23:09:19.88Z" }, - { url = "https://files.pythonhosted.org/packages/5d/6d/2f5cad8380caf5632a15460c323ae326f1e1a2b5b90a6ee7519017a017ca/ruff-0.15.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a4a42cbb8af0bda9bcd7606b064d7c0bc311a88d141d02f78920be6acb5aa83", size = 11274336, upload-time = "2026-02-12T23:09:14.907Z" }, - { url = "https://files.pythonhosted.org/packages/a3/1d/5f56cae1d6c40b8a318513599b35ea4b075d7dc1cd1d04449578c29d1d75/ruff-0.15.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ab064052c31dddada35079901592dfba2e05f5b1e43af3954aafcbc1096a5b2", size = 11137288, upload-time = "2026-02-12T23:09:07.475Z" }, - { url = "https://files.pythonhosted.org/packages/cd/20/6f8d7d8f768c93b0382b33b9306b3b999918816da46537d5a61635514635/ruff-0.15.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5631c940fe9fe91f817a4c2ea4e81f47bee3ca4aa646134a24374f3c19ad9454", size = 11070681, upload-time = "2026-02-12T23:08:55.43Z" }, - { url = "https://files.pythonhosted.org/packages/9a/67/d640ac76069f64cdea59dba02af2e00b1fa30e2103c7f8d049c0cff4cafd/ruff-0.15.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:68138a4ba184b4691ccdc39f7795c66b3c68160c586519e7e8444cf5a53e1b4c", size = 10486401, upload-time = "2026-02-12T23:09:27.927Z" }, - { url = "https://files.pythonhosted.org/packages/65/3d/e1429f64a3ff89297497916b88c32a5cc88eeca7e9c787072d0e7f1d3e1e/ruff-0.15.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:518f9af03bfc33c03bdb4cb63fabc935341bb7f54af500f92ac309ecfbba6330", size = 10197452, upload-time = "2026-02-12T23:09:12.147Z" }, - { url = "https://files.pythonhosted.org/packages/78/83/e2c3bade17dad63bf1e1c2ffaf11490603b760be149e1419b07049b36ef2/ruff-0.15.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:da79f4d6a826caaea95de0237a67e33b81e6ec2e25fc7e1993a4015dffca7c61", size = 10693900, upload-time = "2026-02-12T23:09:34.418Z" }, - { url = "https://files.pythonhosted.org/packages/a1/27/fdc0e11a813e6338e0706e8b39bb7a1d61ea5b36873b351acee7e524a72a/ruff-0.15.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3dd86dccb83cd7d4dcfac303ffc277e6048600dfc22e38158afa208e8bf94a1f", size = 11227302, upload-time = "2026-02-12T23:09:36.536Z" }, - { url = "https://files.pythonhosted.org/packages/f6/58/ac864a75067dcbd3b95be5ab4eb2b601d7fbc3d3d736a27e391a4f92a5c1/ruff-0.15.1-py3-none-win32.whl", hash = "sha256:660975d9cb49b5d5278b12b03bb9951d554543a90b74ed5d366b20e2c57c2098", size = 10462555, upload-time = "2026-02-12T23:09:29.899Z" }, - { url = "https://files.pythonhosted.org/packages/e0/5e/d4ccc8a27ecdb78116feac4935dfc39d1304536f4296168f91ed3ec00cd2/ruff-0.15.1-py3-none-win_amd64.whl", hash = "sha256:c820fef9dd5d4172a6570e5721704a96c6679b80cf7be41659ed439653f62336", size = 11599956, upload-time = "2026-02-12T23:09:01.157Z" }, - { url = "https://files.pythonhosted.org/packages/2a/07/5bda6a85b220c64c65686bc85bd0bbb23b29c62b3a9f9433fa55f17cda93/ruff-0.15.1-py3-none-win_arm64.whl", hash = "sha256:5ff7d5f0f88567850f45081fac8f4ec212be8d0b963e385c3f7d0d2eb4899416", size = 10874604, upload-time = "2026-02-12T23:09:05.515Z" }, + { url = "https://files.pythonhosted.org/packages/2f/70/3a4dc6d09b13cb3e695f28307e5d889b2e1a66b7af9c5e257e796695b0e6/ruff-0.15.2-py3-none-linux_armv6l.whl", hash = "sha256:120691a6fdae2f16d65435648160f5b81a9625288f75544dc40637436b5d3c0d", size = 10430565, upload-time = "2026-02-19T22:32:41.824Z" }, + { url = "https://files.pythonhosted.org/packages/71/0b/bb8457b56185ece1305c666dc895832946d24055be90692381c31d57466d/ruff-0.15.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:a89056d831256099658b6bba4037ac6dd06f49d194199215befe2bb10457ea5e", size = 10820354, upload-time = "2026-02-19T22:32:07.366Z" }, + { url = "https://files.pythonhosted.org/packages/2d/c1/e0532d7f9c9e0b14c46f61b14afd563298b8b83f337b6789ddd987e46121/ruff-0.15.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e36dee3a64be0ebd23c86ffa3aa3fd3ac9a712ff295e192243f814a830b6bd87", size = 10170767, upload-time = "2026-02-19T22:32:13.188Z" }, + { url = "https://files.pythonhosted.org/packages/47/e8/da1aa341d3af017a21c7a62fb5ec31d4e7ad0a93ab80e3a508316efbcb23/ruff-0.15.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9fb47b6d9764677f8c0a193c0943ce9a05d6763523f132325af8a858eadc2b9", size = 10529591, upload-time = "2026-02-19T22:32:02.547Z" }, + { url = "https://files.pythonhosted.org/packages/93/74/184fbf38e9f3510231fbc5e437e808f0b48c42d1df9434b208821efcd8d6/ruff-0.15.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f376990f9d0d6442ea9014b19621d8f2aaf2b8e39fdbfc79220b7f0c596c9b80", size = 10260771, upload-time = "2026-02-19T22:32:36.938Z" }, + { url = "https://files.pythonhosted.org/packages/05/ac/605c20b8e059a0bc4b42360414baa4892ff278cec1c91fff4be0dceedefd/ruff-0.15.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2dcc987551952d73cbf5c88d9fdee815618d497e4df86cd4c4824cc59d5dd75f", size = 11045791, upload-time = "2026-02-19T22:32:31.642Z" }, + { url = "https://files.pythonhosted.org/packages/fd/52/db6e419908f45a894924d410ac77d64bdd98ff86901d833364251bd08e22/ruff-0.15.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42a47fd785cbe8c01b9ff45031af875d101b040ad8f4de7bbb716487c74c9a77", size = 11879271, upload-time = "2026-02-19T22:32:29.305Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d8/7992b18f2008bdc9231d0f10b16df7dda964dbf639e2b8b4c1b4e91b83af/ruff-0.15.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbe9f49354866e575b4c6943856989f966421870e85cd2ac94dccb0a9dcb2fea", size = 11303707, upload-time = "2026-02-19T22:32:22.492Z" }, + { url = "https://files.pythonhosted.org/packages/d7/02/849b46184bcfdd4b64cde61752cc9a146c54759ed036edd11857e9b8443b/ruff-0.15.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7a672c82b5f9887576087d97be5ce439f04bbaf548ee987b92d3a7dede41d3a", size = 11149151, upload-time = "2026-02-19T22:32:44.234Z" }, + { url = "https://files.pythonhosted.org/packages/70/04/f5284e388bab60d1d3b99614a5a9aeb03e0f333847e2429bebd2aaa1feec/ruff-0.15.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:72ecc64f46f7019e2bcc3cdc05d4a7da958b629a5ab7033195e11a438403d956", size = 11091132, upload-time = "2026-02-19T22:32:24.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ae/88d844a21110e14d92cf73d57363fab59b727ebeabe78009b9ccb23500af/ruff-0.15.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:8dcf243b15b561c655c1ef2f2b0050e5d50db37fe90115507f6ff37d865dc8b4", size = 10504717, upload-time = "2026-02-19T22:32:26.75Z" }, + { url = "https://files.pythonhosted.org/packages/64/27/867076a6ada7f2b9c8292884ab44d08fd2ba71bd2b5364d4136f3cd537e1/ruff-0.15.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:dab6941c862c05739774677c6273166d2510d254dac0695c0e3f5efa1b5585de", size = 10263122, upload-time = "2026-02-19T22:32:10.036Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ef/faf9321d550f8ebf0c6373696e70d1758e20ccdc3951ad7af00c0956be7c/ruff-0.15.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1b9164f57fc36058e9a6806eb92af185b0697c9fe4c7c52caa431c6554521e5c", size = 10735295, upload-time = "2026-02-19T22:32:39.227Z" }, + { url = "https://files.pythonhosted.org/packages/2f/55/e8089fec62e050ba84d71b70e7834b97709ca9b7aba10c1a0b196e493f97/ruff-0.15.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:80d24fcae24d42659db7e335b9e1531697a7102c19185b8dc4a028b952865fd8", size = 11241641, upload-time = "2026-02-19T22:32:34.617Z" }, + { url = "https://files.pythonhosted.org/packages/23/01/1c30526460f4d23222d0fabd5888868262fd0e2b71a00570ca26483cd993/ruff-0.15.2-py3-none-win32.whl", hash = "sha256:fd5ff9e5f519a7e1bd99cbe8daa324010a74f5e2ebc97c6242c08f26f3714f6f", size = 10507885, upload-time = "2026-02-19T22:32:15.635Z" }, + { url = "https://files.pythonhosted.org/packages/5c/10/3d18e3bbdf8fc50bbb4ac3cc45970aa5a9753c5cb51bf9ed9a3cd8b79fa3/ruff-0.15.2-py3-none-win_amd64.whl", hash = "sha256:d20014e3dfa400f3ff84830dfb5755ece2de45ab62ecea4af6b7262d0fb4f7c5", size = 11623725, upload-time = "2026-02-19T22:32:04.947Z" }, + { url = "https://files.pythonhosted.org/packages/6d/78/097c0798b1dab9f8affe73da9642bb4500e098cb27fd8dc9724816ac747b/ruff-0.15.2-py3-none-win_arm64.whl", hash = "sha256:cabddc5822acdc8f7b5527b36ceac55cc51eec7b1946e60181de8fe83ca8876e", size = 10941649, upload-time = "2026-02-19T22:32:18.108Z" }, ] [[package]] From 1f6aeadae0361d4b2a346e02878bcdb8d995edac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Fri, 20 Feb 2026 12:14:36 +0000 Subject: [PATCH 08/23] =?UTF-8?q?=E2=9C=A8=20add=20some=20OMZ=20plugins=20?= =?UTF-8?q?to=20devcontainers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/.devcontainer/devcontainer.json | 2 +- ui/.devcontainer/devcontainer.json | 75 +++++++++++++++-------------- 2 files changed, 40 insertions(+), 37 deletions(-) diff --git a/api/.devcontainer/devcontainer.json b/api/.devcontainer/devcontainer.json index 42e2669..2adb3af 100644 --- a/api/.devcontainer/devcontainer.json +++ b/api/.devcontainer/devcontainer.json @@ -11,7 +11,7 @@ "ghcr.io/devcontainers/features/git-lfs:1": {}, "ghcr.io/devcontainers-extra/features/uv:1": {}, "ghcr.io/devcontainers-extra/features/zsh-plugins:0": { - "plugins": "uv" + "plugins": "git-flow uv" }, "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { "packages": "git-flow" diff --git a/ui/.devcontainer/devcontainer.json b/ui/.devcontainer/devcontainer.json index a7a04cf..2550d04 100644 --- a/ui/.devcontainer/devcontainer.json +++ b/ui/.devcontainer/devcontainer.json @@ -1,48 +1,51 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: // https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/javascript-node { - "name": "Advent22 UI", + "name": "Advent22 UI", - // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/javascript-node:4-24-trixie", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/javascript-node:4-24-trixie", - // Features to add to the dev container. More info: https://containers.dev/features. - "features": { - "ghcr.io/devcontainers/features/git-lfs:1": {}, - "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { - "packages": "git-flow" + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/git-lfs:1": {}, + "ghcr.io/devcontainers-extra/features/zsh-plugins:0": { + "plugins": "git-flow npm nvm yarn" + }, + "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { + "packages": "git-flow" + }, + "ghcr.io/devcontainers-extra/features/vue-cli:2": {} }, - "ghcr.io/devcontainers-extra/features/vue-cli:2": {} - }, - // Configure tool-specific properties. - "customizations": { - // Configure properties specific to VS Code. - "vscode": { - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.defaultProfile.linux": "zsh" - }, - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "mhutchie.git-graph", - "Syler.sass-indented", - "Vue.volar" - ] - } - }, + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.defaultProfile.linux": "zsh" + }, + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "mhutchie.git-graph", + "Syler.sass-indented", + "Vue.volar" + ] + } + }, - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "yarn install", + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "yarn install", - // Use 'postStartCommand' to run commands after the container is started. - "postStartCommand": "yarn dlx update-browserslist-db@latest && yarn install" + // Use 'postStartCommand' to run commands after the container is started. + "postStartCommand": "yarn dlx update-browserslist-db@latest && yarn install" - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" } From 865c145b42e9d10f2b33a5e26cf0c84177f67647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Fri, 20 Feb 2026 12:17:54 +0000 Subject: [PATCH 09/23] =?UTF-8?q?=F0=9F=94=A7=20Dockerfile=20rework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - eliminate corepack dependency - improved caching - changed some comments and paths --- Dockerfile | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index aa06f73..67fc59f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ ARG NODE_VERSION=24 ARG PYTHON_VERSION=3.14 + ############ # build ui # ############ @@ -8,25 +9,25 @@ ARG PYTHON_VERSION=3.14 ARG NODE_VERSION FROM node:${NODE_VERSION} AS build-ui -# env setup +# install ui dependencies WORKDIR /usr/local/src/advent22_ui - -# install advent22_ui dependencies RUN --mount=type=bind,source=ui/package.json,target=package.json \ --mount=type=bind,source=ui/yarn.lock,target=yarn.lock \ + --mount=type=bind,source=ui/.yarn/releases,target=.yarn/releases \ + --mount=type=bind,source=ui/.yarnrc.yml,target=.yarnrc.yml \ + --mount=type=cache,id=ui,target=/root/.yarn \ + \ + yarn install --immutable --check-cache; + +# copy and build ui +COPY ui ./ +RUN --mount=type=cache,id=ui,target=/root/.yarn \ set -ex; \ - \ - corepack enable; \ - yarn install --frozen-lockfile; - -# copy and build advent22_ui -COPY ui ./ -RUN set -ex; \ \ yarn dlx update-browserslist-db@latest; \ - yarn build --dest /tmp/advent22_ui; \ + yarn build --dest /opt/advent22/ui; \ # exclude webpack-bundle-analyzer output - rm -f /tmp/advent22_ui/report.html; + rm -f /opt/advent22/ui/report.html; ############### @@ -35,18 +36,18 @@ RUN set -ex; \ ARG PYTHON_VERSION FROM dhi.io/python:${PYTHON_VERSION}-dev AS install-app +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ # env setup WORKDIR /opt/advent22 -ENV UV_WORKING_DIR="api/" \ - UV_COMPILE_BYTECODE=1 \ +ENV UV_COMPILE_BYTECODE=1 \ UV_NO_DEV=1 \ UV_LINK_MODE="copy" -RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ - --mount=type=cache,target=/root/.cache/uv \ - --mount=type=bind,source=api/uv.lock,target=api/uv.lock \ +RUN --mount=type=bind,source=api/uv.lock,target=api/uv.lock \ --mount=type=bind,source=api/pyproject.toml,target=api/pyproject.toml \ + --mount=type=bind,source=api/.python-version,target=api/.python-version \ + --mount=type=cache,id=api,target=/root/.cache/uv \ set -ex; \ \ # prepare data directory @@ -54,25 +55,26 @@ RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ chown nobody:nobody data; \ chmod u=rwx,g=rx,o=rx data; \ \ - # install advent22_api deps + # install api deps uv sync \ + --project api/ \ --locked \ --no-install-project \ --no-editable \ ; -# install advent22_api +# install api COPY api api/ -RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \ - --mount=type=cache,target=/root/.cache/uv \ +RUN --mount=type=cache,id=api,target=/root/.cache/uv \ \ uv sync \ + --project api/ \ --locked \ --no-editable \ ; -# add prepared advent22_ui -COPY --from=build-ui /tmp/advent22_ui ui/ +# add prepared ui +COPY --from=build-ui /opt/advent22/ui ui/ #################### From 022c9138bf5035f242c9e9cccbb6a7d8bc240578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Fri, 20 Feb 2026 22:22:05 +0000 Subject: [PATCH 10/23] =?UTF-8?q?=F0=9F=9A=A7=20ui:=20re-scaffolding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - built a new bare vue 3.5 project with vite - partly merged in old configs --- ui/.browserslistrc | 4 - ui/.devcontainer/devcontainer.json | 81 +- ui/.editorconfig | 8 + ui/.gitattributes | 1 + ui/.gitignore | 15 + ui/.oxlintrc.json | 10 + ui/.prettierrc.json | 6 + ui/.vscode/extensions.json | 11 +- ui/.vscode/settings.json | 10 +- ui/README.md | 51 +- ui/{ => _legacy}/.eslintrc.js | 0 ui/_legacy/package.json | 47 + ui/_legacy/public/favicon.ico | Bin 0 -> 38672 bytes ui/{ => _legacy}/public/index.html | 0 ui/_legacy/src/App.vue | 67 + ui/_legacy/src/assets/logo.png | 3 + ui/{ => _legacy}/src/bulma-scheme.scss | 0 .../src/components/AdminButton.vue | 0 ui/{ => _legacy}/src/components/Calendar.vue | 0 ui/{ => _legacy}/src/components/CountDown.vue | 0 .../src/components/LoginModal.vue | 0 .../src/components/MultiModal.vue | 0 .../src/components/TouchButton.vue | 0 ui/{ => _legacy}/src/components/UserView.vue | 0 .../src/components/admin/AdminView.vue | 0 .../components/admin/CalendarAssistant.vue | 0 .../src/components/admin/ConfigView.vue | 0 .../src/components/admin/DoorMapEditor.vue | 0 .../src/components/bulma/Breadcrumbs.vue | 0 .../src/components/bulma/Button.vue | 0 .../src/components/bulma/Drawer.vue | 0 .../src/components/bulma/Secret.vue | 0 .../src/components/bulma/Toast.vue | 0 .../src/components/calendar/CalendarDoor.vue | 0 .../src/components/calendar/SVGRect.vue | 0 .../src/components/calendar/ThouCanvas.vue | 0 .../src/components/editor/DoorCanvas.vue | 0 .../src/components/editor/DoorChooser.vue | 0 .../src/components/editor/DoorPlacer.vue | 0 .../src/components/editor/PreviewDoor.vue | 0 ui/{ => _legacy}/src/d.ts/shims-vue.d.ts | 0 ui/{ => _legacy}/src/lib/api.ts | 0 ui/{ => _legacy}/src/lib/api_error.ts | 0 ui/{ => _legacy}/src/lib/fontawesome.ts | 0 ui/{ => _legacy}/src/lib/helpers.ts | 0 ui/{ => _legacy}/src/lib/model.ts | 0 ui/{ => _legacy}/src/lib/rects/door.ts | 0 ui/{ => _legacy}/src/lib/rects/rectangle.ts | 0 ui/{ => _legacy}/src/lib/rects/vector2d.ts | 0 ui/{ => _legacy}/src/lib/store.ts | 0 ui/{ => _legacy}/src/main.scss | 0 ui/_legacy/src/main.ts | 27 + ui/{ => _legacy}/tests/unit/rectangle.spec.ts | 0 ui/{ => _legacy}/tests/unit/vector2d.spec.ts | 0 ui/_legacy/tsconfig.json | 33 + ui/babel.config.json | 5 - ui/env.d.ts | 1 + ui/eslint.config.ts | 32 + ui/index.html | 13 + ui/package.json | 75 +- ui/public/favicon.ico | Bin 38672 -> 4286 bytes ui/src/App.vue | 72 +- ui/src/__tests__/App.spec.ts | 11 + ui/src/main.ts | 30 +- ui/src/stores/counter.ts | 12 + ui/tsconfig.app.json | 12 + ui/tsconfig.json | 43 +- ui/tsconfig.node.json | 19 + ui/tsconfig.vitest.json | 11 + ui/vite.config.ts | 18 + ui/vitest.config.ts | 14 + ui/vue.config.js | 26 - ui/yarn.lock | 10018 +++------------- 73 files changed, 2517 insertions(+), 8269 deletions(-) delete mode 100644 ui/.browserslistrc create mode 100644 ui/.editorconfig create mode 100644 ui/.gitattributes create mode 100644 ui/.oxlintrc.json create mode 100644 ui/.prettierrc.json rename ui/{ => _legacy}/.eslintrc.js (100%) create mode 100644 ui/_legacy/package.json create mode 100644 ui/_legacy/public/favicon.ico rename ui/{ => _legacy}/public/index.html (100%) create mode 100644 ui/_legacy/src/App.vue create mode 100644 ui/_legacy/src/assets/logo.png rename ui/{ => _legacy}/src/bulma-scheme.scss (100%) rename ui/{ => _legacy}/src/components/AdminButton.vue (100%) rename ui/{ => _legacy}/src/components/Calendar.vue (100%) rename ui/{ => _legacy}/src/components/CountDown.vue (100%) rename ui/{ => _legacy}/src/components/LoginModal.vue (100%) rename ui/{ => _legacy}/src/components/MultiModal.vue (100%) rename ui/{ => _legacy}/src/components/TouchButton.vue (100%) rename ui/{ => _legacy}/src/components/UserView.vue (100%) rename ui/{ => _legacy}/src/components/admin/AdminView.vue (100%) rename ui/{ => _legacy}/src/components/admin/CalendarAssistant.vue (100%) rename ui/{ => _legacy}/src/components/admin/ConfigView.vue (100%) rename ui/{ => _legacy}/src/components/admin/DoorMapEditor.vue (100%) rename ui/{ => _legacy}/src/components/bulma/Breadcrumbs.vue (100%) rename ui/{ => _legacy}/src/components/bulma/Button.vue (100%) rename ui/{ => _legacy}/src/components/bulma/Drawer.vue (100%) rename ui/{ => _legacy}/src/components/bulma/Secret.vue (100%) rename ui/{ => _legacy}/src/components/bulma/Toast.vue (100%) rename ui/{ => _legacy}/src/components/calendar/CalendarDoor.vue (100%) rename ui/{ => _legacy}/src/components/calendar/SVGRect.vue (100%) rename ui/{ => _legacy}/src/components/calendar/ThouCanvas.vue (100%) rename ui/{ => _legacy}/src/components/editor/DoorCanvas.vue (100%) rename ui/{ => _legacy}/src/components/editor/DoorChooser.vue (100%) rename ui/{ => _legacy}/src/components/editor/DoorPlacer.vue (100%) rename ui/{ => _legacy}/src/components/editor/PreviewDoor.vue (100%) rename ui/{ => _legacy}/src/d.ts/shims-vue.d.ts (100%) rename ui/{ => _legacy}/src/lib/api.ts (100%) rename ui/{ => _legacy}/src/lib/api_error.ts (100%) rename ui/{ => _legacy}/src/lib/fontawesome.ts (100%) rename ui/{ => _legacy}/src/lib/helpers.ts (100%) rename ui/{ => _legacy}/src/lib/model.ts (100%) rename ui/{ => _legacy}/src/lib/rects/door.ts (100%) rename ui/{ => _legacy}/src/lib/rects/rectangle.ts (100%) rename ui/{ => _legacy}/src/lib/rects/vector2d.ts (100%) rename ui/{ => _legacy}/src/lib/store.ts (100%) rename ui/{ => _legacy}/src/main.scss (100%) create mode 100644 ui/_legacy/src/main.ts rename ui/{ => _legacy}/tests/unit/rectangle.spec.ts (100%) rename ui/{ => _legacy}/tests/unit/vector2d.spec.ts (100%) create mode 100644 ui/_legacy/tsconfig.json delete mode 100644 ui/babel.config.json create mode 100644 ui/env.d.ts create mode 100644 ui/eslint.config.ts create mode 100644 ui/index.html create mode 100644 ui/src/__tests__/App.spec.ts create mode 100644 ui/src/stores/counter.ts create mode 100644 ui/tsconfig.app.json create mode 100644 ui/tsconfig.node.json create mode 100644 ui/tsconfig.vitest.json create mode 100644 ui/vite.config.ts create mode 100644 ui/vitest.config.ts delete mode 100644 ui/vue.config.js diff --git a/ui/.browserslistrc b/ui/.browserslistrc deleted file mode 100644 index dc3bc09..0000000 --- a/ui/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -> 1% -last 2 versions -not dead -not ie 11 diff --git a/ui/.devcontainer/devcontainer.json b/ui/.devcontainer/devcontainer.json index 2550d04..737d8c2 100644 --- a/ui/.devcontainer/devcontainer.json +++ b/ui/.devcontainer/devcontainer.json @@ -1,51 +1,54 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: // https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/javascript-node { - "name": "Advent22 UI", + "name": "Advent22 UI", - // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/javascript-node:4-24-trixie", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/javascript-node:4-24-trixie", - // Features to add to the dev container. More info: https://containers.dev/features. - "features": { - "ghcr.io/devcontainers/features/git-lfs:1": {}, - "ghcr.io/devcontainers-extra/features/zsh-plugins:0": { - "plugins": "git-flow npm nvm yarn" - }, - "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { - "packages": "git-flow" - }, - "ghcr.io/devcontainers-extra/features/vue-cli:2": {} + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/git-lfs:1": {}, + "ghcr.io/devcontainers-extra/features/zsh-plugins:0": { + "plugins": "git-flow npm nvm yarn" }, - - // Configure tool-specific properties. - "customizations": { - // Configure properties specific to VS Code. - "vscode": { - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.defaultProfile.linux": "zsh" - }, - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "mhutchie.git-graph", - "Syler.sass-indented", - "Vue.volar" - ] - } + "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { + "packages": "git-flow" }, + "ghcr.io/devcontainers-extra/features/vue-cli:2": {} + }, - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "yarn install", + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.defaultProfile.linux": "zsh" + }, + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode", + "mhutchie.git-graph", + "oxc.oxc-vscode", + "Syler.sass-indented", + "vitest.explorer", + "Vue.volar" + ] + } + }, - // Use 'postStartCommand' to run commands after the container is started. - "postStartCommand": "yarn dlx update-browserslist-db@latest && yarn install" + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "yarn install", - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], + // Use 'postStartCommand' to run commands after the container is started. + "postStartCommand": "yarn dlx update-browserslist-db@latest && yarn install" - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" } diff --git a/ui/.editorconfig b/ui/.editorconfig new file mode 100644 index 0000000..3b510aa --- /dev/null +++ b/ui/.editorconfig @@ -0,0 +1,8 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}] +charset = utf-8 +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf +max_line_length = 100 diff --git a/ui/.gitattributes b/ui/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/ui/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/ui/.gitignore b/ui/.gitignore index 8456c3e..79fa52f 100644 --- a/ui/.gitignore +++ b/ui/.gitignore @@ -1,4 +1,19 @@ +# from newly scaffolded vite project + .DS_Store +dist-ssr +coverage +*.local + +# Cypress +/cypress/videos/ +/cypress/screenshots/ + +# Vitest +__screenshots__/ + +# Vite +*.timestamp-*-*.mjs # https://raw.githubusercontent.com/github/gitignore/refs/heads/main/Node.gitignore diff --git a/ui/.oxlintrc.json b/ui/.oxlintrc.json new file mode 100644 index 0000000..86b5cc2 --- /dev/null +++ b/ui/.oxlintrc.json @@ -0,0 +1,10 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["eslint", "typescript", "unicorn", "oxc", "vue", "vitest"], + "env": { + "browser": true + }, + "categories": { + "correctness": "error" + } +} diff --git a/ui/.prettierrc.json b/ui/.prettierrc.json new file mode 100644 index 0000000..29a2402 --- /dev/null +++ b/ui/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "singleQuote": true, + "printWidth": 100 +} diff --git a/ui/.vscode/extensions.json b/ui/.vscode/extensions.json index 45d98df..4f20012 100644 --- a/ui/.vscode/extensions.json +++ b/ui/.vscode/extensions.json @@ -1,3 +1,12 @@ { - "recommendations": ["sdras.vue-vscode-snippets"] + "recommendations": [ + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode", + "mhutchie.git-graph", + "oxc.oxc-vscode", + "Syler.sass-indented", + "vitest.explorer", + "Vue.volar" + ] } diff --git a/ui/.vscode/settings.json b/ui/.vscode/settings.json index 57ee8c2..66682b9 100644 --- a/ui/.vscode/settings.json +++ b/ui/.vscode/settings.json @@ -8,6 +8,7 @@ }, "editor.codeActionsOnSave": { + "source.fixAll": "explicit", "source.organizeImports": "explicit" }, @@ -15,9 +16,16 @@ "editor.formatOnSave": true, "editor.tabSize": 2, + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "tsconfig.json": "tsconfig.*.json, env.d.ts, typed-router.d.ts", + "vite.config.*": "jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*", + "package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .oxfmt*, .prettier*, prettier*, .editorconfig" + }, + "sass.disableAutoIndent": true, "sass.format.convert": false, "sass.format.deleteWhitespace": true, - "prettier.trailingComma": "all", + "prettier.trailingComma": "all" } diff --git a/ui/README.md b/ui/README.md index 9ed3aab..8657852 100644 --- a/ui/README.md +++ b/ui/README.md @@ -1,29 +1,54 @@ # advent22_ui -## Project setup +This template should help get you started developing with Vue 3 in Vite. -``` -yarn install +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Recommended Browser Setup + +- Chromium-based browsers (Chrome, Edge, Brave, etc.): + - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) + - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters) +- Firefox: + - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/) + - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/) + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +yarn ``` -### Compiles and hot-reloads for development +### Compile and Hot-Reload for Development -``` -yarn serve +```sh +yarn dev ``` -### Compiles and minifies for production +### Type-Check, Compile and Minify for Production -``` +```sh yarn build ``` -### Lints and fixes files +### Run Unit Tests with [Vitest](https://vitest.dev/) +```sh +yarn test:unit ``` + +### Lint with [ESLint](https://eslint.org/) + +```sh yarn lint ``` - -### Customize configuration - -See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/ui/.eslintrc.js b/ui/_legacy/.eslintrc.js similarity index 100% rename from ui/.eslintrc.js rename to ui/_legacy/.eslintrc.js diff --git a/ui/_legacy/package.json b/ui/_legacy/package.json new file mode 100644 index 0000000..2230e23 --- /dev/null +++ b/ui/_legacy/package.json @@ -0,0 +1,47 @@ +{ + "name": "advent22_ui", + "version": "0.1.0", + "private": true, + "packageManager": "yarn@4.12.0", + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test:unit": "vue-cli-service test:unit", + "test:unit-watch": "vue-cli-service test:unit --watch", + "lint": "vue-cli-service lint", + "ui": "vue ui --host 0.0.0.0 --headless" + }, + "devDependencies": { + "@fortawesome/fontawesome-svg-core": "^7.2.0", + "@fortawesome/free-solid-svg-icons": "^7.2.0", + "@fortawesome/vue-fontawesome": "^3.1.3", + "@types/chai": "^5.2.3", + "@types/luxon": "^3.7.1", + "@types/mocha": "^10.0.10", + "@typescript-eslint/eslint-plugin": "^8.55.0", + "@typescript-eslint/parser": "^8.55.0", + "@vue/cli-plugin-babel": "^5.0.9", + "@vue/cli-plugin-eslint": "^5.0.9", + "@vue/cli-plugin-typescript": "^5.0.9", + "@vue/cli-plugin-unit-mocha": "^5.0.9", + "@vue/cli-service": "^5.0.9", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.8.1", + "animate.css": "^4.1.1", + "axios": "^1.13.5", + "bulma": "^1.0.4", + "bulma-toast": "2.4.3", + "chai": "^6.2.2", + "core-js": "^3.48.0", + "eslint": "^8.57.1", + "eslint-plugin-vue": "^9.33.0", + "luxon": "^3.7.2", + "pinia": "^3.0.4", + "sass": "~1.94.3", + "sass-loader": "^16.0.0", + "typescript": "^5.9.3", + "vue": "^3.5.25", + "vue-cli-plugin-webpack-bundle-analyzer": "^4.0.0" + } +} diff --git a/ui/_legacy/public/favicon.ico b/ui/_legacy/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c7ab788539357e0502d67114d87c0133af4b858f GIT binary patch literal 38672 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
ZRz#r&mY%6KdT=D_Xkx##;6ZZQo1YF z4!Q5<=EguzPgE$Y_qc*vUSHpNyoT7dmJZn3eHWJ~?(WLc$n*?uvj)oZGKIxW&0~Vg zqF}USZ4JvCl%#<1!>i08);PkBf8G3sh5QUQI|y&>is! z+4^)vBH(ZCGyX`Nh!>kjC%Bs_D6|1vAk^v>9@=h!O=~VWrq=Xn06J@AO zSe?ZmFV|6}KXmyy>n?*q0a>|Q@A=7d$=#Ae_H;4L0vn;FQVfTBB+A)ukGixRKj>%R zCO8n0kZ?IuGH5ss756$PFYgnr{k?aH`{sQ@YEZl@D|?GVr=Vhe8?%su*+)z! z_vA1oB_$ILKC3Ba<15~Oe^xu4uZ-I15b-W<`-dxSAfI`QWu0MLdWiJi4}kU>mMdj? zo91p4?%S{MF$;ipOU|@1ML+mW2dBZh!fgxKUeYM~1|4B+c=$6kmU7(Zg*jO6?;@vdwzJ=nxr_Z4SlWj%!BH#xgPMfJYCykAxRW#I2Z&Ufz9!TTPzwvka$QOROg zE4y>}Sy*0iKd&TsS0L@XHd?IM>>%gXw1o$#<{TiKHwQjL1)TizSz1`wTrF#@i6oQb zBgJlvWmsbJsiK0Pkj2Q{{2K_7>KQ?J>yLphX;=)tAWwIBCc`ZAZSGP= z{`W=C?;HE3``l%Z)@>9IB`1h8sk8JpEZhBj2nt!Jl4Da*aXbFmcc?T$Ry&nG5aoSjkZ8I7q3D*fe4O~ku#QX=%UX?M<@ z*5E_^An2q(jEZ0CY^tXBPCmYJGkSW0m>L_IaNW1+knL1fR`$Udd`fxx)T-IJRAYQR zdkp##(3-rMb7^A1ALNDv?4Yg^j-fcS=X&ae45P^bWB_;wP!@dz`!8sHq~?i;p6B3Yi|fQ zd;4W3fC(*;t(!K9oDYwOvd51}a%gdN*!_QjRrvq)Ol08CGXLQuMGhWQ2ttl0uCtoDjFI?-^FO@$+2lRDCp=K zg#`o#(z3I)x+_pOsnN-~cHmoP&P(ae^hX1S@}4pVi0|E&2Lbx(>OFyoSrn-eyi1$>V04>Kwvg9S&ktx$ zDh(Rl6|{CHE6rwa*8v2sO*M;mfBi~JC1cZG&fV=H6k-1@(<(5q;YynmuTGnMKVAnP z5fTGSt8Xtelm1iPyOw?1YdI`vPZ)ZXa+}c6NhsSUvAwI?QC;waz4dXwi(y7-!f%G2 z`{f;5fUqHLardrz11lrZJh`W1yar~rM;BIIy!8zDENHNA_EIo#S_ z>V4;%&bN3U@6zqB;Hj()yd}YM2MDM7=>>Kg-aw7Zw`}QF+O`8~DmhivxI0H@=I^be z=-Idi$yhg@oIYh$zDh2r@hMCCW11cRtP6rlQ7KUV#1`!32cp6lSjJ%$wy$Sle zfWBvMpNuNITi*^}umY4tn1Zk8MPSIIcP=1Ld2fDjD{48}Gd05x2mk7U zAB>+LS+*HC4)ahuOCuJcB}$F?`O$sSXA;vv8-Qi1! zZeve68SIU`3xL2H@*Mz49v=K%?6$oWFBM=fAmB92U43ZW94Hh;Do7N8q>$!oWouRh zB?Z4SPrBE$Tv(j)f47)q5G??Nhuh2Vj&yOn&A_I~ zP|_FxPS;B(;+jMh60yTv7la4m@*8ZK-0pYLh<^WM-DD(SyGaAt(RBa~;nPm$To1Mo>^v66G?^91DuD#MVcO z8|u8RERkXP4!c#+DChBLm+^9LwUe8y-@|F|8>jLS$A(hzf z5kSHY4*b2>M#&h&eHEOYxqsHWCBh__{jSWU2$h9>O^+n<$V~j^O)VxN$3ZT+82U~R zA|9AjU;6rLVVFpZg&ZHWkB%BW&YcxaxVE!9V$qqe@q*S{%wtX=_w8GoFG(!W$&}5_ z&EGI>jJ{_LIo?tRYQ%;0g^Y;)J5){1>(|%-t-#1o{Q~kbbh3iNLRmYzJTaB;J`7OR z^6))gzj;GOK@kB4MUH8$>#rYqm)bizw!W|?w($Y$FfcYwzjePqC$ZUl<19Bf_v%;b zXcDFt3s+R`ca=ugE)uDOuxKl7{0~>m{lh^Zd&^&H*PY5~N-bAFGs#B;fsp6VuNvs< zKW*~c6u5K8&~O_T3&a-$y}Z1h$y50&Dk*u6mRn8KdA!NEsN(rChV0Oh(S5x}0}L{P z!qg{91QRX6;vh7v{3AFwrFgon&rVNh7#T~4z3aM7;QM2_FZHB*AGO@n^Tc>{nDO7y z#2karQs=#*tC`M!J&6UgusPm~4KYT)*Ntn_1v^prCwHVU`uh@KrXwD|Pt z@f9p2q?HNv3}+za6szELp&72$^ZZz_6m0%3bosC3rEL!CX%*(}x{inyxYdU`@pNO$ ziCPQ@5`z;|!JV6zXSFr=2|TfnH(QS%!iz_182E3I^JiOb&U|1l++&4zZw}m*0~trm z=Xb6|i#Gi=B%|Aj2f;UV6lpfUseOe4-{GS5RXpzQ_R2n~$Ha8PmY^+-g4{vWq3uX> zV?iZ>MgZ@8$)xd`^}jQ`c`o4q7yLC|TgG3aE!eZDQTL+cMMgd+)*XL|ml;W%J}l|+ ziHV&xF5~V8n^whl>vaq5WTI8HlUVGP4>G)E|eGkLTwnG`|D%W?P*8J&kLGiM9deppkzpyGNNR*$P%>1=oTwElRDeA6dK}7!~PD8!E(@C47#+3f3 z?uG-Tq@+Z`Oz;>wKg83CXxsblcHB+1lf@5@izBqPx1X!pE&}}q3IENUzvDP(zF_*oXQNg(4pcnB zpk4zE5TTJ$x_TD|d6(D~So34V5012-<-AXN9w``MeDN~9djO$19wr^UVk(j(_4^s0 zuUI_LslK!ZL7wUdf4kWAjqc*hnvLjBU?I~1%M6%Zo48kmvPEYwl<_T7@0`hC6_oo! zle@5*&>nHBYN@>g8nxkjgoY`JT?*uV)GFIK+1mnf=}qUnPB>+kAab3E1vglV$!~4+ zgU{-4;YK7!SWxsQs)Y|KckT>!{-GBB6+u=w3^;WjI>>6_Ul2i6rqcVNwST;2^VuDG z!S53ge{RIzB9gzw8$o}xw{Bx+cO9^qnHH>*O-q!RSl~(XWu-82Wg7yuRBnQm`|9LX zwq4{f=l@JKzqmxrJp&#bPV5W}B2lY$+^Sgvke)Y3}$IH*j z8Oy5lWahQvWB;u=MUzy;*6BVT)0%?jP`-Q2%4Z-RLC4(2AyLkw#z(&Ez12Kl-F`YiJO|)%^rG>hpufk+t0il$}o`88bs zOw`BcccGt6wT8A@hs?BvpVzx}Q$5|)uG~x&tWD5qoOW`q^J(yc?82u}+Vue^olA6Y zy>_|=Ef$`^JQN7y7`Kg6FTbGjBvqvtgP$p$+gI*3Ew#Jmx@1^vWQB8eWRU(tAim18 ztOdew6i@547Uo<9CJ1vHDJ@ZUSL^Vg|LT@Ne;Wgl1y(fG+1tiYkM!(8-NFiTe&axA zxZ=;$V(LL61(o8N^x3gj#8XG&IxjL1n?J%z`3uss?r6T9anIMUMc90$)dHWhX}}e# z2S*v?uAeG;&xp@~4f_%1>p55eXeUvE^r#BSQ?y(f(jLDEKzmd~ znz9l!-Rk&+1OxW^RJ#wWyRVCj*L=YoIRtj_7$%1CFK{DYmwMOKRjb;cO@106`*UJ~ zi0BxK22-`U%*;}1)e6hq$WFV$WPNyih9$(164Vg>O#A=Pal+v5VgJ!_I;5<+5rp&G ze|4O7GY9WG`ZcHDnx7G--zZFC4#!Q$SgYQDWv7jYrFh}hd$Is#z5bB<14RD<3)lNa zOP73Dd5^{l`lW2$cPkyVKPutMdXME0ha&{NPq5^amqtHD7tDcBs?+6Xg~3~$(_q9TJYe!l~W*NO9!`c~^?(`S`z5VSWT zi#MXJuTS2{5Y~cVuy$~hI3j=Ds~sQ5yKtd8_VHti$p)WuAT1{+XIVSmYlo@169F@FU|p8o3yjAX<_NAu3W+9%Ny9# z;XMep5JMpWOHR=ZK@BhDDzPPf*muyY9Hp&4;vet4mHuSrHyH)I<-@G|{nTZu)uUps zMxTU>j=R{3x0v2fStk4jM`k=-z`oq3^YYqsD-&2bRG=;=6I;@S^&%~B5Z9@@EOBN& z5TmF}=&*&d{*#k}aLk2G-Y_rVjCac|v0DHA=1NUTNy>eZtE9`0HXB*-Z9MJ75G2PjN-jNJn6*67Px(gZU;86dEyf-~(5f^^}Y{3qM`dHcvp0dys7^I$TzIlW#Lndbl-mWj= zh0q_ZXoY?Sl9CNYLW?FrS0MB+gE z_y(Oc=swwQuObm=hToqFG~z8v&&|s#OfZz0G!TKMWnhqM|8Hjn*PX2G;R`cbe58mJ z`_`>nu}BRJH%}NFw(*`L#gS=AtXnH@v-3$GYQ9Z|)PW$uAo->huFL%Ac<=hVxaC5? zl)CzfU5lPQ#Fn{g{bw2RgrLYLfS>WX;HxKdSQ-u-c0?1iB48qIuZ>lrUMLYX(W=nl zpkb$mwwi{<^)Lw}IliTVlTzW`m$R&n*_jHvZk6r=x30_Vu$Z)dxYkl25f2|efBJOR zr#a7R1!o_qEDaTvBJvnb=)^P?qm9LU`}P=tr922v=V3V#w3b>zV5J}NR_lX9Pi*iz zSrOpqoh^~~Jyhn&(S0!Cs=(SIYx@jJTUGVmVmvMt0?fY=YgF8G0eIk21KLDrjylS= zPMI+v5*f|cpu?US(30*QE>5GWxO{kc_y+`73YmuQkM3np;g=Jz%y^3>V`T=yr@+!N zxw~M>Le&K86U>SrbQpj@|H*-$<(dTN<{DOJLR{Q$Cyqxo!zgDPOA0w=e*OySur>Sa z;MC$`4@2-bOVi#n=TwWLUaaVku}8(GkSyV1PQ*wu!?&K04M00$k{{p&9$W@HT)I}FI0 z8)eu@qU7FH8kvvmPWzNo!TVKLU@Zl%xQ>?)5zaIOULG8BzHiKJ4L%0_7*-)vH$! z@4Rljs-u8`l&iX`>NN!K;zcjuGUk1Fv`+$8K=CsHflXgOYxIZet80--suoiar+AyZ zgZuD$@0AM8^JWmRoaKkv5kB~`3Sa|TxipqLU`P~B8kS1s)JrNZgI@@tTm53{H#`c# zMqLi10Hu$ZzSYc9#e4q4KI-o9?)rEdq`k1a8rUq*zaZ4Hw>pvt3P_XxmUSBsK}q?I zC{X`VVJ^k5(3Pt=o>SS=)lP=y4c=W01q^m(r(^5Bf5s{w<(@s|Nq-Gco;U3=@OjVX zeLTWkUH_FI*ZrV>5?ES!t>O@(J-T^ny|J{bJm!_W>~E5?q=mY*o(Rv+&4B}|`6GyM z({R7Im|N=fU>@t{g)b(-mZ0i0vM8V-y-n_9fY-}U_2v3ByI#Kft*<2NbIDWPtzb1` zcG&7r#rY0BU0t(Lm#*|U1q1|0cr85{2@WUBE}YSeP}2B@6wQ9TEd@jtQpG0BE-w$- ze;Ny?v%a%cwM1`qG81U!pHN2uFt8axi2wCP4?B1WtmkI}av!$~kSjxV#{)Dsn;o|3{ z3C0>%%H7{X-I;jUSp>O)yzpGuD@LW5K7L1628+4DZ{rWL*^wdSgdMVzT;1IYG>7+Y zT~coC)-n(UfqkqQWo+CF7swDG)O`?cs5P3H-IY-d2R`*1sUXTQ+cyuVKhZkBQQGFD>2O%hQ=TwPnd6nEFE6}OY^Os zGz{MKCoD-;W~ZES?J!L+#U-^u{8y=^!~RL>%HdwT*iC-{Yx-hE2qd6K;!#w7f>owQ zOlkuvwZg&ekp$Oxc{N9TBxjV7_$FyOVP_fGlJPxH?TX$FgzvhMr)R~;iQ&WXbtTY( z1qSO@UU3k5nrS;hNM#K@JDNUAn3=I8y2_W6AD-&aE%wvGfA)f&^<6X}ROlklhtO3pRmCShX7(U|fW)hSG_BW+AB3Lmhk_~gcTUF1 zQ7BzNIb>nuwDb@!{_FnWMW-p|)xU0o1v*RHyOPS7(1Q*pb){G%I`g~;JUu{)Y3dn-TCmW$!6{lfZTpbc1Bb(#ajybc*e`!5u z*!v8aLdaHWfP`RfK5{|(DUZn!f}AxeFSWt z^y0-OMIG3a)jI@xGGK3rd;Q&*Cr=b0mUA9DgyTp_q5Rm{*|Fk%E=$6Bgy-O2y3|mhjH*s>Xn2<=9T`RG^wMY~It<*H?ypyJeN+O;=^`Wij95UT1>Su%`i1&;PLSV1I!f z1xKAh1e;-^3ko<6F4u8=NJFEDmX=_b(D6Cd<%qNt-pnP7w&-E&Ffu>goI!plbLw&{|rZ zlKT@8Ajyt8*C>tC7Gvyz9$b|UIo7|0AnBe{l^)s{PgNMQ!N3QmLp7 zlkOW}vukQzh79#Lu*ge|E0^M2s>hs(E?u$#1>(({H|J780-Z<#iR2C`?BbO9VH%zq zfERMQolVh}j2Ev#X7fy_;lpkhtX?c_fd)F(goVHi)XUJ*0PppmR9?&9K0(lfl#&v+ zc09hWPPEvh`smw2(pPc&i$86sbE?b7M5R=jUr-xf1HPh z{*7o4mpcrw>2W?&sL{+qNWlYz{%iBA|5Y6v*107L1q*uIbDym@m9aq35E+qqNyY>E z%4Ju&Y%MCBl%9b+M%ild@k&oU4+2002bNWLX zOV=ivgG8c8?UAbYsG{hbI4D31hOpr&v+0|q7Wx-JopZGXPU!JMvR03iLF)s|aj#p* z{9@dY(VSXzz-mct)6|G=`QG>Qcmo`f*uU7JEn9dI%J}UGjHA3XDc1BHZ~^Y!5O+!+ z79gkP7e?cqyW&617cigp%RL&eejFdacrKP;cv{u$Jw7c3?@ul(9{fY4+WwS2o+Uv!>{Y6p zbLLr$l$!P0QdK0DzI}-@hM)kS+p{~~aYfejW($#3w8((+|q8pFTbMA$D?D@I5 z&p%u-U^_n@+5U3`P^w2+mmz@;?dR~t^l>!spKD`crd1U^7cNl?2L8qnm0Nzm-e!Qs z%kLwBwFw(H_;HLgtlv%kZR)ffOm9(>MapTUc{2qa$Q^S1oE%j&zjb%dgPl4CzI|LCuS2-r&pQ37zs;?*nB3!6uXw{*iD+e6tKUH<^Cy->YidS&8t`Y zRjFRl-1{FcGBw@kc$UcsGfx9^yxBoQ5C)m4Wx&ooej+}NPxkfup5KZZFEHF3Lli6%r@~hHhI-~vXFlCY*fU5MvXgYy^dAj3(=|IN#d%o3k ztnzJrAj=D_44RFS5O@cI87eLum0Qfj*fsCoXIpUPdUVWhS;F2aXbjK!?FfGi3~WJG zf(4dGk;@^^h5Ac@JHK@97#Lv7yxHSg_&fw}dQJi@p~)LH`tm@O!~RdYpkGk1f^@in zx*&%Z&aS^i9Rx|Y`a(}()Mv^-bif08$LdcLS4|b`4G=34T04&vA|`0+;NOvAtnOwp2gYr7s=y$Whd*vaBHr7BTm#RNMDNj{;A?(t_&=k#F zTjFEZ3Dy?u1C;sUjd4J8+V>9!R=F||Xmc{~WwdkUy-$kt70Wt+y+Y?7@`OR08iYZi zEKQv2H_!=#;(zKoGC%)b<*HwK<3J0xXbfbG0~9%{2Mf{`X{t(g{1P*dt_UvkZ>pAO z2%hh?!JfGpvULe|ZYC2w8I^dq+o$qv;h9aFNFRa-$QwIxmJ{>f1RHPaLgdMk{_jU> z>Sl}{{Er3B{ZW9wO8F1u0i)`Phb%D{5@EBJQG2p-nTeR#I|Ka$T;6eS$s7!AV@_erc7Ch5N^YWWUqplU zxGf`NtA%r`ouORoj{Y>h4?PR{)!?ec23ruVfmE_lRPErSV$Ti|&)Qx}2DyXF9hQuZ zM;s+P(190!lHkmV^(QVq-cCp7={Ey&f-i?VfViI|BUT|`wNWFi1ljdUophH~Lb_ffvVIsUu$t~3Ma_%R7VL68tO)VR4`pCJN zsY8+et(!ygG3KY6ln>DR!f0@0clLe}C;&D?B+;e8{x(Kn%QKP78eh+Ew=4LWR0H9D zKbqcGa#z2B1HUn9lz2#yXr6&@KZI?`~pn5!~A6zAMa&;AQrowlc!+sV=c*-MV~0`I(NxO4O|lsh#b1546~lV5FI~E>w+PCwx~U+g zw6-ayxrMXX?#Z%8U6MrKzIp%tl&h=co}~%V;()84sfWrhp}4D26(hzE=jeU3%#Ctq zYhDc*sr@Rw)OUbkqPHynn?i8z(*7?nfB(XXr~Ja7kLCNX7`wp9ya$G#d;b}EV@r`n zyccg=-K;;=Z#gBRWnrJH5>n#A@>Xefx@=;%kT~^v^4Y7Ba(Xo!VTd4*=<#YgYA^=v zUR&1nh*^52dZv$QHu`EW(Bok#E0x}?XxuH-um+@wNvP?YufDC@e>{>A{>!GPPfOt^ z_DE;w zSIT;K3u#ha-lZD}*QF;6{vNv zpR#unwszY6H}agBMf6s#ZG4V&yZ*+!e0-x9m{)wkf5V>-1>oeIpZIVY-?Hz?$>ye4rrA20g~Mxmr!|HB5vW|d_|48 z&GWD=yInb0SMwTpw53AwtqM;kh&oYwb#umY@7-&k_E%nhEbmQU;yt>bG`LC}B2@<% ztUq~H;8!UoAkw|KSvW{73pfP3AdCS?cKnKGvz(Yg&Dln-=l$=%ql0qzN0p01eEkX~csk*n=sO--c8a2jJYzI#`)#^cS16FqSf zvdS|AzipMTTd5JH=N$T3gdW@niHIh&#rFAg{*(Xof-xXh)-MD3aXntsJDOj11`lmz z%6{$5gF6?mVgI>c8;!T6HNpB)3jb670B1ta@k`SrUH4hF^jV&;!5Y+;*|g1auAR;X zO*CbZ25T}1FTn8ap7c8BWK#%ci80Beh~P0=6YZ9ojTKPWhglk$-QT{kQ|H>sQ_u71 zVDDt?hSwJoMI-FLKYx6GXPB_6^1#$x2C}?&dVaBb!wxd`W(34>gMRp;~i#5$3~ z8-BkSxapUV2m@4*o?`nwz0>{>6h_o6brwU7ATk{EQJ=3T}Z=>(_Y+2_+rceH|1^~G)L z_q*NNfu^+Z_Ar0&Jm=Sh4Ft|IlLV6yd5?{&pn$i5^O^Z`=);w3_CaRERVdQL2ubUg zft98oeO|C8rp{u>d2wAvhe_YSAngKm@Zyv#%@E)v6UV22BBCu9Wu&D?pb0}4>G*@y zdduD)8?SHG>#I2grURO2A-Fc@U%^JFn%pn@Jr`c zeX>ga*#$>7B}pdjN0C{ z=G|ev?^{l+*6Gv`TJhON7Wd~s1lj-|UAP?|ntCN}b|61|AG3cfL;}1yU_FqV;ag&blRq((*5>PS1&C{-B^2=lN+3mfN?t1gt z^#yMs*A41C@PO=&4V8{xvx!=3-SwWM)-9(v)T;IO#JY_{y6LI2M325zfwV%X-#^sP zD_wzWwY2OhjN0@|4;L8S|GN`7YviLAfE{9_e#65R?-O`#dlzQMp42}U{j_{At<7Jd72 zMN;FSb@vqxK&%zC&HpeQnm1H)c@o*XqN55BHqcu2r)+|N}z12gf>)cci2XO(51G)`3jC!wnyejRy9 zK*lepbs;9yV*&6}>&BS5^C1gW{hk%szcOGaZBb^K5ihuQq8IJk?Zm_p3HQJ;_#EI* z`J0%zaz)$3D}0XWcG`x7JbbP zCZ<_c^c!Ce&1prl`dpjP?9^qkA9!sj>j!^7#0YkR>Zu(#hlbNB^eMN;%x$k;Xps1z7xFuzdlp{Fdis zBSi<8e)a601y0xNM0fWXo!p?v?Ah+cmygXH?&VbcH@$-ptN>A8v$pyZ&2-U>gcDun zhGMAb-AR4Tv19y{K+dgO2c}%O7h^&#d5wvPXC#vz*VeeCIuu1H>cmwoa6m+1+%g~`rnh-Tw|ICv(gZLw|@it^m} zTdbed<081D1>#q(+6~0ID*tI-w-)~S9D%vHz1nx2awJoByB%ht-X>l~-MB#>m>8U; zd^X)~9hy7R^_~iL5p9Gbh-vS z3_}9MIDjctL?3t#zRbW&-<`5|*VU|}2KN-Ne?KiCS8&2rVYVqC(lc;(!Vi1_Org{N zzj~_rP*=9tzAP@SAt~oj?U@uTR$o{rsZ6bB*dFcAR&|0V)q#^Z!_bQYkQ7g}xrv z#!(Gx^`SJ$o@AjXJ8wekj+K3q{2Md_$_FhZ5ajp^8Y>*A#(~uP0(8F$XL?SS_Us1{ z=H`4->tAgPpFO)LH$z-pPO8q;)H_y|x6>+QsoX>b#gMLDmnk0fd=B7;-ui|H()oiO zLW5X^Pl4f0aGAuI$<8J82M#4Gl>&mh&bUew({@Uu1^`~9Lg_^ zzw^Em+Z3d7dEw6T%klJuOYbztg9gr0b+XMQxmm*h&wpHV`Xcg_;LabR$$EaL<^W~4 z%@OWv?PjzNYk%l|(NTkmt+efo)U?S7O4ep-5urz@(M&jGRZGYK_dsVsygagB15 zB1z-L4s|8{qqUsw?HxonV-a!3Qs7QOh-RH+MVtjqGbOHYNtv4j& z;s&qtDYKDY8|cU>%F4=rzV~o}F4YEz{o%2b!Lw(-J{2HV72hb%Pz=8$ckVQRiUKX< z<(hv>>p&hyT$7~rV$kNKejdPrhX~2a7M2}&LlL97O7U8+T~_9tD~C6r zd51>M)UTRpEZIKVC{f}BEL{QfJ*Pg@goOM-Rjjc0anH7pBE5ZRu$^68L_iPYade(P zy^gwv!cXtS;d#{D^i;#kOUcu}nW#d<2&MYoawcS1_0P_Y42>W(gq_`Y>T}y94a;79 zCRj^JI}%C+v{J@{ZpoAt_F64DX*TX_cI~XS+yt{ja3|Ap3gGUj*w}5TgL-)uoTm)3 z&Eg;l^adfM0MXXnqxJ+hVM@ak8oWl&(jXDQtWB4q=v!#Y&&#_X$*6m=%ddP^PJ2*Y zoer!s4yk5ASWC5Ra?+yQ*M@uvxh>i(zH06c4nnFJiYhNH6t%0Jtborm4pWB$v=>2* zLo`(O6Wx!abcXqriK*Iv7B{ur$Vf(D{p!%YD+vtvTs@p8hIk`qRAMqZxr^gwe(#q< zp-VIkQ4@?q>J#gKBP`blCtO}(;YQmd*Y9R$haxpHyFo5`Y3X9Z&6|24+3&eCr4lPF zE@k05!`wTG=R|Yeq%Uv_aS)4o*=9_Ink7bCwu#?<`x z9N&pw_vGxtzZhz;4Q-of9XpE*8Saf6nG0!McHuN>D}|&`P$$|+9?#MlR76!o))sBC ziK|pc2F<$aBT71*+4YX{%Ig1G~?Z`~4qYM5>gMVCLc zqxc5PHqw+<%C9UryJ*L$>kM)0lDxrDUPIw$>CaRh1uFMhfx!0LU@JC&?XV4=<~ul(?_8VB3k;Z96=?qkS3Y{bdM z74_i3w&%f|b##8&-NL#Aw@zmYP$2)G4X1YO&z*fax@Qif3Tt*l>2{c4eVsPkr2Gwe z<$L0q>NDamT|taGblN^uJ)TNSNoyTV;7qS-J_udTiZ5eQlGaTGUMc)%@99~zQT*{v2KKGj5rT38Was3b7>XC0cF6F(yA!Y3wYOU&scC5R zbcjaGvi7Gb>{T574bsNY* zBYab55tJrkD2C2m!{v&F`HIP5Yin1tMM~V3T`o+rkNQ#j zv-whdcTyP(idan}q*GMR(h=m+HnOwJXb-A$fpKBi8-ftR#Gw=Ie!io#^P6Xh8eLUc zit<((^Ex`h1~Ay`vx8+ff%@^CA<$QaZ|d3+-{S0ydHXxUDzvxdyGLIB&5?3VoM=X7 z*TY#pZRNiYvav^E5yr(VTW>{e!SvuC)EK%reAk*PopNjj9|E{f{M%8TiZVOWUXaLI3nqtOi9b~l zN2>%R0M1=*G86S#JZE3fNs^bgg^cJ*7x%obHwKk7O&&0BfQ6#a8k z(IhlXYwgr^Lw)XYplHxCc)iS7LC84p{xXWh`TU0H8A3L%i$ zMER4W-ETv%9zFa_>~|z5;;{QNJpAGQhQH8+7p~CVXd}tq0?OCEveY>)>3Wg=ASSr&l-H_?b6a*RcF3$ zEfYcil&J6zEAd-Z$>|%ASkFj4_VHf$VfSTZB&TTPFu}g=-sP}i8mqrQAZK0IFX7Lw z{&yV9(d6aJ+}v=F!IyT$8?xR$?#tP=orgWNFFf3vE|uQ$?+*~|ubY|-gyi`nalGh= z#1q5-tbB>Z(2Z;2#{q5-G`I#2%^Sx>$=>x_HF)CV<0p&HQc`5ocYi)9WN|2v)Ep+K zs)VghopB4)%b2LB$EJy}8K+bpduOUEahc0m{0GwzZ>`v*jEoF-6)QiD|F8FWsNPQ! zypfJ5E2?dNbw(FbEOj{E`1|%aXj%wNB7sP!>&5F@wttlfJ$v^?6YjYCeJBX+;(PBP zi-h~X?xM}c>K9z(QpBRk)&6wXIVSwb*x;(N>hki3%>AJ)dT`R52P**?7G+g;juO_g znHgmgl>cbE*=jpqzoy;g(n^h97ZYE*@q2&BojZ5ZlU5;I9)gOF$XZN(C5sCrpyiCX zs8Fp*weu?Ra?I43lg1&q^J$%*q!?$E%OW}px9a|F^78Qk7cLw+CA;-RY&jvrb@)W( zJwbw*;6(5B`r^6umo#tx4C0=dnGsV}z1?+5Wfx0$7%43IZb|Ws^to8lC|!GysJf~r zB4b@bAUo6QS?=$+J9ml}Nw_oBGU9L^q=WPb{6sV~TjjB$g=)y_)*-fAX=*F?>!4x2eUkQG0HRTR=eeX{et{_wzLkO-&P)9YffnGNF^7Za~cfAPP&SLLT4p>vHTPI%tGIQ;1_YnppBR?EWtxrpF}DLMrCp=-KJ3*RI{2 zcB3a>AiT9z1MWn3=hwF`57mruBDVW|i|gp>at{l+A-HGYp*vD+&c@H?$3jFIS~O-I z3U~kGsf=Xiy;@e3B}xhd0Z3PNY2m>P`{EFAYe{KoS^{#xH$#j2b2&+G|F#8WDoX?- z@RLJFWqa)1Ofvosl7Yh^8O%dQlm_`!CMxs(Y`&WbuLM97r`kuNCEcR2hM2|lm8H^H z6b@;PJRc;pzIr!X(6gs?7J)i=9idpSh7`dw zjUT&#C|X9a4e7}T7SljC@qn4lSejxa7`$w>x)>aosq+Zc3s~qsueu}k?tKXQu$Bla zdiWfLZFUG$+ia7x!;a;)apQp=?g)G_gK7Sbt+l6)CAH;J0$7m0jmDA%sR3U~Tv^gE z{j{Chvu96E(IPzX0r8}x%h1qpDA$99wEL8}#7NXkgw&pJ+^~bScAPlY;3z);kp^3I z?u7S`KGn8UPJJQF!eo8CkT@Q_^QATtn9q)yryQahiqTLR2^mi7^yL6LZ7zpn8W*oE zmRt@&cu()cXDrBgO+QFXZp94_k6(RKSH?TC?5bGLzmIe5G#v*^CE_{F7RDyGGu4~JXP_WQu1_w?H&ub%%AO4I7-nEb- zvoHyK_*bwao%vHXc7;Xx7Ayk;KZn1U_!h8JXOfbd!YO}u5>Tt9bqH_2kC%M+_PI=X zCkCi!9RHNjGI&)579<1D3o(8WuVwY%Wt!^6v9!rpJAy9d=nZj(p*@7$g<0qP z)hd-;9`^qrK>F}?3gYqDtSq4&`#wfnNR6&;)0GazB0g z6meIlYQx0**md-w352o%(rMm%3cS2_hK@K07iPEoK62>L ziH;o-7&#C_qp045ppd)msE26-8VWNN=gD<=UL{4zS4t6b%A;eu*xr_)-A&srhUUrN2fpuDP_WfxGpi2=|{ zLbO3eM_0G=%&!Hr4~E7;^c=LmXpQ;)VJ_i=%WPp^aR!PU0~`NU$WB~E`VK#>^!=7F z_8U5qH#U`|=?I^(&gKG9DtHfYYI>59eCyG(FLM8>&=JMi&m{JqoNn9l3L$%mpq?gH z=QyJDoS`!j6BiG^zrh?ZS2JwFihj<xQu>AU}5>Ooo# zdO5ed*Q4}uV(;IVC|o3hBA-83U!2S@ZU+2s41$`37`o;_xk6HFto%AhOES=!{&qRuOMuN8_vp)t9sY zg<^_hPM+K*E6WPSo*vwxEnOEcT&R2ho*idAnY{#iwc^^gz z8MWI0@cswrL=p59zb$V&5to{J4PFA9)j3rny|@B};8A|QYUwc;`JCb4N`G(YbFMW* zJvm+d{EgiRApa`6eY-GD#nF}HkUH7g-0Z2_qp6`$ptSR2U!U>2JDLZ8?$m$#U5O?F zH@ZFX8rA{NVTy6A1^u8Q%!HNRqb!w(M#2oS6<43_UVOL(BFQIH>K)d(N+;>O=xWs= zm}`K-#rRpP973S1OI>2dx=amMR#)YH#*C|%Ci89g?ndQ6R$4Toy#V{n_^-ixL7II+ zR_Br%JAII>{N38iY6MTA`R!X>H@EG`1Br$zAGxaQAYl0P-S}%XhSib02X|gU?+}5S zk%b#ZNLA10W*xv)n67<&v%g$s*D{N|u1*YTIu)H$47|o*U;D>!cVm0uQRRZ;FL>eO zYC>sM-8smED1cqn3j>#URJ?>pJ44}Geo;{)UgKlT2?L{GGqLl-lMb$;241Ks*4i5M z=Y!SdY9&R*?8lEc;65VGC^{7JhsDJPNbVp3dl>T{J(9wxD-4nV#&d~&bz$MUi7TSO zO#+6)HxK>z!3LQ1YJ($$#{!UC7?5EFYSgDhl;k*9c#65Qvd%ES?DjD3ZZO^1K3S*8Blor;kJ`sh|0>wB+uf*#**nn$Q0V2c3}6u!9Rni5bPBiE=-=E zrxNPn9uFXKnm>M>{e+&<34AzPA{vKed|Fz*;?Z}TfgYwHut;LP(&pAXntbqQ*1>7R z%0@fttvdETGZv-I$3MgemW$e(+g+M2dGRs{$L-Grkd*piAFz$24=@$zz}5vv8peTl zZ`rRG7w@dDu5O3w0&f-=y1A1aj80jKk?<}snmV~j-rE0naZy-NaU=1PR_?!c#m0A( zzcjU1n7In>t`NTvh2{WkmZZI`3T;mwvcYcJhdRfAhQc>o5CgH-D5Ej^zi$Ny6nBl7 z20|}43AmwXPVLn{G7JLMBSqt9VruFmEA7h|21d%dj_abM9UdEtfbQ}x3e*HN1X#a^ zH0CCj^)%s(-)?0;K-N+9^FMaGe=`!}j0gIic)lGLMy~Vc z&(|djQ{u3?@0?C@yo%7cy51nb8!jz@h*S34!YcQLaUf;$rh`O3Why+$Wn^;l8o3HE z^ksi6)oW}xErn1&s)-Vf^$x==U23BbDglarIJ zJN8IRANX~mX6c#FI9sHmfqXc!2?u)pa8!yRI}N09>am*O3}ku70}?m=>UsLKBjcsT z);MpzT{Ho_4u`ppy3>@%B4^+-)=v)Rbn9}D+n?9kQsil|eaa+_jLw~VoGaq}3YQej z{2g(jzvvf$x{bL#6rKOq@p0shZzg@?SgDA^6RL(F0f*6peG77@LiW1{T)g-N%=AvE ze6O9lbAdr5zUP9*`dO$X99vW5F_Y0)RQhQDRz;HE8tLeSSvhb!#X|R=y7AsUe4g(qQK*e1M4QfdRz94Tk?rAV z-eZf!OL>Aas;V|6j0$>y47MnFq}<o`|&{hdlG>$&Wy) zK#ZjL4#NGK>PIF!az^RBGC#xf9+X7)6PrIT<*n`D%t~s1-zkAS6KA}wRK|rrf5h;K zC6Yh2w`=2h(V724Hk-<-zjc(Jj?&qIR+|h`+%iEZDBQk|$-430ETXVan%A9y#;$u- z(>;p9le44QLRyLr_xL$O9Ag{fgDsJ`QA$DKFvqApTAZ4%l%VdCMJ`V0z_&s3T!T zTxX{i+NkP6dw9rQa!=5bZ(@WSpjp5|@1@?rDFBrwIN47%q{<6^)@Zaku)g*z(F~s9O7PZFpdBJ46|wuS zp_m9xO?`X(br9`Dqnp7WydDG_J?;^{r${a=_o(;jxXehqcs=<#1oyn`oYE87(1WWK zKqi)ZPp7;GzScP___Ur7qx9Xs$4PVBSf5ni7wY#{`aCdVwY9R+M;J>IJ;tZwja#H-XCnc_X+_hs_&hhV=={k8 z2ckbuWiOEmcwn%bAG$m{flW6#zP+TLu%IoUV({2Oc91YFq%tfZ81SvzRYxu8zsn!Z zUb=9hzk&rRfFXky;0s`zx#kakb8eSqMeb09f0{2{ittlW6t&n9l;Vb!MPs!&sBr%- zEq#IK$V`e=|L}b;(id&{QyGbFg{}6~&+wKQG7l^?cv$b3Vsg=Y|Rg<5F(5VIGkG_EU zA9@SNuD$s!ti8w?kiYV>$K0T zXyx4eO^Kzx@s^ z{Os;cy_c|CDRL)jK^cZ)A{k0Ns5Pvp5c@)#m54?t3*Da8KU_&NHZ;_hrwY*XL9~yX z4E8yEQ z1oaR=4Xa8Bo06@pa?wRw^DDgj;QE%>owozt>p?e&h>6v^ zghll3y8rcj$rboQ-u-xC-L~&kz0}$1>hkr}F_Cbcx=_RUCKR){goH4t$O&Tp=U^-; zUxBfBvz46seT=R=$Q1gy0F2`7FZ?|lEO>NZ6S2F@|M*b`?Yx&Id3l{v0(Z#s4N}$m zdq#-_0i_N3hk#YF=v=M+*s~3!z}K=B1Q!mI=i!4WR6e^d#FP#!97djSKmQ8Z`{oZ9mTV?KDy^rS_I8&AM=L-t}1Mth~v>`um> zkt!CZHDm2IE$2Tv9HTs-4S5#2B?<|XVXC}ZcQ5y5&9Kx=UPXm6LbAfayQr;}WU{(j z*naqYA!5Du76m8#Oh5v`z$l`+6&D=+g&O{`|Fmt}pw`MS-2$6Z28;|e`(2hb zVB5p~n9Z5;pvE z!}}s)1z8*G`}<#X1_ojX{R*|3FnR{JT~Bs~@7*R7khc95>zUuumLZ_0vbbal+l%bf z(JPYvFi^Bw=(Ne3bx<-%%L;Nhxxk`cS>?qzbp!tqP=Surt-E=7%p&njWL6sH0N4A@ zT);X!D&|BEyy2z4wGp(zrrwesdQ8R;jD8Si(eB-dmii-%+$w?q-q2&S2($1GGY2An(`qy^Fq>CspdJ)ylur=2s(~@)qw+*6_hvS&|ByK5iJaA@T z+c*Xo_34*fJ3f4KI`fi-M}a6Keo$)hUu6^Dw7@Y;3$6TR@O*89FaIsMSHo-NYZ)F6 zdK>&Bg;j-CUWI3{o&YCr=ZB)|9#mbuy+PU++LS8z@=FOY0^Q&?~C-LjgAG%sS z-ixbqUFXJHw}j@FvK~8jj69*-ULu&-M%#^_HmPX9b4sIDh1QF!#FKlo!RxNB&G0so z2^xf4u{mikzI*rX!%rMkh#`*uUPRH$c`hS+WuteS!>@fg24sHA1NFhydqBi7dA#`9 zbq3JQU!*o>1c#MD1w@X1goM5Jq4<5$M@(am?I5qQ>9kjsCzLw{CyJCmVca6eFES?= zN5i-2ZUmCl!kK;Ouw(q|B)d;9gD#m=(^I1=wdG?WTP$a%*0o4Dt=CRky1eWBVRJ|u z>hZfbK+7$cCcUv~4 z)C;Y{3X(&V+PWA|Dj~+EX z|LhwnHo_|MNqWCSTzubz!4owci_TarscKp3YsR|UzD))=asPL315s=2dFaPB^wZKi zsJTe?^R`NQF@y;X*DsmnliHZA%wpupwQjZdED7}(P*o(EW(y7Xl#$Z#` zZ;#&95oFuVZN|BLd2Z5%{_||mQ66`Ki7G~Ynf48%-Ui%WlAe4CChK=^pZYPZ=OI97 z5VctL=>tY@xH&mFI|LJJCkpl&M?LZ4bt}qz>C>kJWCwZh2fYwH3)QEv zh{)YGpP;}%vU~iyygY(lqRZJ#;TDEh%ioLemUeh^-gPxcKnAEVyH&-c_m}4A+SgN| zl4F`)5K;kfny&iqsXuNE(<>R5h8PLgAM85n4<#Gth7Bi@ey3PSiGx9c4kYMsIjPc6SQCuhW*2vukB852hm%=nN1rP4CnO=)C?Sh+wyHTjdy9nE))F7`AvVuOV&RP)`t~C>M94 zAOHH~6b#-y_D;5{F+N5A!)R_?nlmu7J#eyN6xgoQty3+{%|bYis`tb$K^ArA(EG+a zm$RaDf1HBAadPSL>D`^-lluRoobVIkNs7PtD@t>b~aW8r! zOeaFO_8-+8$FcTFM*PQr6|qa1CC_|~N{y0nynfv4H_Jie46J=pXh%T2QibKU|8+=^WV^Rsw5wgNF?F=LsMEfT({xsL?K|OVX<_O zfXuzIGdIssJ%tGV-JcYMzk*6N>oO9c?nufnz3`nz8-tHgP|%BZKSw|8vc_l;u=eM) zmhCa9;k?cB%fxhiT4MOCw<^xL4IKoGIaQrULXm7?>~p8Ih5@9_JkyVDo)$eC$E}p# zplJ;++MF+%*m4yu)A+U8IXUR&^A}`irV%iW4%aaQE|fft6;?2Mj6NI9$`c6@KBE8?&IGDTB00VB3>2X!^(||JKiu5nWP7xUhn9 zRL5Eiel7b*IS!;YRbW)<9kH5s!M%`#qu;r3QGxQSMrMkw=%%j}3Fc=Hq$gx%zR#mc z-xG3&YY`aKkF@SIt)Po(!F(w63%6K-y^Dz)&a)^E#B+T-Mh4WFPPPm*H#a+Ubvc{v z?$%MGGV|=muG;3iY8?X$N832KqNK!kHK#kJOeLOy;AsZhRQ6_|$}j(r`Xs!!Qhz0f zFos_|xr_@8c8`Oo==*ZB}u`e)sf)y=NFXhEm5fy$KeZ1T@9Sq2f=XZcTemw>7ASZ(6`f3 zF*EBir;*PeR~(}2NMd{l~H@5(lNbtgQ0A>D}eA8u~vj55Sbw@q3B z8{_NA+ogq0qi=4Vd2?@T5Jd>(tMu=dY1}DNo|k!)Eo+Y;ODkgSu3F1Tz>liawdE`{ z4%Y}F^hsUIYlt8D3a0OLSt27neLSpeiJ;#~PqtUoKbW5!Nx)A20zy=g7Fe^VnZ%r{ z0f1S6lct$noAMq$6awsKXQ2Mq-2UwrLSo039)KL}bB*ip*izqBK`*KFzObM`41uO% zpc=paof-KGb`7mr_m|tjK)6VaX0D1yu~rfJ#Sl3@Y`3U!_)`#C)%=)E7 z8*%5$k#N~{6WWqj)?-_gLLKWZyLiXK)8s(`NF4 zV8|M?SXB1t*5>8qHBJy!QAr_M?`4br)IITHzY-+DfT}Z-r_TPUaT0Ol=p%)h_;dc%MHg@$n7n zyQIP5f_u-?+iA7MEp*ildPHmI4UPx~uF)K^uy8F5q7@>Mu(tY^v#zc}n6b%YR+Nmg zd-!MT)~(K9s>Ku)%i4s5A{@@z4?K0_iahAdNA4aNlIM0=(N3H+p&tu7ctTwK@h0@( z3w{%q8QEw3Yfv?0b7xU?z4w+YVq}7{OccB(DMvzk5RVQfAwAvrH!T zN!BbyGK0ygv$HdkEZZp%LJCNKoh$8+U|n2Ed!zD@*A;3Lov!=_<4mnpEm}D+wWgvS zD6CIVN(wKL{TZ9)hm$)n@};WvmY+#$|KimMW}$m}t(@c9TXA`_wv_*V??gzQUH;E9 zV5{kUBcN=YQSxo`*P~DISB=CSIR+3y%3OS}d_^a_UFGEB(vtW5MPcAI;vNq&M_xUY zsrW;0#x577_xtM5%W`ceCfBO>7eA2v3+W|su5F?b8?TaOxUA%j|-gnvLKvn6$vuluXV?f!5uF# zOebIvX3O1t192sZh_7|k%)~ZD#g&h`dQ}Kukhay{PBRn)ov!B}CVYsGn%C_{VTU0z~@{@7){v zd50EW>Vs>pIqXmv1h38=c^5-foIm9idTht3_mmc*x;B5ThhtaP=>puIl>J|w(D#Df zX9UPvJT;So?yD^NEGoE|vhoq?w#O!(1Jy02zHT!gl7!2}0fY2-zaO(1_h8vf)acIr z0>ZtaO4fFtM50^adp@=917Y5kD=+JX5mGlKGZQH)oY>Ngn_+rPfPivW^}z7 zk;?Fr>Z`3++6ILEj6?wkXNK%;26lJ~&{3Iy*K9%jP}#rWugx2tA6+d`!Wrsuil>zQ zD4RZD%QrXpY*-{7m7C8pq?}~uqr1EL-OG;kLw*Bgt&KK>We)EA?iq9OLM1x;Vdn>6R2QN<$0xu# z-+tlj8XcvJp`-`*${c-nq1ruJV2EZ&$l}(k@qZW1@UQT)_X$&DSsjKo!U&`%)JV9v>35bbYLd*uN(y zpR;5|Z~XJ7D1cj=Qd`L77 z6Pa7o9^nHYUOPNYzk-g6-fl}fbBlAwaKZ7Q&-Zcb8}PUKhe~-xMVl->gT*bcOP~p8 zuzllPe4Ua-XhW%>2Z?7VUm^6f2pZ!l{0o*(NwLqDAvG(H z+srHnaJ5Onm}q-P$Gwe7`GrmhfepKECK>VxnhA)FKb_`_YH-Y7qhflsTbL>PY$?!G zOK;5UOd}^xS1=Qt5f|rhb5>Bzx7qV`nkp~J3}L1yEVsl(jGfMIIHI5kJ~bG!dBQuh z=P4}*v*pPm>&IbTwcxDk9VGfrypHGz`mSnl4|gORr>h(~o3>^Dmp2=|E7MUHQiFa5 z5xqxkPVuuHA!_zo=Am|tw^cUAb@gCk<(II^6g>-i{LY2E*|@A7?6Z!KtvdKNSZ z3GS`ov|FiC)hfgjTnzngoDSEf4BVgniCC~<$2nCIcwj$2zm)i1;DN$zW99a@@&voh zQ6v5gHV3IB;(Dy+5iT!i%?j0$&5E^_b+^@TqG*%193TJD3H}VRQq3>B4w;RP$1qa9 zhdz3O2yU4HSM=f}*Yihe4Y16ai$}Nb+e239=$ShQEA`168->&B_Ojn0=3S`tBCwpQAf zi)7xLbnU~JZQ>pI@6WZHj8*xJo0`6P;Ww4!Sr8VJbs#8AZk<%c33KyPQ_d%ZiMdIi z-B?RjKf)n%vE`57jv6d5_?W)7iDoY7+BNptuZKhlL(mp`88d(dh;T+dy%_>o6}~z} z6)AjH>S<{za6V1kk94QwkTi^a(AVTZEY=S0s5(=)JXz3{fKOyzti`x*M{=q1*Elo` zw~s|wNOhX99$~4s=KUjpIfy*L-mO` z2#`Qeiuz{edeuX&_opH7s%4pGI1Lf7xmLDBtp#}I0ot%`d5DWTlQq6dP%G%CPI9N| zuiBc?T0Q7_>Xw-0_D1qPz; z?G(1O!^)DbT+~d9GyAhs>PH;Z4(_rR4MS#0B5*#I{=w~1kRTcb1U&n(Gk6`9sol7m zo9!1J2fb#*5H@bdZ9@V@z4F5E`<^PEbB!7H6b+c$vQ^{`5`WpWX{|GM$jQZ_XS`iD zdee~?ZN^t@G;;E&|(p<+?B=NwXQCD_6{nsr^E=wh)^0M@h zZ$#MML@zUsD9(a*Jt81a@x~Y>4MnQf1-aj%+h)!iGhEZgV@Uf$Tl#2-(dCB&2lZX!G09EQ z!#{t2jl6 zCMnKg%;o2f`?a6Hz;~IKSgxhl4v`ZL4<+u<4$%)85q9)9*Ab6utBVI2;%FuAA6Mf! zd4y%#rUoATv>_KmZO%-rlh91%seSEmT=XJkf+0(tYU-fBA)@^Cn_9hwGc;xlE_~CP za<3N@ +
+
+

{{ store.site_config.title }}

+

{{ store.site_config.subtitle }}

+
+
+ +
+ +
+ Hintergrundbild konnte nicht geladen werden +
+
+ + +
+
+ +
+ +
+
+
+

+

+
+
+ +
+
+ +
+
+
+
+ + + + + diff --git a/ui/_legacy/src/assets/logo.png b/ui/_legacy/src/assets/logo.png new file mode 100644 index 0000000..ad57219 --- /dev/null +++ b/ui/_legacy/src/assets/logo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03d6d6da2545d3b3402855b8e721b779abaa87d113e69d9329ea6ea6325a83ce +size 6849 diff --git a/ui/src/bulma-scheme.scss b/ui/_legacy/src/bulma-scheme.scss similarity index 100% rename from ui/src/bulma-scheme.scss rename to ui/_legacy/src/bulma-scheme.scss diff --git a/ui/src/components/AdminButton.vue b/ui/_legacy/src/components/AdminButton.vue similarity index 100% rename from ui/src/components/AdminButton.vue rename to ui/_legacy/src/components/AdminButton.vue diff --git a/ui/src/components/Calendar.vue b/ui/_legacy/src/components/Calendar.vue similarity index 100% rename from ui/src/components/Calendar.vue rename to ui/_legacy/src/components/Calendar.vue diff --git a/ui/src/components/CountDown.vue b/ui/_legacy/src/components/CountDown.vue similarity index 100% rename from ui/src/components/CountDown.vue rename to ui/_legacy/src/components/CountDown.vue diff --git a/ui/src/components/LoginModal.vue b/ui/_legacy/src/components/LoginModal.vue similarity index 100% rename from ui/src/components/LoginModal.vue rename to ui/_legacy/src/components/LoginModal.vue diff --git a/ui/src/components/MultiModal.vue b/ui/_legacy/src/components/MultiModal.vue similarity index 100% rename from ui/src/components/MultiModal.vue rename to ui/_legacy/src/components/MultiModal.vue diff --git a/ui/src/components/TouchButton.vue b/ui/_legacy/src/components/TouchButton.vue similarity index 100% rename from ui/src/components/TouchButton.vue rename to ui/_legacy/src/components/TouchButton.vue diff --git a/ui/src/components/UserView.vue b/ui/_legacy/src/components/UserView.vue similarity index 100% rename from ui/src/components/UserView.vue rename to ui/_legacy/src/components/UserView.vue diff --git a/ui/src/components/admin/AdminView.vue b/ui/_legacy/src/components/admin/AdminView.vue similarity index 100% rename from ui/src/components/admin/AdminView.vue rename to ui/_legacy/src/components/admin/AdminView.vue diff --git a/ui/src/components/admin/CalendarAssistant.vue b/ui/_legacy/src/components/admin/CalendarAssistant.vue similarity index 100% rename from ui/src/components/admin/CalendarAssistant.vue rename to ui/_legacy/src/components/admin/CalendarAssistant.vue diff --git a/ui/src/components/admin/ConfigView.vue b/ui/_legacy/src/components/admin/ConfigView.vue similarity index 100% rename from ui/src/components/admin/ConfigView.vue rename to ui/_legacy/src/components/admin/ConfigView.vue diff --git a/ui/src/components/admin/DoorMapEditor.vue b/ui/_legacy/src/components/admin/DoorMapEditor.vue similarity index 100% rename from ui/src/components/admin/DoorMapEditor.vue rename to ui/_legacy/src/components/admin/DoorMapEditor.vue diff --git a/ui/src/components/bulma/Breadcrumbs.vue b/ui/_legacy/src/components/bulma/Breadcrumbs.vue similarity index 100% rename from ui/src/components/bulma/Breadcrumbs.vue rename to ui/_legacy/src/components/bulma/Breadcrumbs.vue diff --git a/ui/src/components/bulma/Button.vue b/ui/_legacy/src/components/bulma/Button.vue similarity index 100% rename from ui/src/components/bulma/Button.vue rename to ui/_legacy/src/components/bulma/Button.vue diff --git a/ui/src/components/bulma/Drawer.vue b/ui/_legacy/src/components/bulma/Drawer.vue similarity index 100% rename from ui/src/components/bulma/Drawer.vue rename to ui/_legacy/src/components/bulma/Drawer.vue diff --git a/ui/src/components/bulma/Secret.vue b/ui/_legacy/src/components/bulma/Secret.vue similarity index 100% rename from ui/src/components/bulma/Secret.vue rename to ui/_legacy/src/components/bulma/Secret.vue diff --git a/ui/src/components/bulma/Toast.vue b/ui/_legacy/src/components/bulma/Toast.vue similarity index 100% rename from ui/src/components/bulma/Toast.vue rename to ui/_legacy/src/components/bulma/Toast.vue diff --git a/ui/src/components/calendar/CalendarDoor.vue b/ui/_legacy/src/components/calendar/CalendarDoor.vue similarity index 100% rename from ui/src/components/calendar/CalendarDoor.vue rename to ui/_legacy/src/components/calendar/CalendarDoor.vue diff --git a/ui/src/components/calendar/SVGRect.vue b/ui/_legacy/src/components/calendar/SVGRect.vue similarity index 100% rename from ui/src/components/calendar/SVGRect.vue rename to ui/_legacy/src/components/calendar/SVGRect.vue diff --git a/ui/src/components/calendar/ThouCanvas.vue b/ui/_legacy/src/components/calendar/ThouCanvas.vue similarity index 100% rename from ui/src/components/calendar/ThouCanvas.vue rename to ui/_legacy/src/components/calendar/ThouCanvas.vue diff --git a/ui/src/components/editor/DoorCanvas.vue b/ui/_legacy/src/components/editor/DoorCanvas.vue similarity index 100% rename from ui/src/components/editor/DoorCanvas.vue rename to ui/_legacy/src/components/editor/DoorCanvas.vue diff --git a/ui/src/components/editor/DoorChooser.vue b/ui/_legacy/src/components/editor/DoorChooser.vue similarity index 100% rename from ui/src/components/editor/DoorChooser.vue rename to ui/_legacy/src/components/editor/DoorChooser.vue diff --git a/ui/src/components/editor/DoorPlacer.vue b/ui/_legacy/src/components/editor/DoorPlacer.vue similarity index 100% rename from ui/src/components/editor/DoorPlacer.vue rename to ui/_legacy/src/components/editor/DoorPlacer.vue diff --git a/ui/src/components/editor/PreviewDoor.vue b/ui/_legacy/src/components/editor/PreviewDoor.vue similarity index 100% rename from ui/src/components/editor/PreviewDoor.vue rename to ui/_legacy/src/components/editor/PreviewDoor.vue diff --git a/ui/src/d.ts/shims-vue.d.ts b/ui/_legacy/src/d.ts/shims-vue.d.ts similarity index 100% rename from ui/src/d.ts/shims-vue.d.ts rename to ui/_legacy/src/d.ts/shims-vue.d.ts diff --git a/ui/src/lib/api.ts b/ui/_legacy/src/lib/api.ts similarity index 100% rename from ui/src/lib/api.ts rename to ui/_legacy/src/lib/api.ts diff --git a/ui/src/lib/api_error.ts b/ui/_legacy/src/lib/api_error.ts similarity index 100% rename from ui/src/lib/api_error.ts rename to ui/_legacy/src/lib/api_error.ts diff --git a/ui/src/lib/fontawesome.ts b/ui/_legacy/src/lib/fontawesome.ts similarity index 100% rename from ui/src/lib/fontawesome.ts rename to ui/_legacy/src/lib/fontawesome.ts diff --git a/ui/src/lib/helpers.ts b/ui/_legacy/src/lib/helpers.ts similarity index 100% rename from ui/src/lib/helpers.ts rename to ui/_legacy/src/lib/helpers.ts diff --git a/ui/src/lib/model.ts b/ui/_legacy/src/lib/model.ts similarity index 100% rename from ui/src/lib/model.ts rename to ui/_legacy/src/lib/model.ts diff --git a/ui/src/lib/rects/door.ts b/ui/_legacy/src/lib/rects/door.ts similarity index 100% rename from ui/src/lib/rects/door.ts rename to ui/_legacy/src/lib/rects/door.ts diff --git a/ui/src/lib/rects/rectangle.ts b/ui/_legacy/src/lib/rects/rectangle.ts similarity index 100% rename from ui/src/lib/rects/rectangle.ts rename to ui/_legacy/src/lib/rects/rectangle.ts diff --git a/ui/src/lib/rects/vector2d.ts b/ui/_legacy/src/lib/rects/vector2d.ts similarity index 100% rename from ui/src/lib/rects/vector2d.ts rename to ui/_legacy/src/lib/rects/vector2d.ts diff --git a/ui/src/lib/store.ts b/ui/_legacy/src/lib/store.ts similarity index 100% rename from ui/src/lib/store.ts rename to ui/_legacy/src/lib/store.ts diff --git a/ui/src/main.scss b/ui/_legacy/src/main.scss similarity index 100% rename from ui/src/main.scss rename to ui/_legacy/src/main.scss diff --git a/ui/_legacy/src/main.ts b/ui/_legacy/src/main.ts new file mode 100644 index 0000000..bc4d049 --- /dev/null +++ b/ui/_legacy/src/main.ts @@ -0,0 +1,27 @@ +import FontAwesomeIcon from "@/lib/fontawesome"; +import { advent22Store } from "@/lib/store"; +import { setDefaults as toast_set_defaults } from "bulma-toast"; +import { createPinia } from "pinia"; +import { createApp } from "vue"; +import App from "./App.vue"; + +import "@/main.scss"; + +const app = createApp(App); + +app.use(createPinia()); +app.component("FontAwesomeIcon", FontAwesomeIcon); + +advent22Store().init(); + +app.mount("#app"); + +toast_set_defaults({ + duration: 10e3, + pauseOnHover: true, + dismissible: true, + closeOnClick: false, + type: "is-white", + position: "top-center", + animate: { in: "backInDown", out: "backOutUp" }, +}); diff --git a/ui/tests/unit/rectangle.spec.ts b/ui/_legacy/tests/unit/rectangle.spec.ts similarity index 100% rename from ui/tests/unit/rectangle.spec.ts rename to ui/_legacy/tests/unit/rectangle.spec.ts diff --git a/ui/tests/unit/vector2d.spec.ts b/ui/_legacy/tests/unit/vector2d.spec.ts similarity index 100% rename from ui/tests/unit/vector2d.spec.ts rename to ui/_legacy/tests/unit/vector2d.spec.ts diff --git a/ui/_legacy/tsconfig.json b/ui/_legacy/tsconfig.json new file mode 100644 index 0000000..1d59a2a --- /dev/null +++ b/ui/_legacy/tsconfig.json @@ -0,0 +1,33 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "experimentalDecorators": true, + "lib": [ + "es2020", + "dom", + "dom.iterable", + "es2022.object", + "es2023.array", + ], + // "moduleResolution": "node", + // "sourceMap": true, + "baseUrl": ".", + "types": [ + "webpack-env", + "mocha", + "chai", + ], + "paths": { + "@/*": [ + "src/*", + ] + }, + }, + "include": [ + "src/**/*.vue", + "src/**/*.ts", + // "src/**/*.tsx", + "tests/**/*.ts", + // "tests/**/*.tsx", + ], +} \ No newline at end of file diff --git a/ui/babel.config.json b/ui/babel.config.json deleted file mode 100644 index 07c2147..0000000 --- a/ui/babel.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "presets": [ - "@vue/cli-plugin-babel/preset" - ] -} \ No newline at end of file diff --git a/ui/env.d.ts b/ui/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/ui/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/ui/eslint.config.ts b/ui/eslint.config.ts new file mode 100644 index 0000000..4e90ef7 --- /dev/null +++ b/ui/eslint.config.ts @@ -0,0 +1,32 @@ +import { globalIgnores } from 'eslint/config' +import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' +import pluginVue from 'eslint-plugin-vue' +import pluginVitest from '@vitest/eslint-plugin' +import pluginOxlint from 'eslint-plugin-oxlint' +import skipFormatting from 'eslint-config-prettier/flat' + +// To allow more languages other than `ts` in `.vue` files, uncomment the following lines: +// import { configureVueProject } from '@vue/eslint-config-typescript' +// configureVueProject({ scriptLangs: ['ts', 'tsx'] }) +// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup + +export default defineConfigWithVueTs( + { + name: 'app/files-to-lint', + files: ['**/*.{vue,ts,mts,tsx}'], + }, + + globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), + + ...pluginVue.configs['flat/essential'], + vueTsConfigs.recommended, + + { + ...pluginVitest.configs.recommended, + files: ['src/**/__tests__/*'], + }, + + ...pluginOxlint.buildFromOxlintConfigFile('.oxlintrc.json'), + + skipFormatting, +) diff --git a/ui/index.html b/ui/index.html new file mode 100644 index 0000000..9e5fc8f --- /dev/null +++ b/ui/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/ui/package.json b/ui/package.json index 2230e23..75d59cc 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,47 +1,50 @@ { "name": "advent22_ui", - "version": "0.1.0", + "version": "0.0.0", "private": true, + "type": "module", "packageManager": "yarn@4.12.0", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "test:unit": "vue-cli-service test:unit", - "test:unit-watch": "vue-cli-service test:unit --watch", - "lint": "vue-cli-service lint", - "ui": "vue ui --host 0.0.0.0 --headless" + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "test:unit": "vitest", + "build-only": "vite build", + "type-check": "vue-tsc --build", + "lint": "run-s lint:*", + "lint:oxlint": "oxlint . --fix", + "lint:eslint": "eslint . --fix --cache", + "format": "prettier --write --experimental-cli src/" + }, + "dependencies": { + "pinia": "^3.0.4", + "vue": "^3.5.28" }, "devDependencies": { - "@fortawesome/fontawesome-svg-core": "^7.2.0", - "@fortawesome/free-solid-svg-icons": "^7.2.0", - "@fortawesome/vue-fontawesome": "^3.1.3", - "@types/chai": "^5.2.3", - "@types/luxon": "^3.7.1", - "@types/mocha": "^10.0.10", - "@typescript-eslint/eslint-plugin": "^8.55.0", - "@typescript-eslint/parser": "^8.55.0", - "@vue/cli-plugin-babel": "^5.0.9", - "@vue/cli-plugin-eslint": "^5.0.9", - "@vue/cli-plugin-typescript": "^5.0.9", - "@vue/cli-plugin-unit-mocha": "^5.0.9", - "@vue/cli-service": "^5.0.9", - "@vue/eslint-config-typescript": "^13.0.0", + "@tsconfig/node24": "^24.0.4", + "@types/jsdom": "^27.0.0", + "@types/node": "^25.3.0", + "@vitejs/plugin-vue": "^6.0.4", + "@vitest/eslint-plugin": "^1.6.9", + "@vue/eslint-config-typescript": "^14.6.0", "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.8.1", - "animate.css": "^4.1.1", - "axios": "^1.13.5", - "bulma": "^1.0.4", - "bulma-toast": "2.4.3", - "chai": "^6.2.2", - "core-js": "^3.48.0", - "eslint": "^8.57.1", - "eslint-plugin-vue": "^9.33.0", - "luxon": "^3.7.2", - "pinia": "^3.0.4", - "sass": "~1.94.3", - "sass-loader": "^16.0.0", - "typescript": "^5.9.3", - "vue": "^3.5.25", - "vue-cli-plugin-webpack-bundle-analyzer": "^4.0.0" + "eslint": "^9.39.2", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-oxlint": "~1.46.0", + "eslint-plugin-vue": "~10.8.0", + "jiti": "^2.6.1", + "jsdom": "^28.1.0", + "npm-run-all2": "^8.0.4", + "oxlint": "~1.47.0", + "prettier": "3.8.1", + "typescript": "~5.9.3", + "vite": "^7.3.1", + "vite-plugin-vue-devtools": "^8.0.6", + "vitest": "^4.0.18", + "vue-tsc": "^3.2.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" } } diff --git a/ui/public/favicon.ico b/ui/public/favicon.ico index c7ab788539357e0502d67114d87c0133af4b858f..df36fcfb72584e00488330b560ebcf34a41c64c2 100644 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 38672 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
ZRz#r&mY%6KdT=D_Xkx##;6ZZQo1YF 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 + - - - + diff --git a/ui/src/__tests__/App.spec.ts b/ui/src/__tests__/App.spec.ts new file mode 100644 index 0000000..5b17801 --- /dev/null +++ b/ui/src/__tests__/App.spec.ts @@ -0,0 +1,11 @@ +import { describe, it, expect } from 'vitest' + +import { mount } from '@vue/test-utils' +import App from '../App.vue' + +describe('App', () => { + it('mounts renders properly', () => { + const wrapper = mount(App) + expect(wrapper.text()).toContain('You did it!') + }) +}) diff --git a/ui/src/main.ts b/ui/src/main.ts index bc4d049..5f77a89 100644 --- a/ui/src/main.ts +++ b/ui/src/main.ts @@ -1,27 +1,9 @@ -import FontAwesomeIcon from "@/lib/fontawesome"; -import { advent22Store } from "@/lib/store"; -import { setDefaults as toast_set_defaults } from "bulma-toast"; -import { createPinia } from "pinia"; -import { createApp } from "vue"; -import App from "./App.vue"; +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import App from './App.vue' -import "@/main.scss"; +const app = createApp(App) -const app = createApp(App); +app.use(createPinia()) -app.use(createPinia()); -app.component("FontAwesomeIcon", FontAwesomeIcon); - -advent22Store().init(); - -app.mount("#app"); - -toast_set_defaults({ - duration: 10e3, - pauseOnHover: true, - dismissible: true, - closeOnClick: false, - type: "is-white", - position: "top-center", - animate: { in: "backInDown", out: "backOutUp" }, -}); +app.mount('#app') diff --git a/ui/src/stores/counter.ts b/ui/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/ui/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/ui/tsconfig.app.json b/ui/tsconfig.app.json new file mode 100644 index 0000000..913b8f2 --- /dev/null +++ b/ui/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/ui/tsconfig.json b/ui/tsconfig.json index 1d59a2a..100cf6a 100644 --- a/ui/tsconfig.json +++ b/ui/tsconfig.json @@ -1,33 +1,14 @@ { - "extends": "@vue/tsconfig/tsconfig.dom.json", - "compilerOptions": { - "experimentalDecorators": true, - "lib": [ - "es2020", - "dom", - "dom.iterable", - "es2022.object", - "es2023.array", - ], - // "moduleResolution": "node", - // "sourceMap": true, - "baseUrl": ".", - "types": [ - "webpack-env", - "mocha", - "chai", - ], - "paths": { - "@/*": [ - "src/*", - ] + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" }, - }, - "include": [ - "src/**/*.vue", - "src/**/*.ts", - // "src/**/*.tsx", - "tests/**/*.ts", - // "tests/**/*.tsx", - ], -} \ No newline at end of file + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ] +} diff --git a/ui/tsconfig.node.json b/ui/tsconfig.node.json new file mode 100644 index 0000000..822562d --- /dev/null +++ b/ui/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node24/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/ui/tsconfig.vitest.json b/ui/tsconfig.vitest.json new file mode 100644 index 0000000..7d1d8ce --- /dev/null +++ b/ui/tsconfig.vitest.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.app.json", + "include": ["src/**/__tests__/*", "env.d.ts"], + "exclude": [], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo", + + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/ui/vite.config.ts b/ui/vite.config.ts new file mode 100644 index 0000000..4217010 --- /dev/null +++ b/ui/vite.config.ts @@ -0,0 +1,18 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +}) diff --git a/ui/vitest.config.ts b/ui/vitest.config.ts new file mode 100644 index 0000000..c328717 --- /dev/null +++ b/ui/vitest.config.ts @@ -0,0 +1,14 @@ +import { fileURLToPath } from 'node:url' +import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' +import viteConfig from './vite.config' + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'e2e/**'], + root: fileURLToPath(new URL('./', import.meta.url)), + }, + }), +) diff --git a/ui/vue.config.js b/ui/vue.config.js deleted file mode 100644 index 40d7f21..0000000 --- a/ui/vue.config.js +++ /dev/null @@ -1,26 +0,0 @@ -/* eslint-disable @typescript-eslint/no-require-imports */ -const { defineConfig } = require("@vue/cli-service"); -const webpack = require("webpack"); - -module.exports = defineConfig({ - transpileDependencies: true, - devServer: { - host: "127.0.0.1", - }, - pages: { - index: { - entry: "src/main.ts", - title: "Kalender-Gewinnspiel", - }, - }, - // https://stackoverflow.com/a/77765007 - configureWebpack: { - plugins: [ - new webpack.DefinePlugin({ - // Vue CLI is in maintenance mode, and probably won't merge my PR to fix this in their tooling - // https://github.com/vuejs/vue-cli/pull/7443 - __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false", - }), - ], - }, -}); diff --git a/ui/yarn.lock b/ui/yarn.lock index 8fd081d..efc8b99 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -5,18 +5,47 @@ __metadata: version: 8 cacheKey: 10c0 -"@achrinza/node-ipc@npm:^9.2.5": - version: 9.2.10 - resolution: "@achrinza/node-ipc@npm:9.2.10" - dependencies: - "@node-ipc/js-queue": "npm:2.0.3" - event-pubsub: "npm:4.3.0" - js-message: "npm:1.0.7" - checksum: 10c0/413b3d719e130b407be3cbe9841a70afa89935df8f2d803c37b76ddd2ff3a5c00332e21063ae4797099f0b622cd8aa87f52ffe877182a02f87336d7ce6715242 +"@acemir/cssom@npm:^0.9.31": + version: 0.9.31 + resolution: "@acemir/cssom@npm:0.9.31" + checksum: 10c0/cbfff98812642104ec3b37de1ad3a53f216ddc437e7b9276a23f46f2453844ea3c3f46c200bc4656a2f747fb26567560b3cc5183d549d119a758926551b5f566 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0, @babel/code-frame@npm:^7.8.3": +"@asamuzakjp/css-color@npm:^4.1.2": + version: 4.1.2 + resolution: "@asamuzakjp/css-color@npm:4.1.2" + dependencies: + "@csstools/css-calc": "npm:^3.0.0" + "@csstools/css-color-parser": "npm:^4.0.1" + "@csstools/css-parser-algorithms": "npm:^4.0.0" + "@csstools/css-tokenizer": "npm:^4.0.0" + lru-cache: "npm:^11.2.5" + checksum: 10c0/e432fdef978b37654a2ca31169a149b9173e708f70c82612acb123a36dbc7dd99913c48cbf2edd6fe3652cc627d4bc94bf87571463da0b788f15b973d4ce5b0f + languageName: node + linkType: hard + +"@asamuzakjp/dom-selector@npm:^6.8.1": + version: 6.8.1 + resolution: "@asamuzakjp/dom-selector@npm:6.8.1" + dependencies: + "@asamuzakjp/nwsapi": "npm:^2.3.9" + bidi-js: "npm:^1.0.3" + css-tree: "npm:^3.1.0" + is-potential-custom-element-name: "npm:^1.0.1" + lru-cache: "npm:^11.2.6" + checksum: 10c0/635de2c3b11971c07e2d491fd2833d2499bafbab05b616f5d38041031718879c404456644f60c45e9ba4ca2423e5bb48bf3c46179b0c58a0ea68eaae8c61e85f + languageName: node + linkType: hard + +"@asamuzakjp/nwsapi@npm:^2.3.9": + version: 2.3.9 + resolution: "@asamuzakjp/nwsapi@npm:2.3.9" + checksum: 10c0/869b81382e775499c96c45c6dbe0d0766a6da04bcf0abb79f5333535c4e19946851acaa43398f896e2ecc5a1de9cf3db7cf8c4b1afac1ee3d15e21584546d74d + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": version: 7.29.0 resolution: "@babel/code-frame@npm:7.29.0" dependencies: @@ -27,14 +56,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.0": +"@babel/compat-data@npm:^7.28.6": version: 7.29.0 resolution: "@babel/compat-data@npm:7.29.0" checksum: 10c0/08f348554989d23aa801bf1405aa34b15e841c0d52d79da7e524285c77a5f9d298e70e11d91cc578d8e2c9542efc586d50c5f5cf8e1915b254a9dcf786913a94 languageName: node linkType: hard -"@babel/core@npm:^7.12.16": +"@babel/core@npm:^7.23.0": version: 7.29.0 resolution: "@babel/core@npm:7.29.0" dependencies: @@ -70,7 +99,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": +"@babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: @@ -79,7 +108,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.12.16, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.28.6": +"@babel/helper-compilation-targets@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-compilation-targets@npm:7.28.6" dependencies: @@ -92,7 +121,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.28.6": +"@babel/helper-create-class-features-plugin@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6" dependencies: @@ -109,34 +138,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1, @babel/helper-create-regexp-features-plugin@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.3" - regexpu-core: "npm:^6.3.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/7af3d604cadecdb2b0d2cedd696507f02a53a58be0523281c2d6766211443b55161dde1e6c0d96ab16ddfd82a2607a2f792390caa24797e9733631f8aa86859f - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.6.5, @babel/helper-define-polyfill-provider@npm:^0.6.6": - version: 0.6.6 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.6" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - debug: "npm:^4.4.3" - lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.22.11" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/1293d6f54d4ebb10c9e947e54de1aaa23b00233e19aca9790072f1893bf143af01442613f7b413300be7016d8e41b550af77acab28e7fa5fb796b2a175c528a1 - languageName: node - linkType: hard - "@babel/helper-globals@npm:^7.28.0": version: 7.28.0 resolution: "@babel/helper-globals@npm:7.28.0" @@ -154,7 +155,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": +"@babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-module-imports@npm:7.28.6" dependencies: @@ -164,7 +165,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.6": +"@babel/helper-module-transforms@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-module-transforms@npm:7.28.6" dependencies: @@ -186,27 +187,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.8.0": +"@babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-plugin-utils@npm:7.28.6" checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-wrap-function": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.27.1, @babel/helper-replace-supers@npm:^7.28.6": +"@babel/helper-replace-supers@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-replace-supers@npm:7.28.6" dependencies: @@ -250,17 +238,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.27.1": - version: 7.28.6 - resolution: "@babel/helper-wrap-function@npm:7.28.6" - dependencies: - "@babel/template": "npm:^7.28.6" - "@babel/traverse": "npm:^7.28.6" - "@babel/types": "npm:^7.28.6" - checksum: 10c0/110674c7aa705dd8cc34f278628f540b37a4cb35e81fcaf557772e026a6fd95f571feb51a8efb146e4e91bbf567dc9dd7f534f78da80f55f4be2ec842f36b678 - languageName: node - linkType: hard - "@babel/helpers@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helpers@npm:7.28.6" @@ -282,78 +259,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.5" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/844b7c7e9eec6d858262b2f3d5af75d3a6bbd9d3ecc740d95271fbdd84985731674536f5d8ac98f2dc0e8872698b516e406636e4d0cb04b50afe471172095a53 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/traverse": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/f1a9194e8d1742081def7af748e9249eb5082c25d0ced292720a1f054895f99041c764a05f45af669a2c8898aeb79266058aedb0d3e1038963ad49be8288918a - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-properties@npm:^7.12.13": - version: 7.18.6 - resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d5172ac6c9948cdfc387e94f3493ad86cb04035cf7433f86b5d358270b1b9752dc25e176db0c5d65892a246aca7bdb4636672e15626d7a7de4bc0bd0040168d9 - languageName: node - linkType: hard - -"@babel/plugin-proposal-decorators@npm:^7.12.13": +"@babel/plugin-proposal-decorators@npm:^7.23.0": version: 7.29.0 resolution: "@babel/plugin-proposal-decorators@npm:7.29.0" dependencies: @@ -366,15 +272,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": - version: 7.21.0-placeholder-for-preset-env.2 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 - languageName: node - linkType: hard - "@babel/plugin-syntax-decorators@npm:^7.28.6": version: 7.28.6 resolution: "@babel/plugin-syntax-decorators@npm:7.28.6" @@ -386,29 +283,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f3b8bdccb9b4d3e3b9226684ca518e055399d05579da97dfe0160a38d65198cfe7dce809e73179d6463a863a040f980de32425a876d88efe4eda933d0d95982c - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.28.6": +"@babel/plugin-syntax-import-attributes@npm:^7.22.5": version: 7.28.6 resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" dependencies: @@ -419,7 +294,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.12.13, @babel/plugin-syntax-jsx@npm:^7.2.0, @babel/plugin-syntax-jsx@npm:^7.27.1": +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.27.1": version: 7.28.6 resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" dependencies: @@ -430,741 +316,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-generator-functions@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/helper-remap-async-to-generator": "npm:^7.27.1" - "@babel/traverse": "npm:^7.29.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4080fc5e7dad7761bfebbb4fbe06bdfeb3a8bf0c027bcb4373e59e6b3dc7c5002eca7cbb1afba801d6439df8f92f7bcb3fb862e8fbbe43a9e59bb5653dcc0568 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.28.6": +"@babel/plugin-syntax-typescript@npm:^7.28.6": version: 7.28.6 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" + resolution: "@babel/plugin-syntax-typescript@npm:7.28.6" dependencies: - "@babel/helper-module-imports": "npm:^7.28.6" "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2eb0826248587df6e50038f36194a138771a7df22581020451c7779edeaf9ef39bf47c5b7a20ae2645af6416e8c896feeca273317329652e84abd79a4ab920ad + checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoping@npm:^7.28.6": +"@babel/plugin-transform-typescript@npm:^7.22.15": version: 7.28.6 - resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2e3e09e1f9770b56cef4dcbffddf262508fd03416072f815ac66b2b224a3a12cd285cfec12fc067f1add414e7db5ce6dafb5164a6e0fb1a728e6a97d0c6f6e9d - languageName: node - linkType: hard - -"@babel/plugin-transform-class-properties@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c4327fcd730c239d9f173f9b695b57b801729e273b4848aef1f75818069dfd31d985d75175db188d947b9b1bbe5353dae298849042026a5e4fcf07582ff3f9f1 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-static-block@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/dbe9b1fd302ae41b73186e17ac8d8ecf625ebc2416a91f2dc8013977a1bdf21e6ea288a83f084752b412242f3866e789d4fddeb428af323fe35b60e0fae4f98c - languageName: node - linkType: hard - -"@babel/plugin-transform-classes@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-classes@npm:7.28.6" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.3" - "@babel/helper-compilation-targets": "npm:^7.28.6" - "@babel/helper-globals": "npm:^7.28.0" - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/helper-replace-supers": "npm:^7.28.6" - "@babel/traverse": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/dc22f1f6eadab17305128fbf9cc5f30e87a51a77dd0a6d5498097994e8a9b9a90ab298c11edf2342acbeaac9edc9c601cad72eedcf4b592cd465a787d7f41490 - languageName: node - linkType: hard - -"@babel/plugin-transform-computed-properties@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/template": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/1e9893503ae6d651125701cc29450e87c0b873c8febebff19da75da9c40cfb7968c52c28bf948244e461110aeb7b3591f2cc199b7406ff74a24c50c7a5729f39 - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/288207f488412b23bb206c7c01ba143714e2506b72a9ec09e993f28366cc8188d121bde714659b3437984a86d2881d9b1b06de3089d5582823ccf2f3b3eaa2c4 - languageName: node - linkType: hard - -"@babel/plugin-transform-dotall-regex@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e2fb76b7ae99087cf4212013a3ca9dee07048f90f98fd6264855080fb6c3f169be11c9b8c9d8b26cf9a407e4d0a5fa6e103f7cef433a542b75cf7127c99d4f97 - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.0" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/6f03d9e5e31a05b28555541be6e283407e08447a36be6ddf8068b3efa970411d832e04b1282e2b894baf89a3864ff7e7f1e36346652a8d983170c6d548555167 - languageName: node - linkType: hard - -"@babel/plugin-transform-dynamic-import@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 - languageName: node - linkType: hard - -"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/plugin-transform-destructuring": "npm:^7.28.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e6ea28c26e058fe61ada3e70b0def1992dd5a44f5fc14d8e2c6a3a512fb4d4c6dc96a3e1d0b466d83db32a9101e0b02df94051e48d3140da115b8ea9f8a31f37 - languageName: node - linkType: hard - -"@babel/plugin-transform-exponentiation-operator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4572d955a50dbc9a652a19431b4bb822cb479ee6045f4e6df72659c499c13036da0a2adf650b07ca995f2781e80aa868943bea1e7bff1de3169ec3f0a73a902e - languageName: node - linkType: hard - -"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c - languageName: node - linkType: hard - -"@babel/plugin-transform-for-of@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-for-of@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb - languageName: node - linkType: hard - -"@babel/plugin-transform-function-name@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-function-name@npm:7.27.1" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c - languageName: node - linkType: hard - -"@babel/plugin-transform-json-strings@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ab1091798c58e6c0bb8a864ee2b727c400924592c6ed69797a26b4c205f850a935de77ad516570be0419c279a3d9f7740c2aa448762eb8364ea77a6a357a9653 - languageName: node - linkType: hard - -"@babel/plugin-transform-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca - languageName: node - linkType: hard - -"@babel/plugin-transform-logical-assignment-operators@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4632a35453d2131f0be466681d0a33e3db44d868ff51ec46cd87e0ebd1e47c6a39b894f7d1c9b06f931addf6efa9d30e60c4cdedeb4f69d426f683e11f8490cf - languageName: node - linkType: hard - -"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-amd@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" - dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-commonjs@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" - dependencies: - "@babel/helper-module-transforms": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-systemjs@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.0" - dependencies: - "@babel/helper-module-transforms": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/helper-validator-identifier": "npm:^7.28.5" - "@babel/traverse": "npm:^7.29.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/44ea502f2c990398b7d9adc5b44d9e1810a0a5e86eebc05c92d039458f0b3994fe243efa9353b90f8a648d8a91b79845fb353d8679d7324cc9de0162d732771d - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-umd@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" - dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed - languageName: node - linkType: hard - -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.0" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/1904db22da7f2bc3e380cd2c0786bda330ee1b1b3efa3f5203d980708c4bfeb5daa4dff48d01692193040bcc5f275dbdc0c2eadc8b1eb1b6dfe363564ad6e898 - languageName: node - linkType: hard - -"@babel/plugin-transform-new-target@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-new-target@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 - languageName: node - linkType: hard - -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6607f2201d66ccb688f0b1db09475ef995837df19f14705da41f693b669f834c206147a854864ab107913d7b4f4748878b0cd9fe9ca8bfd1bee0c206fc027b49 - languageName: node - linkType: hard - -"@babel/plugin-transform-numeric-separator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/191097d8d2753cdd16d1acca65a945d1645ab20b65655c2f5b030a9e38967a52e093dcb21ebf391e342222705c6ffe5dea15dafd6257f7b51b77fb64a830b637 - languageName: node - linkType: hard - -"@babel/plugin-transform-object-rest-spread@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/plugin-transform-destructuring": "npm:^7.28.5" - "@babel/plugin-transform-parameters": "npm:^7.27.7" - "@babel/traverse": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f55334352d4fcde385f2e8a58836687e71ff668c9b6e4c34d52575bf2789cdde92d9d3116edba13647ac0bc3e51fb2a6d1e8fb822dce7e8123334b82600bc4c3 - languageName: node - linkType: hard - -"@babel/plugin-transform-object-super@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-object-super@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-replace-supers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-catch-binding@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/36e8face000ee65e478a55febf687ce9be7513ad498c60dfe585851555565e0c28e7cb891b3c59709318539ce46f7697d5f42130eb18f385cd47e47cfa297446 - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c159cc74115c2266be21791f192dd079e2aeb65c8731157e53b80fcefa41e8e28ad370021d4dfbdb31f25e5afa0322669a8eb2d032cd96e65ac37e020324c763 - languageName: node - linkType: hard - -"@babel/plugin-transform-parameters@npm:^7.27.7": - version: 7.27.7 - resolution: "@babel/plugin-transform-parameters@npm:7.27.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f - languageName: node - linkType: hard - -"@babel/plugin-transform-private-methods@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/fb504e2bfdcf3f734d2a90ab20d61427c58385f57f950d3de6ff4e6d12dd4aa7d552147312d218367e129b7920dccfc3230ba554de861986cda38921bad84067 - languageName: node - linkType: hard - -"@babel/plugin-transform-private-property-in-object@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" + resolution: "@babel/plugin-transform-typescript@npm:7.28.6" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.27.3" "@babel/helper-create-class-features-plugin": "npm:^7.28.6" "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0f6bbc6ec3f93b556d3de7d56bf49335255fc4c43488e51a5025d6ee0286183fd3cf950ffcac1bbeed8a45777f860a49996455c8d3b4a04c3b1a5f28e697fe31 - languageName: node - linkType: hard - -"@babel/plugin-transform-property-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c - languageName: node - linkType: hard - -"@babel/plugin-transform-regenerator@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-regenerator@npm:7.29.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/86c7db9b97f85ee47c0fae0528802cbc06e5775e61580ee905335c16bb971270086764a3859873d9adcd7d0f913a5b93eb0dc271aec8fb9e93e090e4ac95e29e - languageName: node - linkType: hard - -"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/97e36b086800f71694fa406abc00192e3833662f2bdd5f51c018bd0c95eef247c4ae187417c207d03a9c5374342eac0bb65a39112c431a9b23b09b1eda1562e5 - languageName: node - linkType: hard - -"@babel/plugin-transform-reserved-words@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 - languageName: node - linkType: hard - -"@babel/plugin-transform-runtime@npm:^7.12.15": - version: 7.29.0 - resolution: "@babel/plugin-transform-runtime@npm:7.29.0" - dependencies: - "@babel/helper-module-imports": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - babel-plugin-polyfill-corejs2: "npm:^0.4.14" - babel-plugin-polyfill-corejs3: "npm:^0.13.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.5" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/05a451cb96a1e6ccfdd1a123773208615cd14cb156aa0aa99a448d86e4326b36b9ab2be8267037bd27644a5918dac88378b791d020b3c08a4fd8f3415621a006 - languageName: node - linkType: hard - -"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 - languageName: node - linkType: hard - -"@babel/plugin-transform-spread@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-spread@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.28.6" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bcac50e558d6f0c501cbce19ec197af558cef51fe3b3a6eba27276e323e57a5be28109b4264a5425ac12a67bf95d6af9c2a42b05e79c522ce913fb9529259d76 - languageName: node - linkType: hard - -"@babel/plugin-transform-sticky-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 - languageName: node - linkType: hard - -"@babel/plugin-transform-template-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 - languageName: node - linkType: hard - -"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/b25f8cde643f4f47e0fa4f7b5c552e2dfbb6ad0ce07cf40f7e8ae40daa9855ad855d76d4d6d010153b74e48c8794685955c92ca637c0da152ce5f0fa9e7c90fa - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" - "@babel/helper-plugin-utils": "npm:^7.28.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/c03c8818736b138db73d1f7a96fbfa22d1994639164d743f0f00e6383d3b7b3144d333de960ff4afad0bddd0baaac257295e3316969eba995b1b6a1b4dec933e - languageName: node - linkType: hard - -"@babel/preset-env@npm:^7.12.16": - version: 7.29.0 - resolution: "@babel/preset-env@npm:7.29.0" - dependencies: - "@babel/compat-data": "npm:^7.29.0" - "@babel/helper-compilation-targets": "npm:^7.28.6" - "@babel/helper-plugin-utils": "npm:^7.28.6" - "@babel/helper-validator-option": "npm:^7.27.1" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.6" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.28.6" - "@babel/plugin-syntax-import-attributes": "npm:^7.28.6" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" - "@babel/plugin-transform-async-generator-functions": "npm:^7.29.0" - "@babel/plugin-transform-async-to-generator": "npm:^7.28.6" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" - "@babel/plugin-transform-block-scoping": "npm:^7.28.6" - "@babel/plugin-transform-class-properties": "npm:^7.28.6" - "@babel/plugin-transform-class-static-block": "npm:^7.28.6" - "@babel/plugin-transform-classes": "npm:^7.28.6" - "@babel/plugin-transform-computed-properties": "npm:^7.28.6" - "@babel/plugin-transform-destructuring": "npm:^7.28.5" - "@babel/plugin-transform-dotall-regex": "npm:^7.28.6" - "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.29.0" - "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" - "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.6" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.6" - "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" - "@babel/plugin-transform-for-of": "npm:^7.27.1" - "@babel/plugin-transform-function-name": "npm:^7.27.1" - "@babel/plugin-transform-json-strings": "npm:^7.28.6" - "@babel/plugin-transform-literals": "npm:^7.27.1" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.6" - "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" - "@babel/plugin-transform-modules-amd": "npm:^7.27.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.28.6" - "@babel/plugin-transform-modules-systemjs": "npm:^7.29.0" - "@babel/plugin-transform-modules-umd": "npm:^7.27.1" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.29.0" - "@babel/plugin-transform-new-target": "npm:^7.27.1" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6" - "@babel/plugin-transform-numeric-separator": "npm:^7.28.6" - "@babel/plugin-transform-object-rest-spread": "npm:^7.28.6" - "@babel/plugin-transform-object-super": "npm:^7.27.1" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.28.6" - "@babel/plugin-transform-optional-chaining": "npm:^7.28.6" - "@babel/plugin-transform-parameters": "npm:^7.27.7" - "@babel/plugin-transform-private-methods": "npm:^7.28.6" - "@babel/plugin-transform-private-property-in-object": "npm:^7.28.6" - "@babel/plugin-transform-property-literals": "npm:^7.27.1" - "@babel/plugin-transform-regenerator": "npm:^7.29.0" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.28.6" - "@babel/plugin-transform-reserved-words": "npm:^7.27.1" - "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" - "@babel/plugin-transform-spread": "npm:^7.28.6" - "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" - "@babel/plugin-transform-template-literals": "npm:^7.27.1" - "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" - "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.28.6" - "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.28.6" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.15" - babel-plugin-polyfill-corejs3: "npm:^0.14.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.6" - core-js-compat: "npm:^3.48.0" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/08737e333a538703ba20e9e93b5bfbc01abbb9d3b2519b5b62ad05d3b6b92d79445b1dac91229b8cfcfb0b681b22b7c6fa88d7c1cc15df1690a23b21287f55b6 - languageName: node - linkType: hard - -"@babel/preset-modules@npm:0.1.6-no-external-plugins": - version: 0.1.6-no-external-plugins - resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@babel/types": "npm:^7.4.4" - esutils: "npm:^2.0.2" - peerDependencies: - "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 - languageName: node - linkType: hard - -"@babel/runtime-corejs3@npm:^7.0.0": - version: 7.29.0 - resolution: "@babel/runtime-corejs3@npm:7.29.0" - dependencies: - core-js-pure: "npm:^3.48.0" - checksum: 10c0/7f1197fa3a50836a6ce1ca3b51df69b65421f790d3f877f2cba8e6c3c238e358da9eafa083fd100cc7a2c4c57db7e27c6bf36b8ea8dd4caa29bfa363adbbaa81 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.12.13": - version: 7.28.6 - resolution: "@babel/runtime@npm:7.28.6" - checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d + checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6 languageName: node linkType: hard @@ -1194,7 +368,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": version: 7.29.0 resolution: "@babel/types@npm:7.29.0" dependencies: @@ -1204,14 +378,253 @@ __metadata: languageName: node linkType: hard -"@discoveryjs/json-ext@npm:0.5.7": - version: 0.5.7 - resolution: "@discoveryjs/json-ext@npm:0.5.7" - checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c +"@bramus/specificity@npm:^2.4.2": + version: 2.4.2 + resolution: "@bramus/specificity@npm:2.4.2" + dependencies: + css-tree: "npm:^3.0.0" + bin: + specificity: bin/cli.js + checksum: 10c0/c5f4e04e0bca0d2202598207a5eb0733c8109d12a68a329caa26373bec598d99db5bb785b8865fefa00fc01b08c6068138807ceb11a948fe15e904ed6cf4ba72 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.9.1": +"@csstools/color-helpers@npm:^6.0.1": + version: 6.0.1 + resolution: "@csstools/color-helpers@npm:6.0.1" + checksum: 10c0/866844267d5aa5a02fe9d54f6db6fc18f6306595edb03664cc8ef15c99d3e6f3b42eb1a413c98bafa5b2dc0d8e0193da9b3bcc9d6a04f5de74cbd44935e74b3c + languageName: node + linkType: hard + +"@csstools/css-calc@npm:^3.0.0": + version: 3.1.1 + resolution: "@csstools/css-calc@npm:3.1.1" + peerDependencies: + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 + checksum: 10c0/6efcc016d988edf66e54c7bad03e352d61752cbd1b56c7557fd013868aab23505052ded8f912cd4034e216943ea1e04c957d81012489e3eddc14a57b386510ef + languageName: node + linkType: hard + +"@csstools/css-color-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/css-color-parser@npm:4.0.1" + dependencies: + "@csstools/color-helpers": "npm:^6.0.1" + "@csstools/css-calc": "npm:^3.0.0" + peerDependencies: + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 + checksum: 10c0/c46be5b9f5c0ef3cd25b47a71bd2a4d1c4856b123ecba4abe8eaa0688d3fc47f58fa67ea281d6b9efca4b9fdfa88fb045c51d0f9b8c612a56bd546d38260b138 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/css-parser-algorithms@npm:4.0.0" + peerDependencies: + "@csstools/css-tokenizer": ^4.0.0 + checksum: 10c0/94558c2428d6ef0ddef542e86e0a8376aa1263a12a59770abb13ba50d7b83086822c75433f32aa2e7fef00555e1cc88292f9ca5bce79aed232bb3fed73b1528d + languageName: node + linkType: hard + +"@csstools/css-syntax-patches-for-csstree@npm:^1.0.26": + version: 1.0.27 + resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.0.27" + checksum: 10c0/ef3f2a639109758c0f3c04520465800ca4c830174bd6f7979795083877c82ace51ab8353857b06a818cb6c0de6d4dc88f84a86fc3b021be47f11a0f1c4b74e7e + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/css-tokenizer@npm:4.0.0" + checksum: 10c0/669cf3d0f9c8e1ffdf8c9955ad8beba0c8cfe03197fe29a4fcbd9ee6f7a18856cfa42c62670021a75183d9ab37f5d14a866e6a9df753a6c07f59e36797a9ea9f + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/aix-ppc64@npm:0.27.3" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-arm64@npm:0.27.3" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-arm@npm:0.27.3" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-x64@npm:0.27.3" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/darwin-arm64@npm:0.27.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/darwin-x64@npm:0.27.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/freebsd-arm64@npm:0.27.3" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/freebsd-x64@npm:0.27.3" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-arm64@npm:0.27.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-arm@npm:0.27.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-ia32@npm:0.27.3" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-loong64@npm:0.27.3" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-mips64el@npm:0.27.3" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-ppc64@npm:0.27.3" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-riscv64@npm:0.27.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-s390x@npm:0.27.3" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-x64@npm:0.27.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/netbsd-arm64@npm:0.27.3" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/netbsd-x64@npm:0.27.3" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openbsd-arm64@npm:0.27.3" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openbsd-x64@npm:0.27.3" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openharmony-arm64@npm:0.27.3" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/sunos-x64@npm:0.27.3" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-arm64@npm:0.27.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-ia32@npm:0.27.3" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-x64@npm:0.27.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -1222,96 +635,109 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.2, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/config-array@npm:^0.21.1": + version: 0.21.1 + resolution: "@eslint/config-array@npm:0.21.1" + dependencies: + "@eslint/object-schema": "npm:^2.1.7" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/2f657d4edd6ddcb920579b72e7a5b127865d4c3fb4dda24f11d5c4f445a93ca481aebdbd6bf3291c536f5d034458dbcbb298ee3b698bc6c9dd02900fe87eec3c + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.4.2": + version: 0.4.2 + resolution: "@eslint/config-helpers@npm:0.4.2" + dependencies: + "@eslint/core": "npm:^0.17.0" + checksum: 10c0/92efd7a527b2d17eb1a148409d71d80f9ac160b565ac73ee092252e8bf08ecd08670699f46b306b94f13d22e88ac88a612120e7847570dd7cdc72f234d50dcb4 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/core@npm:0.17.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/9a580f2246633bc752298e7440dd942ec421860d1946d0801f0423830e67887e4aeba10ab9a23d281727a978eb93d053d1922a587d502942a713607f40ed704e + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.3 + resolution: "@eslint/eslintrc@npm:3.3.3" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" + js-yaml: "npm:^4.1.1" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/532c7acc7ddd042724c28b1f020bd7bf148fcd4653bb44c8314168b5f772508c842ce4ee070299cac51c5c5757d2124bdcfcef5551c8c58ff9986e3e17f2260d languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 +"@eslint/js@npm:9.39.3": + version: 9.39.3 + resolution: "@eslint/js@npm:9.39.3" + checksum: 10c0/df1c70d6681c8daf4a3c86dfac159fcd98a73c4620c4fbe2be6caab1f30a34c7de0ad88ab0e81162376d2cde1a2eed1c32eff5f917ca369870930a51f8e818f1 languageName: node linkType: hard -"@fortawesome/fontawesome-common-types@npm:7.2.0": - version: 7.2.0 - resolution: "@fortawesome/fontawesome-common-types@npm:7.2.0" - checksum: 10c0/991ca1390c078d973e92034cf7dbae2fc3aa50cd7ff322b7b23e4c54ec84dae12979bada9a782bdaea11a1577ae74d802aa651c590f41d2e1b1126c17e6cd413 +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10c0/936b6e499853d1335803f556d526c86f5fe2259ed241bc665000e1d6353828edd913feed43120d150adb75570cae162cf000b5b0dfc9596726761c36b82f4e87 languageName: node linkType: hard -"@fortawesome/fontawesome-svg-core@npm:^7.2.0": - version: 7.2.0 - resolution: "@fortawesome/fontawesome-svg-core@npm:7.2.0" +"@eslint/plugin-kit@npm:^0.4.1": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" dependencies: - "@fortawesome/fontawesome-common-types": "npm:7.2.0" - checksum: 10c0/5c6655b030254804999eb87b96111cdcc42c0789e6e9ea13bc1e37d5ebf9fb982c79a618b68272cc59c23c4e1abf73d487e747a17a61499eac5f9f528fc54ad4 + "@eslint/core": "npm:^0.17.0" + levn: "npm:^0.4.1" + checksum: 10c0/51600f78b798f172a9915dffb295e2ffb44840d583427bc732baf12ecb963eb841b253300e657da91d890f4b323d10a1bd12934bf293e3018d8bb66fdce5217b languageName: node linkType: hard -"@fortawesome/free-solid-svg-icons@npm:^7.2.0": - version: 7.2.0 - resolution: "@fortawesome/free-solid-svg-icons@npm:7.2.0" - dependencies: - "@fortawesome/fontawesome-common-types": "npm:7.2.0" - checksum: 10c0/922ffe0f53b3cebcf36a4a6872958e7d6a0fbaa5c5c73cddbdea9301181fe8625331a0bf8aa09ca54c4d284805473e38d0eb9f06da05546f1914cec2c062343f - languageName: node - linkType: hard - -"@fortawesome/vue-fontawesome@npm:^3.1.3": - version: 3.1.3 - resolution: "@fortawesome/vue-fontawesome@npm:3.1.3" +"@exodus/bytes@npm:^1.11.0, @exodus/bytes@npm:^1.6.0": + version: 1.14.1 + resolution: "@exodus/bytes@npm:1.14.1" peerDependencies: - "@fortawesome/fontawesome-svg-core": ~1 || ~6 || ~7 - vue: ">= 3.0.0 < 4" - checksum: 10c0/3d4a9ba2b30e1b12a904e95bbcc8b76d28830ba9ea1cecaffd7300454193ea1978249a6b9c448727a730caf9a33ec4f482dd8385ea8275d21c2e9ef37b56350b + "@noble/hashes": ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + "@noble/hashes": + optional: true + checksum: 10c0/486dad30992a8c81058b6b59341ee934c10a7e8016b440770de0f86d2e270950c5d37fc6724ea017295b8654c7564abf6a21cc49bed569d74721b545f571e416 languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 languageName: node linkType: hard -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" +"@humanfs/node@npm:^0.16.6": + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10c0/9f83d3cf2cfa37383e01e3cdaead11cd426208e04c44adcdd291aa983aaf72d7d3598844d2fe9ce54896bb1bf8bd4b56883376611c8905a19c44684642823f30 languageName: node linkType: hard @@ -1322,10 +748,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 languageName: node linkType: hard @@ -1343,13 +769,6 @@ __metadata: languageName: node linkType: hard -"@isaacs/cliui@npm:^9.0.0": - version: 9.0.0 - resolution: "@isaacs/cliui@npm:9.0.0" - checksum: 10c0/971063b7296419f85053dacd0a0285dcadaa3dfc139228b23e016c1a9848121ad4aa5e7fcca7522062014e1eb6239a7424188b9f2cba893a79c90aae5710319c - languageName: node - linkType: hard - "@isaacs/fs-minipass@npm:^4.0.0": version: 4.0.1 resolution: "@isaacs/fs-minipass@npm:4.0.1" @@ -1386,16 +805,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.3": - version: 0.3.11 - resolution: "@jridgewell/source-map@npm:0.3.11" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - checksum: 10c0/50a4fdafe0b8f655cb2877e59fe81320272eaa4ccdbe6b9b87f10614b2220399ae3e05c16137a59db1f189523b42c7f88bd097ee991dbd7bc0e01113c583e844 - languageName: node - linkType: hard - "@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": version: 1.5.5 resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" @@ -1403,7 +812,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": version: 0.3.31 resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: @@ -1413,22 +822,6 @@ __metadata: languageName: node linkType: hard -"@leichtgewicht/ip-codec@npm:^2.0.1": - version: 2.0.5 - resolution: "@leichtgewicht/ip-codec@npm:2.0.5" - checksum: 10c0/14a0112bd59615eef9e3446fea018045720cd3da85a98f801a685a818b0d96ef2a1f7227e8d271def546b2e2a0fe91ef915ba9dc912ab7967d2317b1a051d66b - languageName: node - linkType: hard - -"@node-ipc/js-queue@npm:2.0.3": - version: 2.0.3 - resolution: "@node-ipc/js-queue@npm:2.0.3" - dependencies: - easy-stack: "npm:1.0.1" - checksum: 10c0/8d97f018354b6d427605ddc8728aa9cb946676a43b648088264735643d78f0eb2dca5f7f6e52205f0a32c76ed5492ef3758f97c60b53c631c715f8e51610c9ed - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -1446,7 +839,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -1485,150 +878,139 @@ __metadata: languageName: node linkType: hard -"@parcel/watcher-android-arm64@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-android-arm64@npm:2.5.6" +"@oxlint/binding-android-arm-eabi@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-android-arm-eabi@npm:1.47.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-android-arm64@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-android-arm64@npm:1.47.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-darwin-arm64@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-darwin-arm64@npm:2.5.6" +"@oxlint/binding-darwin-arm64@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-darwin-arm64@npm:1.47.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-darwin-x64@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-darwin-x64@npm:2.5.6" +"@oxlint/binding-darwin-x64@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-darwin-x64@npm:1.47.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@parcel/watcher-freebsd-x64@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-freebsd-x64@npm:2.5.6" +"@oxlint/binding-freebsd-x64@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-freebsd-x64@npm:1.47.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@parcel/watcher-linux-arm-glibc@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.6" - conditions: os=linux & cpu=arm & libc=glibc +"@oxlint/binding-linux-arm-gnueabihf@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-arm-gnueabihf@npm:1.47.0" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@parcel/watcher-linux-arm-musl@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.6" - conditions: os=linux & cpu=arm & libc=musl +"@oxlint/binding-linux-arm-musleabihf@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-arm-musleabihf@npm:1.47.0" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@parcel/watcher-linux-arm64-glibc@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.6" +"@oxlint/binding-linux-arm64-gnu@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-arm64-gnu@npm:1.47.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@parcel/watcher-linux-arm64-musl@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.6" +"@oxlint/binding-linux-arm64-musl@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-arm64-musl@npm:1.47.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@parcel/watcher-linux-x64-glibc@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.6" +"@oxlint/binding-linux-ppc64-gnu@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-ppc64-gnu@npm:1.47.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-gnu@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-riscv64-gnu@npm:1.47.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-musl@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-riscv64-musl@npm:1.47.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-s390x-gnu@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-s390x-gnu@npm:1.47.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-gnu@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-x64-gnu@npm:1.47.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@parcel/watcher-linux-x64-musl@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.6" +"@oxlint/binding-linux-x64-musl@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-linux-x64-musl@npm:1.47.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@parcel/watcher-win32-arm64@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-win32-arm64@npm:2.5.6" +"@oxlint/binding-openharmony-arm64@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-openharmony-arm64@npm:1.47.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-win32-arm64-msvc@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-win32-arm64-msvc@npm:1.47.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-win32-ia32@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-win32-ia32@npm:2.5.6" +"@oxlint/binding-win32-ia32-msvc@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-win32-ia32-msvc@npm:1.47.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@parcel/watcher-win32-x64@npm:2.5.6": - version: 2.5.6 - resolution: "@parcel/watcher-win32-x64@npm:2.5.6" +"@oxlint/binding-win32-x64-msvc@npm:1.47.0": + version: 1.47.0 + resolution: "@oxlint/binding-win32-x64-msvc@npm:1.47.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@parcel/watcher@npm:^2.4.1": - version: 2.5.6 - resolution: "@parcel/watcher@npm:2.5.6" - dependencies: - "@parcel/watcher-android-arm64": "npm:2.5.6" - "@parcel/watcher-darwin-arm64": "npm:2.5.6" - "@parcel/watcher-darwin-x64": "npm:2.5.6" - "@parcel/watcher-freebsd-x64": "npm:2.5.6" - "@parcel/watcher-linux-arm-glibc": "npm:2.5.6" - "@parcel/watcher-linux-arm-musl": "npm:2.5.6" - "@parcel/watcher-linux-arm64-glibc": "npm:2.5.6" - "@parcel/watcher-linux-arm64-musl": "npm:2.5.6" - "@parcel/watcher-linux-x64-glibc": "npm:2.5.6" - "@parcel/watcher-linux-x64-musl": "npm:2.5.6" - "@parcel/watcher-win32-arm64": "npm:2.5.6" - "@parcel/watcher-win32-ia32": "npm:2.5.6" - "@parcel/watcher-win32-x64": "npm:2.5.6" - detect-libc: "npm:^2.0.3" - is-glob: "npm:^4.0.3" - node-addon-api: "npm:^7.0.0" - node-gyp: "npm:latest" - picomatch: "npm:^4.0.3" - dependenciesMeta: - "@parcel/watcher-android-arm64": - optional: true - "@parcel/watcher-darwin-arm64": - optional: true - "@parcel/watcher-darwin-x64": - optional: true - "@parcel/watcher-freebsd-x64": - optional: true - "@parcel/watcher-linux-arm-glibc": - optional: true - "@parcel/watcher-linux-arm-musl": - optional: true - "@parcel/watcher-linux-arm64-glibc": - optional: true - "@parcel/watcher-linux-arm64-musl": - optional: true - "@parcel/watcher-linux-x64-glibc": - optional: true - "@parcel/watcher-linux-x64-musl": - optional: true - "@parcel/watcher-win32-arm64": - optional: true - "@parcel/watcher-win32-ia32": - optional: true - "@parcel/watcher-win32-x64": - optional: true - checksum: 10c0/1e1d91f92e94e4640089a7cead243b2b81ca9aa8e1c862a97a25f589e84fbf1ad93abeb503f325c43a8c0e024ae0e74b48ec42c1cd84e8e423a3a87d25ded4f2 - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -1643,84 +1025,203 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 +"@rolldown/pluginutils@npm:1.0.0-rc.2": + version: 1.0.0-rc.2 + resolution: "@rolldown/pluginutils@npm:1.0.0-rc.2" + checksum: 10c0/35d3dec35e00ab090d5ff8287e27af98a15da897dc8b034fe0e00d03e0931b9e993603c054be9e8925e2bde040c44c18b48cb8aeea6a261fd1c8f46837038927 languageName: node linkType: hard -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c +"@rollup/rollup-android-arm-eabi@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.58.0" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 +"@rollup/rollup-android-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-android-arm64@npm:4.58.0" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@soda/friendly-errors-webpack-plugin@npm:^1.8.0": - version: 1.8.1 - resolution: "@soda/friendly-errors-webpack-plugin@npm:1.8.1" - dependencies: - chalk: "npm:^3.0.0" - error-stack-parser: "npm:^2.0.6" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 10c0/221d1a255f0a7062fc54550484b5b675596fe38adb10d323894aa070de9a245e198e715a4ea56ef8368969158fa275f771d39aaa0cb552df53431d76dc0e5130 +"@rollup/rollup-darwin-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.58.0" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@soda/get-current-script@npm:^1.0.2": - version: 1.0.2 - resolution: "@soda/get-current-script@npm:1.0.2" - checksum: 10c0/f073459aa472ec2e0bc6e393586201334e9cddbe663e39b6ec4ca555e34412b1fd892f288b89e3b8f368bd78b2634ee5d7b58a6bd2843d5c10e64b53c6a9b2fb +"@rollup/rollup-darwin-x64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.58.0" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 10c0/073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 +"@rollup/rollup-freebsd-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.58.0" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@trysound/sax@npm:0.2.0": - version: 0.2.0 - resolution: "@trysound/sax@npm:0.2.0" - checksum: 10c0/44907308549ce775a41c38a815f747009ac45929a45d642b836aa6b0a536e4978d30b8d7d680bbd116e9dd73b7dbe2ef0d1369dcfc2d09e83ba381e485ecbe12 +"@rollup/rollup-freebsd-x64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.58.0" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@types/body-parser@npm:*": - version: 1.19.6 - resolution: "@types/body-parser@npm:1.19.6" - dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/542da05c924dce58ee23f50a8b981fee36921850c82222e384931fda3e106f750f7880c47be665217d72dbe445129049db6eb1f44e7a06b09d62af8f3cca8ea7 +"@rollup/rollup-linux-arm-gnueabihf@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.58.0" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@types/bonjour@npm:^3.5.9": - version: 3.5.13 - resolution: "@types/bonjour@npm:3.5.13" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/eebedbca185ac3c39dd5992ef18d9e2a9f99e7f3c2f52f5561f90e9ed482c5d224c7962db95362712f580ed5713264e777a98d8f0bd8747f4eadf62937baed16 +"@rollup/rollup-linux-arm-musleabihf@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.58.0" + conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@types/chai@npm:^5.2.3": +"@rollup/rollup-linux-arm64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.58.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.58.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.58.0" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.58.0" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.58.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.58.0" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.58.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.58.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.58.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.58.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.58.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openbsd-x64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-openbsd-x64@npm:4.58.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.58.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.58.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.58.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.58.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.58.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@standard-schema/spec@npm:^1.0.0": + version: 1.1.0 + resolution: "@standard-schema/spec@npm:1.1.0" + checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526 + languageName: node + linkType: hard + +"@tsconfig/node24@npm:^24.0.4": + version: 24.0.4 + resolution: "@tsconfig/node24@npm:24.0.4" + checksum: 10c0/9c5d4173204c6935c45d3ff0584fd423bd7d8bc3f6b246e646320ae584e4226b34ea1c66ec67cd16769c73e7e80f4cc562287b0acaa4ec81aa482463972ff83f + languageName: node + linkType: hard + +"@types/chai@npm:^5.2.2": version: 5.2.3 resolution: "@types/chai@npm:5.2.3" dependencies: @@ -1730,25 +1231,6 @@ __metadata: languageName: node linkType: hard -"@types/connect-history-api-fallback@npm:^1.3.5": - version: 1.5.4 - resolution: "@types/connect-history-api-fallback@npm:1.5.4" - dependencies: - "@types/express-serve-static-core": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/1b4035b627dcd714b05a22557f942e24a57ca48e7377dde0d2f86313fe685bc0a6566512a73257a55b5665b96c3041fb29228ac93331d8133011716215de8244 - languageName: node - linkType: hard - -"@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c - languageName: node - linkType: hard - "@types/deep-eql@npm:*": version: 4.0.2 resolution: "@types/deep-eql@npm:4.0.2" @@ -1756,487 +1238,153 @@ __metadata: languageName: node linkType: hard -"@types/eslint-scope@npm:^3.7.7": - version: 3.7.7 - resolution: "@types/eslint-scope@npm:3.7.7" - dependencies: - "@types/eslint": "npm:*" - "@types/estree": "npm:*" - checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc +"@types/esrecurse@npm:^4.3.1": + version: 4.3.1 + resolution: "@types/esrecurse@npm:4.3.1" + checksum: 10c0/90dad74d5da3ad27606d8e8e757322f33171cfeaa15ad558b615cf71bb2a516492d18f55f4816384685a3eb2412142e732bbae9a4a7cd2cf3deb7572aa4ebe03 languageName: node linkType: hard -"@types/eslint@npm:*": - version: 9.6.1 - resolution: "@types/eslint@npm:9.6.1" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e - languageName: node - linkType: hard - -"@types/eslint@npm:^7.29.0 || ^8.4.1": - version: 8.56.12 - resolution: "@types/eslint@npm:8.56.12" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 10c0/e4ca426abe9d55f82b69a3250bec78b6d340ad1e567f91c97ecc59d3b2d6a1d8494955ac62ad0ea14b97519db580611c02be8277cbea370bdfb0f96aa2910504 - languageName: node - linkType: hard - -"@types/estree@npm:*, @types/estree@npm:^1.0.8": +"@types/estree@npm:1.0.8, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 languageName: node linkType: hard -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": - version: 5.1.1 - resolution: "@types/express-serve-static-core@npm:5.1.1" +"@types/jsdom@npm:^27.0.0": + version: 27.0.0 + resolution: "@types/jsdom@npm:27.0.0" dependencies: "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/ee88216e114368ef06bcafeceb74a7e8671b90900fb0ab1d49ff41542c3a344231ef0d922bf63daa79f0585f3eebe2ce5ec7f83facc581eff8bcdb136a225ef3 + "@types/tough-cookie": "npm:*" + parse5: "npm:^7.0.0" + checksum: 10c0/1ec7ff7177e1f7266e51279f07f3cd013e1713766b01eebceac783061675b31c672a47b0a508dcbaf040f7f22d90405858378c6c5358991989fbe8b95adde354 languageName: node linkType: hard -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.19.8 - resolution: "@types/express-serve-static-core@npm:4.19.8" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/6fb58a85b209e0e421b29c52e0a51dbf7c039b711c604cf45d46470937a5c7c16b30aa5ce9bf7da0bd8a2e9361c95b5055599c0500a96bf4414d26c81f02d7fe - languageName: node - linkType: hard - -"@types/express@npm:*": - version: 5.0.6 - resolution: "@types/express@npm:5.0.6" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^5.0.0" - "@types/serve-static": "npm:^2" - checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b - languageName: node - linkType: hard - -"@types/express@npm:^4.17.13": - version: 4.17.25 - resolution: "@types/express@npm:4.17.25" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:^1" - checksum: 10c0/f42b616d2c9dbc50352c820db7de182f64ebbfa8dba6fb6c98e5f8f0e2ef3edde0131719d9dc6874803d25ad9ca2d53471d0fec2fbc60a6003a43d015bab72c4 - languageName: node - linkType: hard - -"@types/glob@npm:^7.1.1": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" - dependencies: - "@types/minimatch": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 - languageName: node - linkType: hard - -"@types/html-minifier-terser@npm:^6.0.0": - version: 6.1.0 - resolution: "@types/html-minifier-terser@npm:6.1.0" - checksum: 10c0/a62fb8588e2f3818d82a2d7b953ad60a4a52fd767ae04671de1c16f5788bd72f1ed3a6109ed63fd190c06a37d919e3c39d8adbc1793a005def76c15a3f5f5dab - languageName: node - linkType: hard - -"@types/http-errors@npm:*": - version: 2.0.5 - resolution: "@types/http-errors@npm:2.0.5" - checksum: 10c0/00f8140fbc504f47356512bd88e1910c2f07e04233d99c88c854b3600ce0523c8cd0ba7d1897667243282eb44c59abb9245959e2428b9de004f93937f52f7c15 - languageName: node - linkType: hard - -"@types/http-proxy@npm:^1.17.8": - version: 1.17.17 - resolution: "@types/http-proxy@npm:1.17.17" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/547e322a5eecf0b50d08f6a46bd89c8c8663d67dbdcd472da5daf968b03e63a82f6b3650443378abe6c10a46475dac52015f30e8c74ba2ea5820dd4e9cdef2d4 - languageName: node - linkType: hard - -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db languageName: node linkType: hard -"@types/luxon@npm:^3.7.1": - version: 3.7.1 - resolution: "@types/luxon@npm:3.7.1" - checksum: 10c0/2db30c13b58adcd86daa447faa3ba59515fe907ead8ee3e6bb716d662812af0619d712f6c1eb190cdd7f9d2c00444c3ecd80af0f36e8143eb0c5e7339d6b2aca - languageName: node - linkType: hard - -"@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc - languageName: node - linkType: hard - -"@types/minimatch@npm:*": - version: 6.0.0 - resolution: "@types/minimatch@npm:6.0.0" +"@types/node@npm:*, @types/node@npm:^25.3.0": + version: 25.3.0 + resolution: "@types/node@npm:25.3.0" dependencies: - minimatch: "npm:*" - checksum: 10c0/901fc4208cf6f5ab0e86bf86504055fb387f76092e06e604a3f2403db1c20e613c42104b235fde05552e0632d8f82e4ceacb83351d8700c7ffc5c31010a80804 + undici-types: "npm:~7.18.0" + checksum: 10c0/7b2b18c9d68047157367fc2f786d4f166d22dc0ad9f82331ca02fb16f2f391854123dbe604dcb938cda119c87051e4bb71dcb9ece44a579f483a6f96d4bd41de languageName: node linkType: hard -"@types/minimist@npm:^1.2.0": - version: 1.2.5 - resolution: "@types/minimist@npm:1.2.5" - checksum: 10c0/3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 +"@types/tough-cookie@npm:*": + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: 10c0/68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 languageName: node linkType: hard -"@types/mocha@npm:^10.0.10": - version: 10.0.10 - resolution: "@types/mocha@npm:10.0.10" - checksum: 10c0/d2b8c48138cde6923493e42b38e839695eb42edd04629abe480a8f34c0e3f50dd82a55832c2e8d2b6e6f9e4deb492d7d733e600fbbdd5a0ceccbcfc6844ff9d5 - languageName: node - linkType: hard - -"@types/node-forge@npm:^1.3.0": - version: 1.3.14 - resolution: "@types/node-forge@npm:1.3.14" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/da6158fd34fa7652aa7f8164508f97a76b558724ab292f13c257e39d54d95d4d77604e8fb14dc454a867f1aeec7af70118294889195ec4400cecbb8a5c77a212 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 25.2.3 - resolution: "@types/node@npm:25.2.3" - dependencies: - undici-types: "npm:~7.16.0" - checksum: 10c0/925833029ce0bb4a72c36f90b93287184d3511aeb0fa60a994ae94b5430c22f9be6693d67d210df79267cb54c6f6978caaefb149d99ab5f83af5827ba7cb9822 - languageName: node - linkType: hard - -"@types/normalize-package-data@npm:^2.4.0": - version: 2.4.4 - resolution: "@types/normalize-package-data@npm:2.4.4" - checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 - languageName: node - linkType: hard - -"@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 - languageName: node - linkType: hard - -"@types/qs@npm:*": - version: 6.14.0 - resolution: "@types/qs@npm:6.14.0" - checksum: 10c0/5b3036df6e507483869cdb3858201b2e0b64b4793dc4974f188caa5b5732f2333ab9db45c08157975054d3b070788b35088b4bc60257ae263885016ee2131310 - languageName: node - linkType: hard - -"@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c - languageName: node - linkType: hard - -"@types/retry@npm:0.12.0": - version: 0.12.0 - resolution: "@types/retry@npm:0.12.0" - checksum: 10c0/7c5c9086369826f569b83a4683661557cab1361bac0897a1cefa1a915ff739acd10ca0d62b01071046fe3f5a3f7f2aec80785fe283b75602dc6726781ea3e328 - languageName: node - linkType: hard - -"@types/send@npm:*": - version: 1.2.1 - resolution: "@types/send@npm:1.2.1" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/7673747f8c2d8e67f3b1b3b57e9d4d681801a4f7b526ecf09987bb9a84a61cf94aa411c736183884dc762c1c402a61681eb1ef200d8d45d7e5ec0ab67ea5f6c1 - languageName: node - linkType: hard - -"@types/send@npm:<1": - version: 0.17.6 - resolution: "@types/send@npm:0.17.6" - dependencies: - "@types/mime": "npm:^1" - "@types/node": "npm:*" - checksum: 10c0/a9d76797f0637738062f1b974e0fcf3d396a28c5dc18c3f95ecec5dabda82e223afbc2d56a0bca46b6326fd7bb229979916cea40de2270a98128fd94441b87c2 - languageName: node - linkType: hard - -"@types/serve-index@npm:^1.9.1": - version: 1.9.4 - resolution: "@types/serve-index@npm:1.9.4" - dependencies: - "@types/express": "npm:*" - checksum: 10c0/94c1b9e8f1ea36a229e098e1643d5665d9371f8c2658521718e259130a237c447059b903bac0dcc96ee2c15fd63f49aa647099b7d0d437a67a6946527a837438 - languageName: node - linkType: hard - -"@types/serve-static@npm:^1, @types/serve-static@npm:^1.13.10": - version: 1.15.10 - resolution: "@types/serve-static@npm:1.15.10" - dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - "@types/send": "npm:<1" - checksum: 10c0/842fca14c9e80468f89b6cea361773f2dcd685d4616a9f59013b55e1e83f536e4c93d6d8e3ba5072d40c4e7e64085210edd6646b15d538ded94512940a23021f - languageName: node - linkType: hard - -"@types/serve-static@npm:^2": - version: 2.2.0 - resolution: "@types/serve-static@npm:2.2.0" - dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094 - languageName: node - linkType: hard - -"@types/sockjs@npm:^0.3.33": - version: 0.3.36 - resolution: "@types/sockjs@npm:0.3.36" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/b20b7820ee813f22de4f2ce98bdd12c68c930e016a8912b1ed967595ac0d8a4cbbff44f4d486dd97f77f5927e7b5725bdac7472c9ec5b27f53a5a13179f0612f - languageName: node - linkType: hard - -"@types/webpack-env@npm:^1.15.2": - version: 1.18.8 - resolution: "@types/webpack-env@npm:1.18.8" - checksum: 10c0/527a5d1eb75c5243e4f3665d956c7c340f899955dd25d16c9fd9750406f32e95a3a17d207640295038e8235c0c2a2daf084f420e088e58b965d82fc74f6012d7 - languageName: node - linkType: hard - -"@types/ws@npm:^8.5.5": - version: 8.18.1 - resolution: "@types/ws@npm:8.18.1" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^7.1.1": - version: 7.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/type-utils": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.55.0" +"@typescript-eslint/eslint-plugin@npm:8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.56.0" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/type-utils": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" + "@typescript-eslint/scope-manager": "npm:8.56.0" + "@typescript-eslint/type-utils": "npm:8.56.0" + "@typescript-eslint/utils": "npm:8.56.0" + "@typescript-eslint/visitor-keys": "npm:8.56.0" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.4.0" peerDependencies: - "@typescript-eslint/parser": ^8.55.0 - eslint: ^8.57.0 || ^9.0.0 + "@typescript-eslint/parser": ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/e15973dfc822f6a455142433fa393ea2dd9fd4ba443e0d2fb68c6be7cd9a36e13412f061ccfe436a2c90fa070c4538bdd50985d374e85606c98800d372c17eb9 + checksum: 10c0/26e56d14562b3d2d34b366859ec56668fdac909d6ea534451cdb4267846ff50dcccd0026a4eba71ca41f7c8bdef30ef1356620c1ff2363ad64bd8fad33a72b19 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.1.1": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" +"@typescript-eslint/parser@npm:8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/parser@npm:8.56.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/parser@npm:8.55.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" + "@typescript-eslint/scope-manager": "npm:8.56.0" + "@typescript-eslint/types": "npm:8.56.0" + "@typescript-eslint/typescript-estree": "npm:8.56.0" + "@typescript-eslint/visitor-keys": "npm:8.56.0" debug: "npm:^4.4.3" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8b8f8caf64a43b98bff8e7bb99cd62d7c72daeee44e80e0a5f693dd376d9c898997e0b9fd5521604d1445bcb24552f54aed5cae022072f8c354a2baf2a452284 + checksum: 10c0/f3a29c6fdc4e0d1a1e7ddb9909ab839c2f67591933e432c10f44aabb69ae2229f8d2072a220f63b70618cc35c67ff53de0ed110be86b33f4f354c19993f764cb languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/project-service@npm:8.55.0" +"@typescript-eslint/project-service@npm:8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/project-service@npm:8.56.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.55.0" - "@typescript-eslint/types": "npm:^8.55.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.56.0" + "@typescript-eslint/types": "npm:^8.56.0" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/f35273a63635d2de84409f68dfcea901ed2cd3f08206abb825d742b929c8fce66e0a6a32524d87ce895a7c4c2549e4388baa08644c0a5244c9708151b0f62f52 + checksum: 10c0/8302dc30ad8c0342137998ea872782cdd673f9e7ec4b244eeb0976915b86d6c44ef55485e2cdac2987dbf309d3663aaf293c85e88326093fc7656b51432369f6 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/scope-manager@npm:7.18.0" +"@typescript-eslint/scope-manager@npm:8.56.0, @typescript-eslint/scope-manager@npm:^8.55.0": + version: 8.56.0 + resolution: "@typescript-eslint/scope-manager@npm:8.56.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e + "@typescript-eslint/types": "npm:8.56.0" + "@typescript-eslint/visitor-keys": "npm:8.56.0" + checksum: 10c0/898b705295e0a4081702a52f98e0d1e50f8047900becd087b232bc71f8af2b87ed70a065bed0076a26abec8f4e5c6bb4a3a0de33b7ea0e3704ecdc7487043b57 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/scope-manager@npm:8.55.0" - dependencies: - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" - checksum: 10c0/c42bd6b8e4936cac8bee3adbc2f707e3aee5f16af3dd18c1d095f4a1b881471b58de73abc0ad176db98654683a808946902e51d86efff39dc7610d29152c3078 - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.55.0, @typescript-eslint/tsconfig-utils@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.55.0" +"@typescript-eslint/tsconfig-utils@npm:8.56.0, @typescript-eslint/tsconfig-utils@npm:^8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.56.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/77b9a0d0b1d6ab0ce26c81394bb1aa969649016d2857e5f915a15b88012ac3dccec9fc5ff65535e1cc373434e1462513f7964e416a8d7a695f7277dcd39ec2af + checksum: 10c0/20f48af8b497d8a730dcac3724314b4f49ecc436f8871f3e17f5193d83e7d290c8838a126971767cd011208969bc4ff0f4bddc40eac167348c88d29fdb379c8b languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/type-utils@npm:7.18.0" +"@typescript-eslint/type-utils@npm:8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/type-utils@npm:8.56.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/type-utils@npm:8.55.0" - dependencies: - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" + "@typescript-eslint/types": "npm:8.56.0" + "@typescript-eslint/typescript-estree": "npm:8.56.0" + "@typescript-eslint/utils": "npm:8.56.0" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.4.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/4987440d6e1ee2ae8024259796381612ab2fc81821ff93c45400f803726ea4894a25d07afa5f80cdf3081a189d99dc83a3a8dcd94ff9a4cab81461fe28ab9aef + checksum: 10c0/4da61c36fa46f9d21a519a06b4ea6c91e9fa8a8e420fede41fb5d0f29866faa11641562b6e01c221ca6ec86bc0c3ecd7b8f11fc85b92277c3fd450ffc8fa2522 languageName: node linkType: hard -"@typescript-eslint/types@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/types@npm:7.18.0" - checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 +"@typescript-eslint/types@npm:8.56.0, @typescript-eslint/types@npm:^8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/types@npm:8.56.0" + checksum: 10c0/5deb4ebf5fa62f9f927f6aa45f7245aa03567e88941cd76e7b083175fd59fc40368a804ba7ff7581eac75706e42ddd5c77d2a60d6b1e76ab7865d559c9af9937 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.55.0, @typescript-eslint/types@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/types@npm:8.55.0" - checksum: 10c0/dc572f55966e2f0fee149e5d5e42a91cedcdeac451bff29704eb701f9336f123bbc7d7abcfbda717f9e1ef6b402fa24679908bc6032e67513287403037ef345f - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" +"@typescript-eslint/typescript-estree@npm:8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.56.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.55.0" - dependencies: - "@typescript-eslint/project-service": "npm:8.55.0" - "@typescript-eslint/tsconfig-utils": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" + "@typescript-eslint/project-service": "npm:8.56.0" + "@typescript-eslint/tsconfig-utils": "npm:8.56.0" + "@typescript-eslint/types": "npm:8.56.0" + "@typescript-eslint/visitor-keys": "npm:8.56.0" debug: "npm:^4.4.3" minimatch: "npm:^9.0.5" semver: "npm:^7.7.3" @@ -2244,77 +1392,170 @@ __metadata: ts-api-utils: "npm:^2.4.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/2db3ff9489945ad04508b14009eb0f6b2b7c6c2469805327fa09ffa460af354cd181ff2e8153f9008bd60254efb54a004a59ccacbdbc9c963956e2c2c1189dbc + checksum: 10c0/cc2ba5bbfabb71c1510aea8fb8bf0d8385cabb9ca5b65a621e73f3088a91089a02aea56a9d9a31bd707593b5ba4d33d0aa2fcbdeee3cc7f4eca8226107523c28 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/utils@npm:7.18.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/utils@npm:8.55.0" +"@typescript-eslint/utils@npm:8.56.0, @typescript-eslint/utils@npm:^8.55.0, @typescript-eslint/utils@npm:^8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/utils@npm:8.56.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" + "@typescript-eslint/scope-manager": "npm:8.56.0" + "@typescript-eslint/types": "npm:8.56.0" + "@typescript-eslint/typescript-estree": "npm:8.56.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/b57b86ac531e433c8057279805e6c903250460bc937cea46ec3b9284181a38f23b7c1ef092e8a1e37179432b39bd587c33db7f031b4243b1207ef37f23e4f24f + checksum: 10c0/49545d399345bb4d8113d1001ec60c05c7e0d28fd44cb3c75128e58a53c9bf7ae8d0680ca089a4f37ab9eea8a3ef39011fc731eb4ad8dd4ab642849d84318645 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" +"@typescript-eslint/visitor-keys@npm:8.56.0": + version: 8.56.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.56.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 + "@typescript-eslint/types": "npm:8.56.0" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/4cb7668430042da70707ac5cad826348e808af94095aca1f3d07d39d566745a33991d3defccd1e687f1b1f8aeea52eeb47591933e962452eb51c4bcd88773c12 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.55.0" +"@vitejs/plugin-vue@npm:^6.0.4": + version: 6.0.4 + resolution: "@vitejs/plugin-vue@npm:6.0.4" dependencies: - "@typescript-eslint/types": "npm:8.55.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/995c5ca91f7c7c1f3c4fdb4f98654abdff55efa570076b9b012da4cc203ebe7e2aee57ba83208ae51c2aef496c45cb8f6909560349131b779f31ce6f8758da23 + "@rolldown/pluginutils": "npm:1.0.0-rc.2" + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vue: ^3.2.25 + checksum: 10c0/38ba89e52cb663b0da8a0c202f315e92e47874bc1347ce5591c8e982342c33ad046389f174237bcf7c215fbad08c927c2c582d36ae76f9ababe7763a388a5b63 languageName: node linkType: hard -"@ungap/promise-all-settled@npm:1.1.2": - version: 1.1.2 - resolution: "@ungap/promise-all-settled@npm:1.1.2" - checksum: 10c0/7f9862bae3b6ce30675783428933be1738dca278901a6bcb55c29b8f54c08863ec8e6a7c884119877d90336501c33b7cfda36355ec7af4d703f65f54cb768913 +"@vitest/eslint-plugin@npm:^1.6.9": + version: 1.6.9 + resolution: "@vitest/eslint-plugin@npm:1.6.9" + dependencies: + "@typescript-eslint/scope-manager": "npm:^8.55.0" + "@typescript-eslint/utils": "npm:^8.55.0" + peerDependencies: + eslint: ">=8.57.0" + typescript: ">=5.0.0" + vitest: "*" + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + checksum: 10c0/37325e6e50c812fba52477683a8c46fe5a98d2ef441d108736309236889850af466e56af0ec625af0df036cb841005cc5c916266319453c316e661b3ce539a10 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.2.0": - version: 1.3.0 - resolution: "@ungap/structured-clone@npm:1.3.0" - checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a +"@vitest/expect@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/expect@npm:4.0.18" + dependencies: + "@standard-schema/spec": "npm:^1.0.0" + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:4.0.18" + "@vitest/utils": "npm:4.0.18" + chai: "npm:^6.2.1" + tinyrainbow: "npm:^3.0.3" + checksum: 10c0/123b0aa111682e82ec5289186df18037b1a1768700e468ee0f9879709aaa320cf790463c15c0d8ee10df92b402f4394baf5d27797e604d78e674766d87bcaadc languageName: node linkType: hard -"@vue/babel-helper-vue-jsx-merge-props@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-helper-vue-jsx-merge-props@npm:1.4.0" - checksum: 10c0/176a75390b5d41599ecc9120a155a3a85b0559afc8b3aa32555c758c6c17e38a7373b068c3e74f9ba314e61529de8a75d262efe4bd441dfa35b531072ce30e4c +"@vitest/mocker@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/mocker@npm:4.0.18" + dependencies: + "@vitest/spy": "npm:4.0.18" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.21" + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/fb0a257e7e167759d4ad228d53fa7bad2267586459c4a62188f2043dd7163b4b02e1e496dc3c227837f776e7d73d6c4343613e89e7da379d9d30de8260f1ee4b + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/pretty-format@npm:4.0.18" + dependencies: + tinyrainbow: "npm:^3.0.3" + checksum: 10c0/0086b8c88eeca896d8e4b98fcdef452c8041a1b63eb9e85d3e0bcc96c8aa76d8e9e0b6990ebb0bb0a697c4ebab347e7735888b24f507dbff2742ddce7723fd94 + languageName: node + linkType: hard + +"@vitest/runner@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/runner@npm:4.0.18" + dependencies: + "@vitest/utils": "npm:4.0.18" + pathe: "npm:^2.0.3" + checksum: 10c0/fdb4afa411475133c05ba266c8092eaf1e56cbd5fb601f92ec6ccb9bab7ca52e06733ee8626599355cba4ee71cb3a8f28c84d3b69dc972e41047edc50229bc01 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/snapshot@npm:4.0.18" + dependencies: + "@vitest/pretty-format": "npm:4.0.18" + magic-string: "npm:^0.30.21" + pathe: "npm:^2.0.3" + checksum: 10c0/d3bfefa558db9a69a66886ace6575eb96903a5ba59f4d9a5d0fecb4acc2bb8dbb443ef409f5ac1475f2e1add30bd1d71280f98912da35e89c75829df9e84ea43 + languageName: node + linkType: hard + +"@vitest/spy@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/spy@npm:4.0.18" + checksum: 10c0/6de537890b3994fcadb8e8d8ac05942320ae184f071ec395d978a5fba7fa928cbb0c5de85af86a1c165706c466e840de8779eaff8c93450c511c7abaeb9b8a4e + languageName: node + linkType: hard + +"@vitest/utils@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/utils@npm:4.0.18" + dependencies: + "@vitest/pretty-format": "npm:4.0.18" + tinyrainbow: "npm:^3.0.3" + checksum: 10c0/4a3c43c1421eb90f38576926496f6c80056167ba111e63f77cf118983902673737a1a38880b890d7c06ec0a12475024587344ee502b3c43093781533022f2aeb + languageName: node + linkType: hard + +"@volar/language-core@npm:2.4.27": + version: 2.4.27 + resolution: "@volar/language-core@npm:2.4.27" + dependencies: + "@volar/source-map": "npm:2.4.27" + checksum: 10c0/8fe021ecb0654dde1e221bba4d456d681454fa06a4aff16d0b027d5a1b0514be72bf899c6a515d8e9254ffbd468690e296ffb4cae7e63f6a4ec359d5e8a718be + languageName: node + linkType: hard + +"@volar/source-map@npm:2.4.27": + version: 2.4.27 + resolution: "@volar/source-map@npm:2.4.27" + checksum: 10c0/717db4d98cf70a9a12fcde71fb92854d19d3aa0e62b7343865c7bb624a5f691579e5f8b8d33f851cf6bebb8a69de372d12586b6f66947ed65b9ad58fdad941bf + languageName: node + linkType: hard + +"@volar/typescript@npm:2.4.27": + version: 2.4.27 + resolution: "@volar/typescript@npm:2.4.27" + dependencies: + "@volar/language-core": "npm:2.4.27" + path-browserify: "npm:^1.0.1" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/63127dc16c5f2eb346f53d62b6414418935cd48b81f82152c755e8bac61d28eb17ee47e6adcea535c74b84830ca5b78862b9f8fa1574dcd4abec1c50ae935a7a languageName: node linkType: hard @@ -2325,7 +1566,7 @@ __metadata: languageName: node linkType: hard -"@vue/babel-plugin-jsx@npm:^1.0.3": +"@vue/babel-plugin-jsx@npm:^1.1.5": version: 1.5.0 resolution: "@vue/babel-plugin-jsx@npm:1.5.0" dependencies: @@ -2362,357 +1603,6 @@ __metadata: languageName: node linkType: hard -"@vue/babel-plugin-transform-vue-jsx@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-plugin-transform-vue-jsx@npm:1.4.0" - dependencies: - "@babel/helper-module-imports": "npm:^7.0.0" - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props": "npm:^1.4.0" - html-tags: "npm:^2.0.0" - lodash.kebabcase: "npm:^4.1.1" - svg-tags: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/791d0f252947f634bebe975816e0c17a4bf942460492bcde5dd8c663819949c2c54181712154470adbe7d023016ae989ab886ac6ac7519674e53b714ee690525 - languageName: node - linkType: hard - -"@vue/babel-preset-app@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/babel-preset-app@npm:5.0.9" - dependencies: - "@babel/core": "npm:^7.12.16" - "@babel/helper-compilation-targets": "npm:^7.12.16" - "@babel/helper-module-imports": "npm:^7.12.13" - "@babel/plugin-proposal-class-properties": "npm:^7.12.13" - "@babel/plugin-proposal-decorators": "npm:^7.12.13" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-jsx": "npm:^7.12.13" - "@babel/plugin-transform-runtime": "npm:^7.12.15" - "@babel/preset-env": "npm:^7.12.16" - "@babel/runtime": "npm:^7.12.13" - "@vue/babel-plugin-jsx": "npm:^1.0.3" - "@vue/babel-preset-jsx": "npm:^1.1.2" - babel-plugin-dynamic-import-node: "npm:^2.3.3" - core-js: "npm:^3.8.3" - core-js-compat: "npm:^3.8.3" - semver: "npm:^7.3.4" - peerDependencies: - "@babel/core": "*" - core-js: ^3 - vue: ^2 || ^3.2.13 - peerDependenciesMeta: - core-js: - optional: true - vue: - optional: true - checksum: 10c0/6ff8227c919bf3d86894ffaae7f96959bdf8073412b4c0233e37eb3fce061222cd52815d1ebc2ea4caadd08f2d32f8595b89acce2ca543e2ed49b505193ad70a - languageName: node - linkType: hard - -"@vue/babel-preset-jsx@npm:^1.1.2": - version: 1.4.0 - resolution: "@vue/babel-preset-jsx@npm:1.4.0" - dependencies: - "@vue/babel-helper-vue-jsx-merge-props": "npm:^1.4.0" - "@vue/babel-plugin-transform-vue-jsx": "npm:^1.4.0" - "@vue/babel-sugar-composition-api-inject-h": "npm:^1.4.0" - "@vue/babel-sugar-composition-api-render-instance": "npm:^1.4.0" - "@vue/babel-sugar-functional-vue": "npm:^1.4.0" - "@vue/babel-sugar-inject-h": "npm:^1.4.0" - "@vue/babel-sugar-v-model": "npm:^1.4.0" - "@vue/babel-sugar-v-on": "npm:^1.4.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - vue: "*" - peerDependenciesMeta: - vue: - optional: true - checksum: 10c0/20ab15ccd012788f81f656f4671bfce2216e39ee6e0d6e9f3beb6ddc26150fe9505efd92fc62238dc67eb98d8adc548fe077fa6a68c39003014156e2a3b6c641 - languageName: node - linkType: hard - -"@vue/babel-sugar-composition-api-inject-h@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-sugar-composition-api-inject-h@npm:1.4.0" - dependencies: - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c8b1fd5693ef99ba5358a954db0208588760022d9591006467f15da21b14b7e1f679a290e9ff0deca54696f22a63d799715d9305a7e48de4762cfc6337e6fe78 - languageName: node - linkType: hard - -"@vue/babel-sugar-composition-api-render-instance@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-sugar-composition-api-render-instance@npm:1.4.0" - dependencies: - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3ef9cd71b721557a56259f20320c457165802cad60d957d21fdabb4e8fabf2e55a7851ea8f4382278bf0e0bbec27a64700f5c668bf16993124f2b58dc3bf2376 - languageName: node - linkType: hard - -"@vue/babel-sugar-functional-vue@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-sugar-functional-vue@npm:1.4.0" - dependencies: - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2e2c470ea31bc0f2a2b82f37406ddf02387b0e6b0e14d6905b989e956d0727283375f8147bd1d71afa138277b8380ff6b5d1d3e9639a420fdd9ffdb520d1d70e - languageName: node - linkType: hard - -"@vue/babel-sugar-inject-h@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-sugar-inject-h@npm:1.4.0" - dependencies: - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/364823f4d4b122c7740de2e9d6e50dbdd25f5c55b7cd2053e10c388543bf536ada26b038669388727d333277009f3a404aac15658aef0f017890c60a8e0115c1 - languageName: node - linkType: hard - -"@vue/babel-sugar-v-model@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-sugar-v-model@npm:1.4.0" - dependencies: - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props": "npm:^1.4.0" - "@vue/babel-plugin-transform-vue-jsx": "npm:^1.4.0" - camelcase: "npm:^5.0.0" - html-tags: "npm:^2.0.0" - svg-tags: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/10cf44f2e7699487b1aeaa093ffa2721f0f046cdb958261e2df53fe82e39bf3e59bddcbbca527f69f7db97e518e40e55ec0314357052b84d8f948bce76aaa676 - languageName: node - linkType: hard - -"@vue/babel-sugar-v-on@npm:^1.4.0": - version: 1.4.0 - resolution: "@vue/babel-sugar-v-on@npm:1.4.0" - dependencies: - "@babel/plugin-syntax-jsx": "npm:^7.2.0" - "@vue/babel-plugin-transform-vue-jsx": "npm:^1.4.0" - camelcase: "npm:^5.0.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2b60535a7cf27574bbfb36777181ce11d76081b96ac8ac1a71e341146a8a2d7f83a1400ada1e2b54023fa1ec90e9d1c0ff2f353870401c70b74fe988844f6c9b - languageName: node - linkType: hard - -"@vue/cli-overlay@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-overlay@npm:5.0.9" - checksum: 10c0/d5fe59cd6743ae534d8639574b5f5c5da11a6d9bb6a317fbacde27aab16b108cb49996535a6912ec0ec22e886a2a4e445cd70dba33fe6d6fa7e10831fdf18d5b - languageName: node - linkType: hard - -"@vue/cli-plugin-babel@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-plugin-babel@npm:5.0.9" - dependencies: - "@babel/core": "npm:^7.12.16" - "@vue/babel-preset-app": "npm:^5.0.9" - "@vue/cli-shared-utils": "npm:^5.0.9" - babel-loader: "npm:^8.2.2" - thread-loader: "npm:^3.0.0" - webpack: "npm:^5.54.0" - peerDependencies: - "@vue/cli-service": ^3.0.0 || ^4.0.0 || ^5.0.0-0 - checksum: 10c0/9282e8e464f0c1a4ee1123aca353f8735b41346d197cb334f33aec36ec55631c3b59cc8442a70e1ce04d7717b29de0ab84bd49d81bef8958e030cc1953de4e16 - languageName: node - linkType: hard - -"@vue/cli-plugin-eslint@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-plugin-eslint@npm:5.0.9" - dependencies: - "@vue/cli-shared-utils": "npm:^5.0.9" - eslint-webpack-plugin: "npm:^3.1.0" - globby: "npm:^11.0.2" - webpack: "npm:^5.54.0" - yorkie: "npm:^2.0.0" - peerDependencies: - "@vue/cli-service": ^3.0.0 || ^4.0.0 || ^5.0.0-0 - eslint: ">=7.5.0" - checksum: 10c0/e22418a3ef4c5d0f46fd85fd333c567c8f33d53b52376018fc85adf199ce661740fd56e88aa01edb4b097a9322863ab39abff1cefb0d8be279b035e6e8e7a89b - languageName: node - linkType: hard - -"@vue/cli-plugin-router@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-plugin-router@npm:5.0.9" - dependencies: - "@vue/cli-shared-utils": "npm:^5.0.9" - peerDependencies: - "@vue/cli-service": ^3.0.0 || ^4.0.0 || ^5.0.0-0 - checksum: 10c0/d5d406729f13f3533e6c876e82fd5e086ca010a081f20f167023fcb515bb01793f004602accaac9a91390b6ebcdc2cdb3047e9c0cf83900c4dbadcc844ca8641 - languageName: node - linkType: hard - -"@vue/cli-plugin-typescript@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-plugin-typescript@npm:5.0.9" - dependencies: - "@babel/core": "npm:^7.12.16" - "@types/webpack-env": "npm:^1.15.2" - "@vue/cli-shared-utils": "npm:^5.0.9" - babel-loader: "npm:^8.2.2" - fork-ts-checker-webpack-plugin: "npm:^6.4.0" - globby: "npm:^11.0.2" - thread-loader: "npm:^3.0.0" - ts-loader: "npm:^9.2.5" - webpack: "npm:^5.54.0" - peerDependencies: - "@vue/cli-service": ^3.0.0 || ^4.0.0 || ^5.0.0-0 - cache-loader: ^4.1.0 - typescript: ">=2" - vue: ^2 || ^3.2.13 - vue-template-compiler: ^2.0.0 - peerDependenciesMeta: - cache-loader: - optional: true - vue-template-compiler: - optional: true - checksum: 10c0/5069146fee1ad54372c5dc4469fad18c455196316d40e8c060d87fd629cb0d74573f24dbdc218de1a9c34bf4f685084a137dabfc2a1b34f5bafb337056e506e5 - languageName: node - linkType: hard - -"@vue/cli-plugin-unit-mocha@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-plugin-unit-mocha@npm:5.0.9" - dependencies: - "@vue/cli-shared-utils": "npm:^5.0.9" - jsdom: "npm:^18.0.1" - jsdom-global: "npm:^3.0.2" - mocha: "npm:^8.3.0" - mochapack: "npm:^2.1.0" - peerDependencies: - "@vue/cli-service": ^3.0.0 || ^4.0.0 || ^5.0.0-0 - checksum: 10c0/0c569d0f9421eba3ee3bbbe8c5e637c72e00c8de0e6ca1711c61dd04200d9827865dd7d4463a99d041e8f7ab9ecbeeb82e937a93cde3bc285471e1d80dde24f2 - languageName: node - linkType: hard - -"@vue/cli-plugin-vuex@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-plugin-vuex@npm:5.0.9" - peerDependencies: - "@vue/cli-service": ^3.0.0 || ^4.0.0 || ^5.0.0-0 - checksum: 10c0/7023fc13a43d674610454ca45bd37fc8e3f325a0f0d5568fa1f975c4a632a82470b5667ee3a3aa5673ff3394b6b3a58535bccd5c0cfe2d5470c9e71f38f1c1a9 - languageName: node - linkType: hard - -"@vue/cli-service@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-service@npm:5.0.9" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.12.16" - "@soda/friendly-errors-webpack-plugin": "npm:^1.8.0" - "@soda/get-current-script": "npm:^1.0.2" - "@types/minimist": "npm:^1.2.0" - "@vue/cli-overlay": "npm:^5.0.9" - "@vue/cli-plugin-router": "npm:^5.0.9" - "@vue/cli-plugin-vuex": "npm:^5.0.9" - "@vue/cli-shared-utils": "npm:^5.0.9" - "@vue/component-compiler-utils": "npm:^3.3.0" - "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7" - "@vue/web-component-wrapper": "npm:^1.3.0" - acorn: "npm:^8.0.5" - acorn-walk: "npm:^8.0.2" - address: "npm:^1.1.2" - autoprefixer: "npm:^10.2.4" - browserslist: "npm:^4.16.3" - case-sensitive-paths-webpack-plugin: "npm:^2.3.0" - cli-highlight: "npm:^2.1.10" - clipboardy: "npm:^2.3.0" - cliui: "npm:^7.0.4" - copy-webpack-plugin: "npm:^9.0.1" - css-loader: "npm:^6.5.0" - css-minimizer-webpack-plugin: "npm:^3.0.2" - cssnano: "npm:^5.0.0" - debug: "npm:^4.1.1" - default-gateway: "npm:^6.0.3" - dotenv: "npm:^10.0.0" - dotenv-expand: "npm:^5.1.0" - fs-extra: "npm:^9.1.0" - globby: "npm:^11.0.2" - hash-sum: "npm:^2.0.0" - html-webpack-plugin: "npm:^5.1.0" - is-file-esm: "npm:^1.0.0" - launch-editor-middleware: "npm:^2.2.1" - lodash.defaultsdeep: "npm:^4.6.1" - lodash.mapvalues: "npm:^4.6.0" - mini-css-extract-plugin: "npm:^2.5.3" - minimist: "npm:^1.2.5" - module-alias: "npm:^2.2.2" - portfinder: "npm:^1.0.26" - postcss: "npm:^8.2.6" - postcss-loader: "npm:^6.1.1" - progress-webpack-plugin: "npm:^1.0.12" - ssri: "npm:^8.0.1" - terser-webpack-plugin: "npm:^5.1.1" - thread-loader: "npm:^3.0.0" - vue-loader: "npm:^17.0.0" - vue-style-loader: "npm:^4.1.3" - webpack: "npm:^5.54.0" - webpack-bundle-analyzer: "npm:^4.4.0" - webpack-chain: "npm:^6.5.1" - webpack-dev-server: "npm:^4.7.3" - webpack-merge: "npm:^5.7.3" - webpack-virtual-modules: "npm:^0.4.2" - whatwg-fetch: "npm:^3.6.2" - peerDependencies: - vue-template-compiler: ^2.0.0 - webpack-sources: "*" - peerDependenciesMeta: - cache-loader: - optional: true - less-loader: - optional: true - pug-plain-loader: - optional: true - raw-loader: - optional: true - sass-loader: - optional: true - stylus-loader: - optional: true - vue-template-compiler: - optional: true - webpack-sources: - optional: true - bin: - vue-cli-service: bin/vue-cli-service.js - checksum: 10c0/1e536a1d5c11d25dde3bcff66ee4954fd4bf081862da25c925da032026ec9f9ff4f3bd222038257e0df195dfc44e03b36fd37a43d3bb47d1b433983589939d5c - languageName: node - linkType: hard - -"@vue/cli-shared-utils@npm:^5.0.9": - version: 5.0.9 - resolution: "@vue/cli-shared-utils@npm:5.0.9" - dependencies: - "@achrinza/node-ipc": "npm:^9.2.5" - chalk: "npm:^4.1.2" - execa: "npm:^1.0.0" - joi: "npm:^17.4.0" - launch-editor: "npm:^2.2.1" - lru-cache: "npm:^6.0.0" - node-fetch: "npm:^2.6.7" - open: "npm:^8.0.2" - ora: "npm:^5.3.0" - read-pkg: "npm:^5.1.1" - semver: "npm:^7.3.4" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/dab842bb72c6f6b686d293a398f5763aa80c0f2f471a374efd450d94b92b96b73637d5df20d1a62bbbd769339d5ded5de2e4e2fb40bfb0e9256f17c768903eba - languageName: node - linkType: hard - "@vue/compiler-core@npm:3.5.28": version: 3.5.28 resolution: "@vue/compiler-core@npm:3.5.28" @@ -2726,7 +1616,7 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:3.5.28": +"@vue/compiler-dom@npm:3.5.28, @vue/compiler-dom@npm:^3.3.4, @vue/compiler-dom@npm:^3.5.0": version: 3.5.28 resolution: "@vue/compiler-dom@npm:3.5.28" dependencies: @@ -2763,26 +1653,6 @@ __metadata: languageName: node linkType: hard -"@vue/component-compiler-utils@npm:^3.1.0, @vue/component-compiler-utils@npm:^3.3.0": - version: 3.3.0 - resolution: "@vue/component-compiler-utils@npm:3.3.0" - dependencies: - consolidate: "npm:^0.15.1" - hash-sum: "npm:^1.0.2" - lru-cache: "npm:^4.1.2" - merge-source-map: "npm:^1.1.0" - postcss: "npm:^7.0.36" - postcss-selector-parser: "npm:^6.0.2" - prettier: "npm:^1.18.2 || ^2.0.0" - source-map: "npm:~0.6.1" - vue-template-es2015-compiler: "npm:^1.9.0" - dependenciesMeta: - prettier: - optional: true - checksum: 10c0/ab471a561c29a307b92d019be9f0404157d7bec4ac5040bffea918db4fadc784765a52d9621bef9330a108eb123d1bcb4c276bf1c53fd6f4ac022739b3b80cbe - languageName: node - linkType: hard - "@vue/devtools-api@npm:^7.7.7": version: 7.7.9 resolution: "@vue/devtools-api@npm:7.7.9" @@ -2792,6 +1662,22 @@ __metadata: languageName: node linkType: hard +"@vue/devtools-core@npm:^8.0.6": + version: 8.0.6 + resolution: "@vue/devtools-core@npm:8.0.6" + dependencies: + "@vue/devtools-kit": "npm:^8.0.6" + "@vue/devtools-shared": "npm:^8.0.6" + mitt: "npm:^3.0.1" + nanoid: "npm:^5.1.5" + pathe: "npm:^2.0.3" + vite-hot-client: "npm:^2.1.0" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/f892f89905996198acb4bcdd809b14355f19d230c61fe250250cd2218821ea64e545076a8e0257de408b95464385d122720ca295e58c62812520ada5984c626a + languageName: node + linkType: hard + "@vue/devtools-kit@npm:^7.7.9": version: 7.7.9 resolution: "@vue/devtools-kit@npm:7.7.9" @@ -2807,6 +1693,21 @@ __metadata: languageName: node linkType: hard +"@vue/devtools-kit@npm:^8.0.6": + version: 8.0.6 + resolution: "@vue/devtools-kit@npm:8.0.6" + dependencies: + "@vue/devtools-shared": "npm:^8.0.6" + birpc: "npm:^2.6.1" + hookable: "npm:^5.5.3" + mitt: "npm:^3.0.1" + perfect-debounce: "npm:^2.0.0" + speakingurl: "npm:^14.0.1" + superjson: "npm:^2.2.2" + checksum: 10c0/369aad2d0cf7dac8ad4e0521a4e843e68f80482dcd73ab9d02076cd3c5d719f5914313523c11887915bbabaaf801ace44f2f961c3e57a6756eaa44970c5ec49b + languageName: node + linkType: hard + "@vue/devtools-shared@npm:^7.7.9": version: 7.7.9 resolution: "@vue/devtools-shared@npm:7.7.9" @@ -2816,21 +1717,46 @@ __metadata: languageName: node linkType: hard -"@vue/eslint-config-typescript@npm:^13.0.0": - version: 13.0.0 - resolution: "@vue/eslint-config-typescript@npm:13.0.0" +"@vue/devtools-shared@npm:^8.0.6": + version: 8.0.6 + resolution: "@vue/devtools-shared@npm:8.0.6" dependencies: - "@typescript-eslint/eslint-plugin": "npm:^7.1.1" - "@typescript-eslint/parser": "npm:^7.1.1" - vue-eslint-parser: "npm:^9.3.1" + rfdc: "npm:^1.4.1" + checksum: 10c0/e253bd15b00418dc1c6f7c90d990a517c461ecf4ad8484155dca53b6cc96f83e93158e2e8b2b2b68e869472cc64230ed388e2ceca6509430a2b78f0cbffe5fd8 + languageName: node + linkType: hard + +"@vue/eslint-config-typescript@npm:^14.6.0": + version: 14.7.0 + resolution: "@vue/eslint-config-typescript@npm:14.7.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.56.0" + fast-glob: "npm:^3.3.3" + typescript-eslint: "npm:^8.56.0" + vue-eslint-parser: "npm:^10.4.0" peerDependencies: - eslint: ^8.56.0 - eslint-plugin-vue: ^9.0.0 - typescript: ">=4.7.4" + eslint: ^9.10.0 || ^10.0.0 + eslint-plugin-vue: ^9.28.0 || ^10.0.0 + typescript: ">=4.8.4" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/a960e1157f805e38837107ae8d2a6d280cf8f7cc3fa9ab492e10f52622085076637ee92438ca473c4e3305097448417f66c0d6cbf6130b731dbac9189e4566ca + checksum: 10c0/3bc6f2bbf9539599df75d32bd75e8b837f5d8022e085e4099a0d75e8384e61e6c92a64d66b8e4790393cb8e30c9c9bdaa56d23dfe98c14e32dc5498f8700c646 + languageName: node + linkType: hard + +"@vue/language-core@npm:3.2.4": + version: 3.2.4 + resolution: "@vue/language-core@npm:3.2.4" + dependencies: + "@volar/language-core": "npm:2.4.27" + "@vue/compiler-dom": "npm:^3.5.0" + "@vue/shared": "npm:^3.5.0" + alien-signals: "npm:^3.0.0" + muggle-string: "npm:^0.4.1" + path-browserify: "npm:^1.0.1" + picomatch: "npm:^4.0.2" + checksum: 10c0/a910e4397777a17efe6ddb96e727cde6682e3731c6ca8ed8358d96815299497a875034fe7ca7434ea7625f2ff0a721b2d65fbd12159c0581ae979b2853663a9a languageName: node linkType: hard @@ -2877,7 +1803,7 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.5.28, @vue/shared@npm:^3.5.18": +"@vue/shared@npm:3.5.28, @vue/shared@npm:^3.5.0, @vue/shared@npm:^3.5.18": version: 3.5.28 resolution: "@vue/shared@npm:3.5.28" checksum: 10c0/678a927ae45144cae2f070289e03d50cec61841278f7d18800c0890e97383a369e324bb4a8fc8ee001c29ed6e5a5a44b08220f562e6cdae3a14473f5e227d0f7 @@ -2909,208 +1835,6 @@ __metadata: languageName: node linkType: hard -"@vue/vue-loader-v15@npm:vue-loader@^15.9.7": - version: 15.11.1 - resolution: "vue-loader@npm:15.11.1" - dependencies: - "@vue/component-compiler-utils": "npm:^3.1.0" - hash-sum: "npm:^1.0.2" - loader-utils: "npm:^1.1.0" - vue-hot-reload-api: "npm:^2.3.0" - vue-style-loader: "npm:^4.1.0" - peerDependencies: - css-loader: "*" - webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 - peerDependenciesMeta: - cache-loader: - optional: true - prettier: - optional: true - vue-template-compiler: - optional: true - checksum: 10c0/22491414f3743d485cf8d966837314706abf35d330bf055e356d55f16df8d4ab21fb712c7168509f7492d62cdf799aedf8d31df36d89bd5a4479b9f90fa094c1 - languageName: node - linkType: hard - -"@vue/web-component-wrapper@npm:^1.3.0": - version: 1.3.0 - resolution: "@vue/web-component-wrapper@npm:1.3.0" - checksum: 10c0/258259f60f4709f1c0372daef8c5a88d9d5e6869304e1390e142c95353c4eadfc1f0422991400cfa1fbcfc5affd4cf69cce7359f98a47d559561dda284421d23 - languageName: node - linkType: hard - -"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/ast@npm:1.14.1" - dependencies: - "@webassemblyjs/helper-numbers": "npm:1.13.2" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b - languageName: node - linkType: hard - -"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" - checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 - languageName: node - linkType: hard - -"@webassemblyjs/helper-api-error@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" - checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb - languageName: node - linkType: hard - -"@webassemblyjs/helper-buffer@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" - checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 - languageName: node - linkType: hard - -"@webassemblyjs/helper-numbers@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" - dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" - "@webassemblyjs/helper-api-error": "npm:1.13.2" - "@xtuc/long": "npm:4.2.2" - checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a - languageName: node - linkType: hard - -"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" - checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 - languageName: node - linkType: hard - -"@webassemblyjs/helper-wasm-section@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-buffer": "npm:1.14.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/wasm-gen": "npm:1.14.1" - checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 - languageName: node - linkType: hard - -"@webassemblyjs/ieee754@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/ieee754@npm:1.13.2" - dependencies: - "@xtuc/ieee754": "npm:^1.2.0" - checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 - languageName: node - linkType: hard - -"@webassemblyjs/leb128@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/leb128@npm:1.13.2" - dependencies: - "@xtuc/long": "npm:4.2.2" - checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 - languageName: node - linkType: hard - -"@webassemblyjs/utf8@npm:1.13.2": - version: 1.13.2 - resolution: "@webassemblyjs/utf8@npm:1.13.2" - checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 - languageName: node - linkType: hard - -"@webassemblyjs/wasm-edit@npm:^1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-buffer": "npm:1.14.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/helper-wasm-section": "npm:1.14.1" - "@webassemblyjs/wasm-gen": "npm:1.14.1" - "@webassemblyjs/wasm-opt": "npm:1.14.1" - "@webassemblyjs/wasm-parser": "npm:1.14.1" - "@webassemblyjs/wast-printer": "npm:1.14.1" - checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 - languageName: node - linkType: hard - -"@webassemblyjs/wasm-gen@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/ieee754": "npm:1.13.2" - "@webassemblyjs/leb128": "npm:1.13.2" - "@webassemblyjs/utf8": "npm:1.13.2" - checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 - languageName: node - linkType: hard - -"@webassemblyjs/wasm-opt@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-buffer": "npm:1.14.1" - "@webassemblyjs/wasm-gen": "npm:1.14.1" - "@webassemblyjs/wasm-parser": "npm:1.14.1" - checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee - languageName: node - linkType: hard - -"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@webassemblyjs/helper-api-error": "npm:1.13.2" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" - "@webassemblyjs/ieee754": "npm:1.13.2" - "@webassemblyjs/leb128": "npm:1.13.2" - "@webassemblyjs/utf8": "npm:1.13.2" - checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 - languageName: node - linkType: hard - -"@webassemblyjs/wast-printer@npm:1.14.1": - version: 1.14.1 - resolution: "@webassemblyjs/wast-printer@npm:1.14.1" - dependencies: - "@webassemblyjs/ast": "npm:1.14.1" - "@xtuc/long": "npm:4.2.2" - checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 - languageName: node - linkType: hard - -"@xtuc/ieee754@npm:^1.2.0": - version: 1.2.0 - resolution: "@xtuc/ieee754@npm:1.2.0" - checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f - languageName: node - linkType: hard - -"@xtuc/long@npm:4.2.2": - version: 4.2.2 - resolution: "@xtuc/long@npm:4.2.2" - checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 - languageName: node - linkType: hard - -"abab@npm:^2.0.5, abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 10c0/0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 - languageName: node - linkType: hard - "abbrev@npm:^2.0.0": version: 2.0.0 resolution: "abbrev@npm:2.0.0" @@ -3125,35 +1849,6 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 - languageName: node - linkType: hard - -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: "npm:^7.1.1" - acorn-walk: "npm:^7.1.1" - checksum: 10c0/5f92390a3fd7e5a4f84fe976d4650e2a33ecf27135aa9efc5406e3406df7f00a1bbb00648ee0c8058846f55ad0924ff574e6c73395705690e754589380a41801 - languageName: node - linkType: hard - -"acorn-import-phases@npm:^1.0.3": - version: 1.0.4 - resolution: "acorn-import-phases@npm:1.0.4" - peerDependencies: - acorn: ^8.14.0 - checksum: 10c0/338eb46fc1aed5544f628344cb9af189450b401d152ceadbf1f5746901a5d923016cd0e7740d5606062d374fdf6941c29bb515d2bd133c4f4242d5d4cd73a3c7 - languageName: node - linkType: hard - "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -3163,44 +1858,12 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 10c0/ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c - languageName: node - linkType: hard - -"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^7.1.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" +"acorn@npm:^8.15.0, acorn@npm:^8.16.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" bin: acorn: bin/acorn - checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 - languageName: node - linkType: hard - -"acorn@npm:^8.0.4, acorn@npm:^8.0.5, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.5.0, acorn@npm:^8.9.0": - version: 8.15.0 - resolution: "acorn@npm:8.15.0" - bin: - acorn: bin/acorn - checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec - languageName: node - linkType: hard - -"address@npm:^1.1.2": - version: 1.2.2 - resolution: "address@npm:1.2.2" - checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e languageName: node linkType: hard @@ -3208,49 +1871,33 @@ __metadata: version: 0.0.0-use.local resolution: "advent22_ui@workspace:." dependencies: - "@fortawesome/fontawesome-svg-core": "npm:^7.2.0" - "@fortawesome/free-solid-svg-icons": "npm:^7.2.0" - "@fortawesome/vue-fontawesome": "npm:^3.1.3" - "@types/chai": "npm:^5.2.3" - "@types/luxon": "npm:^3.7.1" - "@types/mocha": "npm:^10.0.10" - "@typescript-eslint/eslint-plugin": "npm:^8.55.0" - "@typescript-eslint/parser": "npm:^8.55.0" - "@vue/cli-plugin-babel": "npm:^5.0.9" - "@vue/cli-plugin-eslint": "npm:^5.0.9" - "@vue/cli-plugin-typescript": "npm:^5.0.9" - "@vue/cli-plugin-unit-mocha": "npm:^5.0.9" - "@vue/cli-service": "npm:^5.0.9" - "@vue/eslint-config-typescript": "npm:^13.0.0" + "@tsconfig/node24": "npm:^24.0.4" + "@types/jsdom": "npm:^27.0.0" + "@types/node": "npm:^25.3.0" + "@vitejs/plugin-vue": "npm:^6.0.4" + "@vitest/eslint-plugin": "npm:^1.6.9" + "@vue/eslint-config-typescript": "npm:^14.6.0" "@vue/test-utils": "npm:^2.4.6" "@vue/tsconfig": "npm:^0.8.1" - animate.css: "npm:^4.1.1" - axios: "npm:^1.13.5" - bulma: "npm:^1.0.4" - bulma-toast: "npm:2.4.3" - chai: "npm:^6.2.2" - core-js: "npm:^3.48.0" - eslint: "npm:^8.57.1" - eslint-plugin-vue: "npm:^9.33.0" - luxon: "npm:^3.7.2" + eslint: "npm:^9.39.2" + eslint-config-prettier: "npm:^10.1.8" + eslint-plugin-oxlint: "npm:~1.46.0" + eslint-plugin-vue: "npm:~10.8.0" + jiti: "npm:^2.6.1" + jsdom: "npm:^28.1.0" + npm-run-all2: "npm:^8.0.4" + oxlint: "npm:~1.47.0" pinia: "npm:^3.0.4" - sass: "npm:~1.94.3" - sass-loader: "npm:^16.0.0" - typescript: "npm:^5.9.3" - vue: "npm:^3.5.25" - vue-cli-plugin-webpack-bundle-analyzer: "npm:^4.0.0" + prettier: "npm:3.8.1" + typescript: "npm:~5.9.3" + vite: "npm:^7.3.1" + vite-plugin-vue-devtools: "npm:^8.0.6" + vitest: "npm:^4.0.18" + vue: "npm:^3.5.28" + vue-tsc: "npm:^3.2.4" languageName: unknown linkType: soft -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": version: 7.1.4 resolution: "agent-base@npm:7.1.4" @@ -3258,41 +1905,7 @@ __metadata: languageName: node linkType: hard -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 - languageName: node - linkType: hard - -"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": - version: 3.5.2 - resolution: "ajv-keywords@npm:3.5.2" - peerDependencies: - ajv: ^6.9.1 - checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 - languageName: node - linkType: hard - -"ajv-keywords@npm:^5.1.0": - version: 5.1.0 - resolution: "ajv-keywords@npm:5.1.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - peerDependencies: - ajv: ^8.8.2 - checksum: 10c0/18bec51f0171b83123ba1d8883c126e60c6f420cef885250898bf77a8d3e65e3bfb9e8564f497e30bdbe762a83e0d144a36931328616a973ee669dc74d4a9590 - languageName: node - linkType: hard - -"ajv@npm:^6.12.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -3304,59 +1917,10 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.9.0": - version: 8.17.1 - resolution: "ajv@npm:8.17.1" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 - languageName: node - linkType: hard - -"animate.css@npm:^4.1.1": - version: 4.1.1 - resolution: "animate.css@npm:4.1.1" - checksum: 10c0/28fcf5a5f502e4c12186846d22aa1cd63b835955160a97116930c78bff8a89135aa5c57f94010252a29456ada7cfc8ed8791cac02521ec6402befaf883937159 - languageName: node - linkType: hard - -"ansi-colors@npm:4.1.1": - version: 4.1.1 - resolution: "ansi-colors@npm:4.1.1" - checksum: 10c0/6086ade4336b4250b6b25e144b83e5623bcaf654d3df0c3546ce09c9c5ff999cb6a6f00c87e802d05cf98aef79d92dc76ade2670a2493b8dcb80220bec457838 - languageName: node - linkType: hard - -"ansi-escapes@npm:^3.0.0": - version: 3.2.0 - resolution: "ansi-escapes@npm:3.2.0" - checksum: 10c0/084e1ce38139ad2406f18a8e7efe2b850ddd06ce3c00f633392d1ce67756dab44fe290e573d09ef3c9a0cb13c12881e0e35a8f77a017d39a0a4ab85ae2fae04f - languageName: node - linkType: hard - -"ansi-html-community@npm:^0.0.8": - version: 0.0.8 - resolution: "ansi-html-community@npm:0.0.8" - bin: - ansi-html: bin/ansi-html - checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 - languageName: node - linkType: hard - -"ansi-regex@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-regex@npm:3.0.1" - checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 - languageName: node - linkType: hard - -"ansi-regex@npm:^4.1.0": - version: 4.1.1 - resolution: "ansi-regex@npm:4.1.1" - checksum: 10c0/d36d34234d077e8770169d980fed7b2f3724bfa2a01da150ccd75ef9707c80e883d27cdf7a0eac2f145ac1d10a785a8a855cffd05b85f778629a0db62e7033da +"alien-signals@npm:^3.0.0": + version: 3.1.2 + resolution: "alien-signals@npm:3.1.2" + checksum: 10c0/9d1641c1ba55de957411258c741b0245c69ea540107436d63a38a6cf0da873ff2a74017d7b05fa669b1787be012c2db8c2c79ff7b8c47289a92a6a8850ab303d languageName: node linkType: hard @@ -3374,15 +1938,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" @@ -3392,34 +1947,17 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": +"ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": version: 6.2.3 resolution: "ansi-styles@npm:6.2.3" checksum: 10c0/23b8a4ce14e18fb854693b95351e286b771d23d8844057ed2e7d083cd3e708376c3323707ec6a24365f7d7eda3ca00327fe04092e29e551499ec4c8b7bfac868 languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 - languageName: node - linkType: hard - -"anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arch@npm:^2.1.1": - version: 2.2.0 - resolution: "arch@npm:2.2.0" - checksum: 10c0/4ceaf8d8207817c216ebc4469742052cb0a097bc45d9b7fcd60b7507220da545a28562ab5bdd4dfe87921bb56371a0805da4e10d704e01f93a15f83240f1284c +"ansis@npm:^4.1.0": + version: 4.2.0 + resolution: "ansis@npm:4.2.0" + checksum: 10c0/cd6a7a681ecd36e72e0d79c1e34f1f3bcb1b15bcbb6f0f8969b4228062d3bfebbef468e09771b00d93b2294370b34f707599d4a113542a876de26823b795b5d2 languageName: node linkType: hard @@ -3430,20 +1968,6 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -3451,127 +1975,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^3.2.6": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef - languageName: node - linkType: hard - -"autoprefixer@npm:^10.2.4": - version: 10.4.24 - resolution: "autoprefixer@npm:10.4.24" - dependencies: - browserslist: "npm:^4.28.1" - caniuse-lite: "npm:^1.0.30001766" - fraction.js: "npm:^5.3.4" - picocolors: "npm:^1.1.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.1.0 - bin: - autoprefixer: bin/autoprefixer - checksum: 10c0/16737dfc865afed338f3166718ece0f77539e53c1ba9f064f2e6369b9dec9ea0542f3fb98bcb7ab37e64897dc3304bae6b2004fbf79ada8b2aeaa3db336e4b77 - languageName: node - linkType: hard - -"axios@npm:^1.13.5": - version: 1.13.5 - resolution: "axios@npm:1.13.5" - dependencies: - follow-redirects: "npm:^1.15.11" - form-data: "npm:^4.0.5" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/abf468c34f2d145f3dc7dbc0f1be67e520630624307bda69a41bbe8d386bd672d87b4405c4ee77f9ff54b235ab02f96a9968fb00e75b13ce64706e352a3068fd - languageName: node - linkType: hard - -"babel-loader@npm:^8.2.2": - version: 8.4.1 - resolution: "babel-loader@npm:8.4.1" - dependencies: - find-cache-dir: "npm:^3.3.1" - loader-utils: "npm:^2.0.4" - make-dir: "npm:^3.1.0" - schema-utils: "npm:^2.6.5" - peerDependencies: - "@babel/core": ^7.0.0 - webpack: ">=2" - checksum: 10c0/efdca9c3ef502af58b923a32123d660c54fd0be125b7b64562c8a43bda0a3a55dac0db32331674104e7e5184061b75c3a0e395b2c5ccdc7cb2125dd9ec7108d2 - languageName: node - linkType: hard - -"babel-plugin-dynamic-import-node@npm:^2.3.3": - version: 2.3.3 - resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" - dependencies: - object.assign: "npm:^4.1.0" - checksum: 10c0/1bd80df981e1fc1aff0cd4e390cf27aaa34f95f7620cd14dff07ba3bad56d168c098233a7d2deb2c9b1dc13643e596a6b94fc608a3412ee3c56e74a25cd2167e - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs2@npm:^0.4.14, babel-plugin-polyfill-corejs2@npm:^0.4.15": - version: 0.4.15 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.15" - dependencies: - "@babel/compat-data": "npm:^7.28.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.6" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/5e3ff853a5056bdc0816320523057b45d52c9ea01c847fd07886a4202b0c1324dc97eda4b777c98387927ff02d913fedbe9ba9943c0d4030714048e0b9e61682 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs3@npm:^0.13.0": - version: 0.13.0 - resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.5" - core-js-compat: "npm:^3.43.0" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs3@npm:^0.14.0": - version: 0.14.0 - resolution: "babel-plugin-polyfill-corejs3@npm:0.14.0" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.6" - core-js-compat: "npm:^3.48.0" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/db7f530752a2bcb891c0dc80c3d025a48d49c78d41b0ad91cc853669460cd9e3107857a3667f645f0e25c2af9fc3d1e38d5b1c4e3e60aa22e7df9d68550712a4 - languageName: node - linkType: hard - -"babel-plugin-polyfill-regenerator@npm:^0.6.5, babel-plugin-polyfill-regenerator@npm:^0.6.6": - version: 0.6.6 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.6" - dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.6" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/0ef91d8361c118e7b16d8592c053707325b8168638ea4636b76530c8bc6a1b5aac5c6ca5140e8f3fcdb634a7a2e636133e6b9ef70a75e6417a258a7fddc04bd7 - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -3580,106 +1983,37 @@ __metadata: linkType: hard "balanced-match@npm:^4.0.2": - version: 4.0.2 - resolution: "balanced-match@npm:4.0.2" - dependencies: - jackspeak: "npm:^4.2.3" - checksum: 10c0/493eee4bece3f8b270cea8d3d6d1122ce008dd6b0d5aca8a3f1e623be6897be18c926018eadc454bd719bb7cc46d939c39fa2a05fff86b30f65382f020f6926d - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + version: 4.0.3 + resolution: "balanced-match@npm:4.0.3" + checksum: 10c0/4d96945d0815849934145b2cdc0ccb80fb869d909060820fde5f95da0a32040f2142560ef931584fbb6a1607d39d399707e7d2364030a720ac1dc6f78ddaf9dc languageName: node linkType: hard "baseline-browser-mapping@npm:^2.9.0": - version: 2.9.19 - resolution: "baseline-browser-mapping@npm:2.9.19" + version: 2.10.0 + resolution: "baseline-browser-mapping@npm:2.10.0" bin: - baseline-browser-mapping: dist/cli.js - checksum: 10c0/569928db78bcd081953d7db79e4243a59a579a34b4ae1806b9b42d3b7f84e5bc40e6e82ae4fa06e7bef8291bf747b33b3f9ef5d3c6e1e420cb129d9295536129 + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/da9c3ec0fcd7f325226a47d2142794d41706b6e0a405718a2c15410bbdb72aacadd65738bedef558c6f1b106ed19458cb25b06f63b66df2c284799905dbbd003 languageName: node linkType: hard -"batch@npm:0.6.1": - version: 0.6.1 - resolution: "batch@npm:0.6.1" - checksum: 10c0/925a13897b4db80d4211082fe287bcf96d297af38e26448c857cee3e095c9792e3b8f26b37d268812e7f38a589f694609de8534a018b1937d7dc9f84e6b387c5 +"bidi-js@npm:^1.0.3": + version: 1.0.3 + resolution: "bidi-js@npm:1.0.3" + dependencies: + require-from-string: "npm:^2.0.2" + checksum: 10c0/fdddea4aa4120a34285486f2267526cd9298b6e8b773ad25e765d4f104b6d7437ab4ba542e6939e3ac834a7570bcf121ee2cf6d3ae7cd7082c4b5bedc8f271e1 languageName: node linkType: hard -"big.js@npm:^5.2.2": - version: 5.2.2 - resolution: "big.js@npm:5.2.2" - checksum: 10c0/230520f1ff920b2d2ce3e372d77a33faa4fa60d802fe01ca4ffbc321ee06023fe9a741ac02793ee778040a16b7e497f7d60c504d1c402b8fdab6f03bb785a25f - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"birpc@npm:^2.3.0": +"birpc@npm:^2.3.0, birpc@npm:^2.4.0, birpc@npm:^2.6.1": version: 2.9.0 resolution: "birpc@npm:2.9.0" checksum: 10c0/2462d0d67061f95bae213b0b9b323a6643ff749f7457a25242897c99e31355f1bd522c17f83ecf57506351e3e28b4e38c12a39b8beddee2dd0cbf78f9b9876ce languageName: node linkType: hard -"bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" - dependencies: - buffer: "npm:^5.5.0" - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.4.0" - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f - languageName: node - linkType: hard - -"bluebird@npm:^3.1.1": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"body-parser@npm:~1.20.3": - version: 1.20.4 - resolution: "body-parser@npm:1.20.4" - dependencies: - bytes: "npm:~3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:~1.2.0" - http-errors: "npm:~2.0.1" - iconv-lite: "npm:~0.4.24" - on-finished: "npm:~2.4.1" - qs: "npm:~6.14.0" - raw-body: "npm:~2.5.3" - type-is: "npm:~1.6.18" - unpipe: "npm:~1.0.0" - checksum: 10c0/569c1e896297d1fcd8f34026c8d0ab70b90d45343c15c5d8dff5de2bad08125fc1e2f8c2f3f4c1ac6c0caaad115218202594d37dcb8d89d9b5dcae1c2b736aa9 - languageName: node - linkType: hard - -"bonjour-service@npm:^1.0.11": - version: 1.3.0 - resolution: "bonjour-service@npm:1.3.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - multicast-dns: "npm:^7.2.5" - checksum: 10c0/5721fd9f9bb968e9cc16c1e8116d770863dd2329cb1f753231de1515870648c225142b7eefa71f14a5c22bc7b37ddd7fdeb018700f28a8c936d50d4162d433c7 - languageName: node - linkType: hard - "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -3715,7 +2049,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -3724,21 +2058,7 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: 10c0/65da78e51e9d7fa5909147f269c54c65ae2e03d1cf797cc3cfbbe49f475578b8160ce4a76c36c1a2ffbff26c74f937d73096c508057491ddf1a6dfd11143f72d - languageName: node - linkType: hard - -"browser-stdout@npm:1.3.1": - version: 1.3.1 - resolution: "browser-stdout@npm:1.3.1" - checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 - languageName: node - linkType: hard - -"browserslist@npm:^4.0.0, browserslist@npm:^4.16.3, browserslist@npm:^4.21.4, browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": +"browserslist@npm:^4.24.0": version: 4.28.1 resolution: "browserslist@npm:4.28.1" dependencies: @@ -3753,41 +2073,12 @@ __metadata: languageName: node linkType: hard -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e - languageName: node - linkType: hard - -"bulma-toast@npm:2.4.3": - version: 2.4.3 - resolution: "bulma-toast@npm:2.4.3" - checksum: 10c0/40dd9668643338496eb28caca9b772a6002d9c6fbdc5d76237cbdaaa8f56c8ced39965705f92f5d5a29f3e6df57f70a8fa311cf05c14075aacf93f96f7338470 - languageName: node - linkType: hard - -"bulma@npm:^1.0.4": - version: 1.0.4 - resolution: "bulma@npm:1.0.4" - checksum: 10c0/5a9bf48c6681181fce6fe06d1744272938cc81d4356314d9c4eee3ddbd1fac6ac678cb640b2fe58aec47f907ff273231b246b9cd66d1894b40c3a89a68fb3a68 - languageName: node - linkType: hard - -"bytes@npm:3.1.2, bytes@npm:~3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 languageName: node linkType: hard @@ -3810,38 +2101,6 @@ __metadata: languageName: node linkType: hard -"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.8": - version: 1.0.8 - resolution: "call-bind@npm:1.0.8" - dependencies: - call-bind-apply-helpers: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.2" - checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -3849,85 +2108,21 @@ __metadata: languageName: node linkType: hard -"camel-case@npm:^4.1.2": - version: 4.1.2 - resolution: "camel-case@npm:4.1.2" - dependencies: - pascal-case: "npm:^3.1.2" - tslib: "npm:^2.0.3" - checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a - languageName: node - linkType: hard - -"camelcase@npm:^5.0.0": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 - languageName: node - linkType: hard - -"camelcase@npm:^6.0.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"caniuse-api@npm:^3.0.0": - version: 3.0.0 - resolution: "caniuse-api@npm:3.0.0" - dependencies: - browserslist: "npm:^4.0.0" - caniuse-lite: "npm:^1.0.0" - lodash.memoize: "npm:^4.1.2" - lodash.uniq: "npm:^4.5.0" - checksum: 10c0/60f9e85a3331e6d761b1b03eec71ca38ef7d74146bece34694853033292156b815696573ed734b65583acf493e88163618eda915c6c826d46a024c71a9572b4c - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001759, caniuse-lite@npm:^1.0.30001766": +"caniuse-lite@npm:^1.0.30001759": version: 1.0.30001770 resolution: "caniuse-lite@npm:1.0.30001770" checksum: 10c0/02d15a8b723af65318cb4d888a52bb090076898da7b0de99e8676d537f8d1d2ae4797e81518e1e30cbfe84c33b048c322e8bfafc5b23cfee8defb0d2bf271149 languageName: node linkType: hard -"case-sensitive-paths-webpack-plugin@npm:^2.3.0": - version: 2.4.0 - resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" - checksum: 10c0/310dab619b661a7fa44ed773870be6d6d7373faff6953ad92720f9553e2579e46dda5b9a79eae6d25ff3733cc15aa466b96e5811af16213f23c115aa220b4ab4 - languageName: node - linkType: hard - -"chai@npm:^6.2.2": +"chai@npm:^6.2.1": version: 6.2.2 resolution: "chai@npm:6.2.2" checksum: 10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53 languageName: node linkType: hard -"chalk@npm:^2.1.0, chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": +"chalk@npm:^4.0.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -3937,53 +2132,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:3.5.1": - version: 3.5.1 - resolution: "chokidar@npm:3.5.1" - dependencies: - anymatch: "npm:~3.1.1" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.1" - glob-parent: "npm:~5.1.0" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.5.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/894d2fdeeef6a0bc61993a20b864e29e9296f2308628b8b2edf1bef2d59ab11f21938eebbbcbf581f15d16d3e030c08860d2fb035f7b9f3baebac57049a37959 - languageName: node - linkType: hard - -"chokidar@npm:^3.4.2, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chokidar@npm:^5.0.0": - version: 5.0.0 - resolution: "chokidar@npm:5.0.0" - dependencies: - readdirp: "npm:^5.0.0" - checksum: 10c0/42fc907cb2a7ff5c9e220f84dae75380a77997f851c2a5e7865a2cf9ae45dd407a23557208cdcdbf3ac8c93341135a1748e4c48c31855f3bfa095e5159b6bdec - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -3991,130 +2139,6 @@ __metadata: languageName: node linkType: hard -"chrome-trace-event@npm:^1.0.2": - version: 1.0.4 - resolution: "chrome-trace-event@npm:1.0.4" - checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5 - languageName: node - linkType: hard - -"ci-info@npm:^1.5.0": - version: 1.6.0 - resolution: "ci-info@npm:1.6.0" - checksum: 10c0/5a74921e50e0be504ef811f00cb8dd6a547e1f4f2e709b7364b2de72a6fbc0215d86c88cd62c485a129090365d2a6367ca00344ced04e714860b22fbe10180c8 - languageName: node - linkType: hard - -"clean-css@npm:^5.2.2": - version: 5.3.3 - resolution: "clean-css@npm:5.3.3" - dependencies: - source-map: "npm:~0.6.0" - checksum: 10c0/381de7523e23f3762eb180e327dcc0cedafaf8cb1cd8c26b7cc1fc56e0829a92e734729c4f955394d65ed72fb62f82d8baf78af34b33b8a7d41ebad2accdd6fb - languageName: node - linkType: hard - -"cli-cursor@npm:^2.0.0": - version: 2.1.0 - resolution: "cli-cursor@npm:2.1.0" - dependencies: - restore-cursor: "npm:^2.0.0" - checksum: 10c0/09ee6d8b5b818d840bf80ec9561eaf696672197d3a02a7daee2def96d5f52ce6e0bbe7afca754ccf14f04830b5a1b4556273e983507d5029f95bba3016618eda - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 - languageName: node - linkType: hard - -"cli-highlight@npm:^2.1.10": - version: 2.1.11 - resolution: "cli-highlight@npm:2.1.11" - dependencies: - chalk: "npm:^4.0.0" - highlight.js: "npm:^10.7.1" - mz: "npm:^2.4.0" - parse5: "npm:^5.1.1" - parse5-htmlparser2-tree-adapter: "npm:^6.0.0" - yargs: "npm:^16.0.0" - bin: - highlight: bin/highlight - checksum: 10c0/b5b4af3b968aa9df77eee449a400fbb659cf47c4b03a395370bd98d5554a00afaa5819b41a9a8a1ca0d37b0b896a94e57c65289b37359a25b700b1f56eb04852 - languageName: node - linkType: hard - -"cli-spinners@npm:^2.5.0": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 - languageName: node - linkType: hard - -"clipboardy@npm:^2.3.0": - version: 2.3.0 - resolution: "clipboardy@npm:2.3.0" - dependencies: - arch: "npm:^2.1.1" - execa: "npm:^1.0.0" - is-wsl: "npm:^2.1.1" - checksum: 10c0/171c7d216dbec50213e35796740eaf79e39fb3442b7a8caf7414c2aed1da14e4d040696126c467325641612267a3dd43740d2ec29719fdcfb62065c6a2f91860 - languageName: node - linkType: hard - -"cliui@npm:^5.0.0": - version: 5.0.0 - resolution: "cliui@npm:5.0.0" - dependencies: - string-width: "npm:^3.1.0" - strip-ansi: "npm:^5.2.0" - wrap-ansi: "npm:^5.1.0" - checksum: 10c0/76142bf306965850a71efd10c9755bd7f447c7c20dd652e1c1ce27d987f862a3facb3cceb2909cef6f0cb363646ee7a1735e3dfdd49f29ed16d733d33e15e2f8 - languageName: node - linkType: hard - -"cliui@npm:^7.0.2, cliui@npm:^7.0.4": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - -"clone-deep@npm:^4.0.1": - version: 4.0.1 - resolution: "clone-deep@npm:4.0.1" - dependencies: - is-plain-object: "npm:^2.0.4" - kind-of: "npm:^6.0.2" - shallow-clone: "npm:^3.0.0" - checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 - languageName: node - linkType: hard - -"clone@npm:^1.0.2": - version: 1.0.4 - resolution: "clone@npm:1.0.4" - checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -4124,13 +2148,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -4138,29 +2155,6 @@ __metadata: languageName: node linkType: hard -"colord@npm:^2.9.1": - version: 2.9.3 - resolution: "colord@npm:2.9.3" - checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 - languageName: node - linkType: hard - -"colorette@npm:^2.0.10": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - "commander@npm:^10.0.0": version: 10.0.1 resolution: "commander@npm:10.0.1" @@ -4168,58 +2162,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 - languageName: node - linkType: hard - -"commander@npm:^7.2.0": - version: 7.2.0 - resolution: "commander@npm:7.2.0" - checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a - languageName: node - linkType: hard - -"commander@npm:^8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 - languageName: node - linkType: hard - -"commondir@npm:^1.0.1": - version: 1.0.1 - resolution: "commondir@npm:1.0.1" - checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 - languageName: node - linkType: hard - -"compressible@npm:~2.0.18": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: "npm:>= 1.43.0 < 2" - checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 - languageName: node - linkType: hard - -"compression@npm:^1.7.4": - version: 1.8.1 - resolution: "compression@npm:1.8.1" - dependencies: - bytes: "npm:3.1.2" - compressible: "npm:~2.0.18" - debug: "npm:2.6.9" - negotiator: "npm:~0.6.4" - on-headers: "npm:~1.1.0" - safe-buffer: "npm:5.2.1" - vary: "npm:~1.1.2" - checksum: 10c0/85114b0b91c16594dc8c671cd9b05ef5e465066a60e5a4ed8b4551661303559a896ed17bb72c4234c04064e078f6ca86a34b8690349499a43f6fc4b844475da4 - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -4237,38 +2179,6 @@ __metadata: languageName: node linkType: hard -"connect-history-api-fallback@npm:^2.0.0": - version: 2.0.0 - resolution: "connect-history-api-fallback@npm:2.0.0" - checksum: 10c0/90fa8b16ab76e9531646cc70b010b1dbd078153730c510d3142f6cf07479ae8a812c5a3c0e40a28528dd1681a62395d0cfdef67da9e914c4772ac85d69a3ed87 - languageName: node - linkType: hard - -"consolidate@npm:^0.15.1": - version: 0.15.1 - resolution: "consolidate@npm:0.15.1" - dependencies: - bluebird: "npm:^3.1.1" - checksum: 10c0/02dfbab0a8d5452b74c42dee81526b26a42350ed333575c4f8f099957d02a2dbc92a1f89103b85e83b61371e08a16113ebcddbb38eded53402302e0748f608e1 - languageName: node - linkType: hard - -"content-disposition@npm:~0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb - languageName: node - linkType: hard - -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -4276,20 +2186,6 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:~1.0.6": - version: 1.0.7 - resolution: "cookie-signature@npm:1.0.7" - checksum: 10c0/e7731ad2995ae2efeed6435ec1e22cdd21afef29d300c27281438b1eab2bae04ef0d1a203928c0afec2cee72aa36540b8747406ebe308ad23c8e8cc3c26c9c51 - languageName: node - linkType: hard - -"cookie@npm:~0.7.1": - version: 0.7.2 - resolution: "cookie@npm:0.7.2" - checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 - languageName: node - linkType: hard - "copy-anything@npm:^4": version: 4.0.5 resolution: "copy-anything@npm:4.0.5" @@ -4299,103 +2195,7 @@ __metadata: languageName: node linkType: hard -"copy-webpack-plugin@npm:^9.0.1": - version: 9.1.0 - resolution: "copy-webpack-plugin@npm:9.1.0" - dependencies: - fast-glob: "npm:^3.2.7" - glob-parent: "npm:^6.0.1" - globby: "npm:^11.0.3" - normalize-path: "npm:^3.0.0" - schema-utils: "npm:^3.1.1" - serialize-javascript: "npm:^6.0.0" - peerDependencies: - webpack: ^5.1.0 - checksum: 10c0/1d3f86d0e57adc1533e382982240e76a9ac8aff250685e2a5c67cb2d8cd728eaeecd32e469b7f24ce6bcee052a9dc42da092b640ca34f1dbedd5ae1799d1c6ce - languageName: node - linkType: hard - -"core-js-compat@npm:^3.43.0, core-js-compat@npm:^3.48.0, core-js-compat@npm:^3.8.3": - version: 3.48.0 - resolution: "core-js-compat@npm:3.48.0" - dependencies: - browserslist: "npm:^4.28.1" - checksum: 10c0/7bb6522127928fff5d56c7050f379a034de85fe2d5c6e6925308090d4b51fb0cb88e0db99619c932ee84d8756d531bf851232948fe1ad18598cb1e7278e8db13 - languageName: node - linkType: hard - -"core-js-pure@npm:^3.48.0": - version: 3.48.0 - resolution: "core-js-pure@npm:3.48.0" - checksum: 10c0/8694e37e4df9a1ac878551ad2bfddf543f2563e7c2e98d2dd12ba29b7f1c1b0a2520ecc693102fc2b18bda1fad6f8a9d8009cf38c77249a8513a8dfccef1d635 - languageName: node - linkType: hard - -"core-js@npm:^3.48.0, core-js@npm:^3.8.3": - version: 3.48.0 - resolution: "core-js@npm:3.48.0" - checksum: 10c0/6c3115900dd7cce9fab74c07cb262b3517fc250d02e8fd2ff34f80bda5f43a28482a909dbc4491dc6e1ddd9807f57a7df4c3eeecd1f202b7d9c8bfe25f9d680c - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"cosmiconfig@npm:^6.0.0": - version: 6.0.0 - resolution: "cosmiconfig@npm:6.0.0" - dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.1.0" - parse-json: "npm:^5.0.0" - path-type: "npm:^4.0.0" - yaml: "npm:^1.7.2" - checksum: 10c0/666ed8732d0bf7d7fe6f8516c8ee6041e0622032e8fa26201577b883d2767ad105d03f38b34b93d1f02f26b22a89e7bab4443b9d2e7f931f48d0e944ffa038b5 - languageName: node - linkType: hard - -"cosmiconfig@npm:^7.0.0": - version: 7.1.0 - resolution: "cosmiconfig@npm:7.1.0" - dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.2.1" - parse-json: "npm:^5.0.0" - path-type: "npm:^4.0.0" - yaml: "npm:^1.10.0" - checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 - languageName: node - linkType: hard - -"cross-spawn@npm:^5.0.1": - version: 5.1.0 - resolution: "cross-spawn@npm:5.1.0" - dependencies: - lru-cache: "npm:^4.0.1" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/1918621fddb9f8c61e02118b2dbf81f611ccd1544ceaca0d026525341832b8511ce2504c60f935dbc06b35e5ef156fe8c1e72708c27dd486f034e9c0e1e07201 - languageName: node - linkType: hard - -"cross-spawn@npm:^6.0.0": - version: 6.0.6 - resolution: "cross-spawn@npm:6.0.6" - dependencies: - nice-try: "npm:^1.0.4" - path-key: "npm:^2.0.1" - semver: "npm:^5.5.0" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/bf61fb890e8635102ea9bce050515cf915ff6a50ccaa0b37a17dc82fded0fb3ed7af5478b9367b86baee19127ad86af4be51d209f64fd6638c0862dca185fe1d - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -4406,91 +2206,13 @@ __metadata: languageName: node linkType: hard -"css-declaration-sorter@npm:^6.3.1": - version: 6.4.1 - resolution: "css-declaration-sorter@npm:6.4.1" - peerDependencies: - postcss: ^8.0.9 - checksum: 10c0/b8b664338dac528266a1ed9b27927ac51a907fb16bc1954fa9038b5286c442603bd494cc920c6a3616111309d18ee6b5a85b6d9927938efc942af452a5145160 - languageName: node - linkType: hard - -"css-loader@npm:^6.5.0": - version: 6.11.0 - resolution: "css-loader@npm:6.11.0" +"css-tree@npm:^3.0.0, css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - icss-utils: "npm:^5.1.0" - postcss: "npm:^8.4.33" - postcss-modules-extract-imports: "npm:^3.1.0" - postcss-modules-local-by-default: "npm:^4.0.5" - postcss-modules-scope: "npm:^3.2.0" - postcss-modules-values: "npm:^4.0.0" - postcss-value-parser: "npm:^4.2.0" - semver: "npm:^7.5.4" - peerDependencies: - "@rspack/core": 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - webpack: - optional: true - checksum: 10c0/bb52434138085fed06a33e2ffbdae9ee9014ad23bf60f59d6b7ee67f28f26c6b1764024d3030bd19fd884d6ee6ee2224eaed64ad19eb18fbbb23d148d353a965 - languageName: node - linkType: hard - -"css-minimizer-webpack-plugin@npm:^3.0.2": - version: 3.4.1 - resolution: "css-minimizer-webpack-plugin@npm:3.4.1" - dependencies: - cssnano: "npm:^5.0.6" - jest-worker: "npm:^27.0.2" - postcss: "npm:^8.3.5" - schema-utils: "npm:^4.0.0" - serialize-javascript: "npm:^6.0.0" - source-map: "npm:^0.6.1" - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - "@parcel/css": - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - checksum: 10c0/a6b749a136f7a62a173e576a10c8f2ada18013800a2698ede08dfdf6df6761b9ad24cabfce153ef4958ffcf8509e7b6a40c6ddffa6eb06f3624a97c17b825e06 - languageName: node - linkType: hard - -"css-select@npm:^4.1.3": - version: 4.3.0 - resolution: "css-select@npm:4.3.0" - dependencies: - boolbase: "npm:^1.0.0" - css-what: "npm:^6.0.1" - domhandler: "npm:^4.3.1" - domutils: "npm:^2.8.0" - nth-check: "npm:^2.0.1" - checksum: 10c0/a489d8e5628e61063d5a8fe0fa1cc7ae2478cb334a388a354e91cf2908154be97eac9fa7ed4dffe87a3e06cf6fcaa6016553115335c4fd3377e13dac7bd5a8e1 - languageName: node - linkType: hard - -"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": - version: 1.1.3 - resolution: "css-tree@npm:1.1.3" - dependencies: - mdn-data: "npm:2.0.14" - source-map: "npm:^0.6.1" - checksum: 10c0/499a507bfa39b8b2128f49736882c0dd636b0cd3370f2c69f4558ec86d269113286b7df469afc955de6a68b0dba00bc533e40022a73698081d600072d5d83c1c - languageName: node - linkType: hard - -"css-what@npm:^6.0.1": - version: 6.2.2 - resolution: "css-what@npm:6.2.2" - checksum: 10c0/91e24c26fb977b4ccef30d7007d2668c1c10ac0154cc3f42f7304410e9594fb772aea4f30c832d2993b132ca8d99338050866476210316345ec2e7d47b248a56 + mdn-data: "npm:2.12.2" + source-map-js: "npm:^1.0.1" + checksum: 10c0/b5715852c2f397c715ca00d56ec53fc83ea596295ae112eb1ba6a1bda3b31086380e596b1d8c4b980fe6da09e7d0fc99c64d5bb7313030dd0fba9c1415f30979 languageName: node linkType: hard @@ -4503,96 +2225,15 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^5.2.14": - version: 5.2.14 - resolution: "cssnano-preset-default@npm:5.2.14" +"cssstyle@npm:^6.0.1": + version: 6.0.1 + resolution: "cssstyle@npm:6.0.1" dependencies: - css-declaration-sorter: "npm:^6.3.1" - cssnano-utils: "npm:^3.1.0" - postcss-calc: "npm:^8.2.3" - postcss-colormin: "npm:^5.3.1" - postcss-convert-values: "npm:^5.1.3" - postcss-discard-comments: "npm:^5.1.2" - postcss-discard-duplicates: "npm:^5.1.0" - postcss-discard-empty: "npm:^5.1.1" - postcss-discard-overridden: "npm:^5.1.0" - postcss-merge-longhand: "npm:^5.1.7" - postcss-merge-rules: "npm:^5.1.4" - postcss-minify-font-values: "npm:^5.1.0" - postcss-minify-gradients: "npm:^5.1.1" - postcss-minify-params: "npm:^5.1.4" - postcss-minify-selectors: "npm:^5.2.1" - postcss-normalize-charset: "npm:^5.1.0" - postcss-normalize-display-values: "npm:^5.1.0" - postcss-normalize-positions: "npm:^5.1.1" - postcss-normalize-repeat-style: "npm:^5.1.1" - postcss-normalize-string: "npm:^5.1.0" - postcss-normalize-timing-functions: "npm:^5.1.0" - postcss-normalize-unicode: "npm:^5.1.1" - postcss-normalize-url: "npm:^5.1.0" - postcss-normalize-whitespace: "npm:^5.1.1" - postcss-ordered-values: "npm:^5.1.3" - postcss-reduce-initial: "npm:^5.1.2" - postcss-reduce-transforms: "npm:^5.1.0" - postcss-svgo: "npm:^5.1.0" - postcss-unique-selectors: "npm:^5.1.1" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/d125bdb9ac007f97f920e30be953c550a8e7de0cb9298f67e0bc9744f4b920039046b5a6b817e345872836b08689af747f82fbf2189c8bd48da3e6f0c1087b89 - languageName: node - linkType: hard - -"cssnano-utils@npm:^3.1.0": - version: 3.1.0 - resolution: "cssnano-utils@npm:3.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/057508645a3e7584decede1045daa5b362dbfa2f5df96c3527c7d52e41e787a3442a56a8ea0c0af6a757f518e79a459ee580a35c323ad0d0eec912afd67d7630 - languageName: node - linkType: hard - -"cssnano@npm:^5.0.0, cssnano@npm:^5.0.6": - version: 5.1.15 - resolution: "cssnano@npm:5.1.15" - dependencies: - cssnano-preset-default: "npm:^5.2.14" - lilconfig: "npm:^2.0.3" - yaml: "npm:^1.10.2" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/4252e4f4edd7a0fbdd4017825c0f8632b7a12ecbfdd432d2ff7ec268d48eb956a0a10bbf209602181f9f84ceeecea4a864719ecde03aa2cc48f5d9636fcf5f9a - languageName: node - linkType: hard - -"csso@npm:^4.2.0": - version: 4.2.0 - resolution: "csso@npm:4.2.0" - dependencies: - css-tree: "npm:^1.1.2" - checksum: 10c0/f8c6b1300efaa0f8855a7905ae3794a29c6496e7f16a71dec31eb6ca7cfb1f058a4b03fd39b66c4deac6cb06bf6b4ba86da7b67d7320389cb9994d52b924b903 - languageName: node - linkType: hard - -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 10c0/8c4121c243baf0678c65dcac29b201ff0067dfecf978de9d5c83b2ff127a8fdefd2bfd54577f5ad8c80ed7d2c8b489ae01c82023545d010c4ecb87683fb403dd - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 10c0/d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: "npm:~0.3.6" - checksum: 10c0/863400da2a458f73272b9a55ba7ff05de40d850f22eb4f37311abebd7eff801cf1cd2fb04c4c92b8c3daed83fe766e52e4112afb7bc88d86c63a9c2256a7d178 + "@asamuzakjp/css-color": "npm:^4.1.2" + "@csstools/css-syntax-patches-for-csstree": "npm:^1.0.26" + css-tree: "npm:^3.1.0" + lru-cache: "npm:^11.2.5" + checksum: 10c0/92a8581bad4ce9f77d22761f1aabe72829f4457ac709f4fe1a5b45b431ba165368cd7f849b00454ee31cf0a4c838be583107883f14b6d546802cf3c76a88ca41 languageName: node linkType: hard @@ -4603,34 +2244,17 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.1": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" +"data-urls@npm:^7.0.0": + version: 7.0.0 + resolution: "data-urls@npm:7.0.0" dependencies: - abab: "npm:^2.0.6" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - checksum: 10c0/051c3aaaf3e961904f136aab095fcf6dff4db23a7fc759dd8ba7b3e6ba03fc07ef608086caad8ab910d864bd3b5e57d0d2f544725653d77c96a2c971567045f4 + whatwg-mimetype: "npm:^5.0.0" + whatwg-url: "npm:^16.0.0" + checksum: 10c0/08d88ef50d8966a070ffdaa703e1e4b29f01bb2da364dfbc1612b1c2a4caa8045802c9532d81347b21781100132addb36a585071c8323b12cce97973961dee9f languageName: node linkType: hard -"debounce@npm:^1.2.1": - version: 1.2.1 - resolution: "debounce@npm:1.2.1" - checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 - languageName: node - linkType: hard - -"debug@npm:2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.4.3": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -4642,33 +2266,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4.3.1": - version: 4.3.1 - resolution: "debug@npm:4.3.1" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/610bcc2eb07c533d6a9964478422f7d741095d67301888ee0b77b8f2ad0a15d115c93fb2adb13d10a9eda3d81f2d4d335405540b09596fb23aca070e77497d95 - languageName: node - linkType: hard - -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 - languageName: node - linkType: hard - -"decamelize@npm:^4.0.0": - version: 4.0.0 - resolution: "decamelize@npm:4.0.0" - checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d - languageName: node - linkType: hard - -"decimal.js@npm:^10.3.1": +"decimal.js@npm:^10.6.0": version: 10.6.0 resolution: "decimal.js@npm:10.6.0" checksum: 10c0/07d69fbcc54167a340d2d97de95f546f9ff1f69d2b45a02fd7a5292412df3cd9eb7e23065e532a318f5474a2e1bccf8392fdf0443ef467f97f3bf8cb0477e5aa @@ -4682,238 +2280,27 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^1.5.2": - version: 1.5.2 - resolution: "deepmerge@npm:1.5.2" - checksum: 10c0/5e676957f523c73a69633d236227513310fea934af02839bd6908cf569503f8988e76512fab6d9dde700e72642f22f331455d6b12e2826e4854a8e8233d0789d +"default-browser-id@npm:^5.0.0": + version: 5.0.1 + resolution: "default-browser-id@npm:5.0.1" + checksum: 10c0/5288b3094c740ef3a86df9b999b04ff5ba4dee6b64e7b355c0fff5217752c8c86908d67f32f6cba9bb4f9b7b61a1b640c0a4f9e34c57e0ff3493559a625245ee languageName: node linkType: hard -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - -"default-gateway@npm:^6.0.3": - version: 6.0.3 - resolution: "default-gateway@npm:6.0.3" +"default-browser@npm:^5.2.1": + version: 5.5.0 + resolution: "default-browser@npm:5.5.0" dependencies: - execa: "npm:^5.0.0" - checksum: 10c0/5184f9e6e105d24fb44ade9e8741efa54bb75e84625c1ea78c4ef8b81dff09ca52d6dbdd1185cf0dc655bb6b282a64fffaf7ed2dd561b8d9ad6f322b1f039aba + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/576593b617b17a7223014b4571bfe1c06a2581a4eb8b130985d90d253afa3f40999caec70eb0e5776e80d4af6a41cce91018cd3f86e57ad578bf59e46fb19abe languageName: node linkType: hard -"defaults@npm:^1.0.3": - version: 1.0.4 - resolution: "defaults@npm:1.0.4" - dependencies: - clone: "npm:^1.0.2" - checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a - languageName: node - linkType: hard - -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 - languageName: node - linkType: hard - -"define-properties@npm:^1.2.1": - version: 1.2.1 - resolution: "define-properties@npm:1.2.1" - dependencies: - define-data-property: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"depd@npm:2.0.0, depd@npm:~2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"depd@npm:~1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 - languageName: node - linkType: hard - -"destroy@npm:1.2.0, destroy@npm:~1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 - languageName: node - linkType: hard - -"detect-libc@npm:^2.0.3": - version: 2.1.2 - resolution: "detect-libc@npm:2.1.2" - checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 - languageName: node - linkType: hard - -"detect-node@npm:^2.0.4": - version: 2.1.0 - resolution: "detect-node@npm:2.1.0" - checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 - languageName: node - linkType: hard - -"diff@npm:5.0.0": - version: 5.0.0 - resolution: "diff@npm:5.0.0" - checksum: 10c0/08c5904779bbababcd31f1707657b1ad57f8a9b65e6f88d3fb501d09a965d5f8d73066898a7d3f35981f9e4101892c61d99175d421f3b759533213c253d91134 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dns-packet@npm:^5.2.2": - version: 5.6.1 - resolution: "dns-packet@npm:5.6.1" - dependencies: - "@leichtgewicht/ip-codec": "npm:^2.0.1" - checksum: 10c0/8948d3d03063fb68e04a1e386875f8c3bcc398fc375f535f2b438fad8f41bf1afa6f5e70893ba44f4ae884c089247e0a31045722fa6ff0f01d228da103f1811d - languageName: node - linkType: hard - -"doctrine@npm:^3.0.0": +"define-lazy-prop@npm:^3.0.0": version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - -"dom-converter@npm:^0.2.0": - version: 0.2.0 - resolution: "dom-converter@npm:0.2.0" - dependencies: - utila: "npm:~0.4" - checksum: 10c0/e96aa63bd8c6ee3cd9ce19c3aecfc2c42e50a460e8087114794d4f5ecf3a4f052b34ea3bf2d73b5d80b4da619073b49905e6d7d788ceb7814ca4c29be5354a11 - languageName: node - linkType: hard - -"dom-serializer@npm:^1.0.1": - version: 1.4.1 - resolution: "dom-serializer@npm:1.4.1" - dependencies: - domelementtype: "npm:^2.0.1" - domhandler: "npm:^4.2.0" - entities: "npm:^2.0.0" - checksum: 10c0/67d775fa1ea3de52035c98168ddcd59418356943b5eccb80e3c8b3da53adb8e37edb2cc2f885802b7b1765bf5022aec21dfc32910d7f9e6de4c3148f095ab5e0 - languageName: node - linkType: hard - -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: 10c0/686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9 - languageName: node - linkType: hard - -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 - languageName: node - linkType: hard - -"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": - version: 4.3.1 - resolution: "domhandler@npm:4.3.1" - dependencies: - domelementtype: "npm:^2.2.0" - checksum: 10c0/5c199c7468cb052a8b5ab80b13528f0db3d794c64fc050ba793b574e158e67c93f8336e87fd81e9d5ee43b0e04aea4d8b93ed7be4899cb726a1601b3ba18538b - languageName: node - linkType: hard - -"domutils@npm:^2.5.2, domutils@npm:^2.8.0": - version: 2.8.0 - resolution: "domutils@npm:2.8.0" - dependencies: - dom-serializer: "npm:^1.0.1" - domelementtype: "npm:^2.2.0" - domhandler: "npm:^4.2.0" - checksum: 10c0/d58e2ae01922f0dd55894e61d18119924d88091837887bf1438f2327f32c65eb76426bd9384f81e7d6dcfb048e0f83c19b222ad7101176ad68cdc9c695b563db - languageName: node - linkType: hard - -"dot-case@npm:^3.0.4": - version: 3.0.4 - resolution: "dot-case@npm:3.0.4" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 - languageName: node - linkType: hard - -"dotenv-expand@npm:^5.1.0": - version: 5.1.0 - resolution: "dotenv-expand@npm:5.1.0" - checksum: 10c0/24ac633de853ef474d0421cc639328b7134109c8dc2baaa5e3afb7495af5e9237136d7e6971e55668e4dce915487eb140967cdd2b3e99aa439e0f6bf8b56faeb - languageName: node - linkType: hard - -"dotenv@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv@npm:10.0.0" - checksum: 10c0/2d8d4ba64bfaff7931402aa5e8cbb8eba0acbc99fe9ae442300199af021079eafa7171ce90e150821a5cb3d74f0057721fbe7ec201a6044b68c8a7615f8c123f - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"duplexer@npm:^0.1.2": - version: 0.1.2 - resolution: "duplexer@npm:0.1.2" - checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 languageName: node linkType: hard @@ -4924,13 +2311,6 @@ __metadata: languageName: node linkType: hard -"easy-stack@npm:1.0.1": - version: 1.0.1 - resolution: "easy-stack@npm:1.0.1" - checksum: 10c0/1eaf066169a20f6cc3cafd2bb36b00baacd60b6414c8d8bf51bfd50bc6f1c487140c8af86bbb8e1ff9ded2faea5e138c55a37867fc79cbbc985bf5a5ebe4b109 - languageName: node - linkType: hard - "editorconfig@npm:^1.0.4": version: 1.0.4 resolution: "editorconfig@npm:1.0.4" @@ -4945,24 +2325,10 @@ __metadata: languageName: node linkType: hard -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.263": - version: 1.5.286 - resolution: "electron-to-chromium@npm:1.5.286" - checksum: 10c0/5384510f9682d7e46f98fa48b874c3901d9639de96e9e387afce1fe010fbac31376df0534524edc15f66e9902bfacee54037a5e598004e9c6a617884e379926d - languageName: node - linkType: hard - -"emoji-regex@npm:^7.0.1": - version: 7.0.3 - resolution: "emoji-regex@npm:7.0.3" - checksum: 10c0/a8917d695c3a3384e4b7230a6a06fd2de6b3db3709116792e8b7b36ddbb3db4deb28ad3e983e70d4f2a1f9063b5dab9025e4e26e9ca08278da4fbb73e213743f + version: 1.5.302 + resolution: "electron-to-chromium@npm:1.5.302" + checksum: 10c0/014413f2b4ec3a0e043c68f6c07a760d230b14e36b8549c5b124f386a6318d9641e69be2aa0df1877395dd99922745c1722c8ecb3d72205f0f3b3b3dc44c8442 languageName: node linkType: hard @@ -4980,20 +2346,6 @@ __metadata: languageName: node linkType: hard -"emojis-list@npm:^3.0.0": - version: 3.0.0 - resolution: "emojis-list@npm:3.0.0" - checksum: 10c0/7dc4394b7b910444910ad64b812392159a21e1a7ecc637c775a440227dcb4f80eff7fe61f4453a7d7603fa23d23d30cc93fe9e4b5ed985b88d6441cd4a35117b - languageName: node - linkType: hard - -"encodeurl@npm:~2.0.0": - version: 2.0.0 - resolution: "encodeurl@npm:2.0.0" - checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb - languageName: node - linkType: hard - "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -5003,29 +2355,10 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0": - version: 1.4.5 - resolution: "end-of-stream@npm:1.4.5" - dependencies: - once: "npm:^1.4.0" - checksum: 10c0/b0701c92a10b89afb1cb45bf54a5292c6f008d744eb4382fa559d54775ff31617d1d7bc3ef617575f552e24fad2c7c1a1835948c66b3f3a4be0a6c1f35c883d8 - languageName: node - linkType: hard - -"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.19.0": - version: 5.19.0 - resolution: "enhanced-resolve@npm:5.19.0" - dependencies: - graceful-fs: "npm:^4.2.4" - tapable: "npm:^2.3.0" - checksum: 10c0/966b1dffb82d5f6a4d6a86e904e812104a999066aa29f9223040aaa751e7c453b462a3f5ef91f8bd4408131ff6f7f90651dd1c804bdcb7944e2099a9c2e45ee2 - languageName: node - linkType: hard - -"entities@npm:^2.0.0": - version: 2.2.0 - resolution: "entities@npm:2.2.0" - checksum: 10c0/7fba6af1f116300d2ba1c5673fc218af1961b20908638391b4e1e6d5850314ee2ac3ec22d741b3a8060479911c99305164aed19b6254bde75e7e6b1b2c3f3aa3 +"entities@npm:^6.0.0": + version: 6.0.1 + resolution: "entities@npm:6.0.1" + checksum: 10c0/ed836ddac5acb34341094eb495185d527bd70e8632b6c0d59548cbfa23defdbae70b96f9a405c82904efa421230b5b3fd2283752447d737beffd3f3e6ee74414 languageName: node linkType: hard @@ -5050,168 +2383,203 @@ __metadata: languageName: node linkType: hard -"errno@npm:^0.1.3": - version: 0.1.8 - resolution: "errno@npm:0.1.8" +"error-stack-parser-es@npm:^1.0.5": + version: 1.0.5 + resolution: "error-stack-parser-es@npm:1.0.5" + checksum: 10c0/040665eb87a42fe068c0da501bc258f3d15d3a03963c0723d7a2741e251d400c9776a52d2803afdc5709def99554cdb5a5d99c203c7eaf4885d3fbc217e2e8f7 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.7.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b + languageName: node + linkType: hard + +"esbuild@npm:^0.27.0": + version: 0.27.3 + resolution: "esbuild@npm:0.27.3" dependencies: - prr: "npm:~1.0.1" + "@esbuild/aix-ppc64": "npm:0.27.3" + "@esbuild/android-arm": "npm:0.27.3" + "@esbuild/android-arm64": "npm:0.27.3" + "@esbuild/android-x64": "npm:0.27.3" + "@esbuild/darwin-arm64": "npm:0.27.3" + "@esbuild/darwin-x64": "npm:0.27.3" + "@esbuild/freebsd-arm64": "npm:0.27.3" + "@esbuild/freebsd-x64": "npm:0.27.3" + "@esbuild/linux-arm": "npm:0.27.3" + "@esbuild/linux-arm64": "npm:0.27.3" + "@esbuild/linux-ia32": "npm:0.27.3" + "@esbuild/linux-loong64": "npm:0.27.3" + "@esbuild/linux-mips64el": "npm:0.27.3" + "@esbuild/linux-ppc64": "npm:0.27.3" + "@esbuild/linux-riscv64": "npm:0.27.3" + "@esbuild/linux-s390x": "npm:0.27.3" + "@esbuild/linux-x64": "npm:0.27.3" + "@esbuild/netbsd-arm64": "npm:0.27.3" + "@esbuild/netbsd-x64": "npm:0.27.3" + "@esbuild/openbsd-arm64": "npm:0.27.3" + "@esbuild/openbsd-x64": "npm:0.27.3" + "@esbuild/openharmony-arm64": "npm:0.27.3" + "@esbuild/sunos-x64": "npm:0.27.3" + "@esbuild/win32-arm64": "npm:0.27.3" + "@esbuild/win32-ia32": "npm:0.27.3" + "@esbuild/win32-x64": "npm:0.27.3" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true bin: - errno: cli.js - checksum: 10c0/83758951967ec57bf00b5f5b7dc797e6d65a6171e57ea57adcf1bd1a0b477fd9b5b35fae5be1ff18f4090ed156bce1db749fe7e317aac19d485a5d150f6a4936 + esbuild: bin/esbuild + checksum: 10c0/fdc3f87a3f08b3ef98362f37377136c389a0d180fda4b8d073b26ba930cf245521db0a368f119cc7624bc619248fff1439f5811f062d853576f8ffa3df8ee5f1 languageName: node linkType: hard -"error-ex@npm:^1.3.1": - version: 1.3.4 - resolution: "error-ex@npm:1.3.4" - dependencies: - is-arrayish: "npm:^0.2.1" - checksum: 10c0/b9e34ff4778b8f3b31a8377e1c654456f4c41aeaa3d10a1138c3b7635d8b7b2e03eb2475d46d8ae055c1f180a1063e100bffabf64ea7e7388b37735df5328664 - languageName: node - linkType: hard - -"error-stack-parser@npm:^2.0.6": - version: 2.1.4 - resolution: "error-stack-parser@npm:2.1.4" - dependencies: - stackframe: "npm:^1.3.4" - checksum: 10c0/7679b780043c98b01fc546725484e0cfd3071bf5c906bbe358722972f04abf4fc3f0a77988017665bab367f6ef3fc2d0185f7528f45966b83e7c99c02d5509b9 - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-module-lexer@npm:^2.0.0": - version: 2.0.0 - resolution: "es-module-lexer@npm:2.0.0" - checksum: 10c0/ae78dbbd43035a4b972c46cfb6877e374ea290adfc62bc2f5a083fea242c0b2baaab25c5886af86be55f092f4a326741cb94334cd3c478c383fdc8a9ec5ff817 - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.1.0": - version: 2.1.0 - resolution: "es-set-tostringtag@npm:2.1.0" - dependencies: - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af - languageName: node - linkType: hard - -"escalade@npm:^3.1.1, escalade@npm:^3.2.0": +"escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 languageName: node linkType: hard -"escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": +"escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true +"eslint-config-prettier@npm:^10.1.8": + version: 10.1.8 + resolution: "eslint-config-prettier@npm:10.1.8" + peerDependencies: + eslint: ">=7.0.0" bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 + eslint-config-prettier: bin/cli.js + checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682 languageName: node linkType: hard -"eslint-plugin-vue@npm:^9.33.0": - version: 9.33.0 - resolution: "eslint-plugin-vue@npm:9.33.0" +"eslint-plugin-oxlint@npm:~1.46.0": + version: 1.46.0 + resolution: "eslint-plugin-oxlint@npm:1.46.0" + dependencies: + jsonc-parser: "npm:^3.3.1" + checksum: 10c0/b95880bec450270dff8530bbef3f39a4de519f9d44d239b1871d259a634bbff4bb44e07480cc225ba83bb973c1bf791b951603fb1de6e71ec8be19d591977d3a + languageName: node + linkType: hard + +"eslint-plugin-vue@npm:~10.8.0": + version: 10.8.0 + resolution: "eslint-plugin-vue@npm:10.8.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - globals: "npm:^13.24.0" natural-compare: "npm:^1.4.0" nth-check: "npm:^2.1.1" - postcss-selector-parser: "npm:^6.0.15" + postcss-selector-parser: "npm:^7.1.0" semver: "npm:^7.6.3" - vue-eslint-parser: "npm:^9.4.3" xml-name-validator: "npm:^4.0.0" peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/2f5ee967158fc345ec3f2076835e6a9d706c4bbb7dc4c3806ad8db81133d73128fbd402f71b3adf8ae53e5e4a0a1aba32e44eb757544901a6a62021a1ccad92e + "@stylistic/eslint-plugin": ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + "@typescript-eslint/parser": ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + vue-eslint-parser: ^10.0.0 + peerDependenciesMeta: + "@stylistic/eslint-plugin": + optional: true + "@typescript-eslint/parser": + optional: true + checksum: 10c0/e2917ac90f8ea80d153ee1776a6d75fd46396ed3d988623e8578e6c78e5cf5eef04625dc62ac7bf26e78bf822f0a26c6718b64b5c6f32ec781301222c939f2c6 languageName: node linkType: hard -"eslint-scope@npm:5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" +"eslint-scope@npm:^8.2.0 || ^9.0.0": + version: 9.1.1 + resolution: "eslint-scope@npm:9.1.1" dependencies: + "@types/esrecurse": "npm:^4.3.1" + "@types/estree": "npm:^1.0.8" esrecurse: "npm:^4.3.0" - estraverse: "npm:^4.1.1" - checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + estraverse: "npm:^5.2.0" + checksum: 10c0/58327b26cd6a78693951668ce68c466a535259173d187cbd5c9d3cbe657cfd5dfaf1c01ec3176b8f6f1cf240b48d01d01e0f76ad9300682d9dd51d5d1514d4c1 languageName: node linkType: hard -"eslint-scope@npm:^7.1.1, eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.2.0 || ^5.0.0, eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": + version: 5.0.1 + resolution: "eslint-visitor-keys@npm:5.0.1" + checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^4.2.1": version: 4.2.1 resolution: "eslint-visitor-keys@npm:4.2.1" @@ -5219,92 +2587,78 @@ __metadata: languageName: node linkType: hard -"eslint-webpack-plugin@npm:^3.1.0": - version: 3.2.0 - resolution: "eslint-webpack-plugin@npm:3.2.0" +"eslint@npm:^9.39.2": + version: 9.39.3 + resolution: "eslint@npm:9.39.3" dependencies: - "@types/eslint": "npm:^7.29.0 || ^8.4.1" - jest-worker: "npm:^28.0.2" - micromatch: "npm:^4.0.5" - normalize-path: "npm:^3.0.0" - schema-utils: "npm:^4.0.0" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - webpack: ^5.0.0 - checksum: 10c0/e2e11e6743df9e65e73f4d0b6de832a47a17568b2a4b03b86acfa3458bb2db50a7809c835b64613320f5fd5e1b1395dd2abe08d7f5c466c77234c500a087cad2 - languageName: node - linkType: hard - -"eslint@npm:^8.57.1": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/eslint-utils": "npm:^4.8.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.21.1" + "@eslint/config-helpers": "npm:^0.4.2" + "@eslint/core": "npm:^0.17.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.39.3" + "@eslint/plugin-kit": "npm:^0.4.1" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + checksum: 10c0/5e5dbf84d4f604f5d2d7a58c5c3fcdde30a01b8973ff3caeca8b2bacc16066717cedb4385ce52db1a2746d0b621770d4d4227cc7f44982b0b03818be2c31538d languageName: node linkType: hard -"espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.15.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b languageName: node linkType: hard -"esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 +"espree@npm:^10.3.0 || ^11.0.0": + version: 11.1.1 + resolution: "espree@npm:11.1.1" + dependencies: + acorn: "npm:^8.16.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^5.0.1" + checksum: 10c0/2feae74efdfb037b9e9fcb30506799845cf20900de5e441ed03e5c51aaa249f85ea5818ff177682acc0c9bfb4ac97e1965c238ee44ac7c305aab8747177bab69 languageName: node linkType: hard -"esquery@npm:^1.4.0, esquery@npm:^1.4.2": +"esquery@npm:^1.5.0, esquery@npm:^1.6.0": version: 1.7.0 resolution: "esquery@npm:1.7.0" dependencies: @@ -5322,13 +2676,6 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" @@ -5343,6 +2690,15 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -5350,78 +2706,10 @@ __metadata: languageName: node linkType: hard -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 - languageName: node - linkType: hard - -"event-pubsub@npm:4.3.0": - version: 4.3.0 - resolution: "event-pubsub@npm:4.3.0" - checksum: 10c0/47fa4fb5b55b3ed08b912862cc913e03603fa063cd3ec5cf3dfeb39a19314d3ca327e938a2cf70685254ab3a71af8178969963c705a030c6081d625bec835114 - languageName: node - linkType: hard - -"eventemitter3@npm:^4.0.0": - version: 4.0.7 - resolution: "eventemitter3@npm:4.0.7" - checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b - languageName: node - linkType: hard - -"events@npm:^3.2.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - -"execa@npm:^0.8.0": - version: 0.8.0 - resolution: "execa@npm:0.8.0" - dependencies: - cross-spawn: "npm:^5.0.1" - get-stream: "npm:^3.0.0" - is-stream: "npm:^1.1.0" - npm-run-path: "npm:^2.0.0" - p-finally: "npm:^1.0.0" - signal-exit: "npm:^3.0.0" - strip-eof: "npm:^1.0.0" - checksum: 10c0/e6c085687024cd5d348cad98a12213f6ebad2e962c7f3298ea8608fd5ed2daad8d1e27e79bfe7104bf60d8d80b56dd60267a0667006c29019e4297c96ecfe99d - languageName: node - linkType: hard - -"execa@npm:^1.0.0": - version: 1.0.0 - resolution: "execa@npm:1.0.0" - dependencies: - cross-spawn: "npm:^6.0.0" - get-stream: "npm:^4.0.0" - is-stream: "npm:^1.1.0" - npm-run-path: "npm:^2.0.0" - p-finally: "npm:^1.0.0" - signal-exit: "npm:^3.0.0" - strip-eof: "npm:^1.0.0" - checksum: 10c0/cc71707c9aa4a2552346893ee63198bf70a04b5a1bc4f8a0ef40f1d03c319eae80932c59191f037990d7d102193e83a38ec72115fff814ec2fb3099f3661a590 - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f +"expect-type@npm:^1.2.2": + version: 1.3.0 + resolution: "expect-type@npm:1.3.0" + checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd languageName: node linkType: hard @@ -5432,45 +2720,6 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.17.3": - version: 4.22.1 - resolution: "express@npm:4.22.1" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:~1.20.3" - content-disposition: "npm:~0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:~0.7.1" - cookie-signature: "npm:~1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:~1.3.1" - fresh: "npm:~0.5.2" - http-errors: "npm:~2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:~2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:~0.1.12" - proxy-addr: "npm:~2.0.7" - qs: "npm:~6.14.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:~0.19.0" - serve-static: "npm:~1.16.2" - setprototypeof: "npm:1.2.0" - statuses: "npm:~2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10c0/ea57f512ab1e05e26b53a14fd432f65a10ec735ece342b37d0b63a7bcb8d337ffbb830ecb8ca15bcdfe423fbff88cea09786277baff200e8cde3ab40faa665cd - languageName: node - linkType: hard - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -5478,7 +2727,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -5505,13 +2754,6 @@ __metadata: languageName: node linkType: hard -"fast-uri@npm:^3.0.1": - version: 3.1.0 - resolution: "fast-uri@npm:3.1.0" - checksum: 10c0/44364adca566f70f40d1e9b772c923138d47efeac2ae9732a872baafd77061f26b097ba2f68f0892885ad177becd065520412b8ffeec34b16c99433c5b9e2de7 - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.20.1 resolution: "fastq@npm:1.20.1" @@ -5521,15 +2763,6 @@ __metadata: languageName: node linkType: hard -"faye-websocket@npm:^0.11.3": - version: 0.11.4 - resolution: "faye-websocket@npm:0.11.4" - dependencies: - websocket-driver: "npm:>=0.5.1" - checksum: 10c0/c6052a0bb322778ce9f89af92890f6f4ce00d5ec92418a35e5f4c6864a4fe736fec0bcebd47eac7c0f0e979b01530746b1c85c83cb04bae789271abf19737420 - languageName: node - linkType: hard - "fdir@npm:^6.5.0": version: 6.5.0 resolution: "fdir@npm:6.5.0" @@ -5542,21 +2775,12 @@ __metadata: languageName: node linkType: hard -"figures@npm:^2.0.0": - version: 2.0.0 - resolution: "figures@npm:2.0.0" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - escape-string-regexp: "npm:^1.0.5" - checksum: 10c0/5dc5a75fec3e7e04ae65d6ce51d28b3e70d4656c51b06996b6fdb2cb5b542df512e3b3c04482f5193a964edddafa5521479ff948fa84e12ff556e53e094ab4ce - languageName: node - linkType: hard - -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -5569,33 +2793,7 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:~1.3.1": - version: 1.3.2 - resolution: "finalhandler@npm:1.3.2" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:~2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:~2.0.2" - unpipe: "npm:~1.0.0" - checksum: 10c0/435a4fd65e4e4e4c71bb5474980090b73c353a123dd415583f67836bdd6516e528cf07298e219a82b94631dee7830eae5eece38d3c178073cf7df4e8c182f413 - languageName: node - linkType: hard - -"find-cache-dir@npm:^3.3.1": - version: 3.3.2 - resolution: "find-cache-dir@npm:3.3.2" - dependencies: - commondir: "npm:^1.0.1" - make-dir: "npm:^3.0.2" - pkg-dir: "npm:^4.1.0" - checksum: 10c0/92747cda42bff47a0266b06014610981cfbb71f55d60f2c8216bc3108c83d9745507fb0b14ecf6ab71112bed29cd6fb1a137ee7436179ea36e11287e3159e587 - languageName: node - linkType: hard - -"find-up@npm:5.0.0, find-up@npm:^5.0.0": +"find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" dependencies: @@ -5605,42 +2803,13 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: "npm:^3.0.0" - checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 - languageName: node - linkType: hard - -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 - languageName: node - linkType: hard - -"flat@npm:^5.0.2": - version: 5.0.2 - resolution: "flat@npm:5.0.2" - bin: - flat: cli.js - checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard @@ -5651,16 +2820,6 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.11": - version: 1.15.11 - resolution: "follow-redirects@npm:1.15.11" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/d301f430542520a54058d4aeeb453233c564aaccac835d29d15e050beb33f339ad67d9bddbce01739c5dc46a6716dbe3d9d0d5134b1ca203effa11a7ef092343 - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0": version: 3.3.1 resolution: "foreground-child@npm:3.3.1" @@ -5671,83 +2830,6 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^6.4.0": - version: 6.5.3 - resolution: "fork-ts-checker-webpack-plugin@npm:6.5.3" - dependencies: - "@babel/code-frame": "npm:^7.8.3" - "@types/json-schema": "npm:^7.0.5" - chalk: "npm:^4.1.0" - chokidar: "npm:^3.4.2" - cosmiconfig: "npm:^6.0.0" - deepmerge: "npm:^4.2.2" - fs-extra: "npm:^9.0.0" - glob: "npm:^7.1.6" - memfs: "npm:^3.1.2" - minimatch: "npm:^3.0.4" - schema-utils: "npm:2.7.0" - semver: "npm:^7.3.2" - tapable: "npm:^1.0.0" - peerDependencies: - eslint: ">= 6" - typescript: ">= 2.7" - vue-template-compiler: "*" - webpack: ">= 4" - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true - checksum: 10c0/0885ea75474de011d4068ca3e2d3ca6e4cd318f5cfa018e28ff8fef23ef3a1f1c130160ef192d3e5d31ef7b6fe9f8fb1d920eab5e9e449fb30ce5cc96647245c - languageName: node - linkType: hard - -"form-data@npm:^4.0.0, form-data@npm:^4.0.5": - version: 4.0.5 - resolution: "form-data@npm:4.0.5" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.2" - mime-types: "npm:^2.1.12" - checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b - languageName: node - linkType: hard - -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 - languageName: node - linkType: hard - -"fraction.js@npm:^5.3.4": - version: 5.3.4 - resolution: "fraction.js@npm:5.3.4" - checksum: 10c0/f90079fe9bfc665e0a07079938e8ff71115bce9462f17b32fc283f163b0540ec34dc33df8ed41bb56f028316b04361b9a9995b9ee9258617f8338e0b05c5f95a - languageName: node - linkType: hard - -"fresh@npm:~0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - -"fs-extra@npm:^9.0.0, fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 - languageName: node - linkType: hard - "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -5757,21 +2839,7 @@ __metadata: languageName: node linkType: hard -"fs-monkey@npm:^1.0.4": - version: 1.1.0 - resolution: "fs-monkey@npm:1.1.0" - checksum: 10c0/45596fe14753ae8f3fa180724106383de68c8de2836eb24d1647cacf18a6d05335402f3611d32e00234072a60d2f3371024c00cd295593bfbce35b84ff9f6a34 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.1, fsevents@npm:~2.3.2": +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -5781,7 +2849,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A~2.3.1#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -5790,13 +2858,6 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -5804,65 +2865,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"get-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "get-stream@npm:3.0.0" - checksum: 10c0/003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 - languageName: node - linkType: hard - -"get-stream@npm:^4.0.0": - version: 4.1.0 - resolution: "get-stream@npm:4.1.0" - dependencies: - pump: "npm:^3.0.0" - checksum: 10c0/294d876f667694a5ca23f0ca2156de67da950433b6fb53024833733975d32582896dbc7f257842d331809979efccf04d5e0b6b75ad4d45744c45f193fd497539 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"glob-parent@npm:5.1.2, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -5871,7 +2874,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": +"glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" dependencies: @@ -5880,27 +2883,6 @@ __metadata: languageName: node linkType: hard -"glob-to-regexp@npm:^0.4.1": - version: 0.4.1 - resolution: "glob-to-regexp@npm:0.4.1" - checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 - languageName: node - linkType: hard - -"glob@npm:7.1.6": - version: 7.1.6 - resolution: "glob@npm:7.1.6" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.0.4" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/2575cce9306ac534388db751f0aa3e78afedb6af8f3b529ac6b2354f66765545145dba8530abf7bff49fb399a047d3f9b6901c38ee4c9503f592960d9af67763 - languageName: node - linkType: hard - "glob@npm:^10.4.2": version: 10.5.0 resolution: "glob@npm:10.5.0" @@ -5918,120 +2900,30 @@ __metadata: linkType: hard "glob@npm:^13.0.0": - version: 13.0.3 - resolution: "glob@npm:13.0.3" + version: 13.0.6 + resolution: "glob@npm:13.0.6" dependencies: - minimatch: "npm:^10.2.0" - minipass: "npm:^7.1.2" - path-scurry: "npm:^2.0.0" - checksum: 10c0/333dc5c40ca0e50400465d8f5c45aa7cdd32580c4d1a4c502dfb4fb9c469a936b8e0c6bbd09cd6353fd05982e48d7f79e819159a36fb3e0a41ee722607bc11a9 + minimatch: "npm:^10.2.2" + minipass: "npm:^7.1.3" + path-scurry: "npm:^2.0.2" + checksum: 10c0/269c236f11a9b50357fe7a8c6aadac667e01deb5242b19c84975628f05f4438d8ee1354bb62c5d6c10f37fd59911b54d7799730633a2786660d8c69f1d18120a languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.6": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d languageName: node linkType: hard -"globals@npm:^13.19.0, globals@npm:^13.24.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globby@npm:^10.0.1": - version: 10.0.2 - resolution: "globby@npm:10.0.2" - dependencies: - "@types/glob": "npm:^7.1.1" - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.0.3" - glob: "npm:^7.1.3" - ignore: "npm:^5.1.1" - merge2: "npm:^1.2.3" - slash: "npm:^3.0.0" - checksum: 10c0/9c610ad47117b9dfbc5b0c6c2408c3b72f89c1b9f91ee14c4dc794794e35768ee0920e2a403b688cfa749f48617c6ba3f3a52df07677ed73d602d4349b68c810 - languageName: node - linkType: hard - -"globby@npm:^11.0.2, globby@npm:^11.0.3, globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - -"gopd@npm:^1.0.1, gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"growl@npm:1.10.5": - version: 1.10.5 - resolution: "growl@npm:1.10.5" - checksum: 10c0/a6a8f4df1269ac321f9e41c310552f3568768160942b6c9a7c116fcff1e3921f6a48fb7520689660412f7d1e5d46f76214e05406b23eee9e213830fdc2f772fe - languageName: node - linkType: hard - -"gzip-size@npm:^6.0.0": - version: 6.0.0 - resolution: "gzip-size@npm:6.0.0" - dependencies: - duplexer: "npm:^0.1.2" - checksum: 10c0/4ccb924626c82125897a997d1c84f2377846a6ef57fbee38f7c0e6b41387fba4d00422274440747b58008b5d60114bac2349c2908e9aba55188345281af40a3f - languageName: node - linkType: hard - -"handle-thing@npm:^2.0.0": - version: 2.0.1 - resolution: "handle-thing@npm:2.0.1" - checksum: 10c0/7ae34ba286a3434f1993ebd1cc9c9e6b6d8ea672182db28b1afc0a7119229552fa7031e3e5f3cd32a76430ece4e94b7da6f12af2eb39d6239a7693e4bd63a998 - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -6039,70 +2931,6 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hash-sum@npm:^1.0.2": - version: 1.0.2 - resolution: "hash-sum@npm:1.0.2" - checksum: 10c0/311b2d7ea317b128860a88c7fd3ae46aef010b7fd7418a44afd2787cd889f24d635fa1e22a51bd5a5d8e338597c1da917d81f572e0de2f375e52e96c9fb63a66 - languageName: node - linkType: hard - -"hash-sum@npm:^2.0.0": - version: 2.0.0 - resolution: "hash-sum@npm:2.0.0" - checksum: 10c0/45dee9cf318d7a9b0ba5f766d35bfa14eb9483f9b878b1f980f097a87c2a490219774d42962c0c5c9bf53b1cca51724307bc35a0781218236da3d33715b4962d - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"he@npm:1.2.0, he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 - languageName: node - linkType: hard - -"highlight.js@npm:^10.7.1": - version: 10.7.3 - resolution: "highlight.js@npm:10.7.3" - checksum: 10c0/073837eaf816922427a9005c56c42ad8786473dc042332dfe7901aa065e92bc3d94ebf704975257526482066abb2c8677cc0326559bb8621e046c21c5991c434 - languageName: node - linkType: hard - "hookable@npm:^5.5.3": version: 5.5.3 resolution: "hookable@npm:5.5.3" @@ -6110,102 +2938,12 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^2.1.4": - version: 2.8.9 - resolution: "hosted-git-info@npm:2.8.9" - checksum: 10c0/317cbc6b1bbbe23c2a40ae23f3dafe9fa349ce42a89a36f930e3f9c0530c179a3882d2ef1e4141a4c3674d6faaea862138ec55b43ad6f75e387fda2483a13c70 - languageName: node - linkType: hard - -"hpack.js@npm:^2.1.6": - version: 2.1.6 - resolution: "hpack.js@npm:2.1.6" +"html-encoding-sniffer@npm:^6.0.0": + version: 6.0.0 + resolution: "html-encoding-sniffer@npm:6.0.0" dependencies: - inherits: "npm:^2.0.1" - obuf: "npm:^1.0.0" - readable-stream: "npm:^2.0.1" - wbuf: "npm:^1.1.0" - checksum: 10c0/55b9e824430bab82a19d079cb6e33042d7d0640325678c9917fcc020c61d8a08ca671b6c942c7f0aae9bb6e4b67ffb50734a72f9e21d66407c3138c1983b70f0 - languageName: node - linkType: hard - -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" - dependencies: - whatwg-encoding: "npm:^2.0.0" - checksum: 10c0/b17b3b0fb5d061d8eb15121c3b0b536376c3e295ecaf09ba48dd69c6b6c957839db124fe1e2b3f11329753a4ee01aa7dedf63b7677999e86da17fbbdd82c5386 - languageName: node - linkType: hard - -"html-entities@npm:^2.3.2": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 10c0/7c8b15d9ea0cd00dc9279f61bab002ba6ca8a7a0f3c36ed2db3530a67a9621c017830d1d2c1c65beb9b8e3436ea663e9cf8b230472e0e413359399413b27c8b7 - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.2": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"html-minifier-terser@npm:^6.0.2": - version: 6.1.0 - resolution: "html-minifier-terser@npm:6.1.0" - dependencies: - camel-case: "npm:^4.1.2" - clean-css: "npm:^5.2.2" - commander: "npm:^8.3.0" - he: "npm:^1.2.0" - param-case: "npm:^3.0.4" - relateurl: "npm:^0.2.7" - terser: "npm:^5.10.0" - bin: - html-minifier-terser: cli.js - checksum: 10c0/1aa4e4f01cf7149e3ac5ea84fb7a1adab86da40d38d77a6fff42852b5ee3daccb78b615df97264e3a6a5c33e57f0c77f471d607ca1e1debd1dab9b58286f4b5a - languageName: node - linkType: hard - -"html-tags@npm:^2.0.0": - version: 2.0.0 - resolution: "html-tags@npm:2.0.0" - checksum: 10c0/d438cc99feb04e7af2b51d114c40e4b789290edf544532134d5c92e6f64d1e4408bbb96ef31036260824fc0916dc4da454a4973f447dab83ed704ceafbaf8f19 - languageName: node - linkType: hard - -"html-webpack-plugin@npm:^5.1.0": - version: 5.6.6 - resolution: "html-webpack-plugin@npm:5.6.6" - dependencies: - "@types/html-minifier-terser": "npm:^6.0.0" - html-minifier-terser: "npm:^6.0.2" - lodash: "npm:^4.17.21" - pretty-error: "npm:^4.0.0" - tapable: "npm:^2.0.0" - peerDependencies: - "@rspack/core": 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - webpack: - optional: true - checksum: 10c0/30c07c46c6125d51f9779e4fc3dd1bf30ebd0ef78e9628d918f8e4c45e116e79a31ca5ba3444d2743833335405616b8772a68d6183b0663f016529802422ca9e - languageName: node - linkType: hard - -"htmlparser2@npm:^6.1.0": - version: 6.1.0 - resolution: "htmlparser2@npm:6.1.0" - dependencies: - domelementtype: "npm:^2.0.1" - domhandler: "npm:^4.0.0" - domutils: "npm:^2.5.2" - entities: "npm:^2.0.0" - checksum: 10c0/3058499c95634f04dc66be8c2e0927cd86799413b2d6989d8ae542ca4dbf5fa948695d02c27d573acf44843af977aec6d9a7bdd0f6faa6b2d99e2a729b2a31b6 + "@exodus/bytes": "npm:^1.6.0" + checksum: 10c0/66dc3f6f5539cc3beb814fcbfae7eacf4ec38cf824d6e1425b72039b51a40f4456bd8541ba66f4f4fe09cdf885ab5cd5bae6ec6339d6895a930b2fdb83c53025 languageName: node linkType: hard @@ -6216,58 +2954,7 @@ __metadata: languageName: node linkType: hard -"http-deceiver@npm:^1.2.7": - version: 1.2.7 - resolution: "http-deceiver@npm:1.2.7" - checksum: 10c0/8bb9b716f5fc55f54a451da7f49b9c695c3e45498a789634daec26b61e4add7c85613a4a9e53726c39d09de7a163891ecd6eb5809adb64500a840fd86fe81d03 - languageName: node - linkType: hard - -"http-errors@npm:~1.8.0": - version: 1.8.1 - resolution: "http-errors@npm:1.8.1" - dependencies: - depd: "npm:~1.1.2" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:>= 1.5.0 < 2" - toidentifier: "npm:1.0.1" - checksum: 10c0/f01aeecd76260a6fe7f08e192fcbe9b2f39ed20fc717b852669a69930167053b01790998275c6297d44f435cf0e30edd50c05223d1bec9bc484e6cf35b2d6f43 - languageName: node - linkType: hard - -"http-errors@npm:~2.0.0, http-errors@npm:~2.0.1": - version: 2.0.1 - resolution: "http-errors@npm:2.0.1" - dependencies: - depd: "npm:~2.0.0" - inherits: "npm:~2.0.4" - setprototypeof: "npm:~1.2.0" - statuses: "npm:~2.0.2" - toidentifier: "npm:~1.0.1" - checksum: 10c0/fb38906cef4f5c83952d97661fe14dc156cb59fe54812a42cd448fa57b5c5dfcb38a40a916957737bd6b87aab257c0648d63eb5b6a9ca9f548e105b6072712d4 - languageName: node - linkType: hard - -"http-parser-js@npm:>=0.5.1": - version: 0.5.10 - resolution: "http-parser-js@npm:0.5.10" - checksum: 10c0/8bbcf1832a8d70b2bd515270112116333add88738a2cc05bfb94ba6bde3be4b33efee5611584113818d2bcf654fdc335b652503be5a6b4c0b95e46f214187d93 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" - dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -6277,46 +2964,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.3": - version: 2.0.9 - resolution: "http-proxy-middleware@npm:2.0.9" - dependencies: - "@types/http-proxy": "npm:^1.17.8" - http-proxy: "npm:^1.18.1" - is-glob: "npm:^4.0.1" - is-plain-obj: "npm:^3.0.0" - micromatch: "npm:^4.0.2" - peerDependencies: - "@types/express": ^4.17.13 - peerDependenciesMeta: - "@types/express": - optional: true - checksum: 10c0/8e9032af625f7c9f2f0d318f6cdb14eb725cc16ffe7b4ccccea25cf591fa819bb7c3bb579e0b543e0ae9c73059b505a6d728290c757bff27bae526a6ed11c05e - languageName: node - linkType: hard - -"http-proxy@npm:^1.18.1": - version: 1.18.1 - resolution: "http-proxy@npm:1.18.1" - dependencies: - eventemitter3: "npm:^4.0.0" - follow-redirects: "npm:^1.0.0" - requires-port: "npm:^1.0.0" - checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -6326,14 +2974,7 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": +"iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -6342,32 +2983,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:~0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - -"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": - version: 5.1.0 - resolution: "icss-utils@npm:5.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/39c92936fabd23169c8611d2b5cc39e39d10b19b0d223352f20a7579f75b39d5f786114a6b8fc62bee8c5fed59ba9e0d38f7219a4db383e324fb3061664b043d - languageName: node - linkType: hard - -"ieee754@npm:^1.1.13": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.3.1": +"ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 @@ -6381,14 +2997,7 @@ __metadata: languageName: node linkType: hard -"immutable@npm:^5.0.2": - version: 5.1.4 - resolution: "immutable@npm:5.1.4" - checksum: 10c0/f1c98382e4cde14a0b218be3b9b2f8441888da8df3b8c064aa756071da55fbed6ad696e5959982508456332419be9fdeaf29b2e58d0eadc45483cc16963c0446 - languageName: node - linkType: hard - -"import-fresh@npm:^3.1.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" dependencies: @@ -6405,23 +3014,6 @@ __metadata: languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - "ini@npm:^1.3.4": version: 1.3.8 resolution: "ini@npm:1.3.8" @@ -6429,13 +3021,6 @@ __metadata: languageName: node linkType: hard -"interpret@npm:^1.2.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 - languageName: node - linkType: hard - "ip-address@npm:^10.0.1": version: 10.1.0 resolution: "ip-address@npm:10.1.0" @@ -6443,62 +3028,12 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"ipaddr.js@npm:^2.0.1": - version: 2.3.0 - resolution: "ipaddr.js@npm:2.3.0" - checksum: 10c0/084bab99e2f6875d7a62adc3325e1c64b038a12c9521e35fb967b5e263a8b3afb1b8884dd77c276092331f5d63298b767491e10997ef147c62da01b143780bbd - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-ci@npm:^1.0.10": - version: 1.2.1 - resolution: "is-ci@npm:1.2.1" - dependencies: - ci-info: "npm:^1.5.0" - bin: - is-ci: bin.js - checksum: 10c0/56d8e0e404c5ee9eb4cc846b9fbed043bac587633a8b10caad35b1e4b11edccae742037c4bc2196203e5929643bd257a4caac23b65e99b372a54e68d187bacc9 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.1": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd - languageName: node - linkType: hard - -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" bin: is-docker: cli.js - checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 languageName: node linkType: hard @@ -6509,22 +3044,6 @@ __metadata: languageName: node linkType: hard -"is-file-esm@npm:^1.0.0": - version: 1.0.0 - resolution: "is-file-esm@npm:1.0.0" - dependencies: - read-pkg-up: "npm:^7.0.1" - checksum: 10c0/bb58dc285ac60ca070d5080a9118cda7c290263af0ed7423eb58beb086613798aca6fffb15135499ae31f5f9eda14b3442dffc326036bc90e6848690b1fe0296 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -6532,7 +3051,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -6541,10 +3060,14 @@ __metadata: languageName: node linkType: hard -"is-interactive@npm:^1.0.0": +"is-inside-container@npm:^1.0.0": version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd languageName: node linkType: hard @@ -6555,36 +3078,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-obj@npm:^2.1.0": - version: 2.1.0 - resolution: "is-plain-obj@npm:2.1.0" - checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 - languageName: node - linkType: hard - -"is-plain-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-plain-obj@npm:3.0.0" - checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc - languageName: node - linkType: hard - -"is-plain-object@npm:^2.0.4": - version: 2.0.4 - resolution: "is-plain-object@npm:2.0.4" - dependencies: - isobject: "npm:^3.0.1" - checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 - languageName: node - linkType: hard - "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -6592,27 +3085,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - "is-what@npm:^5.2.0": version: 5.5.0 resolution: "is-what@npm:5.5.0" @@ -6620,19 +3092,12 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" +"is-wsl@npm:^3.1.0": + version: 3.1.1 + resolution: "is-wsl@npm:3.1.1" dependencies: - is-docker: "npm:^2.0.0" - checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + is-inside-container: "npm:^1.0.0" + checksum: 10c0/7e5023522bfb8f27de4de960b0d82c4a8146c0bddb186529a3616d78b5bbbfc19ef0c5fc60d0b3a3cc0bf95a415fbdedc18454310ea3049587c879b07ace5107 languageName: node linkType: hard @@ -6643,6 +3108,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.5 + resolution: "isexe@npm:3.1.5" + checksum: 10c0/8be2973a09f2f804ea1f34bfccfd5ea219ef48083bdb12107fe5bcf96b3e36b85084409e1b09ddaf2fae8927fdd9f6d70d90baadb78caa1ca7c530935706c8a4 + languageName: node + linkType: hard + "isexe@npm:^4.0.0": version: 4.0.0 resolution: "isexe@npm:4.0.0" @@ -6650,13 +3122,6 @@ __metadata: languageName: node linkType: hard -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db - languageName: node - linkType: hard - "jackspeak@npm:^3.1.2": version: 3.4.3 resolution: "jackspeak@npm:3.4.3" @@ -6670,54 +3135,12 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^4.2.3": - version: 4.2.3 - resolution: "jackspeak@npm:4.2.3" - dependencies: - "@isaacs/cliui": "npm:^9.0.0" - checksum: 10c0/b5c0c414f1607c2aa0597f4bf2c03b8443897fccd5fd3c2b3e4f77d556b2bc7c3d3413828ba91e0789f6fb40ad90242f7f89fb20aee9e9d705bc1681f7564f67 - languageName: node - linkType: hard - -"javascript-stringify@npm:^2.0.1": - version: 2.1.0 - resolution: "javascript-stringify@npm:2.1.0" - checksum: 10c0/374e74ebff29b94de78da39daa6e530999c58a145aeb293dc21180c4584459b14d9e5721d9bc6ed4eba319c437ef0145c157c946b70ecddcff6668682a002bcc - languageName: node - linkType: hard - -"jest-worker@npm:^27.0.2, jest-worker@npm:^27.4.5": - version: 27.5.1 - resolution: "jest-worker@npm:27.5.1" - dependencies: - "@types/node": "npm:*" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b - languageName: node - linkType: hard - -"jest-worker@npm:^28.0.2": - version: 28.1.3 - resolution: "jest-worker@npm:28.1.3" - dependencies: - "@types/node": "npm:*" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/d6715268fd6c9fd8431987d42e4ae0981dc6352fd7a5c90aadb9c67562dc6161486a98960f5d1bd36dbafb202d8d98a6fdb181711acbc5e55ee6ab85fa94c931 - languageName: node - linkType: hard - -"joi@npm:^17.4.0": - version: 17.13.3 - resolution: "joi@npm:17.13.3" - dependencies: - "@hapi/hoek": "npm:^9.3.0" - "@hapi/topo": "npm:^5.1.0" - "@sideway/address": "npm:^4.1.5" - "@sideway/formula": "npm:^3.0.1" - "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f +"jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b languageName: node linkType: hard @@ -6745,13 +3168,6 @@ __metadata: languageName: node linkType: hard -"js-message@npm:1.0.7": - version: 1.0.7 - resolution: "js-message@npm:1.0.7" - checksum: 10c0/2dc2ff5a594613a9690c157a921999237164a3c213523f406dee23985ed81c92be9afdc7b34e67a2838d447d7d79cbf1662048effe8367bedcd71a950e4e292e - languageName: node - linkType: hard - "js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -6759,18 +3175,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:4.0.0": - version: 4.0.0 - resolution: "js-yaml@npm:4.0.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/ef8489b87d9796b45df9f0bf3eefbb343b5063e39a9911d7b8ddbd4518cafaf73b49150d1f5865f54ee68719642ff0ab86110b9a332ff88bb05cd3bcf3039de1 - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.1.1": version: 4.1.1 resolution: "js-yaml@npm:4.1.1" dependencies: @@ -6781,56 +3186,41 @@ __metadata: languageName: node linkType: hard -"jsdom-global@npm:^3.0.2": - version: 3.0.2 - resolution: "jsdom-global@npm:3.0.2" - peerDependencies: - jsdom: ">=10.0.0" - checksum: 10c0/cf6417b351732a2d4e97fbe8e2703f5dc28e30b212aef832d7bc9bea50570c6e20a8a49db370f05b9ae3b8ebe55a5efbedb00540f11c5d216569821f64d7c58f - languageName: node - linkType: hard - -"jsdom@npm:^18.0.1": - version: 18.1.1 - resolution: "jsdom@npm:18.1.1" +"jsdom@npm:^28.1.0": + version: 28.1.0 + resolution: "jsdom@npm:28.1.0" dependencies: - abab: "npm:^2.0.5" - acorn: "npm:^8.5.0" - acorn-globals: "npm:^6.0.0" - cssom: "npm:^0.5.0" - cssstyle: "npm:^2.3.0" - data-urls: "npm:^3.0.1" - decimal.js: "npm:^10.3.1" - domexception: "npm:^4.0.0" - escodegen: "npm:^2.0.0" - form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.0" + "@acemir/cssom": "npm:^0.9.31" + "@asamuzakjp/dom-selector": "npm:^6.8.1" + "@bramus/specificity": "npm:^2.4.2" + "@exodus/bytes": "npm:^1.11.0" + cssstyle: "npm:^6.0.1" + data-urls: "npm:^7.0.0" + decimal.js: "npm:^10.6.0" + html-encoding-sniffer: "npm:^6.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.6" is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.0" - parse5: "npm:6.0.1" - saxes: "npm:^5.0.1" + parse5: "npm:^8.0.0" + saxes: "npm:^6.0.0" symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.0.0" - w3c-hr-time: "npm:^1.0.2" - w3c-xmlserializer: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^10.0.0" - ws: "npm:^8.2.3" - xml-name-validator: "npm:^4.0.0" + tough-cookie: "npm:^6.0.0" + undici: "npm:^7.21.0" + w3c-xmlserializer: "npm:^5.0.0" + webidl-conversions: "npm:^8.0.1" + whatwg-mimetype: "npm:^5.0.0" + whatwg-url: "npm:^16.0.0" + xml-name-validator: "npm:^5.0.0" peerDependencies: - canvas: ^2.5.0 + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true - checksum: 10c0/70147438c5b6e363cf52c1585bf9c84e227947bd53f42f449459aba13016fc9edcaa9c5e14784a7e155c74b4bbbbfd22563fd85e7c66daf99aa741806c5c9b10 + checksum: 10c0/341ecb4005be2dab3247dacc349a20285d7991b5cee3382301fcd69a4294b705b4147e7d9ae1ddfab466ba4b3aace97ded4f7b070de285262221cb2782965b25 languageName: node linkType: hard -"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": +"jsesc@npm:^3.0.2": version: 3.1.0 resolution: "jsesc@npm:3.1.0" bin: @@ -6846,17 +3236,10 @@ __metadata: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.2": - version: 1.0.2 - resolution: "json-parse-better-errors@npm:1.0.2" - checksum: 10c0/2f1287a7c833e397c9ddd361a78638e828fc523038bb3441fd4fc144cfd2c6cd4963ffb9e207e648cf7b692600f1e1e524e965c32df5152120910e4903a47dcb - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 +"json-parse-even-better-errors@npm:^4.0.0": + version: 4.0.0 + resolution: "json-parse-even-better-errors@npm:4.0.0" + checksum: 10c0/84cd9304a97e8fb2af3937bf53acb91c026aeb859703c332684e688ea60db27fc2242aa532a84e1883fdcbe1e5c1fb57c2bef38e312021aa1cd300defc63cf16 languageName: node linkType: hard @@ -6867,13 +3250,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -6881,18 +3257,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.1": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - -"json5@npm:^2.1.2, json5@npm:^2.2.3": +"json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -6901,20 +3266,14 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1": - version: 6.2.0 - resolution: "jsonfile@npm:6.2.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/7f4f43b08d1869ded8a6822213d13ae3b99d651151d77efd1557ced0889c466296a7d9684e397bd126acf5eb2cfcb605808c3e681d0fdccd2fe5a04b47e76c0d +"jsonc-parser@npm:^3.3.1": + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -6923,36 +3282,10 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 - languageName: node - linkType: hard - -"klona@npm:^2.0.5": - version: 2.0.6 - resolution: "klona@npm:2.0.6" - checksum: 10c0/94eed2c6c2ce99f409df9186a96340558897b3e62a85afdc1ee39103954d2ebe1c1c4e9fe2b0952771771fa96d70055ede8b27962a7021406374fdb695fd4d01 - languageName: node - linkType: hard - -"launch-editor-middleware@npm:^2.2.1": - version: 2.12.0 - resolution: "launch-editor-middleware@npm:2.12.0" - dependencies: - launch-editor: "npm:^2.12.0" - checksum: 10c0/3ce67b11bec88fddcde084c5b73e057a229e8153f2516b254e2325ea49c837067c80ed238ccc2d1a203bece008b1a6f2acb70793424ffec308a59e77f36580ee - languageName: node - linkType: hard - -"launch-editor@npm:^2.12.0, launch-editor@npm:^2.2.1, launch-editor@npm:^2.6.0": - version: 2.12.0 - resolution: "launch-editor@npm:2.12.0" - dependencies: - picocolors: "npm:^1.1.1" - shell-quote: "npm:^1.8.3" - checksum: 10c0/fac5e7ad90bf185594cad4c831a52419eef50e667c4eddb5b0a58eb5f944e16d947636ee767b9896ffd46a51db34925edd3b854c48efb47f6d767ffd7d904e71 +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b languageName: node linkType: hard @@ -6966,68 +3299,6 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.0.3": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d - languageName: node - linkType: hard - -"loader-runner@npm:^4.1.0, loader-runner@npm:^4.3.1": - version: 4.3.1 - resolution: "loader-runner@npm:4.3.1" - checksum: 10c0/a523b6329f114e0a98317158e30a7dfce044b731521be5399464010472a93a15ece44757d1eaed1d8845019869c5390218bc1c7c3110f4eeaef5157394486eac - languageName: node - linkType: hard - -"loader-utils@npm:^1.0.2, loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3": - version: 1.4.2 - resolution: "loader-utils@npm:1.4.2" - dependencies: - big.js: "npm:^5.2.2" - emojis-list: "npm:^3.0.0" - json5: "npm:^1.0.1" - checksum: 10c0/2b726088b5526f7605615e3e28043ae9bbd2453f4a85898e1151f3c39dbf7a2b65d09f3996bc588d92ac7e717ded529d3e1ea3ea42c433393be84a58234a2f53 - languageName: node - linkType: hard - -"loader-utils@npm:^2.0.0, loader-utils@npm:^2.0.4": - version: 2.0.4 - resolution: "loader-utils@npm:2.0.4" - dependencies: - big.js: "npm:^5.2.2" - emojis-list: "npm:^3.0.0" - json5: "npm:^2.1.2" - checksum: 10c0/d5654a77f9d339ec2a03d88221a5a695f337bf71eb8dea031b3223420bb818964ba8ed0069145c19b095f6c8b8fd386e602a3fc7ca987042bd8bb1dcc90d7100 - languageName: node - linkType: hard - -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: "npm:^3.0.0" - path-exists: "npm:^3.0.0" - checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b - languageName: node - linkType: hard - -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: "npm:^4.1.0" - checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 - languageName: node - linkType: hard - "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -7037,41 +3308,6 @@ __metadata: languageName: node linkType: hard -"lodash.debounce@npm:^4.0.8": - version: 4.0.8 - resolution: "lodash.debounce@npm:4.0.8" - checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 - languageName: node - linkType: hard - -"lodash.defaultsdeep@npm:^4.6.1": - version: 4.6.1 - resolution: "lodash.defaultsdeep@npm:4.6.1" - checksum: 10c0/0031ca3055d5482fc2e9b55d0ee174a3e956039996fac52dbe94ca67eb50bb72ffc75d0eb86bcc782fefc597ebbc1798df941f27382bec23138e53180427700b - languageName: node - linkType: hard - -"lodash.kebabcase@npm:^4.1.1": - version: 4.1.1 - resolution: "lodash.kebabcase@npm:4.1.1" - checksum: 10c0/da5d8f41dbb5bc723d4bf9203d5096ca8da804d6aec3d2b56457156ba6c8d999ff448d347ebd97490da853cb36696ea4da09a431499f1ee8deb17b094ecf4e33 - languageName: node - linkType: hard - -"lodash.mapvalues@npm:^4.6.0": - version: 4.6.0 - resolution: "lodash.mapvalues@npm:4.6.0" - checksum: 10c0/a976bfc3923d4d8d2034e049ec4700e3aaf141a6143c973d06be3b2c87697923cd0158ee770484ad1af52dfed93ae90d2b76268413db95a42a2f46d7e1754828 - languageName: node - linkType: hard - -"lodash.memoize@npm:^4.1.2": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -7079,59 +3315,6 @@ __metadata: languageName: node linkType: hard -"lodash.uniq@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.uniq@npm:4.5.0" - checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e - languageName: node - linkType: hard - -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21": - version: 4.17.23 - resolution: "lodash@npm:4.17.23" - checksum: 10c0/1264a90469f5bb95d4739c43eb6277d15b6d9e186df4ac68c3620443160fc669e2f14c11e7d8b2ccf078b81d06147c01a8ccced9aab9f9f63d50dcf8cace6bf6 - languageName: node - linkType: hard - -"log-symbols@npm:4.0.0": - version: 4.0.0 - resolution: "log-symbols@npm:4.0.0" - dependencies: - chalk: "npm:^4.0.0" - checksum: 10c0/d744042ccca6404350fb809f6d98293a18b840e2323e72c45f6a47932d418f0af6e05a2434ab6558b607a132f895e3bb53c8483a7ceeb554d82a3c83438db493 - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - -"log-update@npm:^2.3.0": - version: 2.3.0 - resolution: "log-update@npm:2.3.0" - dependencies: - ansi-escapes: "npm:^3.0.0" - cli-cursor: "npm:^2.0.0" - wrap-ansi: "npm:^3.0.1" - checksum: 10c0/9bf21b138801ab4770a2bfa735161cf005b869360eaf5003a84ba64ddc5f5c3ce7217f4f1fa79d9c1f510d792213b2c9800327228e94df05859d19b716215d90 - languageName: node - linkType: hard - -"lower-case@npm:^2.0.2": - version: 2.0.2 - resolution: "lower-case@npm:2.0.2" - dependencies: - tslib: "npm:^2.0.3" - checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b - languageName: node - linkType: hard - "lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -7139,23 +3322,13 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1, lru-cache@npm:^11.2.5, lru-cache@npm:^11.2.6": version: 11.2.6 resolution: "lru-cache@npm:11.2.6" checksum: 10c0/73bbffb298760e71b2bfe8ebc16a311c6a60ceddbba919cfedfd8635c2d125fbfb5a39b71818200e67973b11f8d59c5a9e31d6f90722e340e90393663a66e5cd languageName: node linkType: hard -"lru-cache@npm:^4.0.1, lru-cache@npm:^4.1.2": - version: 4.1.5 - resolution: "lru-cache@npm:4.1.5" - dependencies: - pseudomap: "npm:^1.0.2" - yallist: "npm:^2.1.2" - checksum: 10c0/1ca5306814e5add9ec63556d6fd9b24a4ecdeaef8e9cea52cbf30301e6b88c8d8ddc7cab45b59b56eb763e6c45af911585dc89925a074ab65e1502e3fe8103cf - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -7165,23 +3338,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - -"luxon@npm:^3.7.2": - version: 3.7.2 - resolution: "luxon@npm:3.7.2" - checksum: 10c0/ed8f0f637826c08c343a29dd478b00628be93bba6f068417b1d8896b61cb61c6deacbe1df1e057dbd9298334044afa150f9aaabbeb3181418ac8520acfdc2ae2 - languageName: node - linkType: hard - -"magic-string@npm:^0.30.21": +"magic-string@npm:^0.30.21, magic-string@npm:^0.30.4": version: 0.30.21 resolution: "magic-string@npm:0.30.21" dependencies: @@ -7190,15 +3347,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" - dependencies: - semver: "npm:^6.0.0" - checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa - languageName: node - linkType: hard - "make-fetch-happen@npm:^15.0.0": version: 15.0.3 resolution: "make-fetch-happen@npm:15.0.3" @@ -7218,84 +3366,28 @@ __metadata: languageName: node linkType: hard -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10c0/b22443b71d70f72ccc3c6ba1608035431a8fc18c3c8fc53523f06d20e05c2ac10f9b53092759a2ca85cf02f0d37036f310b581ce03e7b99ac74d388ef8152ade languageName: node linkType: hard -"mdn-data@npm:2.0.14": - version: 2.0.14 - resolution: "mdn-data@npm:2.0.14" - checksum: 10c0/67241f8708c1e665a061d2b042d2d243366e93e5bf1f917693007f6d55111588b952dcbfd3ea9c2d0969fb754aad81b30fdcfdcc24546495fc3b24336b28d4bd +"memorystream@npm:^0.3.1": + version: 0.3.1 + resolution: "memorystream@npm:0.3.1" + checksum: 10c0/4bd164657711d9747ff5edb0508b2944414da3464b7fe21ac5c67cf35bba975c4b446a0124bd0f9a8be54cfc18faf92e92bd77563a20328b1ccf2ff04e9f39b9 languageName: node linkType: hard -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"memfs@npm:^3.1.2, memfs@npm:^3.4.3": - version: 3.6.0 - resolution: "memfs@npm:3.6.0" - dependencies: - fs-monkey: "npm:^1.0.4" - checksum: 10c0/af567f9038bbb5bbacf100b35d5839e90a89f882d191d8a1c7002faeb224c6cfcebd0e97c0150e9af8be95ec7b5b75a52af56fcd109d0bc18807c1f4e004f053 - languageName: node - linkType: hard - -"memory-fs@npm:^0.4.1": - version: 0.4.1 - resolution: "memory-fs@npm:0.4.1" - dependencies: - errno: "npm:^0.1.3" - readable-stream: "npm:^2.0.1" - checksum: 10c0/f114c44ad8285103cb0e71420cf5bb628d3eb6cbd918197f5951590ff56ba2072f4a97924949c170320cdf180d2da4e8d16a0edd92ba0ca2d2de51dc932841e2 - languageName: node - linkType: hard - -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 - languageName: node - linkType: hard - -"merge-source-map@npm:^1.1.0": - version: 1.1.0 - resolution: "merge-source-map@npm:1.1.0" - dependencies: - source-map: "npm:^0.6.1" - checksum: 10c0/ac0e0192c9c7e30056c5baa939434c0d1015faa5c7ce7936ad77600f1752c03099134cb33c50f1bb32ec25350e191ca2392c6b76b1eaca89c7c989e42403655f - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb languageName: node linkType: hard -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -7305,89 +3397,6 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-db@npm:>= 1.43.0 < 2": - version: 1.54.0 - resolution: "mime-db@npm:1.54.0" - checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34, mime-types@npm:~2.1.35": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 - languageName: node - linkType: hard - -"mimic-fn@npm:^1.0.0": - version: 1.2.0 - resolution: "mimic-fn@npm:1.2.0" - checksum: 10c0/ad55214aec6094c0af4c0beec1a13787556f8116ed88807cf3f05828500f21f93a9482326bcd5a077ae91e3e8795b4e76b5b4c8bb12237ff0e4043a365516cba - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"mini-css-extract-plugin@npm:^2.5.3": - version: 2.10.0 - resolution: "mini-css-extract-plugin@npm:2.10.0" - dependencies: - schema-utils: "npm:^4.0.0" - tapable: "npm:^2.2.1" - peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/5fb0654471f4fb695629d96324d327d4d3a05069a95b83770d070e8f48a07d5b5f8da61adabdd56e3119cf6b17eef058c4ba6ab4cd31a7b2af48624621fe0520 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimatch@npm:*, minimatch@npm:^10.2.0": - version: 10.2.0 - resolution: "minimatch@npm:10.2.0" - dependencies: - brace-expansion: "npm:^5.0.2" - checksum: 10c0/256e72812bb99a86cdc788bf46a4da3f6e139db9123e20ed85a6795b93fdc0b76468ac511eb5535a023adb02a53fd598f971e990d0ca3bd6de6d41ea0199def1 - languageName: node - linkType: hard - -"minimatch@npm:3.0.4": - version: 3.0.4 - resolution: "minimatch@npm:3.0.4" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/d0a2bcd93ebec08a9eef3ca83ba33c9fb6feb93932e0b4dc6aa46c5f37a9404bea7ad9ff7cafe23ce6634f1fe3b206f5315ecbb05812da6e692c21d8ecfd3dae - languageName: node - linkType: hard - "minimatch@npm:9.0.1": version: 9.0.1 resolution: "minimatch@npm:9.0.1" @@ -7397,7 +3406,16 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^10.2.2": + version: 10.2.2 + resolution: "minimatch@npm:10.2.2" + dependencies: + brace-expansion: "npm:^5.0.2" + checksum: 10c0/098831f2f542cb802e1f249c809008a016e1fef6b3a9eda9cf9ecb2b3d7979083951bd47c0c82fcf34330bd3b36638a493d4fa8e24cce58caf5b481de0f4e238 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -7415,13 +3433,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - "minipass-collect@npm:^2.0.1": version: 2.0.1 resolution: "minipass-collect@npm:2.0.1" @@ -7473,7 +3484,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1": +"minipass@npm:^3.0.0": version: 3.3.6 resolution: "minipass@npm:3.3.6" dependencies: @@ -7482,10 +3493,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb languageName: node linkType: hard @@ -7505,79 +3516,6 @@ __metadata: languageName: node linkType: hard -"mocha@npm:^8.3.0": - version: 8.4.0 - resolution: "mocha@npm:8.4.0" - dependencies: - "@ungap/promise-all-settled": "npm:1.1.2" - ansi-colors: "npm:4.1.1" - browser-stdout: "npm:1.3.1" - chokidar: "npm:3.5.1" - debug: "npm:4.3.1" - diff: "npm:5.0.0" - escape-string-regexp: "npm:4.0.0" - find-up: "npm:5.0.0" - glob: "npm:7.1.6" - growl: "npm:1.10.5" - he: "npm:1.2.0" - js-yaml: "npm:4.0.0" - log-symbols: "npm:4.0.0" - minimatch: "npm:3.0.4" - ms: "npm:2.1.3" - nanoid: "npm:3.1.20" - serialize-javascript: "npm:5.0.1" - strip-json-comments: "npm:3.1.1" - supports-color: "npm:8.1.1" - which: "npm:2.0.2" - wide-align: "npm:1.1.3" - workerpool: "npm:6.1.0" - yargs: "npm:16.2.0" - yargs-parser: "npm:20.2.4" - yargs-unparser: "npm:2.0.0" - bin: - _mocha: bin/_mocha - mocha: bin/mocha - checksum: 10c0/9b4d31e1f3fdbc4efad38a2a98b4990ce823f6241f62ca31a7489d811628ccf68317a2b0caf50b235eb04738b41bf539c5ee9d4f456bc0596a58d2e46f7eee99 - languageName: node - linkType: hard - -"mochapack@npm:^2.1.0": - version: 2.1.5 - resolution: "mochapack@npm:2.1.5" - dependencies: - "@babel/runtime-corejs3": "npm:^7.0.0" - chalk: "npm:^2.4.2" - chokidar: "npm:^3.5.2" - glob-parent: "npm:5.1.2" - globby: "npm:^10.0.1" - interpret: "npm:^1.2.0" - is-glob: "npm:^4.0.1" - loader-utils: "npm:^1.2.3" - lodash: "npm:^4.17.15" - memory-fs: "npm:^0.4.1" - minimatch: "npm:^3.0.4" - nodent-runtime: "npm:^3.2.1" - normalize-path: "npm:^3.0.0" - progress: "npm:^2.0.3" - source-map-support: "npm:^0.5.13" - toposort: "npm:^2.0.2" - yargs: "npm:14.0.0" - peerDependencies: - mocha: ">=6" - webpack: ^4.0.0 || ^5.0.0 - bin: - mochapack: bin/mochapack - checksum: 10c0/4650ab14daf7ab8a5e17956e654f681d3ec1205f5c5eef4ad9615d22bca32a1b5a95e54640665031ef0907bb0d3235857c913029768119568264c91df30a5fba - languageName: node - linkType: hard - -"module-alias@npm:^2.2.2": - version: 2.3.4 - resolution: "module-alias@npm:2.3.4" - checksum: 10c0/c0af11f640410d928db9dd62ba66a39d55475ff5d9e8943bb753b6688a35fd07f0ec950285fb0519d337bcd5bf9503d54ef1d557754a38aa371b095d1197a8b8 - languageName: node - linkType: hard - "mrmime@npm:^2.0.0": version: 2.0.1 resolution: "mrmime@npm:2.0.1" @@ -7585,56 +3523,17 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.1.3": +"ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 languageName: node linkType: hard -"multicast-dns@npm:^7.2.5": - version: 7.2.5 - resolution: "multicast-dns@npm:7.2.5" - dependencies: - dns-packet: "npm:^5.2.2" - thunky: "npm:^1.0.2" - bin: - multicast-dns: cli.js - checksum: 10c0/5120171d4bdb1577764c5afa96e413353bff530d1b37081cb29cccc747f989eb1baf40574fe8e27060fc1aef72b59c042f72b9b208413de33bcf411343c69057 - languageName: node - linkType: hard - -"mz@npm:^2.4.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 - languageName: node - linkType: hard - -"nanoid@npm:3.1.20": - version: 3.1.20 - resolution: "nanoid@npm:3.1.20" - bin: - nanoid: bin/nanoid.cjs - checksum: 10c0/aac1e0b6bc8fb96a83a32a652df88385ccd66df6adaed257202f086d9d6e4ab3b3fb6bf9ea0e81a0e2996ae80da465760a8049105a499331ba57344868edac04 +"muggle-string@npm:^0.4.1": + version: 0.4.1 + resolution: "muggle-string@npm:0.4.1" + checksum: 10c0/e914b63e24cd23f97e18376ec47e4ba3aa24365e4776212b666add2e47bb158003212980d732c49abf3719568900af7861873844a6e2d3a7ca7e86952c0e99e9 languageName: node linkType: hard @@ -7647,6 +3546,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^5.1.5": + version: 5.1.6 + resolution: "nanoid@npm:5.1.6" + bin: + nanoid: bin/nanoid.js + checksum: 10c0/27b5b055ad8332cf4f0f9f6e2a494aa7e5ded89df4cab8c8490d4eabefe72c4423971d2745d22002868b1d50576a5e42b7b05214733b19f576382323282dd26e + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -7654,13 +3562,6 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - "negotiator@npm:^1.0.0": version: 1.0.0 resolution: "negotiator@npm:1.0.0" @@ -7668,67 +3569,6 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:~0.6.4": - version: 0.6.4 - resolution: "negotiator@npm:0.6.4" - checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d - languageName: node - linkType: hard - -"nice-try@npm:^1.0.4": - version: 1.0.5 - resolution: "nice-try@npm:1.0.5" - checksum: 10c0/95568c1b73e1d0d4069a3e3061a2102d854513d37bcfda73300015b7ba4868d3b27c198d1dbbd8ebdef4112fc2ed9e895d4a0f2e1cce0bd334f2a1346dc9205f - languageName: node - linkType: hard - -"no-case@npm:^3.0.4": - version: 3.0.4 - resolution: "no-case@npm:3.0.4" - dependencies: - lower-case: "npm:^2.0.2" - tslib: "npm:^2.0.3" - checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 - languageName: node - linkType: hard - -"node-addon-api@npm:^7.0.0": - version: 7.1.1 - resolution: "node-addon-api@npm:7.1.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.7": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-forge@npm:^1": - version: 1.3.3 - resolution: "node-forge@npm:1.3.3" - checksum: 10c0/9c6f53b0ebb34865872cf62a35b0aef8fb337e2efc766626c2e3a0040f4c02933bf29a62ba999eb44a2aca73bd512c4eda22705a47b94654b9fb8ed53db9a1db - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 12.2.0 resolution: "node-gyp@npm:12.2.0" @@ -7756,13 +3596,6 @@ __metadata: languageName: node linkType: hard -"nodent-runtime@npm:^3.2.1": - version: 3.2.1 - resolution: "nodent-runtime@npm:3.2.1" - checksum: 10c0/f77f3d724c98d6c1109f7ab5f8cc67059204696f4d80e60b5c6ff6bc6ed618d65dcd31616c9a106f8733a54c5e0c18812cfa58fdde79f39b686a5645b50372e1 - languageName: node - linkType: hard - "nopt@npm:^7.2.1": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -7785,58 +3618,35 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.5.0": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" +"npm-normalize-package-bin@npm:^4.0.0": + version: 4.0.0 + resolution: "npm-normalize-package-bin@npm:4.0.0" + checksum: 10c0/1fa546fcae8eaab61ef9b9ec237b6c795008da50e1883eae030e9e38bb04ffa32c5aabcef9a0400eae3dc1f91809bcfa85e437ce80d677c69b419d1d9cacf0ab + languageName: node + linkType: hard + +"npm-run-all2@npm:^8.0.4": + version: 8.0.4 + resolution: "npm-run-all2@npm:8.0.4" dependencies: - hosted-git-info: "npm:^2.1.4" - resolve: "npm:^1.10.0" - semver: "npm:2 || 3 || 4 || 5" - validate-npm-package-license: "npm:^3.0.1" - checksum: 10c0/357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 + ansi-styles: "npm:^6.2.1" + cross-spawn: "npm:^7.0.6" + memorystream: "npm:^0.3.1" + picomatch: "npm:^4.0.2" + pidtree: "npm:^0.6.0" + read-package-json-fast: "npm:^4.0.0" + shell-quote: "npm:^1.7.3" + which: "npm:^5.0.0" + bin: + npm-run-all: bin/npm-run-all/index.js + npm-run-all2: bin/npm-run-all/index.js + run-p: bin/run-p/index.js + run-s: bin/run-s/index.js + checksum: 10c0/cfc2987df224e55456629301991b5fa6980cc644d1836fe3c22d74a4508512737d30389795b759bb5d659103e54281c59741ecdc0241cfd2615cb9bffbf7cceb languageName: node linkType: hard -"normalize-path@npm:^1.0.0": - version: 1.0.0 - resolution: "normalize-path@npm:1.0.0" - checksum: 10c0/b8e578b79fb1ef43735712d7af2c2b288d6d2509f2ef8206201933e7d95e38b922f41378b28610bb9424e1e49cb56b85d1d5f493e3287572d57e263010843bf9 - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 - languageName: node - linkType: hard - -"npm-run-path@npm:^2.0.0": - version: 2.0.2 - resolution: "npm-run-path@npm:2.0.2" - dependencies: - path-key: "npm:^2.0.0" - checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"nth-check@npm:^2.0.1, nth-check@npm:^2.1.1": +"nth-check@npm:^2.1.1": version: 2.1.1 resolution: "nth-check@npm:2.1.1" dependencies: @@ -7845,115 +3655,29 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0": - version: 2.2.23 - resolution: "nwsapi@npm:2.2.23" - checksum: 10c0/e44bfc9246baf659581206ed716d291a1905185247795fb8a302cb09315c943a31023b4ac4d026a5eaf32b2def51d77b3d0f9ebf4f3d35f70e105fcb6447c76e +"obug@npm:^2.1.1": + version: 2.1.1 + resolution: "obug@npm:2.1.1" + checksum: 10c0/59dccd7de72a047e08f8649e94c1015ec72f94eefb6ddb57fb4812c4b425a813bc7e7cd30c9aca20db3c59abc3c85cc7a62bb656a968741d770f4e8e02bc2e78 languageName: node linkType: hard -"object-assign@npm:^4.0.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 +"ohash@npm:^2.0.11": + version: 2.0.11 + resolution: "ohash@npm:2.0.11" + checksum: 10c0/d07c8d79cc26da082c1a7c8d5b56c399dd4ed3b2bd069fcae6bae78c99a9bcc3ad813b1e1f49ca2f335292846d689c6141a762cf078727d2302a33d414e69c79 languageName: node linkType: hard -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d - languageName: node - linkType: hard - -"object.assign@npm:^4.1.0": - version: 4.1.7 - resolution: "object.assign@npm:4.1.7" +"open@npm:^10.2.0": + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - has-symbols: "npm:^1.1.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc - languageName: node - linkType: hard - -"obuf@npm:^1.0.0, obuf@npm:^1.1.2": - version: 1.1.2 - resolution: "obuf@npm:1.1.2" - checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 - languageName: node - linkType: hard - -"on-finished@npm:~2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 - languageName: node - linkType: hard - -"on-headers@npm:~1.1.0": - version: 1.1.0 - resolution: "on-headers@npm:1.1.0" - checksum: 10c0/2c3b6b0d68ec9adbd561dc2d61c9b14da8ac03d8a2f0fd9e97bdf0600c887d5d97f664ff3be6876cf40cda6e3c587d73a4745e10b426ac50c7664fc5a0dfc0a1 - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^2.0.0": - version: 2.0.1 - resolution: "onetime@npm:2.0.1" - dependencies: - mimic-fn: "npm:^1.0.0" - checksum: 10c0/b4e44a8c34e70e02251bfb578a6e26d6de6eedbed106cd78211d2fd64d28b6281d54924696554e4e966559644243753ac5df73c87f283b0927533d3315696215 - languageName: node - linkType: hard - -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"open@npm:^8.0.2, open@npm:^8.0.9": - version: 8.4.2 - resolution: "open@npm:8.4.2" - dependencies: - define-lazy-prop: "npm:^2.0.0" - is-docker: "npm:^2.1.1" - is-wsl: "npm:^2.2.0" - checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 - languageName: node - linkType: hard - -"opener@npm:^1.5.2": - version: 1.5.2 - resolution: "opener@npm:1.5.2" - bin: - opener: bin/opener-bin.js - checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + wsl-utils: "npm:^0.1.0" + checksum: 10c0/5a36d0c1fd2f74ce553beb427ca8b8494b623fc22c6132d0c1688f246a375e24584ea0b44c67133d9ab774fa69be8e12fbe1ff12504b1142bd960fb09671948f languageName: node linkType: hard @@ -7971,36 +3695,76 @@ __metadata: languageName: node linkType: hard -"ora@npm:^5.3.0": - version: 5.4.1 - resolution: "ora@npm:5.4.1" +"oxlint@npm:~1.47.0": + version: 1.47.0 + resolution: "oxlint@npm:1.47.0" dependencies: - bl: "npm:^4.1.0" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-spinners: "npm:^2.5.0" - is-interactive: "npm:^1.0.0" - is-unicode-supported: "npm:^0.1.0" - log-symbols: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - wcwidth: "npm:^1.0.1" - checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 - languageName: node - linkType: hard - -"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + "@oxlint/binding-android-arm-eabi": "npm:1.47.0" + "@oxlint/binding-android-arm64": "npm:1.47.0" + "@oxlint/binding-darwin-arm64": "npm:1.47.0" + "@oxlint/binding-darwin-x64": "npm:1.47.0" + "@oxlint/binding-freebsd-x64": "npm:1.47.0" + "@oxlint/binding-linux-arm-gnueabihf": "npm:1.47.0" + "@oxlint/binding-linux-arm-musleabihf": "npm:1.47.0" + "@oxlint/binding-linux-arm64-gnu": "npm:1.47.0" + "@oxlint/binding-linux-arm64-musl": "npm:1.47.0" + "@oxlint/binding-linux-ppc64-gnu": "npm:1.47.0" + "@oxlint/binding-linux-riscv64-gnu": "npm:1.47.0" + "@oxlint/binding-linux-riscv64-musl": "npm:1.47.0" + "@oxlint/binding-linux-s390x-gnu": "npm:1.47.0" + "@oxlint/binding-linux-x64-gnu": "npm:1.47.0" + "@oxlint/binding-linux-x64-musl": "npm:1.47.0" + "@oxlint/binding-openharmony-arm64": "npm:1.47.0" + "@oxlint/binding-win32-arm64-msvc": "npm:1.47.0" + "@oxlint/binding-win32-ia32-msvc": "npm:1.47.0" + "@oxlint/binding-win32-x64-msvc": "npm:1.47.0" + peerDependencies: + oxlint-tsgolint: ">=0.11.2" + dependenciesMeta: + "@oxlint/binding-android-arm-eabi": + optional: true + "@oxlint/binding-android-arm64": + optional: true + "@oxlint/binding-darwin-arm64": + optional: true + "@oxlint/binding-darwin-x64": + optional: true + "@oxlint/binding-freebsd-x64": + optional: true + "@oxlint/binding-linux-arm-gnueabihf": + optional: true + "@oxlint/binding-linux-arm-musleabihf": + optional: true + "@oxlint/binding-linux-arm64-gnu": + optional: true + "@oxlint/binding-linux-arm64-musl": + optional: true + "@oxlint/binding-linux-ppc64-gnu": + optional: true + "@oxlint/binding-linux-riscv64-gnu": + optional: true + "@oxlint/binding-linux-riscv64-musl": + optional: true + "@oxlint/binding-linux-s390x-gnu": + optional: true + "@oxlint/binding-linux-x64-gnu": + optional: true + "@oxlint/binding-linux-x64-musl": + optional: true + "@oxlint/binding-openharmony-arm64": + optional: true + "@oxlint/binding-win32-arm64-msvc": + optional: true + "@oxlint/binding-win32-ia32-msvc": + optional: true + "@oxlint/binding-win32-x64-msvc": + optional: true + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + bin: + oxlint: bin/oxlint + checksum: 10c0/9af083fb9610030e833b2fbc40bdf4be3fd0bb1a4fd7714858e60544d20052c28b28f237ec835a9279f06ab0fcc4e8a8390fa893a6319298d48a0d0de9d58393 languageName: node linkType: hard @@ -8013,24 +3777,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: "npm:^2.0.0" - checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 - languageName: node - linkType: hard - -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - "p-locate@npm:^5.0.0": version: 5.0.0 resolution: "p-locate@npm:5.0.0" @@ -8047,23 +3793,6 @@ __metadata: languageName: node linkType: hard -"p-retry@npm:^4.5.0": - version: 4.6.2 - resolution: "p-retry@npm:4.6.2" - dependencies: - "@types/retry": "npm:0.12.0" - retry: "npm:^0.13.1" - checksum: 10c0/d58512f120f1590cfedb4c2e0c42cb3fa66f3cea8a4646632fcb834c56055bb7a6f138aa57b20cc236fb207c9d694e362e0b5c2b14d9b062f67e8925580c73b0 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -8071,16 +3800,6 @@ __metadata: languageName: node linkType: hard -"param-case@npm:^3.0.4": - version: 3.0.4 - resolution: "param-case@npm:3.0.4" - dependencies: - dot-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 - languageName: node - linkType: hard - "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -8090,62 +3809,28 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" +"parse5@npm:^7.0.0": + version: 7.3.0 + resolution: "parse5@npm:7.3.0" dependencies: - "@babel/code-frame": "npm:^7.0.0" - error-ex: "npm:^1.3.1" - json-parse-even-better-errors: "npm:^2.3.0" - lines-and-columns: "npm:^1.1.6" - checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + entities: "npm:^6.0.0" + checksum: 10c0/7fd2e4e247e85241d6f2a464d0085eed599a26d7b0a5233790c49f53473232eb85350e8133344d9b3fd58b89339e7ad7270fe1f89d28abe50674ec97b87f80b5 languageName: node linkType: hard -"parse5-htmlparser2-tree-adapter@npm:^6.0.0": - version: 6.0.1 - resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" +"parse5@npm:^8.0.0": + version: 8.0.0 + resolution: "parse5@npm:8.0.0" dependencies: - parse5: "npm:^6.0.1" - checksum: 10c0/dfa5960e2aaf125707e19a4b1bc333de49232eba5a6ffffb95d313a7d6087c3b7a274b58bee8d3bd41bdf150638815d1d601a42bbf2a0345208c3c35b1279556 + entities: "npm:^6.0.0" + checksum: 10c0/8279892dcd77b2f2229707f60eb039e303adf0288812b2a8fd5acf506a4d432da833c6c5d07a6554bef722c2367a81ef4a1f7e9336564379a7dba3e798bf16b3 languageName: node linkType: hard -"parse5@npm:6.0.1, parse5@npm:^6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb - languageName: node - linkType: hard - -"parse5@npm:^5.1.1": - version: 5.1.1 - resolution: "parse5@npm:5.1.1" - checksum: 10c0/b0f87a77a7fea5f242e3d76917c983bbea47703b9371801d51536b78942db6441cbda174bf84eb30e47315ddc6f8a0b57d68e562c790154430270acd76c1fa03 - languageName: node - linkType: hard - -"parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 - languageName: node - linkType: hard - -"pascal-case@npm:^3.1.2": - version: 3.1.2 - resolution: "pascal-case@npm:3.1.2" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 - languageName: node - linkType: hard - -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 languageName: node linkType: hard @@ -8156,34 +3841,13 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^2.0.0, path-key@npm:^2.0.1": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": +"path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c languageName: node linkType: hard -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - "path-scurry@npm:^1.11.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" @@ -8194,27 +3858,20 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^2.0.0": - version: 2.0.1 - resolution: "path-scurry@npm:2.0.1" +"path-scurry@npm:^2.0.2": + version: 2.0.2 + resolution: "path-scurry@npm:2.0.2" dependencies: lru-cache: "npm:^11.0.0" minipass: "npm:^7.1.2" - checksum: 10c0/2a16ed0e81fbc43513e245aa5763354e25e787dab0d539581a6c3f0f967461a159ed6236b2559de23aa5b88e7dc32b469b6c47568833dd142a4b24b4f5cd2620 + checksum: 10c0/b35ad37cf6557a87fd057121ce2be7695380c9138d93e87ae928609da259ea0a170fac6f3ef1eb3ece8a068e8b7f2f3adf5bb2374cf4d4a57fe484954fcc9482 languageName: node linkType: hard -"path-to-regexp@npm:~0.1.12": - version: 0.1.12 - resolution: "path-to-regexp@npm:0.1.12" - checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 languageName: node linkType: hard @@ -8225,34 +3882,43 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^0.2.1": - version: 0.2.1 - resolution: "picocolors@npm:0.2.1" - checksum: 10c0/98a83c77912c80aea0fc518aec184768501bfceafa490714b0f43eda9c52e372b844ce0a591e822bbfe5df16dcf366be7cbdb9534d39cf54a80796340371ee17 +"perfect-debounce@npm:^2.0.0": + version: 2.1.0 + resolution: "perfect-debounce@npm:2.1.0" + checksum: 10c0/c4f833816f249129cea996d60b1351b640cf06954ab4eecaca440234ef70f4aefe6483637049750f5b00e15a5036307ea77f831c9779d6ad878457680af49b6d languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": +"picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard -"picomatch@npm:^4.0.3": +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3": version: 4.0.3 resolution: "picomatch@npm:4.0.3" checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 languageName: node linkType: hard +"pidtree@npm:^0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" + bin: + pidtree: bin/pidtree.js + checksum: 10c0/0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9 + languageName: node + linkType: hard + "pinia@npm:^3.0.4": version: 3.0.4 resolution: "pinia@npm:3.0.4" @@ -8268,376 +3934,7 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^4.1.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 - languageName: node - linkType: hard - -"portfinder@npm:^1.0.26": - version: 1.0.38 - resolution: "portfinder@npm:1.0.38" - dependencies: - async: "npm:^3.2.6" - debug: "npm:^4.3.6" - checksum: 10c0/59b2f2aa0b620c90ce0d477241e62c277f38bfd4fb6074106c23560248dd5e5c2c629dd048ef721f32b19df4213d09b77234880e4f0ab04abf1ab70b6d8048fa - languageName: node - linkType: hard - -"postcss-calc@npm:^8.2.3": - version: 8.2.4 - resolution: "postcss-calc@npm:8.2.4" - dependencies: - postcss-selector-parser: "npm:^6.0.9" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.2 - checksum: 10c0/8518a429488c3283ff1560c83a511f6f772329bc61d88875eb7c83e13a8683b7ccbdccaa9946024cf1553da3eacd2f40fcbcebf1095f7fdeb432bf86bc6ba6ba - languageName: node - linkType: hard - -"postcss-colormin@npm:^5.3.1": - version: 5.3.1 - resolution: "postcss-colormin@npm:5.3.1" - dependencies: - browserslist: "npm:^4.21.4" - caniuse-api: "npm:^3.0.0" - colord: "npm:^2.9.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/c4ca6f335dd992dc8e3df24bffc3495c4e504eba8489c81cb6836fdce3203f423cf4c0b640c4b63c586f588c59d82adb5313c3c5d1a68113896d18ed71caa462 - languageName: node - linkType: hard - -"postcss-convert-values@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-convert-values@npm:5.1.3" - dependencies: - browserslist: "npm:^4.21.4" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/cd10a81781a12487b2921ff84a1a068e948a1956b9539a284c202abecf4cacdd3e106eb026026b22dbf70933f4315c824c111f6b71f56c355e47b842ca9b1dec - languageName: node - linkType: hard - -"postcss-discard-comments@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-discard-comments@npm:5.1.2" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/cb5ba81623c498e18d406138e7d27d69fc668802a1139a8de69d28e80b3fe222cda7b634940512cae78d04f0c78afcd15d92bcf80e537c6c85fa8ff9cd61d00f - languageName: node - linkType: hard - -"postcss-discard-duplicates@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-duplicates@npm:5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/3d3a49536c56097c06b4f085412e0cda0854fac1c559563ccb922d9fab6305ff13058cd6fee422aa66c1d7e466add4e7672d7ae2ff551a4af6f1a8d2142d471f - languageName: node - linkType: hard - -"postcss-discard-empty@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-discard-empty@npm:5.1.1" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/36c8b2197af836dbd93168c72cde4edc1f10fe00e564824119da076d3764909745bb60e4ada04052322e26872d1bce6a37c56815f1c48c813a21adca1a41fbdc - languageName: node - linkType: hard - -"postcss-discard-overridden@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-overridden@npm:5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/7d3fc0b0d90599606fc083327a7c24390f90270a94a0119af4b74815d518948581579281f63b9bfa62e2644edf59bc9e725dc04ea5ba213f697804f3fb4dd8dc - languageName: node - linkType: hard - -"postcss-loader@npm:^6.1.1": - version: 6.2.1 - resolution: "postcss-loader@npm:6.2.1" - dependencies: - cosmiconfig: "npm:^7.0.0" - klona: "npm:^2.0.5" - semver: "npm:^7.3.5" - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - checksum: 10c0/736a1bf43a3e09e2351b5cc97cc26790a1c3261412c9dee063f3f6f2969a6ff7d8d194d9adcad01cee1afd1de071482318d9699e6157b67d46b3dccf3be1b58b - languageName: node - linkType: hard - -"postcss-merge-longhand@npm:^5.1.7": - version: 5.1.7 - resolution: "postcss-merge-longhand@npm:5.1.7" - dependencies: - postcss-value-parser: "npm:^4.2.0" - stylehacks: "npm:^5.1.1" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/4d9f44b03f19522cc81ae4f5b1f2a9ef2db918dbd8b3042d4f1b2461b2230b8ec1269334db6a67a863ba68f64cabd712e6e45340ddb22a3fc03cd34df69d2bf0 - languageName: node - linkType: hard - -"postcss-merge-rules@npm:^5.1.4": - version: 5.1.4 - resolution: "postcss-merge-rules@npm:5.1.4" - dependencies: - browserslist: "npm:^4.21.4" - caniuse-api: "npm:^3.0.0" - cssnano-utils: "npm:^3.1.0" - postcss-selector-parser: "npm:^6.0.5" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/e7686cdda052071bf98810ad381e26145c43a2286f9540f04f97ef93101604b78d478dd555db91e5f73751bb353c283ba75c2fcb16a3751ac7d93dc6a0130c41 - languageName: node - linkType: hard - -"postcss-minify-font-values@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-minify-font-values@npm:5.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/7aa4f93a853b657f79a8b28d0e924cafce3720086d9da02ce04b8b2f8de42e18ce32c8f7f1078390fb5ec82468e2d8e771614387cea3563f05fd9fa1798e1c59 - languageName: node - linkType: hard - -"postcss-minify-gradients@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-minify-gradients@npm:5.1.1" - dependencies: - colord: "npm:^2.9.1" - cssnano-utils: "npm:^3.1.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/bcb2802d7c8f0f76c7cff089884844f26c24b95f35c3ec951d7dec8c212495d1873d6ba62d6225ce264570e8e0668e271f9bc79bb6f5d2429c1f8933f4e3021d - languageName: node - linkType: hard - -"postcss-minify-params@npm:^5.1.4": - version: 5.1.4 - resolution: "postcss-minify-params@npm:5.1.4" - dependencies: - browserslist: "npm:^4.21.4" - cssnano-utils: "npm:^3.1.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/debce6f0f7dd9af69b4bb9e467ea1ccccff2d849b6020461a2b9741c0c137340e6076c245dc2e83880180eb2e82936280fa31dfe8608e5a2e3618f3d864314c5 - languageName: node - linkType: hard - -"postcss-minify-selectors@npm:^5.2.1": - version: 5.2.1 - resolution: "postcss-minify-selectors@npm:5.2.1" - dependencies: - postcss-selector-parser: "npm:^6.0.5" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/f3f4ec110f5f697cfc9dde3e491ff10aa07509bf33cc940aa539e4b5b643d1b9f8bb97f8bb83d05fc96f5eeb220500ebdeffbde513bd176c0671e21c2c96fab9 - languageName: node - linkType: hard - -"postcss-modules-extract-imports@npm:^3.1.0": - version: 3.1.0 - resolution: "postcss-modules-extract-imports@npm:3.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/402084bcab376083c4b1b5111b48ec92974ef86066f366f0b2d5b2ac2b647d561066705ade4db89875a13cb175b33dd6af40d16d32b2ea5eaf8bac63bd2bf219 - languageName: node - linkType: hard - -"postcss-modules-local-by-default@npm:^4.0.5": - version: 4.2.0 - resolution: "postcss-modules-local-by-default@npm:4.2.0" - dependencies: - icss-utils: "npm:^5.0.0" - postcss-selector-parser: "npm:^7.0.0" - postcss-value-parser: "npm:^4.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/b0b83feb2a4b61f5383979d37f23116c99bc146eba1741ca3cf1acca0e4d0dbf293ac1810a6ab4eccbe1ee76440dd0a9eb2db5b3bba4f99fc1b3ded16baa6358 - languageName: node - linkType: hard - -"postcss-modules-scope@npm:^3.2.0": - version: 3.2.1 - resolution: "postcss-modules-scope@npm:3.2.1" - dependencies: - postcss-selector-parser: "npm:^7.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b - languageName: node - linkType: hard - -"postcss-modules-values@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-modules-values@npm:4.0.0" - dependencies: - icss-utils: "npm:^5.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 10c0/dd18d7631b5619fb9921b198c86847a2a075f32e0c162e0428d2647685e318c487a2566cc8cc669fc2077ef38115cde7a068e321f46fb38be3ad49646b639dbc - languageName: node - linkType: hard - -"postcss-normalize-charset@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-charset@npm:5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/aa481584d4db48e0dbf820f992fa235e6c41ff3d4701a62d349f33c1ad4c5c7dcdea3096db9ff2a5c9497e9bed2186d594ccdb1b42d57b30f58affba5829ad9c - languageName: node - linkType: hard - -"postcss-normalize-display-values@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-display-values@npm:5.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/70b164fda885c097c02c98914fba4cd19b2382ff5f85f77e5315d88a1d477b4803f0f271d95a38e044e2a6c3b781c5c9bfb83222fc577199f2aeb0b8f4254e2f - languageName: node - linkType: hard - -"postcss-normalize-positions@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-positions@npm:5.1.1" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/910d58991fd38a7cf6ed6471e6fa4a96349690ad1a99a02e8cac46d76ba5045f2fca453088b68b05ff665afd96dc617c4674c68acaeabbe83f502e4963fb78b1 - languageName: node - linkType: hard - -"postcss-normalize-repeat-style@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-repeat-style@npm:5.1.1" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/57c3817a2107ebb17e4ceee3831d230c72a3ccc7650f4d5f12aa54f6ea766777401f4f63b2615b721350b2e8c7ae0b0bbc3f1c5ad4e7fa737c9efb92cfa0cbb0 - languageName: node - linkType: hard - -"postcss-normalize-string@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-string@npm:5.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/a5e9979998f478d385ddff865bdd8a4870af69fa8c91c9398572a299ff39b39a6bda922a48fab0d2cddc639f30159c39baaed880ed7d13cd27cc64eaa9400b3b - languageName: node - linkType: hard - -"postcss-normalize-timing-functions@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-timing-functions@npm:5.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/afb34d8e313004ae8cd92910bf1a6eb9885f29ae803cd9032b6dfe7b67a9ad93f800976f10e55170b2b08fe9484825e9272629971186812c2764c73843268237 - languageName: node - linkType: hard - -"postcss-normalize-unicode@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-unicode@npm:5.1.1" - dependencies: - browserslist: "npm:^4.21.4" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/c102888d488d05c53ab10ffcd4e0efb892ef0cc2f9b0abe9c9b175a2d7a9c226981ca6806ed9e5c1b82a8190f2b3a8342a6de800f019b417130661b0787ff6d7 - languageName: node - linkType: hard - -"postcss-normalize-url@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-url@npm:5.1.0" - dependencies: - normalize-url: "npm:^6.0.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/a016cefd1ef80f74ef9dbed50593d3b533101e93aaadfc292896fddd8d6c3eb732a9fc5cb2e0d27f79c1f60f0fdfc40b045a494b514451e9610c6acf9392eb98 - languageName: node - linkType: hard - -"postcss-normalize-whitespace@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-whitespace@npm:5.1.1" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/d7b53dd90fe369bfb9838a40096db904a41f50dadfd04247ec07d7ab5588c3d4e70d1c7f930523bd061cb74e6683cef45c6e6c4eb57ea174ee3fc99f3de222d1 - languageName: node - linkType: hard - -"postcss-ordered-values@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-ordered-values@npm:5.1.3" - dependencies: - cssnano-utils: "npm:^3.1.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/55abfbd2c7267eefed62a881ed0b5c0c98409c50a589526a3ebb9f8d879979203e523b8888fa84732bdd1ac887f721287a037002fa70c27c8d33f1bcbae9d9c6 - languageName: node - linkType: hard - -"postcss-reduce-initial@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-reduce-initial@npm:5.1.2" - dependencies: - browserslist: "npm:^4.21.4" - caniuse-api: "npm:^3.0.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/ddb2ce61c8d0997184f08200eafdf32b3c67e88228fee960f5e2010c32da0c1d8ea07712585bf2b3aaa15f583066401d45db2c1131527c5116ca6794ebebd865 - languageName: node - linkType: hard - -"postcss-reduce-transforms@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-reduce-transforms@npm:5.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/caefaeb78652ad8701b94e91500e38551255e4899fa298a7357519a36cbeebae088eab4535e00f17675a1230f448c4a7077045639d496da4614a46bc41df4add - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.15, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": - version: 6.1.2 - resolution: "postcss-selector-parser@npm:6.1.2" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^7.0.0": +"postcss-selector-parser@npm:^7.1.0": version: 7.1.1 resolution: "postcss-selector-parser@npm:7.1.1" dependencies: @@ -8647,47 +3944,7 @@ __metadata: languageName: node linkType: hard -"postcss-svgo@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-svgo@npm:5.1.0" - dependencies: - postcss-value-parser: "npm:^4.2.0" - svgo: "npm:^2.7.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/309634a587e38fef244648bc9cd1817e12144868d24f1173d87b1edc14a4a7fca614962b2cb9d93f4801e11bd8d676083986ad40ebab4438cb84731ce1571994 - languageName: node - linkType: hard - -"postcss-unique-selectors@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-unique-selectors@npm:5.1.1" - dependencies: - postcss-selector-parser: "npm:^6.0.5" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/484f6409346d6244c134c5cdcd62f4f2751b269742f95222f13d8bac5fb224471ffe04e28a354670cbe0bdc2707778ead034fc1b801b473ffcbea5436807de30 - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 - languageName: node - linkType: hard - -"postcss@npm:^7.0.36": - version: 7.0.39 - resolution: "postcss@npm:7.0.39" - dependencies: - picocolors: "npm:^0.2.1" - source-map: "npm:^0.6.1" - checksum: 10c0/fd27ee808c0d02407582cccfad4729033e2b439d56cd45534fb39aaad308bb35a290f3b7db5f2394980e8756f9381b458a625618550808c5ff01a125f51efc53 - languageName: node - linkType: hard - -"postcss@npm:^8.2.6, postcss@npm:^8.3.5, postcss@npm:^8.4.33, postcss@npm:^8.5.6": +"postcss@npm:^8.5.6": version: 8.5.6 resolution: "postcss@npm:8.5.6" dependencies: @@ -8705,22 +3962,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^1.18.2 || ^2.0.0": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" +"prettier@npm:3.8.1": + version: 3.8.1 + resolution: "prettier@npm:3.8.1" bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - -"pretty-error@npm:^4.0.0": - version: 4.0.0 - resolution: "pretty-error@npm:4.0.0" - dependencies: - lodash: "npm:^4.17.20" - renderkid: "npm:^3.0.0" - checksum: 10c0/dc292c087e2857b2e7592784ab31e37a40f3fa918caa11eba51f9fb2853e1d4d6e820b219917e35f5721d833cfd20fdf4f26ae931a90fd1ad0cae2125c345138 + prettier: bin/prettier.cjs + checksum: 10c0/33169b594009e48f570471271be7eac7cdcf88a209eed39ac3b8d6d78984039bfa9132f82b7e6ba3b06711f3bfe0222a62a1bfb87c43f50c25a83df1b78a2c42 languageName: node linkType: hard @@ -8731,33 +3978,6 @@ __metadata: languageName: node linkType: hard -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"progress-webpack-plugin@npm:^1.0.12": - version: 1.0.16 - resolution: "progress-webpack-plugin@npm:1.0.16" - dependencies: - chalk: "npm:^2.1.0" - figures: "npm:^2.0.0" - log-update: "npm:^2.3.0" - peerDependencies: - webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - checksum: 10c0/16266be9acc6190a8d3fe1e92996b3b7a22d7287eb7faecbee182e750e9b9d8c212f2af547157f35e8d8f99775291690e5f7a6f8a9ab4506824c75addf361717 - languageName: node - linkType: hard - -"progress@npm:^2.0.3": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c - languageName: node - linkType: hard - "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -8775,79 +3995,13 @@ __metadata: languageName: node linkType: hard -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"prr@npm:~1.0.1": - version: 1.0.1 - resolution: "prr@npm:1.0.1" - checksum: 10c0/5b9272c602e4f4472a215e58daff88f802923b84bc39c8860376bb1c0e42aaf18c25d69ad974bd06ec6db6f544b783edecd5502cd3d184748d99080d68e4be5f - languageName: node - linkType: hard - -"pseudomap@npm:^1.0.2": - version: 1.0.2 - resolution: "pseudomap@npm:1.0.2" - checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679 - languageName: node - linkType: hard - -"psl@npm:^1.1.33": - version: 1.15.0 - resolution: "psl@npm:1.15.0" - dependencies: - punycode: "npm:^2.3.1" - checksum: 10c0/d8d45a99e4ca62ca12ac3c373e63d80d2368d38892daa40cfddaa1eb908be98cd549ac059783ef3a56cfd96d57ae8e2fd9ae53d1378d90d42bc661ff924e102a - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.3 - resolution: "pump@npm:3.0.3" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/ada5cdf1d813065bbc99aa2c393b8f6beee73b5de2890a8754c9f488d7323ffd2ca5f5a0943b48934e3fcbd97637d0337369c3c631aeb9614915db629f1c75c9 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard -"qs@npm:~6.14.0": - version: 6.14.2 - resolution: "qs@npm:6.14.2" - dependencies: - side-channel: "npm:^1.1.0" - checksum: 10c0/646110124476fc9acf3c80994c8c3a0600cbad06a4ede1c9e93341006e8426d64e85e048baf8f0c4995f0f1bf0f37d1f3acc5ec1455850b81978792969a60ef6 - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 10c0/3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -8855,180 +4009,13 @@ __metadata: languageName: node linkType: hard -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" +"read-package-json-fast@npm:^4.0.0": + version: 4.0.0 + resolution: "read-package-json-fast@npm:4.0.0" dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": - version: 1.2.1 - resolution: "range-parser@npm:1.2.1" - checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 - languageName: node - linkType: hard - -"raw-body@npm:~2.5.3": - version: 2.5.3 - resolution: "raw-body@npm:2.5.3" - dependencies: - bytes: "npm:~3.1.2" - http-errors: "npm:~2.0.1" - iconv-lite: "npm:~0.4.24" - unpipe: "npm:~1.0.0" - checksum: 10c0/449844344fc90547fb994383a494b83300e4f22199f146a79f68d78a199a8f2a923ea9fd29c3be979bfd50291a3884733619ffc15ba02a32e703b612f8d3f74a - languageName: node - linkType: hard - -"read-pkg-up@npm:^7.0.1": - version: 7.0.1 - resolution: "read-pkg-up@npm:7.0.1" - dependencies: - find-up: "npm:^4.1.0" - read-pkg: "npm:^5.2.0" - type-fest: "npm:^0.8.1" - checksum: 10c0/82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 - languageName: node - linkType: hard - -"read-pkg@npm:^5.1.1, read-pkg@npm:^5.2.0": - version: 5.2.0 - resolution: "read-pkg@npm:5.2.0" - dependencies: - "@types/normalize-package-data": "npm:^2.4.0" - normalize-package-data: "npm:^2.5.0" - parse-json: "npm:^5.0.0" - type-fest: "npm:^0.6.0" - checksum: 10c0/b51a17d4b51418e777029e3a7694c9bd6c578a5ab99db544764a0b0f2c7c0f58f8a6bc101f86a6fceb8ba6d237d67c89acf6170f6b98695d0420ddc86cf109fb - languageName: node - linkType: hard - -"readable-stream@npm:^2.0.1": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readdirp@npm:^5.0.0": - version: 5.0.0 - resolution: "readdirp@npm:5.0.0" - checksum: 10c0/faf1ec57cff2020f473128da3f8d2a57813cc3a08a36c38cae1c9af32c1579906cc50ba75578043b35bade77e945c098233665797cf9730ba3613a62d6e79219 - languageName: node - linkType: hard - -"readdirp@npm:~3.5.0": - version: 3.5.0 - resolution: "readdirp@npm:3.5.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/293de2ed981884a09e76fbf90bddc7e1a87667e57e0284ddc8c177e3151b0d179a9a56441d9f2f3654423924ec100af57ba9e507086527f98fd1d21bdd041c3e - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"regenerate-unicode-properties@npm:^10.2.2": - version: 10.2.2 - resolution: "regenerate-unicode-properties@npm:10.2.2" - dependencies: - regenerate: "npm:^1.4.2" - checksum: 10c0/66a1d6a1dbacdfc49afd88f20b2319a4c33cee56d245163e4d8f5f283e0f45d1085a78f7f7406dd19ea3a5dd7a7799cd020cd817c97464a7507f9d10fbdce87c - languageName: node - linkType: hard - -"regenerate@npm:^1.4.2": - version: 1.4.2 - resolution: "regenerate@npm:1.4.2" - checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 - languageName: node - linkType: hard - -"regexpu-core@npm:^6.3.1": - version: 6.4.0 - resolution: "regexpu-core@npm:6.4.0" - dependencies: - regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.2.2" - regjsgen: "npm:^0.8.0" - regjsparser: "npm:^0.13.0" - unicode-match-property-ecmascript: "npm:^2.0.0" - unicode-match-property-value-ecmascript: "npm:^2.2.1" - checksum: 10c0/1eed9783c023dd06fb1f3ce4b6e3fdf0bc1e30cb036f30aeb2019b351e5e0b74355b40462282ea5db092c79a79331c374c7e9897e44a5ca4509e9f0b570263de - languageName: node - linkType: hard - -"regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "regjsgen@npm:0.8.0" - checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd - languageName: node - linkType: hard - -"regjsparser@npm:^0.13.0": - version: 0.13.0 - resolution: "regjsparser@npm:0.13.0" - dependencies: - jsesc: "npm:~3.1.0" - bin: - regjsparser: bin/parser - checksum: 10c0/4702f85cda09f67747c1b2fb673a0f0e5d1ba39d55f177632265a0be471ba59e3f320623f411649141f752b126b8126eac3ff4c62d317921e430b0472bfc6071 - languageName: node - linkType: hard - -"relateurl@npm:^0.2.7": - version: 0.2.7 - resolution: "relateurl@npm:0.2.7" - checksum: 10c0/c248b4e3b32474f116a804b537fa6343d731b80056fb506dffd91e737eef4cac6be47a65aae39b522b0db9d0b1011d1a12e288d82a109ecd94a5299d82f6573a - languageName: node - linkType: hard - -"renderkid@npm:^3.0.0": - version: 3.0.0 - resolution: "renderkid@npm:3.0.0" - dependencies: - css-select: "npm:^4.1.3" - dom-converter: "npm:^0.2.0" - htmlparser2: "npm:^6.1.0" - lodash: "npm:^4.17.21" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/24a9fae4cc50e731d059742d1b3eec163dc9e3872b12010d120c3fcbd622765d9cda41f79a1bbb4bf63c1d3442f18a08f6e1642cb5d7ebf092a0ce3f7a3bd143 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + json-parse-even-better-errors: "npm:^4.0.0" + npm-normalize-package-bin: "npm:^4.0.0" + checksum: 10c0/8a03509ae8e852f1abc4b109c1be571dd90ac9ea65d55433b2fe287e409113441a9b00df698288fe48aa786c1a2550569d47b5ab01ed83ada073d691d5aff582 languageName: node linkType: hard @@ -9039,20 +4026,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: 10c0/db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 - languageName: node - linkType: hard - -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -9060,52 +4033,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.22.11": - version: 1.22.11 - resolution: "resolve@npm:1.22.11" - dependencies: - is-core-module: "npm:^2.16.1" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin": - version: 1.22.11 - resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.16.1" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 - languageName: node - linkType: hard - -"restore-cursor@npm:^2.0.0": - version: 2.0.0 - resolution: "restore-cursor@npm:2.0.0" - dependencies: - onetime: "npm:^2.0.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/f5b335bee06f440445e976a7031a3ef53691f9b7c4a9d42a469a0edaf8a5508158a0d561ff2b26a1f4f38783bcca2c0e5c3a44f927326f6694d5b44d7a4993e6 - languageName: node - linkType: hard - -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f - languageName: node - linkType: hard - "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -9113,13 +4040,6 @@ __metadata: languageName: node linkType: hard -"retry@npm:^0.13.1": - version: 0.13.1 - resolution: "retry@npm:0.13.1" - checksum: 10c0/9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772 - languageName: node - linkType: hard - "reusify@npm:^1.0.4": version: 1.1.0 resolution: "reusify@npm:1.1.0" @@ -9134,14 +4054,100 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" +"rollup@npm:^4.43.0": + version: 4.58.0 + resolution: "rollup@npm:4.58.0" dependencies: - glob: "npm:^7.1.3" + "@rollup/rollup-android-arm-eabi": "npm:4.58.0" + "@rollup/rollup-android-arm64": "npm:4.58.0" + "@rollup/rollup-darwin-arm64": "npm:4.58.0" + "@rollup/rollup-darwin-x64": "npm:4.58.0" + "@rollup/rollup-freebsd-arm64": "npm:4.58.0" + "@rollup/rollup-freebsd-x64": "npm:4.58.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.58.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.58.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.58.0" + "@rollup/rollup-linux-loong64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-loong64-musl": "npm:4.58.0" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-ppc64-musl": "npm:4.58.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-riscv64-musl": "npm:4.58.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.58.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-x64-musl": "npm:4.58.0" + "@rollup/rollup-openbsd-x64": "npm:4.58.0" + "@rollup/rollup-openharmony-arm64": "npm:4.58.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.58.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.58.0" + "@rollup/rollup-win32-x64-gnu": "npm:4.58.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.58.0" + "@types/estree": "npm:1.0.8" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openbsd-x64": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + rollup: dist/bin/rollup + checksum: 10c0/b508a98b8d2b579243bdc02bbc0b8a450a94211384a7a645467b744fe39c0f221751081176ee697a70875b6338ad9ce940904addfbad8776d998ec7d4823ae6d + languageName: node + linkType: hard + +"run-applescript@npm:^7.0.0": + version: 7.1.0 + resolution: "run-applescript@npm:7.1.0" + checksum: 10c0/ab826c57c20f244b2ee807704b1ef4ba7f566aa766481ae5922aac785e2570809e297c69afcccc3593095b538a8a77d26f2b2e9a1d9dffee24e0e039502d1a03 languageName: node linkType: hard @@ -9154,151 +4160,23 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 languageName: node linkType: hard -"sass-loader@npm:^16.0.0": - version: 16.0.7 - resolution: "sass-loader@npm:16.0.7" - dependencies: - neo-async: "npm:^2.6.2" - peerDependencies: - "@rspack/core": 0.x || ^1.0.0 || ^2.0.0-0 - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - sass: ^1.3.0 - sass-embedded: "*" - webpack: ^5.0.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - webpack: - optional: true - checksum: 10c0/eb352777cb3aff4bf0029c88e276a37ca10f415de0765eb1276f742455ebb152faffc2417770bf4a26da389d6115e27dd6c8e66c8b71396b21811f6e4d1b4eea - languageName: node - linkType: hard - -"sass@npm:~1.94.3": - version: 1.94.3 - resolution: "sass@npm:1.94.3" - dependencies: - "@parcel/watcher": "npm:^2.4.1" - chokidar: "npm:^5.0.0" - immutable: "npm:^5.0.2" - source-map-js: "npm:>=0.6.2 <2.0.0" - dependenciesMeta: - "@parcel/watcher": - optional: true - bin: - sass: sass.js - checksum: 10c0/365cb66e102e047453f91edfdc8696b959b6e809dbe95c7a741f3efd57bfada546867c58426a9d50c28b2393a0f52c02ef10188b70f50ff8f2eefb36169184b4 - languageName: node - linkType: hard - -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" dependencies: xmlchars: "npm:^2.2.0" - checksum: 10c0/b7476c41dbe1c3a89907d2546fecfba234de5e66743ef914cde2603f47b19bed09732ab51b528ad0f98b958369d8be72b6f5af5c9cfad69972a73d061f0b3952 + checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 languageName: node linkType: hard -"schema-utils@npm:2.7.0": - version: 2.7.0 - resolution: "schema-utils@npm:2.7.0" - dependencies: - "@types/json-schema": "npm:^7.0.4" - ajv: "npm:^6.12.2" - ajv-keywords: "npm:^3.4.1" - checksum: 10c0/723c3c856a0313a89aa81c5fb2c93d4b11225f5cdd442665fddd55d3c285ae72e079f5286a3a9a1a973affe888f6c33554a2cf47b79b24cd8de2f1f756a6fb1b - languageName: node - linkType: hard - -"schema-utils@npm:^2.6.5": - version: 2.7.1 - resolution: "schema-utils@npm:2.7.1" - dependencies: - "@types/json-schema": "npm:^7.0.5" - ajv: "npm:^6.12.4" - ajv-keywords: "npm:^3.5.2" - checksum: 10c0/f484f34464edd8758712d5d3ba25a306e367dac988aecaf4ce112e99baae73f33a807b5cf869240bb6648c80720b36af2d7d72be3a27faa49a2d4fc63fa3f85f - languageName: node - linkType: hard - -"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1": - version: 3.3.0 - resolution: "schema-utils@npm:3.3.0" - dependencies: - "@types/json-schema": "npm:^7.0.8" - ajv: "npm:^6.12.5" - ajv-keywords: "npm:^3.5.2" - checksum: 10c0/fafdbde91ad8aa1316bc543d4b61e65ea86970aebbfb750bfb6d8a6c287a23e415e0e926c2498696b242f63af1aab8e585252637fabe811fd37b604351da6500 - languageName: node - linkType: hard - -"schema-utils@npm:^4.0.0, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.3": - version: 4.3.3 - resolution: "schema-utils@npm:4.3.3" - dependencies: - "@types/json-schema": "npm:^7.0.9" - ajv: "npm:^8.9.0" - ajv-formats: "npm:^2.1.1" - ajv-keywords: "npm:^5.1.0" - checksum: 10c0/1c8d2c480a026d7c02ab2ecbe5919133a096d6a721a3f201fa50663e4f30f6d6ba020dfddd93cb828b66b922e76b342e103edd19a62c95c8f60e9079cc403202 - languageName: node - linkType: hard - -"select-hose@npm:^2.0.0": - version: 2.0.0 - resolution: "select-hose@npm:2.0.0" - checksum: 10c0/01cc52edd29feddaf379efb4328aededa633f0ac43c64b11a8abd075ff34f05b0d280882c4fbcbdf1a0658202c9cd2ea8d5985174dcf9a2dac7e3a4996fa9b67 - languageName: node - linkType: hard - -"selfsigned@npm:^2.1.1": - version: 2.4.1 - resolution: "selfsigned@npm:2.4.1" - dependencies: - "@types/node-forge": "npm:^1.3.0" - node-forge: "npm:^1" - checksum: 10c0/521829ec36ea042f7e9963bf1da2ed040a815cf774422544b112ec53b7edc0bc50a0f8cc2ae7aa6cc19afa967c641fd96a15de0fc650c68651e41277d2e1df09 - languageName: node - linkType: hard - -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 - languageName: node - linkType: hard - -"semver@npm:^6.0.0, semver@npm:^6.3.1": +"semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -9307,7 +4185,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.3": +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.3, semver@npm:^7.7.3": version: 7.7.4 resolution: "semver@npm:7.7.4" bin: @@ -9316,118 +4194,6 @@ __metadata: languageName: node linkType: hard -"send@npm:~0.19.0, send@npm:~0.19.1": - version: 0.19.2 - resolution: "send@npm:0.19.2" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:~0.5.2" - http-errors: "npm:~2.0.1" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:~2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:~2.0.2" - checksum: 10c0/20c2389fe0fdf3fc499938cac598bc32272287e993c4960717381a10de8550028feadfb9076f959a3a3ebdea42e1f690e116f0d16468fa56b9fd41866d3dc267 - languageName: node - linkType: hard - -"serialize-javascript@npm:5.0.1": - version: 5.0.1 - resolution: "serialize-javascript@npm:5.0.1" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/646bd92a8298d764d38316f3006bce0b0def6d0e254791396ac34403847654d9346b0b6ed7865efd799d93d4c47d900e08a8fa7a6f7f8d2dbaebab5444c3b431 - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.2": - version: 6.0.2 - resolution: "serialize-javascript@npm:6.0.2" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - languageName: node - linkType: hard - -"serve-index@npm:^1.9.1": - version: 1.9.2 - resolution: "serve-index@npm:1.9.2" - dependencies: - accepts: "npm:~1.3.8" - batch: "npm:0.6.1" - debug: "npm:2.6.9" - escape-html: "npm:~1.0.3" - http-errors: "npm:~1.8.0" - mime-types: "npm:~2.1.35" - parseurl: "npm:~1.3.3" - checksum: 10c0/b4e48da75c9262cfcf6a4707748a33a127f6c3cd3a095782c22312c4915545b7695071fedc8f5717bae165e6e63053cd963847013b1f1e984213f07186f78a74 - languageName: node - linkType: hard - -"serve-static@npm:~1.16.2": - version: 1.16.3 - resolution: "serve-static@npm:1.16.3" - dependencies: - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:~0.19.1" - checksum: 10c0/36320397a073c71bedf58af48a4a100fe6d93f07459af4d6f08b9a7217c04ce2a4939e0effd842dc7bece93ffcd59eb52f58c4fff2a8e002dc29ae6b219cd42b - languageName: node - linkType: hard - -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 - languageName: node - linkType: hard - -"set-function-length@npm:^1.2.2": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"shallow-clone@npm:^3.0.0": - version: 3.0.1 - resolution: "shallow-clone@npm:3.0.1" - dependencies: - kind-of: "npm:^6.0.2" - checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e - languageName: node - linkType: hard - -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: "npm:^1.0.0" - checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -9437,13 +4203,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -9451,65 +4210,17 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.8.3": +"shell-quote@npm:^1.7.3": version: 1.8.3 resolution: "shell-quote@npm:1.8.3" checksum: 10c0/bee87c34e1e986cfb4c30846b8e6327d18874f10b535699866f368ade11ea4ee45433d97bf5eada22c4320c27df79c3a6a7eb1bf3ecfc47f2c997d9e5e2672fd languageName: node linkType: hard -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.1.0": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 languageName: node linkType: hard @@ -9520,21 +4231,14 @@ __metadata: languageName: node linkType: hard -"sirv@npm:^2.0.3": - version: 2.0.4 - resolution: "sirv@npm:2.0.4" +"sirv@npm:^3.0.1, sirv@npm:^3.0.2": + version: 3.0.2 + resolution: "sirv@npm:3.0.2" dependencies: "@polka/url": "npm:^1.0.0-next.24" mrmime: "npm:^2.0.0" totalist: "npm:^3.0.0" - checksum: 10c0/68f8ee857f6a9415e9c07a1f31c7c561df8d5f1b1ba79bee3de583fa37da8718def5309f6b1c6e2c3ef77de45d74f5e49efc7959214443aa92d42e9c99180a4e - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + checksum: 10c0/5930e4397afdb14fbae13751c3be983af4bda5c9aadec832607dc2af15a7162f7d518c71b30e83ae3644b9a24cea041543cc969e5fe2b80af6ce8ea3174b2d04 languageName: node linkType: hard @@ -9545,17 +4249,6 @@ __metadata: languageName: node linkType: hard -"sockjs@npm:^0.3.24": - version: 0.3.24 - resolution: "sockjs@npm:0.3.24" - dependencies: - faye-websocket: "npm:^0.11.3" - uuid: "npm:^8.3.2" - websocket-driver: "npm:^0.7.4" - checksum: 10c0/aa102c7d921bf430215754511c81ea7248f2dcdf268fbdb18e4d8183493a86b8793b164c636c52f474a886f747447c962741df2373888823271efdb9d2594f33 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" @@ -9577,98 +4270,13 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.2.1": +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf languageName: node linkType: hard -"source-map-support@npm:^0.5.13, source-map-support@npm:~0.5.20": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:^0.7.4": - version: 0.7.6 - resolution: "source-map@npm:0.7.6" - checksum: 10c0/59f6f05538539b274ba771d2e9e32f6c65451982510564438e048bc1352f019c6efcdc6dd07909b1968144941c14015c2c7d4369fb7c4d7d53ae769716dcc16c - languageName: node - linkType: hard - -"spdx-correct@npm:^3.0.0": - version: 3.2.0 - resolution: "spdx-correct@npm:3.2.0" - dependencies: - spdx-expression-parse: "npm:^3.0.0" - spdx-license-ids: "npm:^3.0.0" - checksum: 10c0/49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 - languageName: node - linkType: hard - -"spdx-exceptions@npm:^2.1.0": - version: 2.5.0 - resolution: "spdx-exceptions@npm:2.5.0" - checksum: 10c0/37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 - languageName: node - linkType: hard - -"spdx-expression-parse@npm:^3.0.0": - version: 3.0.1 - resolution: "spdx-expression-parse@npm:3.0.1" - dependencies: - spdx-exceptions: "npm:^2.1.0" - spdx-license-ids: "npm:^3.0.0" - checksum: 10c0/6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 - languageName: node - linkType: hard - -"spdx-license-ids@npm:^3.0.0": - version: 3.0.22 - resolution: "spdx-license-ids@npm:3.0.22" - checksum: 10c0/4a85e44c2ccfc06eebe63239193f526508ebec1abc7cf7bca8ee43923755636234395447c2c87f40fb672cf580a9c8e684513a676bfb2da3d38a4983684bbb38 - languageName: node - linkType: hard - -"spdy-transport@npm:^3.0.0": - version: 3.0.0 - resolution: "spdy-transport@npm:3.0.0" - dependencies: - debug: "npm:^4.1.0" - detect-node: "npm:^2.0.4" - hpack.js: "npm:^2.1.6" - obuf: "npm:^1.1.2" - readable-stream: "npm:^3.0.6" - wbuf: "npm:^1.7.3" - checksum: 10c0/eaf7440fa90724fffc813c386d4a8a7427d967d6e46d7c51d8f8a533d1a6911b9823ea9218703debbae755337e85f110185d7a00ae22ec5c847077b908ce71bb - languageName: node - linkType: hard - -"spdy@npm:^4.0.2": - version: 4.0.2 - resolution: "spdy@npm:4.0.2" - dependencies: - debug: "npm:^4.1.0" - handle-thing: "npm:^2.0.0" - http-deceiver: "npm:^1.2.7" - select-hose: "npm:^2.0.0" - spdy-transport: "npm:^3.0.0" - checksum: 10c0/983509c0be9d06fd00bb9dff713c5b5d35d3ffd720db869acdd5ad7aa6fc0e02c2318b58f75328957d8ff772acdf1f7d19382b6047df342044ff3e2d6805ccdf - languageName: node - linkType: hard - "speakingurl@npm:^14.0.1": version: 14.0.1 resolution: "speakingurl@npm:14.0.1" @@ -9685,44 +4293,21 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^8.0.1": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" - dependencies: - minipass: "npm:^3.1.1" - checksum: 10c0/5cfae216ae02dcd154d1bbed2d0a60038a4b3a2fcaac3c7e47401ff4e058e551ee74cfdba618871bf168cd583db7b8324f94af6747d4303b73cd4c3f6dc5c9c2 +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 languageName: node linkType: hard -"stable@npm:^0.1.8": - version: 0.1.8 - resolution: "stable@npm:0.1.8" - checksum: 10c0/df74b5883075076e78f8e365e4068ecd977af6c09da510cfc3148a303d4b87bc9aa8f7c48feb67ed4ef970b6140bd9eabba2129e28024aa88df5ea0114cba39d +"std-env@npm:^3.10.0": + version: 3.10.0 + resolution: "std-env@npm:3.10.0" + checksum: 10c0/1814927a45004d36dde6707eaf17552a546769bc79a6421be2c16ce77d238158dfe5de30910b78ec30d95135cc1c59ea73ee22d2ca170f8b9753f84da34c427f languageName: node linkType: hard -"stackframe@npm:^1.3.4": - version: 1.3.4 - resolution: "stackframe@npm:1.3.4" - checksum: 10c0/18410f7a1e0c5d211a4effa83bdbf24adbe8faa8c34db52e1cd3e89837518c592be60b60d8b7270ac53eeeb8b807cd11b399a41667f6c9abb41059c3ccc8a989 - languageName: node - linkType: hard - -"statuses@npm:>= 1.5.0 < 2": - version: 1.5.0 - resolution: "statuses@npm:1.5.0" - checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 - languageName: node - linkType: hard - -"statuses@npm:~2.0.1, statuses@npm:~2.0.2": - version: 2.0.2 - resolution: "statuses@npm:2.0.2" - checksum: 10c0/a9947d98ad60d01f6b26727570f3bcceb6c8fa789da64fe6889908fe2e294d57503b14bf2b5af7605c2d36647259e856635cd4c49eab41667658ec9d0080ec3f - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -9733,27 +4318,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2, string-width@npm:^2.1.1": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^4.0.0" - checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 - languageName: node - linkType: hard - -"string-width@npm:^3.0.0, string-width@npm:^3.1.0": - version: 3.1.0 - resolution: "string-width@npm:3.1.0" - dependencies: - emoji-regex: "npm:^7.0.1" - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^5.1.0" - checksum: 10c0/85fa0d4f106e7999bb68c1c640c76fa69fb8c069dab75b009e29c123914e2d3b532e6cfa4b9d1bd913176fc83dedd7a2d7bf40d21a81a8a1978432cedfb65b91 - languageName: node - linkType: hard - "string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" @@ -9765,24 +4329,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -9792,24 +4338,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-ansi@npm:4.0.0" - dependencies: - ansi-regex: "npm:^3.0.0" - checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d - languageName: node - linkType: hard - -"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": - version: 5.2.0 - resolution: "strip-ansi@npm:5.2.0" - dependencies: - ansi-regex: "npm:^4.1.0" - checksum: 10c0/de4658c8a097ce3b15955bc6008f67c0790f85748bdc025b7bc8c52c7aee94bc4f9e50624516150ed173c3db72d851826cd57e7a85fe4e4bb6dbbebd5d297fdf - languageName: node - linkType: hard - "strip-ansi@npm:^7.0.1": version: 7.1.2 resolution: "strip-ansi@npm:7.1.2" @@ -9819,46 +4347,13 @@ __metadata: languageName: node linkType: hard -"strip-eof@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-eof@npm:1.0.0" - checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"strip-indent@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-indent@npm:2.0.0" - checksum: 10c0/d88dbef5d2aaa3eb622a9011151b2543b886c581366003ad2bd8c168b419dfbf83f28dcb8962b670ab71a818895d998479b0eac08fba99ee0267b600d11bd764 - languageName: node - linkType: hard - -"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd languageName: node linkType: hard -"stylehacks@npm:^5.1.1": - version: 5.1.1 - resolution: "stylehacks@npm:5.1.1" - dependencies: - browserslist: "npm:^4.21.4" - postcss-selector-parser: "npm:^6.0.4" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/402c2b545eeda0e972f125779adddc88df11bcf3a89de60c92026bd98cd49c1abffcd5bfe41766398835e0a1c7e5e72bdb6905809ecbb60716cd8d3a32ea7cd3 - languageName: node - linkType: hard - "superjson@npm:^2.2.2": version: 2.2.6 resolution: "superjson@npm:2.2.6" @@ -9868,24 +4363,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:8.1.1, supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -9895,37 +4372,6 @@ __metadata: languageName: node linkType: hard -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"svg-tags@npm:^1.0.0": - version: 1.0.0 - resolution: "svg-tags@npm:1.0.0" - checksum: 10c0/5867e29e8f431bf7aecf5a244d1af5725f80a1086187dbc78f26d8433b5e96b8fe9361aeb10d1699ff483b9afec785a10916b9312fe9d734d1a7afd48226c954 - languageName: node - linkType: hard - -"svgo@npm:^2.7.0": - version: 2.8.0 - resolution: "svgo@npm:2.8.0" - dependencies: - "@trysound/sax": "npm:0.2.0" - commander: "npm:^7.2.0" - css-select: "npm:^4.1.3" - css-tree: "npm:^1.1.3" - csso: "npm:^4.2.0" - picocolors: "npm:^1.0.0" - stable: "npm:^0.1.8" - bin: - svgo: bin/svgo - checksum: 10c0/0741f5d5cad63111a90a0ce7a1a5a9013f6d293e871b75efe39addb57f29a263e45294e485a4d2ff9cc260a5d142c8b5937b2234b4ef05efdd2706fb2d360ecc - languageName: node - linkType: hard - "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -9933,113 +4379,30 @@ __metadata: languageName: node linkType: hard -"tapable@npm:^1.0.0": - version: 1.1.3 - resolution: "tapable@npm:1.1.3" - checksum: 10c0/c9f0265e55e45821ec672b9b9ee8a35d95bf3ea6b352199f8606a2799018e89cfe4433c554d424b31fc67c4be26b05d4f36dc3c607def416fdb2514cd63dba50 - languageName: node - linkType: hard - -"tapable@npm:^2.0.0, tapable@npm:^2.2.1, tapable@npm:^2.3.0": - version: 2.3.0 - resolution: "tapable@npm:2.3.0" - checksum: 10c0/cb9d67cc2c6a74dedc812ef3085d9d681edd2c1fa18e4aef57a3c0605fdbe44e6b8ea00bd9ef21bc74dd45314e39d31227aa031ebf2f5e38164df514136f2681 - languageName: node - linkType: hard - "tar@npm:^7.5.4": - version: 7.5.7 - resolution: "tar@npm:7.5.7" + version: 7.5.9 + resolution: "tar@npm:7.5.9" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10c0/51f261afc437e1112c3e7919478d6176ea83f7f7727864d8c2cce10f0b03a631d1911644a567348c3063c45abdae39718ba97abb073d22aa3538b9a53ae1e31c + checksum: 10c0/e870beb1b2477135ca2abe86b2d18f7b35d0a4e3a37bbc523d3b8f7adca268dfab543f26528a431d569897f8c53a7cac745cdfbc4411c2f89aeeacc652b81b0a languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.1.1, terser-webpack-plugin@npm:^5.3.16": - version: 5.3.16 - resolution: "terser-webpack-plugin@npm:5.3.16" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.25" - jest-worker: "npm:^27.4.5" - schema-utils: "npm:^4.3.0" - serialize-javascript: "npm:^6.0.2" - terser: "npm:^5.31.1" - peerDependencies: - webpack: ^5.1.0 - peerDependenciesMeta: - "@swc/core": - optional: true - esbuild: - optional: true - uglify-js: - optional: true - checksum: 10c0/39e37c5b3015c1a5354a3633f77235677bfa06eac2608ce26d258b1d1a74070a99910319a6f2f2c437eb61dc321f66434febe01d78e73fa96b4d4393b813f4cf +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.31.1": - version: 5.46.0 - resolution: "terser@npm:5.46.0" - dependencies: - "@jridgewell/source-map": "npm:^0.3.3" - acorn: "npm:^8.15.0" - commander: "npm:^2.20.0" - source-map-support: "npm:~0.5.20" - bin: - terser: bin/terser - checksum: 10c0/93ad468f13187c4f66b609bbfc00a6aee752007779ca3157f2c1ee063697815748d6010fd449a16c30be33213748431d5f54cc0224ba6a3fbbf5acd3582a4356 - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b - languageName: node - linkType: hard - -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 - languageName: node - linkType: hard - -"thread-loader@npm:^3.0.0": - version: 3.0.4 - resolution: "thread-loader@npm:3.0.4" - dependencies: - json-parse-better-errors: "npm:^1.0.2" - loader-runner: "npm:^4.1.0" - loader-utils: "npm:^2.0.0" - neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.0.0" - peerDependencies: - webpack: ^4.27.0 || ^5.0.0 - checksum: 10c0/f34dcd56b8af0f2cc50c9479683a9176fff03207c77598099f1024a46bbf689852e0a37e8afd2514f33aabae61fe13bcaedde7a64f7b51679897f70739987f73 - languageName: node - linkType: hard - -"thunky@npm:^1.0.2": - version: 1.1.0 - resolution: "thunky@npm:1.1.0" - checksum: 10c0/369764f39de1ce1de2ba2fa922db4a3f92e9c7f33bcc9a713241bc1f4a5238b484c17e0d36d1d533c625efb00e9e82c3e45f80b47586945557b45abb890156d2 +"tinyexec@npm:^1.0.2": + version: 1.0.2 + resolution: "tinyexec@npm:1.0.2" + checksum: 10c0/1261a8e34c9b539a9aae3b7f0bb5372045ff28ee1eba035a2a059e532198fe1a182ec61ac60fa0b4a4129f0c4c4b1d2d57355b5cb9aa2d17ac9454ecace502ee languageName: node linkType: hard @@ -10053,6 +4416,31 @@ __metadata: languageName: node linkType: hard +"tinyrainbow@npm:^3.0.3": + version: 3.0.3 + resolution: "tinyrainbow@npm:3.0.3" + checksum: 10c0/1e799d35cd23cabe02e22550985a3051dc88814a979be02dc632a159c393a998628eacfc558e4c746b3006606d54b00bcdea0c39301133956d10a27aa27e988c + languageName: node + linkType: hard + +"tldts-core@npm:^7.0.23": + version: 7.0.23 + resolution: "tldts-core@npm:7.0.23" + checksum: 10c0/b3d936a75b5f65614c356a58ef37563681c6224187dcce9f57aac76d92aae83b1a6fe6ab910f77472b35456bc145a8441cb3e572b4850be43cb4f3465e0610ec + languageName: node + linkType: hard + +"tldts@npm:^7.0.5": + version: 7.0.23 + resolution: "tldts@npm:7.0.23" + dependencies: + tldts-core: "npm:^7.0.23" + bin: + tldts: bin/cli.js + checksum: 10c0/492874770afaade724a10f8a97cce511d74bed07735c7f1100b7957254d7a5bbbc18becaf5cd049f9d7b0feeb945a64af64d5a300dfb851a4ac57cf3a5998afc + languageName: node + linkType: hard + "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -10062,20 +4450,6 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1, toidentifier@npm:~1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"toposort@npm:^2.0.2": - version: 2.0.2 - resolution: "toposort@npm:2.0.2" - checksum: 10c0/ab9ca91fce4b972ccae9e2f539d755bf799a0c7eb60da07fd985fce0f14c159ed1e92305ff55697693b5bc13e300f5417db90e2593b127d421c9f6c440950222 - languageName: node - linkType: hard - "totalist@npm:^3.0.0": version: 3.0.1 resolution: "totalist@npm:3.0.1" @@ -10083,40 +4457,21 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0": - version: 4.1.4 - resolution: "tough-cookie@npm:4.1.4" +"tough-cookie@npm:^6.0.0": + version: 6.0.0 + resolution: "tough-cookie@npm:6.0.0" dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 10c0/aca7ff96054f367d53d1e813e62ceb7dd2eda25d7752058a74d64b7266fd07be75908f3753a32ccf866a2f997604b414cfb1916d6e7f69bc64d9d9939b0d6c45 + tldts: "npm:^7.0.5" + checksum: 10c0/7b17a461e9c2ac0d0bea13ab57b93b4346d0b8c00db174c963af1e46e4ea8d04148d2a55f2358fc857db0c0c65208a98e319d0c60693e32e0c559a9d9cf20cb5 languageName: node linkType: hard -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" +"tr46@npm:^6.0.0": + version: 6.0.0 + resolution: "tr46@npm:6.0.0" dependencies: - punycode: "npm:^2.1.1" - checksum: 10c0/cdc47cad3a9d0b6cb293e39ccb1066695ae6fdd39b9e4f351b010835a1f8b4f3a6dc3a55e896b421371187f22b48d7dac1b693de4f6551bdef7b6ab6735dfe3b - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"ts-api-utils@npm:^1.3.0": - version: 1.4.3 - resolution: "ts-api-utils@npm:1.4.3" - peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a + punycode: "npm:^2.3.1" + checksum: 10c0/83130df2f649228aa91c17754b66248030a3af34911d713b5ea417066fa338aa4bc8668d06bd98aa21a2210f43fc0a3db8b9099e7747fb5830e40e39a6a1058e languageName: node linkType: hard @@ -10129,29 +4484,6 @@ __metadata: languageName: node linkType: hard -"ts-loader@npm:^9.2.5": - version: 9.5.4 - resolution: "ts-loader@npm:9.5.4" - dependencies: - chalk: "npm:^4.1.0" - enhanced-resolve: "npm:^5.0.0" - micromatch: "npm:^4.0.0" - semver: "npm:^7.3.4" - source-map: "npm:^0.7.4" - peerDependencies: - typescript: "*" - webpack: ^5.0.0 - checksum: 10c0/f0982404b43628c335d3b3a60ac3f1738385da7b97c3f04cb5ad2ebad791597be39b25c8a4e158a66173f9bd9f5aa72e285b046b0573e4beed8ecd032d418e4d - languageName: node - linkType: hard - -"tslib@npm:^2.0.3": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -10161,38 +4493,22 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.6.0": - version: 0.6.0 - resolution: "type-fest@npm:0.6.0" - checksum: 10c0/0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 - languageName: node - linkType: hard - -"type-fest@npm:^0.8.1": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 - languageName: node - linkType: hard - -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" +"typescript-eslint@npm:^8.56.0": + version: 8.56.0 + resolution: "typescript-eslint@npm:8.56.0" dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + "@typescript-eslint/eslint-plugin": "npm:8.56.0" + "@typescript-eslint/parser": "npm:8.56.0" + "@typescript-eslint/typescript-estree": "npm:8.56.0" + "@typescript-eslint/utils": "npm:8.56.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/13c47bb4a82d6714d482e96991faf2895c45a8e74235191a2ebbd36272487595c0824d128958942a1d1d18eddf8ca40c5850e2e314958a0a2e3c40be92f2d5a0 languageName: node linkType: hard -"typescript@npm:^5.9.3": +"typescript@npm:~5.9.3": version: 5.9.3 resolution: "typescript@npm:5.9.3" bin: @@ -10202,7 +4518,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": +"typescript@patch:typescript@npm%3A~5.9.3#optional!builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: @@ -10212,41 +4528,17 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~7.16.0": - version: 7.16.0 - resolution: "undici-types@npm:7.16.0" - checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a +"undici-types@npm:~7.18.0": + version: 7.18.2 + resolution: "undici-types@npm:7.18.2" + checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d languageName: node linkType: hard -"unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.1 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" - checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 - languageName: node - linkType: hard - -"unicode-match-property-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-match-property-ecmascript@npm:2.0.0" - dependencies: - unicode-canonical-property-names-ecmascript: "npm:^2.0.0" - unicode-property-aliases-ecmascript: "npm:^2.0.0" - checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec - languageName: node - linkType: hard - -"unicode-match-property-value-ecmascript@npm:^2.2.1": - version: 2.2.1 - resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" - checksum: 10c0/93acd1ad9496b600e5379d1aaca154cf551c5d6d4a0aefaf0984fc2e6288e99220adbeb82c935cde461457fb6af0264a1774b8dfd4d9a9e31548df3352a4194d - languageName: node - linkType: hard - -"unicode-property-aliases-ecmascript@npm:^2.0.0": - version: 2.2.0 - resolution: "unicode-property-aliases-ecmascript@npm:2.2.0" - checksum: 10c0/b338529831c988ac696f2bdbcd4579d1c5cc844b24eda7269973c457fa81989bdb49a366af37a448eb1a60f1dae89559ea2a5854db2797e972a0162eee0778c6 +"undici@npm:^7.21.0": + version: 7.22.0 + resolution: "undici@npm:7.22.0" + checksum: 10c0/09777c06f3f18f761f03e3a4c9c04fd9fcca8ad02ccea43602ee4adf73fcba082806f1afb637f6ea714ef6279c5323c25b16d435814c63db720f63bfc20d316b languageName: node linkType: hard @@ -10268,24 +4560,13 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: 10c0/cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe - languageName: node - linkType: hard - -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a - languageName: node - linkType: hard - -"unpipe@npm:~1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c +"unplugin-utils@npm:^0.3.0": + version: 0.3.1 + resolution: "unplugin-utils@npm:0.3.1" + dependencies: + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.3" + checksum: 10c0/e563b15f2ae604d4f84ac664a7b1738585d2e82a068e59612589e61e555b3d93aa7379a4b6938df3788fe5658cae53d752dd72f6072bd4a642b6e0385c0e4eab languageName: node linkType: hard @@ -10312,69 +4593,209 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: "npm:^2.1.1" - requires-port: "npm:^1.0.0" - checksum: 10c0/bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.2": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 languageName: node linkType: hard -"utila@npm:~0.4": - version: 0.4.0 - resolution: "utila@npm:0.4.0" - checksum: 10c0/2791604e09ca4f77ae314df83e80d1805f867eb5c7e13e7413caee01273c278cf2c9a3670d8d25c889a877f7b149d892fe61b0181a81654b425e9622ab23d42e +"vite-dev-rpc@npm:^1.1.0": + version: 1.1.0 + resolution: "vite-dev-rpc@npm:1.1.0" + dependencies: + birpc: "npm:^2.4.0" + vite-hot-client: "npm:^2.1.0" + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0 + checksum: 10c0/2eff17710f0cf69733e2986d5f46f0404d94f91aff369728fd37a591035ee722b8602a0508f5bd71075b054fb5a3d92ec3d15ad2475967f8baca4b6bc449013c languageName: node linkType: hard -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 +"vite-hot-client@npm:^2.1.0": + version: 2.1.0 + resolution: "vite-hot-client@npm:2.1.0" + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + checksum: 10c0/449f9d09e70f29fa0dbdde7dbfeae94a65ef115d4e53073a688b0d1301d9967aa80f4b236e6fff2067824e23620c7a78eb5478f09c7da3342423c1849ed89ee8 languageName: node linkType: hard -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" +"vite-plugin-inspect@npm:^11.3.3": + version: 11.3.3 + resolution: "vite-plugin-inspect@npm:11.3.3" + dependencies: + ansis: "npm:^4.1.0" + debug: "npm:^4.4.1" + error-stack-parser-es: "npm:^1.0.5" + ohash: "npm:^2.0.11" + open: "npm:^10.2.0" + perfect-debounce: "npm:^2.0.0" + sirv: "npm:^3.0.1" + unplugin-utils: "npm:^0.3.0" + vite-dev-rpc: "npm:^1.1.0" + peerDependencies: + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + "@nuxt/kit": + optional: true + checksum: 10c0/eb79da1fa050806f971cf851fda47c5dae46c6002a1d3e47529cc910cbf15a718639413504c326a9ede845ae640f00a373e8029e04f131f8342aec62230d7cc2 + languageName: node + linkType: hard + +"vite-plugin-vue-devtools@npm:^8.0.6": + version: 8.0.6 + resolution: "vite-plugin-vue-devtools@npm:8.0.6" + dependencies: + "@vue/devtools-core": "npm:^8.0.6" + "@vue/devtools-kit": "npm:^8.0.6" + "@vue/devtools-shared": "npm:^8.0.6" + sirv: "npm:^3.0.2" + vite-plugin-inspect: "npm:^11.3.3" + vite-plugin-vue-inspector: "npm:^5.3.2" + peerDependencies: + vite: ^6.0.0 || ^7.0.0-0 + checksum: 10c0/cef8ea316f4b0e0c3f0d925ae72db375ca3b18192f803233d525c60dd3bf116f2d4079660e4415f990281f3aca1abb91db1121542485972658dcc5afcee76fb0 + languageName: node + linkType: hard + +"vite-plugin-vue-inspector@npm:^5.3.2": + version: 5.3.2 + resolution: "vite-plugin-vue-inspector@npm:5.3.2" + dependencies: + "@babel/core": "npm:^7.23.0" + "@babel/plugin-proposal-decorators": "npm:^7.23.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.22.5" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-transform-typescript": "npm:^7.22.15" + "@vue/babel-plugin-jsx": "npm:^1.1.5" + "@vue/compiler-dom": "npm:^3.3.4" + kolorist: "npm:^1.8.0" + magic-string: "npm:^0.30.4" + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + checksum: 10c0/323b46472a1859272653867d094da2f250fe0e79444d7746084c324e66b155a440fcb78b241d8832573f1a7cac492e0dd56d3a1abf3ffa4522b21722df116402 + languageName: node + linkType: hard + +"vite@npm:^6.0.0 || ^7.0.0, vite@npm:^7.3.1": + version: 7.3.1 + resolution: "vite@npm:7.3.1" + dependencies: + esbuild: "npm:^0.27.0" + fdir: "npm:^6.5.0" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" + tinyglobby: "npm:^0.2.15" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + vite: bin/vite.js + checksum: 10c0/5c7548f5f43a23533e53324304db4ad85f1896b1bfd3ee32ae9b866bac2933782c77b350eb2b52a02c625c8ad1ddd4c000df077419410650c982cd97fde8d014 languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": - version: 3.0.4 - resolution: "validate-npm-package-license@npm:3.0.4" +"vitest@npm:^4.0.18": + version: 4.0.18 + resolution: "vitest@npm:4.0.18" dependencies: - spdx-correct: "npm:^3.0.0" - spdx-expression-parse: "npm:^3.0.0" - checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + "@vitest/expect": "npm:4.0.18" + "@vitest/mocker": "npm:4.0.18" + "@vitest/pretty-format": "npm:4.0.18" + "@vitest/runner": "npm:4.0.18" + "@vitest/snapshot": "npm:4.0.18" + "@vitest/spy": "npm:4.0.18" + "@vitest/utils": "npm:4.0.18" + es-module-lexer: "npm:^1.7.0" + expect-type: "npm:^1.2.2" + magic-string: "npm:^0.30.21" + obug: "npm:^2.1.1" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.3" + std-env: "npm:^3.10.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^1.0.2" + tinyglobby: "npm:^0.2.15" + tinyrainbow: "npm:^3.0.3" + vite: "npm:^6.0.0 || ^7.0.0" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.0.18 + "@vitest/browser-preview": 4.0.18 + "@vitest/browser-webdriverio": 4.0.18 + "@vitest/ui": 4.0.18 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@opentelemetry/api": + optional: true + "@types/node": + optional: true + "@vitest/browser-playwright": + optional: true + "@vitest/browser-preview": + optional: true + "@vitest/browser-webdriverio": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/b913cd32032c95f29ff08c931f4b4c6fd6d2da498908d6770952c561a1b8d75c62499a1f04cadf82fb89cc0f9a33f29fb5dfdb899f6dbb27686a9d91571be5fa languageName: node linkType: hard -"vary@npm:~1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"vue-cli-plugin-webpack-bundle-analyzer@npm:^4.0.0": - version: 4.0.0 - resolution: "vue-cli-plugin-webpack-bundle-analyzer@npm:4.0.0" - dependencies: - webpack-bundle-analyzer: "npm:^4.2.0" - checksum: 10c0/4881ca8833d7d330b9281b5a9759613ee36a2d4cbf7b7f4947473a89131f46ae5f5b9e720bb83d43e2fd1e406bea113a12791b79a61d1ed10f32b4003b1ee6e6 +"vscode-uri@npm:^3.0.8": + version: 3.1.0 + resolution: "vscode-uri@npm:3.1.0" + checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 languageName: node linkType: hard @@ -10385,66 +4806,37 @@ __metadata: languageName: node linkType: hard -"vue-eslint-parser@npm:^9.3.1, vue-eslint-parser@npm:^9.4.3": - version: 9.4.3 - resolution: "vue-eslint-parser@npm:9.4.3" +"vue-eslint-parser@npm:^10.4.0": + version: 10.4.0 + resolution: "vue-eslint-parser@npm:10.4.0" dependencies: - debug: "npm:^4.3.4" - eslint-scope: "npm:^7.1.1" - eslint-visitor-keys: "npm:^3.3.0" - espree: "npm:^9.3.1" - esquery: "npm:^1.4.0" - lodash: "npm:^4.17.21" - semver: "npm:^7.3.6" + debug: "npm:^4.4.0" + eslint-scope: "npm:^8.2.0 || ^9.0.0" + eslint-visitor-keys: "npm:^4.2.0 || ^5.0.0" + espree: "npm:^10.3.0 || ^11.0.0" + esquery: "npm:^1.6.0" + semver: "npm:^7.6.3" peerDependencies: - eslint: ">=6.0.0" - checksum: 10c0/128be5988de025b5abd676a91c3e92af68288a5da1c20b2ff848fe90e040c04b2222a03b5d8048cf4a5e0b667a8addfb6f6e6565860d4afb5190c4cc42d05578 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + checksum: 10c0/ded1c52dfa6e08c384da43b8369814bd105e2dc3bbb04e95faa8365af0fcba70293ff8b3749824ae3cc98988aeaaa261d5a205febff23e15667176392dcfee4a languageName: node linkType: hard -"vue-hot-reload-api@npm:^2.3.0": - version: 2.3.4 - resolution: "vue-hot-reload-api@npm:2.3.4" - checksum: 10c0/6501a93582c2bba0f17564d1c61b4301e844e14fbac1cb7c3d726c40961375aefa89f2cc4ee8289c3663e12d108c28a5872ba35cfa7f091d1bcaa39feff9ac60 - languageName: node - linkType: hard - -"vue-loader@npm:^17.0.0": - version: 17.4.2 - resolution: "vue-loader@npm:17.4.2" +"vue-tsc@npm:^3.2.4": + version: 3.2.4 + resolution: "vue-tsc@npm:3.2.4" dependencies: - chalk: "npm:^4.1.0" - hash-sum: "npm:^2.0.0" - watchpack: "npm:^2.4.0" + "@volar/typescript": "npm:2.4.27" + "@vue/language-core": "npm:3.2.4" peerDependencies: - webpack: ^4.1.0 || ^5.0.0-0 - peerDependenciesMeta: - "@vue/compiler-sfc": - optional: true - vue: - optional: true - checksum: 10c0/ffbe3e848e00c0e6afcc63a68eb5d279541ae5a3a41fee6a8400213b0327fa9e50153385a5e51bd39fdeda61a1bcec659ecae96061787e21a26261b746a7be48 + typescript: ">=5.0.0" + bin: + vue-tsc: bin/vue-tsc.js + checksum: 10c0/88651c16951373a172fe1467a91cdeef5c861f22b17b8f508f4ab0ebfc4fd6c16251451212936c706f857cffc50f3e399925ee796e954454715b94b944354428 languageName: node linkType: hard -"vue-style-loader@npm:^4.1.0, vue-style-loader@npm:^4.1.3": - version: 4.1.3 - resolution: "vue-style-loader@npm:4.1.3" - dependencies: - hash-sum: "npm:^1.0.2" - loader-utils: "npm:^1.0.2" - checksum: 10c0/871362711561c817c6b96650cf4bcf422c51d46808650da7e6ec39499d76445d08a1f9f1d1aa0f6cffb191cd128fbd77b6e233d9689a87c21d7e546689bed04c - languageName: node - linkType: hard - -"vue-template-es2015-compiler@npm:^1.9.0": - version: 1.9.1 - resolution: "vue-template-es2015-compiler@npm:1.9.1" - checksum: 10c0/21d27d1c6afe10a47f17793e18afb7f321888d3ca728bfdb2a79ff49789ed9b40e98abcb68b5499f3da1bbb76a0f188b94aeb5ab0e879f46d6399ac5d4ae38c8 - languageName: node - linkType: hard - -"vue@npm:^3.5.25": +"vue@npm:^3.5.28": version: 3.5.28 resolution: "vue@npm:3.5.28" dependencies: @@ -10462,302 +4854,41 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: "npm:^1.0.0" - checksum: 10c0/7795b61fb51ce222414891eef8e6cb13240b62f64351b4474f99c84de2bc37d37dd0efa193f37391e9737097b881a111d1e003e3d7a9583693f8d5a858b02627 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^3.0.0": - version: 3.0.0 - resolution: "w3c-xmlserializer@npm:3.0.0" - dependencies: - xml-name-validator: "npm:^4.0.0" - checksum: 10c0/8c455303ee2aec813f8688f4a1618b78d2fd90156a233c8ef60b853418a6b23f00fe86b680f7584f48d1c2348ee0677ad43be6fb6fcc032130cfda4de8c7188e - languageName: node - linkType: hard - -"watchpack@npm:^2.4.0, watchpack@npm:^2.5.1": - version: 2.5.1 - resolution: "watchpack@npm:2.5.1" - dependencies: - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.1.2" - checksum: 10c0/dffbb483d1f61be90dc570630a1eb308581e2227d507d783b1d94a57ac7b705ecd9a1a4b73d73c15eab596d39874e5276a3d9cb88bbb698bafc3f8d08c34cf17 - languageName: node - linkType: hard - -"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": - version: 1.7.3 - resolution: "wbuf@npm:1.7.3" - dependencies: - minimalistic-assert: "npm:^1.0.0" - checksum: 10c0/56edcc5ef2b3d30913ba8f1f5cccc364d180670b24d5f3f8849c1e6fb514e5c7e3a87548ae61227a82859eba6269c11393ae24ce12a2ea1ecb9b465718ddced7 - languageName: node - linkType: hard - -"wcwidth@npm:^1.0.1": - version: 1.0.1 - resolution: "wcwidth@npm:1.0.1" - dependencies: - defaults: "npm:^1.0.3" - checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 - languageName: node - linkType: hard - -"webpack-bundle-analyzer@npm:^4.2.0, webpack-bundle-analyzer@npm:^4.4.0": - version: 4.10.2 - resolution: "webpack-bundle-analyzer@npm:4.10.2" - dependencies: - "@discoveryjs/json-ext": "npm:0.5.7" - acorn: "npm:^8.0.4" - acorn-walk: "npm:^8.0.0" - commander: "npm:^7.2.0" - debounce: "npm:^1.2.1" - escape-string-regexp: "npm:^4.0.0" - gzip-size: "npm:^6.0.0" - html-escaper: "npm:^2.0.2" - opener: "npm:^1.5.2" - picocolors: "npm:^1.0.0" - sirv: "npm:^2.0.3" - ws: "npm:^7.3.1" - bin: - webpack-bundle-analyzer: lib/bin/analyzer.js - checksum: 10c0/00603040e244ead15b2d92981f0559fa14216381349412a30070a7358eb3994cd61a8221d34a3b3fb8202dc3d1c5ee1fbbe94c5c52da536e5b410aa1cf279a48 - languageName: node - linkType: hard - -"webpack-chain@npm:^6.5.1": - version: 6.5.1 - resolution: "webpack-chain@npm:6.5.1" - dependencies: - deepmerge: "npm:^1.5.2" - javascript-stringify: "npm:^2.0.1" - checksum: 10c0/a652bad8b8982c80461bc30f1822ac3a2ed7f1070a631d49751ee90c3d7e66bbc90da1e56f07df98aa57ffb47dab6bcd1b6c570d8ef0dca79a97a379e6e68146 - languageName: node - linkType: hard - -"webpack-dev-middleware@npm:^5.3.4": - version: 5.3.4 - resolution: "webpack-dev-middleware@npm:5.3.4" - dependencies: - colorette: "npm:^2.0.10" - memfs: "npm:^3.4.3" - mime-types: "npm:^2.1.31" - range-parser: "npm:^1.2.1" - schema-utils: "npm:^4.0.0" - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 10c0/257df7d6bc5494d1d3cb66bba70fbdf5a6e0423e39b6420f7631aeb52435afbfbff8410a62146dcdf3d2f945c62e03193aae2ac1194a2f7d5a2523b9d194e9e1 - languageName: node - linkType: hard - -"webpack-dev-server@npm:^4.7.3": - version: 4.15.2 - resolution: "webpack-dev-server@npm:4.15.2" - dependencies: - "@types/bonjour": "npm:^3.5.9" - "@types/connect-history-api-fallback": "npm:^1.3.5" - "@types/express": "npm:^4.17.13" - "@types/serve-index": "npm:^1.9.1" - "@types/serve-static": "npm:^1.13.10" - "@types/sockjs": "npm:^0.3.33" - "@types/ws": "npm:^8.5.5" - ansi-html-community: "npm:^0.0.8" - bonjour-service: "npm:^1.0.11" - chokidar: "npm:^3.5.3" - colorette: "npm:^2.0.10" - compression: "npm:^1.7.4" - connect-history-api-fallback: "npm:^2.0.0" - default-gateway: "npm:^6.0.3" - express: "npm:^4.17.3" - graceful-fs: "npm:^4.2.6" - html-entities: "npm:^2.3.2" - http-proxy-middleware: "npm:^2.0.3" - ipaddr.js: "npm:^2.0.1" - launch-editor: "npm:^2.6.0" - open: "npm:^8.0.9" - p-retry: "npm:^4.5.0" - rimraf: "npm:^3.0.2" - schema-utils: "npm:^4.0.0" - selfsigned: "npm:^2.1.1" - serve-index: "npm:^1.9.1" - sockjs: "npm:^0.3.24" - spdy: "npm:^4.0.2" - webpack-dev-middleware: "npm:^5.3.4" - ws: "npm:^8.13.0" - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - bin: - webpack-dev-server: bin/webpack-dev-server.js - checksum: 10c0/625bd5b79360afcf98782c8b1fd710b180bb0e96d96b989defff550c546890010ceea82ffbecb2a0a23f7f018bc72f2dee7b3070f7b448fb0110df6657fb2904 - languageName: node - linkType: hard - -"webpack-merge@npm:^5.7.3": - version: 5.10.0 - resolution: "webpack-merge@npm:5.10.0" - dependencies: - clone-deep: "npm:^4.0.1" - flat: "npm:^5.0.2" - wildcard: "npm:^2.0.0" - checksum: 10c0/b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b - languageName: node - linkType: hard - -"webpack-sources@npm:^3.3.3": - version: 3.3.3 - resolution: "webpack-sources@npm:3.3.3" - checksum: 10c0/ab732f6933b513ba4d505130418995ddef6df988421fccf3289e53583c6a39e205c4a0739cee98950964552d3006604912679c736031337fb4a9d78d8576ed40 - languageName: node - linkType: hard - -"webpack-virtual-modules@npm:^0.4.2": - version: 0.4.6 - resolution: "webpack-virtual-modules@npm:0.4.6" - checksum: 10c0/d3ecd680289e04f6fac70f09a682385b176303cfdc69ad08f11fce6fa031f9c054b3e728cb54967da48f051cd2ebe3f0d0d02bf78d3dfc8a3a9be91ea7544bbb - languageName: node - linkType: hard - -"webpack@npm:^5.54.0": - version: 5.105.2 - resolution: "webpack@npm:5.105.2" - dependencies: - "@types/eslint-scope": "npm:^3.7.7" - "@types/estree": "npm:^1.0.8" - "@types/json-schema": "npm:^7.0.15" - "@webassemblyjs/ast": "npm:^1.14.1" - "@webassemblyjs/wasm-edit": "npm:^1.14.1" - "@webassemblyjs/wasm-parser": "npm:^1.14.1" - acorn: "npm:^8.15.0" - acorn-import-phases: "npm:^1.0.3" - browserslist: "npm:^4.28.1" - chrome-trace-event: "npm:^1.0.2" - enhanced-resolve: "npm:^5.19.0" - es-module-lexer: "npm:^2.0.0" - eslint-scope: "npm:5.1.1" - events: "npm:^3.2.0" - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.2.11" - json-parse-even-better-errors: "npm:^2.3.1" - loader-runner: "npm:^4.3.1" - mime-types: "npm:^2.1.27" - neo-async: "npm:^2.6.2" - schema-utils: "npm:^4.3.3" - tapable: "npm:^2.3.0" - terser-webpack-plugin: "npm:^5.3.16" - watchpack: "npm:^2.5.1" - webpack-sources: "npm:^3.3.3" - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 10c0/565df8072c00d72e0a22e136971862b7eac7beb8b8d39a2ae4ab00838941ea58acc5b49dd7ea268e3d839810756cb86ba5c272b3a25904f6db7807cfa8ed0b29 - languageName: node - linkType: hard - -"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": - version: 0.7.4 - resolution: "websocket-driver@npm:0.7.4" - dependencies: - http-parser-js: "npm:>=0.5.1" - safe-buffer: "npm:>=5.1.0" - websocket-extensions: "npm:>=0.1.1" - checksum: 10c0/5f09547912b27bdc57bac17b7b6527d8993aa4ac8a2d10588bb74aebaf785fdcf64fea034aae0c359b7adff2044dd66f3d03866e4685571f81b13e548f9021f1 - languageName: node - linkType: hard - -"websocket-extensions@npm:>=0.1.1": - version: 0.1.4 - resolution: "websocket-extensions@npm:0.1.4" - checksum: 10c0/bbc8c233388a0eb8a40786ee2e30d35935cacbfe26ab188b3e020987e85d519c2009fe07cfc37b7f718b85afdba7e54654c9153e6697301f72561bfe429177e0 - languageName: node - linkType: hard - -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" - dependencies: - iconv-lite: "npm:0.6.3" - checksum: 10c0/91b90a49f312dc751496fd23a7e68981e62f33afe938b97281ad766235c4872fc4e66319f925c5e9001502b3040dd25a33b02a9c693b73a4cbbfdc4ad10c3e3e - languageName: node - linkType: hard - -"whatwg-fetch@npm:^3.6.2": - version: 3.6.20 - resolution: "whatwg-fetch@npm:3.6.20" - checksum: 10c0/fa972dd14091321d38f36a4d062298df58c2248393ef9e8b154493c347c62e2756e25be29c16277396046d6eaa4b11bd174f34e6403fff6aaca9fb30fa1ff46d - languageName: node - linkType: hard - -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 10c0/323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f - languageName: node - linkType: hard - -"whatwg-url@npm:^10.0.0": - version: 10.0.0 - resolution: "whatwg-url@npm:10.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/57f295913cbad3b8f7843168f30dde5ff0a875cbcf80f9cceb96276e296ba925f0455b2bfd55b6829eb3d770c6ebcac48abcc182826decb748c139dbe85d92e8 - languageName: node - linkType: hard - -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/f7ec264976d7c725e0696fcaf9ebe056e14422eacbf92fdbb4462034609cba7d0c85ffa1aab05e9309d42969bcf04632ba5ed3f3882c516d7b093053315bf4c1 - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": +"w3c-xmlserializer@npm:^5.0.0": version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" + resolution: "w3c-xmlserializer@npm:5.0.0" dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + xml-name-validator: "npm:^5.0.0" + checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 10c0/087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e +"webidl-conversions@npm:^8.0.1": + version: 8.0.1 + resolution: "webidl-conversions@npm:8.0.1" + checksum: 10c0/3f6f327ca5fa0c065ed8ed0ef3b72f33623376e68f958e9b7bd0df49fdb0b908139ac2338d19fb45bd0e05595bda96cb6d1622222a8b413daa38a17aacc4dd46 languageName: node linkType: hard -"which@npm:2.0.2, which@npm:^2.0.1": +"whatwg-mimetype@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-mimetype@npm:5.0.0" + checksum: 10c0/eead164fe73a00dd82f817af6fc0bd22e9c273e1d55bf4bc6bdf2da7ad8127fca82ef00ea6a37892f5f5641f8e34128e09508f92126086baba126b9e0d57feb4 + languageName: node + linkType: hard + +"whatwg-url@npm:^16.0.0": + version: 16.0.1 + resolution: "whatwg-url@npm:16.0.1" + dependencies: + "@exodus/bytes": "npm:^1.11.0" + tr46: "npm:^6.0.0" + webidl-conversions: "npm:^8.0.1" + checksum: 10c0/e75565566abf3a2cdbd9f06c965dbcccee6ec4e9f0d3728ad5e08ceb9944279848bcaa211d35a29cb6d2df1e467dd05cfb59fbddf8a0adcd7d0bce9ffb703fd2 + languageName: node + linkType: hard + +"which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -10768,14 +4899,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.9": - version: 1.3.1 - resolution: "which@npm:1.3.1" +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" dependencies: - isexe: "npm:^2.0.0" + isexe: "npm:^3.1.1" bin: - which: ./bin/which - checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b languageName: node linkType: hard @@ -10790,19 +4921,15 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:1.1.3": - version: 1.1.3 - resolution: "wide-align@npm:1.1.3" +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" dependencies: - string-width: "npm:^1.0.2 || 2" - checksum: 10c0/9bf69ad55f7bcccd5a7af2ebbb8115aebf1b17e6d4f0a2a40a84f5676e099153b9adeab331e306661bf2a8419361bacba83057a62163947507473ce7ac4116b7 - languageName: node - linkType: hard - -"wildcard@npm:^2.0.0": - version: 2.0.1 - resolution: "wildcard@npm:2.0.1" - checksum: 10c0/08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7 + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 languageName: node linkType: hard @@ -10813,14 +4940,7 @@ __metadata: languageName: node linkType: hard -"workerpool@npm:6.1.0": - version: 6.1.0 - resolution: "workerpool@npm:6.1.0" - checksum: 10c0/b3bf34014f4323e8fbe0d2a9aaabb047c444de757c781668480098a1e89efb1a1e9624df0046b5f18ef0db3d02d1f0341a462655c5b28dafc0e826c5d6a9d356 - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -10831,27 +4951,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^3.0.1": - version: 3.0.1 - resolution: "wrap-ansi@npm:3.0.1" - dependencies: - string-width: "npm:^2.1.1" - strip-ansi: "npm:^4.0.0" - checksum: 10c0/ad6fed8f242c26755badaf452da154122d0d862f8b7aab56e758466857f230efafdc5fbffca026650b947ac3fc0eb563df5c05b9e2190a52a4a68f4eef3d4555 - languageName: node - linkType: hard - -"wrap-ansi@npm:^5.1.0": - version: 5.1.0 - resolution: "wrap-ansi@npm:5.1.0" - dependencies: - ansi-styles: "npm:^3.2.0" - string-width: "npm:^3.0.0" - strip-ansi: "npm:^5.0.0" - checksum: 10c0/fcd0b39b7453df512f2fe8c714a1c1b147fe3e6a4b5a2e4de6cadc3af47212f335eceaffe588e98322d6345e72672137e2c0b834d8a662e73a32296c1c8216bb - languageName: node - linkType: hard - "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -10863,40 +4962,12 @@ __metadata: languageName: node linkType: hard -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"ws@npm:^7.3.1": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d - languageName: node - linkType: hard - -"ws@npm:^8.13.0, ws@npm:^8.2.3": - version: 8.19.0 - resolution: "ws@npm:8.19.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 +"wsl-utils@npm:^0.1.0": + version: 0.1.0 + resolution: "wsl-utils@npm:0.1.0" + dependencies: + is-wsl: "npm:^3.1.0" + checksum: 10c0/44318f3585eb97be994fc21a20ddab2649feaf1fbe893f1f866d936eea3d5f8c743bec6dc02e49fbdd3c0e69e9b36f449d90a0b165a4f47dd089747af4cf2377 languageName: node linkType: hard @@ -10907,6 +4978,13 @@ __metadata: languageName: node linkType: hard +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 + languageName: node + linkType: hard + "xmlchars@npm:^2.2.0": version: 2.2.0 resolution: "xmlchars@npm:2.2.0" @@ -10914,27 +4992,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 10c0/308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^2.1.2": - version: 2.1.2 - resolution: "yallist@npm:2.1.2" - checksum: 10c0/0b9e25aa00adf19e01d2bcd4b208aee2b0db643d9927131797b7af5ff69480fc80f1c3db738cbf3946f0bddf39d8f2d0a5709c644fd42d4aa3a4e6e786c087b5 - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -10956,98 +5013,9 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f - languageName: node - linkType: hard - -"yargs-parser@npm:20.2.4": - version: 20.2.4 - resolution: "yargs-parser@npm:20.2.4" - checksum: 10c0/08dc341f0b9f940c2fffc1d1decf3be00e28cabd2b578a694901eccc7dcd10577f10c6aa1b040fdd9a68b2042515a60f18476543bccacf9f3ce2c8534cd87435 - languageName: node - linkType: hard - -"yargs-parser@npm:^13.1.1": - version: 13.1.2 - resolution: "yargs-parser@npm:13.1.2" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10c0/aeded49d2285c5e284e48b7c69eab4a6cf1c94decfdba073125cc4054ff49da7128a3c7c840edb6b497a075e455be304e89ba4b9228be35f1ed22f4a7bba62cc - languageName: node - linkType: hard - -"yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - -"yargs-unparser@npm:2.0.0": - version: 2.0.0 - resolution: "yargs-unparser@npm:2.0.0" - dependencies: - camelcase: "npm:^6.0.0" - decamelize: "npm:^4.0.0" - flat: "npm:^5.0.2" - is-plain-obj: "npm:^2.1.0" - checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 - languageName: node - linkType: hard - -"yargs@npm:14.0.0": - version: 14.0.0 - resolution: "yargs@npm:14.0.0" - dependencies: - cliui: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^3.0.0" - get-caller-file: "npm:^2.0.1" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" - string-width: "npm:^3.0.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^13.1.1" - checksum: 10c0/3611ee0459cf0919519a158d0726498b4d73aec82f135c42594be59cffabd6ad20b754161544469044be9c858d911a3cb8738cd992222a2c110361e1f6517616 - languageName: node - linkType: hard - -"yargs@npm:16.2.0, yargs@npm:^16.0.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f languageName: node linkType: hard - -"yorkie@npm:^2.0.0": - version: 2.0.0 - resolution: "yorkie@npm:2.0.0" - dependencies: - execa: "npm:^0.8.0" - is-ci: "npm:^1.0.10" - normalize-path: "npm:^1.0.0" - strip-indent: "npm:^2.0.0" - checksum: 10c0/fe9962cf122c00a3633a1ed5286de845234bab9ada64426bb1c0ec4047c9316eba7fbaed7c5dad34702eaf3fd761ba62c2a9048da29392096d815f8797222164 - languageName: node - linkType: hard From a1c4e408a9801bfb13b3f4f5753f62072448e06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Sat, 21 Feb 2026 19:10:56 +0000 Subject: [PATCH 11/23] =?UTF-8?q?=F0=9F=9A=A7=20ui:=20re-scaffolding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - move code into newly built project --- ui/.prettierrc.json | 7 +- ui/.vscode/settings.json | 6 +- ui/_legacy/.eslintrc.js | 38 - ui/_legacy/package.json | 32 - ui/_legacy/public/favicon.ico | Bin 38672 -> 0 bytes ui/_legacy/src/App.vue | 67 -- ui/_legacy/src/assets/logo.png | 3 - ui/_legacy/src/d.ts/shims-vue.d.ts | 6 - ui/_legacy/src/main.ts | 27 - ui/package.json | 10 + ui/public/favicon.ico | Bin 4286 -> 38672 bytes ui/src/App.vue | 65 +- .../unit => src/__tests__}/rectangle.spec.ts | 36 +- .../unit => src/__tests__}/vector2d.spec.ts | 26 +- ui/{_legacy => }/src/bulma-scheme.scss | 0 .../src/components/AdminButton.vue | 0 ui/{_legacy => }/src/components/Calendar.vue | 0 ui/{_legacy => }/src/components/CountDown.vue | 0 .../src/components/LoginModal.vue | 0 .../src/components/MultiModal.vue | 0 .../src/components/TouchButton.vue | 0 ui/{_legacy => }/src/components/UserView.vue | 0 .../src/components/admin/AdminView.vue | 0 .../components/admin/CalendarAssistant.vue | 0 .../src/components/admin/ConfigView.vue | 0 .../src/components/admin/DoorMapEditor.vue | 0 .../src/components/bulma/Breadcrumbs.vue | 0 .../src/components/bulma/Button.vue | 0 .../src/components/bulma/Drawer.vue | 0 .../src/components/bulma/Secret.vue | 0 .../src/components/bulma/Toast.vue | 0 .../src/components/calendar/CalendarDoor.vue | 0 .../src/components/calendar/SVGRect.vue | 0 .../src/components/calendar/ThouCanvas.vue | 0 .../src/components/editor/DoorCanvas.vue | 0 .../src/components/editor/DoorChooser.vue | 0 .../src/components/editor/DoorPlacer.vue | 0 .../src/components/editor/PreviewDoor.vue | 0 ui/{_legacy => }/src/lib/api.ts | 0 ui/{_legacy => }/src/lib/api_error.ts | 0 ui/{_legacy => }/src/lib/fontawesome.ts | 0 ui/{_legacy => }/src/lib/helpers.ts | 0 ui/{_legacy => }/src/lib/model.ts | 0 ui/{_legacy => }/src/lib/rects/door.ts | 0 ui/{_legacy => }/src/lib/rects/rectangle.ts | 0 ui/{_legacy => }/src/lib/rects/vector2d.ts | 0 ui/{_legacy => }/src/lib/store.ts | 0 ui/{_legacy => }/src/main.scss | 0 ui/src/main.ts | 30 +- ui/yarn.lock | 780 +++++++++++++++++- 50 files changed, 907 insertions(+), 226 deletions(-) delete mode 100644 ui/_legacy/.eslintrc.js delete mode 100644 ui/_legacy/public/favicon.ico delete mode 100644 ui/_legacy/src/App.vue delete mode 100644 ui/_legacy/src/assets/logo.png delete mode 100644 ui/_legacy/src/d.ts/shims-vue.d.ts delete mode 100644 ui/_legacy/src/main.ts rename ui/{_legacy/tests/unit => src/__tests__}/rectangle.spec.ts (68%) rename ui/{_legacy/tests/unit => src/__tests__}/vector2d.spec.ts (56%) rename ui/{_legacy => }/src/bulma-scheme.scss (100%) rename ui/{_legacy => }/src/components/AdminButton.vue (100%) rename ui/{_legacy => }/src/components/Calendar.vue (100%) rename ui/{_legacy => }/src/components/CountDown.vue (100%) rename ui/{_legacy => }/src/components/LoginModal.vue (100%) rename ui/{_legacy => }/src/components/MultiModal.vue (100%) rename ui/{_legacy => }/src/components/TouchButton.vue (100%) rename ui/{_legacy => }/src/components/UserView.vue (100%) rename ui/{_legacy => }/src/components/admin/AdminView.vue (100%) rename ui/{_legacy => }/src/components/admin/CalendarAssistant.vue (100%) rename ui/{_legacy => }/src/components/admin/ConfigView.vue (100%) rename ui/{_legacy => }/src/components/admin/DoorMapEditor.vue (100%) rename ui/{_legacy => }/src/components/bulma/Breadcrumbs.vue (100%) rename ui/{_legacy => }/src/components/bulma/Button.vue (100%) rename ui/{_legacy => }/src/components/bulma/Drawer.vue (100%) rename ui/{_legacy => }/src/components/bulma/Secret.vue (100%) rename ui/{_legacy => }/src/components/bulma/Toast.vue (100%) rename ui/{_legacy => }/src/components/calendar/CalendarDoor.vue (100%) rename ui/{_legacy => }/src/components/calendar/SVGRect.vue (100%) rename ui/{_legacy => }/src/components/calendar/ThouCanvas.vue (100%) rename ui/{_legacy => }/src/components/editor/DoorCanvas.vue (100%) rename ui/{_legacy => }/src/components/editor/DoorChooser.vue (100%) rename ui/{_legacy => }/src/components/editor/DoorPlacer.vue (100%) rename ui/{_legacy => }/src/components/editor/PreviewDoor.vue (100%) rename ui/{_legacy => }/src/lib/api.ts (100%) rename ui/{_legacy => }/src/lib/api_error.ts (100%) rename ui/{_legacy => }/src/lib/fontawesome.ts (100%) rename ui/{_legacy => }/src/lib/helpers.ts (100%) rename ui/{_legacy => }/src/lib/model.ts (100%) rename ui/{_legacy => }/src/lib/rects/door.ts (100%) rename ui/{_legacy => }/src/lib/rects/rectangle.ts (100%) rename ui/{_legacy => }/src/lib/rects/vector2d.ts (100%) rename ui/{_legacy => }/src/lib/store.ts (100%) rename ui/{_legacy => }/src/main.scss (100%) diff --git a/ui/.prettierrc.json b/ui/.prettierrc.json index 29a2402..8733bd0 100644 --- a/ui/.prettierrc.json +++ b/ui/.prettierrc.json @@ -1,6 +1,7 @@ { "$schema": "https://json.schemastore.org/prettierrc", - "semi": false, - "singleQuote": true, - "printWidth": 100 + "semi": true, + "singleQuote": false, + "printWidth": 100, + "trailingComma": "all" } diff --git a/ui/.vscode/settings.json b/ui/.vscode/settings.json index 66682b9..2460818 100644 --- a/ui/.vscode/settings.json +++ b/ui/.vscode/settings.json @@ -4,7 +4,7 @@ }, "[jsonc]": { - "editor.formatOnSave": false, + "editor.formatOnSave": false }, "editor.codeActionsOnSave": { @@ -25,7 +25,5 @@ "sass.disableAutoIndent": true, "sass.format.convert": false, - "sass.format.deleteWhitespace": true, - - "prettier.trailingComma": "all" + "sass.format.deleteWhitespace": true } diff --git a/ui/_legacy/.eslintrc.js b/ui/_legacy/.eslintrc.js deleted file mode 100644 index 70723bd..0000000 --- a/ui/_legacy/.eslintrc.js +++ /dev/null @@ -1,38 +0,0 @@ -module.exports = { - root: true, - - env: { - node: true, - }, - - extends: [ - "plugin:vue/vue3-essential", - "eslint:recommended", - "@vue/typescript/recommended", - ], - - parserOptions: { - ecmaVersion: 2020, - }, - - rules: { - "no-empty": "off", - "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - }, - - overrides: [ - { - files: [ - "**/__tests__/*.{j,t}s?(x)", - "**/tests/unit/**/*.spec.{j,t}s?(x)", - ], - env: { - mocha: true, - }, - rules: { - "@typescript-eslint/no-unused-expressions": "off", - } - }, - ], -}; diff --git a/ui/_legacy/package.json b/ui/_legacy/package.json index 2230e23..5f59306 100644 --- a/ui/_legacy/package.json +++ b/ui/_legacy/package.json @@ -1,46 +1,14 @@ { - "name": "advent22_ui", - "version": "0.1.0", - "private": true, - "packageManager": "yarn@4.12.0", - "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "test:unit": "vue-cli-service test:unit", - "test:unit-watch": "vue-cli-service test:unit --watch", - "lint": "vue-cli-service lint", - "ui": "vue ui --host 0.0.0.0 --headless" - }, "devDependencies": { - "@fortawesome/fontawesome-svg-core": "^7.2.0", - "@fortawesome/free-solid-svg-icons": "^7.2.0", - "@fortawesome/vue-fontawesome": "^3.1.3", - "@types/chai": "^5.2.3", - "@types/luxon": "^3.7.1", - "@types/mocha": "^10.0.10", "@typescript-eslint/eslint-plugin": "^8.55.0", "@typescript-eslint/parser": "^8.55.0", "@vue/cli-plugin-babel": "^5.0.9", "@vue/cli-plugin-eslint": "^5.0.9", "@vue/cli-plugin-typescript": "^5.0.9", - "@vue/cli-plugin-unit-mocha": "^5.0.9", "@vue/cli-service": "^5.0.9", - "@vue/eslint-config-typescript": "^13.0.0", - "@vue/test-utils": "^2.4.6", - "@vue/tsconfig": "^0.8.1", - "animate.css": "^4.1.1", - "axios": "^1.13.5", - "bulma": "^1.0.4", - "bulma-toast": "2.4.3", - "chai": "^6.2.2", "core-js": "^3.48.0", - "eslint": "^8.57.1", - "eslint-plugin-vue": "^9.33.0", - "luxon": "^3.7.2", - "pinia": "^3.0.4", "sass": "~1.94.3", "sass-loader": "^16.0.0", - "typescript": "^5.9.3", "vue": "^3.5.25", "vue-cli-plugin-webpack-bundle-analyzer": "^4.0.0" } diff --git a/ui/_legacy/public/favicon.ico b/ui/_legacy/public/favicon.ico deleted file mode 100644 index c7ab788539357e0502d67114d87c0133af4b858f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38672 zcmafbcRZE<`~PhuM7FZY$;e1{_U70lJDX(hos|*F=nxT6A!KE5qLL70XYYiNo%OwZ zKHoookKgw^JbF9FS@(Tkuj_iQ*Be2wkc$W@DFQcU1Pcd2eBrmNSO0ro`vQXa!DGzK z|9k%;f^^~|2p`{n@23zU$Q5|4jLd)Ue<4GVck~Dn7WUu!7jGbl7w`G+=Qm~~RSH1@ zjSwVOTT_{skd_c0Bu1+!=)!-`zX2&e9{kI+eP)Fq*k8~JvUmJ5UGyYXY|JP#oA3)S z=vcpd$INT`R)BexWYh>1k6ZP=68-kQiWNn94=?pKBLzz7*oUNsf(LO%lInzXZ$4hZ zZ#sTn5X-VO8D#(1>`mSDokty6UZQ^Y=noz@H%q?lTTVvG>*@}AS9b#^UH7ky*XR`9 zspzuhuYdpk>EUsWJRZ_IEuEs8xA*vy^_aM4@Cf*O_7mmf7V@S-10Z!qy`Y{#PVQe0SYO-rZ~6BEet=Zj@22><>h=og~Y`EHMh35 za*@ZXA|xOn5I!(4knNUj zz(IL6Ua7vKLaw`lBM*fhUiI1A+w%+z%xG+EY-(<%lEZ(QoqhJpQ!EQbfN^h}e4dr1 z=;tSLm-k9;3UjR7tFYNwt4KK(e+kA1kp|qcXoF_EN`<=KmM?C%(^=> z!+iPj<(Vyi=EcTP?(T*GUS8f1{dfAWQho?($TypJe*aGP_fP^p>6Wl?^wXzgxdRRy zc{vWWDY_=rCR7cj*$Coow(-S3G_-Gh-Gw&#gKpu+jt=>R#6&N9`$so#-ef2g=f`;C zVuy#{<=t1nba!{J_x5TC(-Ma$@LjbPq;*NQFW8uzP_LDRiZI+ zs+`W_e~iZXh^8hdhYSo2r%R6CKhMaZZD?tk3ibEDzeVwN(UU8=Yc2G0^8DGHgtYXT zi?wz8_`tyS1?0vv)xCuURDE^zu2yC!j?xR;%P}dM)lk|9T2WJ>RL=6@|6>81FS)D# zSpYMBk_QNK;mUs(K)iw4eLYi3vt_mmoa+PEo~5SNXq&U;9rVa3h*NOJ7;O$1Ci&`q z_@%)9dRN}zeH<&x8+H2oWDg3zt;yhoWU%$e6=ulEACgFi^mCJWSxH%$){VU4S2ZmyEz{#af6}V_?M}PNML|LF7)ix~ zT9F9;H#j^#&Lv_K+lzy8k;5m*x##cipY!hBYTwe*lJxJ@)zHfE^?pI(C^;-xNpy*w z(snJr4JP+S_Vbr7hc8~dsP)Wd z4L@XKs`A?ZeUjMxyKLN7}1& zbaXtFgx4)GcYcrD3q3xNeLK+g&alknvMQNT0$~((=jYEivizIPUyx$s;NY+itO%m1 z)d#rqWK_|Z%oi_ggkLPeB^wzTsUM4TB3$v#I5|0yl*5Nt(5Vn2LV9|79+KO zx+%K4s$JR~AFtdr-#plw&&MM;zlu+p3*Lcuj6kR|sJW@5DWR{J1IP zL=3C^-Me>~lQ|`#jvR-KXx%t@dHE}9^y(TK7rf03KUnss=<+9b_45&#OslD>J?We$ zijo@?jE7s#y~>Hv(Sn(F!pPjf!@qV2vgYIC!$V9=e6+f{8r3=f{acp!BLVwwZ7be$ zA0jTsD7_I4+~Hu942)b_y4Taw!%Y2{h5quJh6dVFUvvl9H2quzG^4tE&+i&b&JJS!^hS{;{!G!!q+%@TtlP^jPRS`uZOP zHIT5Z!))w1=PtUr&_!`@5+W!hB&$lmg6k|yhs50Fy=XQ?Q9)tGEA6%3?VTL$8*x(~-9g>K3ezRb z$hUg%fIixanf|goemI<0F2mBCH*av#Zdyb;WE||R(?ycz{ffH^%{-ewy{7^Xahq;o zxX3K1VH41jrOEEQF%|zp#O)ew{M`0(-{|OQ+m9dQ6Rsi;q?rC5Hs#q>+CsGh&d7>qy{NQwA3QQ3=$9I|{!vr4keZr$ zbZo54lJASV=v@{96igg=+UV5OH)mm|tT%FESxaqgZC#krXKJfi;(kidXVJ7Gt`kXb zwX*N=r&oR9Qnc*q`1en&FI&2=Gm%LR^BI1t{kpsKa>ln&d1-n1_U+r~Q*vpCtI@iu z?~gf!Sm%dlrY3zaC0Fk|I5?2Xxd#Ls zhFX}OUP!{mDT^Tf^x^;Lr_Ato=Ku6lufV_^1iARX{j}Q9LgmgR^;wn|{XKPZ?{;(k zm;w$d+4qzcX$>UdW*a3jYxNb@J3RQgUoPUPRXLT#%W}&8WIE~*XYop=^rlzTU}_21 zCC{q3XfIdNmF~57I{E0^Z9n?A$8+<%qC}N_Vy)GCCaukTCT)1ShK6r3gOrMBb6>14 z7t8w|)TBEhh@y^+F0=zZk#@t7y^6|8J@MdwReWcEii(Q<1$lUEJv}}?Zg#B=QuFoQ zV`IT>d2mSnSmD~^?d|PQb#?WfNm#to$W-2kgMrsccaXMOcS>PlVJSkqhs4+J4oeQo z*C`k|d^S!s3?4dN1?9i|E$a+%cUy>bjFx;`UG3BJQPn7#=RJ{zh6dSr@w4XbHyUO8Y()49q8bCMJutXm8D{(I4QUDU}+60oLp6 z?8~)VTOL{H!&59$D7|jL5qtal+aF^o)_(mmqR8^L-m4I*gyzd-Z|nA`GzX z=W+iMpGT3ulT25~vNrQJZ1|kPmCUnfrPf3tL zK@9<}^sH-~*C`dl^Bt0OVO?Jn5xFupHl|H^frf_0|KAQLB7={GNzyG1BI@YRP2s+I z^Xx6W!7GOh?YtCGpWlPA?d@{PT3U&lhY#XNvEyFLjQBh_`A1b$WE~Jd1NbGTbKYH) z9^Q{J@gi^9rD!W?`t5u~_cQPmb#jV+H?Xs^%IoOsQ&Lll-QeO%RO5V#g*>{@f?Q^lh>>9i)SKusUh}H4 zkxo~&ZqijWOA|V9`=Y1SK)%M8o}S2jhcDm08T|eGSKGi~uePS9CKM}db+J25;9deQ z+Pu*>J})m1nt_$Q{o5>iq^GynPJ;1_bM+z~-ofUqe8|6@SeUQ4ZB0!Q0In+EzEw`j z?OT3;=JUcsU2XNQSM1hWh!7emZ`fYxGo!^G}Jv%#({XdgCM<-5S*dlXESAAI; z0(Wod>t9DM6BEBLElq%{MD(abI2+ARiqAcJ6dxCyoSaNRp`O7Wj-nyL8ygz>bYJkR zyJ(LQ_r2^G+xI&FHVDElKZ-y`CnkE9`?AZv5BQj278Vw4vD;dncnghL2cgjf_wL>6 zpPY=h=}ce|5TIx%?U;2h{$8uu)83Aazy+e04w+yp+?{IIcy=tqTy7iqyylPcHL{xO zY7bvuVHaHP=KA{EFK>HAlQ2q@zp*}HQ?xQ8%#_M@`~09jL7%z}+N-gF!RL`Oi?Ul8 z&NJh+Zaaq$3P}t7om2|2WBU5~9w9P1l=;!hI+QA$9;e3vM3*nWE-E5~4&wW(mx~%T z>sikn*#<~R)>Gq_T01N9TzLKlLPSE+iqUPiE#q0DZJ*^k4v~i0DD~hVEHCeRK@p*% zPXG7s;V{tN6a89wg6;tQf#-xzFcYzQ#?=@$)3S)bxp zR#f1J0SaS7E4|Ta@!xuAXJ_a1TR~0j(n*LkafgbZ2?~8%SUA;PEKB^3e$Y2qzvWKYXkH$kt<#eu=ll09 zxv6bL>6iNZwQm>?Sah}}(vh#uV=&~<1}ndA7kPpGcz+^JpdqLc+8Ka@2k47_jqLiwLAeZYvbov zTjl>=w$|p+-4P#}c%}I8a4cw=P*BKzcO*qy z71OCtH3cMZ`b)G5K1X@Af7O}oeIdehA>zYOw$Ilt>-c*JAy(T*Rq>3IAMSy(?NK&x zEtPAa-S(~fx^?yROyDB#0k*^|U0GgQlAE8O4>m8Wy%_2tTD^EC`SR>ao#gX1J6>Cj z|6`t>Q+~ex%u_?`!$$~0Wcpuz^2x--nR1aj4THoqJsIY9gjE$7P6Z^!c7Al}W4hPdP_v(j`Zz|whK;P|++sh0yf0%;+nWM+H%ed27FOmTs$Ix5K|N&BrNO*9nfS`(uN2P5Fi;AQiPWDi8n#mZay=TLL)js18htq z)ebRQ+YKZMJw05uflJ3m@+>#MsEGHx{{cTh9scdUSy@=Bo?gY90CbPR@{Q><4OKPxxz_`m~O zMVIn|xbNEYTOU<3-JdJg*Vnsz#+@w_XYWxS@nMwkPXeS|{>M;X-}oE-*GKtea!IzX zuCC%?ikV%7!BW}R(ByD9Pq#dMcy9`Ho^EwANqGMvMgKiM+=h;~tjrXwAaMLmAF*ko z#mD^x=ixe9PWyf>b8-q&2UEM#!CBoa;Hd-S(9n>C&u_{o(g&L#U``=*F5|)p@$trV zKkr()lR=HnBX{u(12B77%(rfB#mq{)vYB$>V>me3pSIW1A{iea=R}jc2-AW3g0(rH zC@oCT>k~MC>sf4Utn$O#IAPABf6mD!4$6lmvedyuMI&9axAV%Po6wE!=`YE?sctQ zMN&V1`t<2($~9Kj#pB}#YZLVp#>U1mj~{nnuB-8#i<_H)&F2sasMw7gH_oSj&_?r> zn=J>|)_lcZ2JabPO}07tw=3%RhhFM%fdZ(d)mVic2M0%3$86if3zzspPah~KDq4Mb zc)_U2|JLi*uSuz>qOPl@0$5jXBt_-b)zyU}Mvk@PLDxIfPmN7Yk0w9I)A?u&*uHSF z?igrE|GV2<;5f?zXt?Ff7{dc>soqxI!w&ye24Ne=YAgsC0f^XU`>43 z;fU)*UAPQ$SWFB)41XI-O9VO$=rDlFJ3x~lrJ;%a@a05OR{daEV)f6upZ~bl3S7JP5HZrzllS!e zYPoPG@TVQB^mu1Li(TK7lan)b%;jfQ?1c*#ii?WoK;T0c1qTP;t-Pm^pO^me z%F4<_r9BD2By{wYUGLEP>gqfWiG&RDBqk=O_uiY=9L_E-cDlOc7QwsvYT5%&BMh{! zcU4tYc_QUla2@M9lk8LztSZL? zr969vg$Qay!TL`y1u=!AHJM@&Y2? zY1+m`aR>+q&V-$LZSiR7UukBEeVUlKD
ZRz#r&mY%6KdT=D_Xkx##;6ZZQo1YF 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 -
-
-

{{ store.site_config.title }}

-

{{ store.site_config.subtitle }}

-
-
- -
- -
- Hintergrundbild konnte nicht geladen werden -
-
- - -
-
- -
- -
-
-
-

-

-
-
- -
-
- -
-
-
-
- - - - - diff --git a/ui/_legacy/src/assets/logo.png b/ui/_legacy/src/assets/logo.png deleted file mode 100644 index ad57219..0000000 --- a/ui/_legacy/src/assets/logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03d6d6da2545d3b3402855b8e721b779abaa87d113e69d9329ea6ea6325a83ce -size 6849 diff --git a/ui/_legacy/src/d.ts/shims-vue.d.ts b/ui/_legacy/src/d.ts/shims-vue.d.ts deleted file mode 100644 index 55e0ca6..0000000 --- a/ui/_legacy/src/d.ts/shims-vue.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable */ -declare module "*.vue" { - import type { DefineComponent } from "vue"; - const component: DefineComponent<{}, {}, any>; - export default component; -} diff --git a/ui/_legacy/src/main.ts b/ui/_legacy/src/main.ts deleted file mode 100644 index bc4d049..0000000 --- a/ui/_legacy/src/main.ts +++ /dev/null @@ -1,27 +0,0 @@ -import FontAwesomeIcon from "@/lib/fontawesome"; -import { advent22Store } from "@/lib/store"; -import { setDefaults as toast_set_defaults } from "bulma-toast"; -import { createPinia } from "pinia"; -import { createApp } from "vue"; -import App from "./App.vue"; - -import "@/main.scss"; - -const app = createApp(App); - -app.use(createPinia()); -app.component("FontAwesomeIcon", FontAwesomeIcon); - -advent22Store().init(); - -app.mount("#app"); - -toast_set_defaults({ - duration: 10e3, - pauseOnHover: true, - dismissible: true, - closeOnClick: false, - type: "is-white", - position: "top-center", - animate: { in: "backInDown", out: "backOutUp" }, -}); diff --git a/ui/package.json b/ui/package.json index 75d59cc..7ed0287 100644 --- a/ui/package.json +++ b/ui/package.json @@ -21,23 +21,33 @@ "vue": "^3.5.28" }, "devDependencies": { + "@fortawesome/fontawesome-svg-core": "^7.2.0", + "@fortawesome/free-solid-svg-icons": "^7.2.0", + "@fortawesome/vue-fontawesome": "^3.1.3", "@tsconfig/node24": "^24.0.4", "@types/jsdom": "^27.0.0", + "@types/luxon": "^3", "@types/node": "^25.3.0", "@vitejs/plugin-vue": "^6.0.4", "@vitest/eslint-plugin": "^1.6.9", "@vue/eslint-config-typescript": "^14.6.0", "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.8.1", + "animate.css": "^4.1.1", + "axios": "^1.13.5", + "bulma": "^1.0.4", + "bulma-toast": "2.4.3", "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-oxlint": "~1.46.0", "eslint-plugin-vue": "~10.8.0", "jiti": "^2.6.1", "jsdom": "^28.1.0", + "luxon": "^3.7.2", "npm-run-all2": "^8.0.4", "oxlint": "~1.47.0", "prettier": "3.8.1", + "sass-embedded": "^1.97.3", "typescript": "~5.9.3", "vite": "^7.3.1", "vite-plugin-vue-devtools": "^8.0.6", diff --git a/ui/public/favicon.ico b/ui/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..c7ab788539357e0502d67114d87c0133af4b858f 100644 GIT binary patch literal 38672 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
ZRz#r&mY%6KdT=D_Xkx##;6ZZQo1YF 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 diff --git a/ui/src/App.vue b/ui/src/App.vue index abfd315..50bc112 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -1,11 +1,60 @@ - - - + + + diff --git a/ui/_legacy/tests/unit/rectangle.spec.ts b/ui/src/__tests__/rectangle.spec.ts similarity index 68% rename from ui/_legacy/tests/unit/rectangle.spec.ts rename to ui/src/__tests__/rectangle.spec.ts index 54e4154..14c8b17 100644 --- a/ui/_legacy/tests/unit/rectangle.spec.ts +++ b/ui/src/__tests__/rectangle.spec.ts @@ -1,4 +1,4 @@ -import { expect } from "chai"; +import { describe, expect, it } from "vitest"; import { Rectangle } from "@/lib/rects/rectangle"; import { Vector2D } from "@/lib/rects/vector2d"; @@ -17,15 +17,15 @@ describe("Rectangle Tests", () => { width: number, height: number, ): void { - expect(r.left).to.equal(left); - expect(r.top).to.equal(top); + expect(r.left).toEqual(left); + expect(r.top).toEqual(top); - expect(r.width).to.equal(width); - expect(r.height).to.equal(height); - expect(r.area).to.equal(width * height); + expect(r.width).toEqual(width); + expect(r.height).toEqual(height); + expect(r.area).toEqual(width * height); - expect(r.middle.x).to.equal(left + 0.5 * width); - expect(r.middle.y).to.equal(top + 0.5 * height); + expect(r.middle.x).toEqual(left + 0.5 * width); + expect(r.middle.y).toEqual(top + 0.5 * height); } it("should create a default rectangle", () => { @@ -41,29 +41,29 @@ describe("Rectangle Tests", () => { }); it("should compare rectangles", () => { - expect(r1.equals(r2)).to.be.true; - expect(r1.equals(new Rectangle())).to.be.false; + expect(r1.equals(r2)).toBe(true); + expect(r1.equals(new Rectangle())).toBe(false); }); it("should create the same rectangle transposed", () => { const v1t = new Vector2D(v1.x, v2.y); const v2t = new Vector2D(v2.x, v1.y); - expect(r1.equals(new Rectangle(v1t, v2t))).to.be.true; + expect(r1.equals(new Rectangle(v1t, v2t))).toBe(true); }); it("should contain itself", () => { - expect(r1.contains(v1)).to.be.true; - expect(r1.contains(v2)).to.be.true; + expect(r1.contains(v1)).toBe(true); + expect(r1.contains(v2)).toBe(true); - expect(r1.contains(r1.origin)).to.be.true; - expect(r1.contains(r1.corner)).to.be.true; - expect(r1.contains(r1.middle)).to.be.true; + expect(r1.contains(r1.origin)).toBe(true); + expect(r1.contains(r1.corner)).toBe(true); + expect(r1.contains(r1.middle)).toBe(true); }); it("should not contain certain points", () => { - expect(r1.contains(new Vector2D(0, 0))).to.be.false; - expect(r1.contains(new Vector2D(100, 100))).to.be.false; + expect(r1.contains(new Vector2D(0, 0))).toBe(false); + expect(r1.contains(new Vector2D(100, 100))).toBe(false); }); it("should update a rectangle", () => { diff --git a/ui/_legacy/tests/unit/vector2d.spec.ts b/ui/src/__tests__/vector2d.spec.ts similarity index 56% rename from ui/_legacy/tests/unit/vector2d.spec.ts rename to ui/src/__tests__/vector2d.spec.ts index fa90941..dedfbf7 100644 --- a/ui/_legacy/tests/unit/vector2d.spec.ts +++ b/ui/src/__tests__/vector2d.spec.ts @@ -1,4 +1,4 @@ -import { expect } from "chai"; +import { describe, expect, it } from "vitest"; import { Vector2D } from "@/lib/rects/vector2d"; @@ -7,35 +7,35 @@ describe("Vector2D Tests", () => { it("should create a default vector", () => { const v0 = new Vector2D(); - expect(v0.x).to.equal(0); - expect(v0.y).to.equal(0); + expect(v0.x).toEqual(0); + expect(v0.y).toEqual(0); }); it("should create a vector", () => { - expect(v.x).to.equal(1); - expect(v.y).to.equal(2); + expect(v.x).toEqual(1); + expect(v.y).toEqual(2); }); it("should add vectors", () => { const v2 = v.plus(new Vector2D(3, 4)); - expect(v2.x).to.equal(4); - expect(v2.y).to.equal(6); + expect(v2.x).toEqual(4); + expect(v2.y).toEqual(6); }); it("should subtract vectors", () => { const v2 = v.minus(new Vector2D(3, 4)); - expect(v2.x).to.equal(-2); - expect(v2.y).to.equal(-2); + expect(v2.x).toEqual(-2); + expect(v2.y).toEqual(-2); }); it("should scale vectors", () => { const v2 = v.scale(3); - expect(v2.x).to.equal(3); - expect(v2.y).to.equal(6); + expect(v2.x).toEqual(3); + expect(v2.y).toEqual(6); }); it("should compare vectors", () => { - expect(v.equals(v.scale(1))).to.be.true; - expect(v.equals(v.scale(2))).to.be.false; + expect(v.equals(v.scale(1))).toBe(true); + expect(v.equals(v.scale(2))).toBe(false); }); }); diff --git a/ui/_legacy/src/bulma-scheme.scss b/ui/src/bulma-scheme.scss similarity index 100% rename from ui/_legacy/src/bulma-scheme.scss rename to ui/src/bulma-scheme.scss diff --git a/ui/_legacy/src/components/AdminButton.vue b/ui/src/components/AdminButton.vue similarity index 100% rename from ui/_legacy/src/components/AdminButton.vue rename to ui/src/components/AdminButton.vue diff --git a/ui/_legacy/src/components/Calendar.vue b/ui/src/components/Calendar.vue similarity index 100% rename from ui/_legacy/src/components/Calendar.vue rename to ui/src/components/Calendar.vue diff --git a/ui/_legacy/src/components/CountDown.vue b/ui/src/components/CountDown.vue similarity index 100% rename from ui/_legacy/src/components/CountDown.vue rename to ui/src/components/CountDown.vue diff --git a/ui/_legacy/src/components/LoginModal.vue b/ui/src/components/LoginModal.vue similarity index 100% rename from ui/_legacy/src/components/LoginModal.vue rename to ui/src/components/LoginModal.vue diff --git a/ui/_legacy/src/components/MultiModal.vue b/ui/src/components/MultiModal.vue similarity index 100% rename from ui/_legacy/src/components/MultiModal.vue rename to ui/src/components/MultiModal.vue diff --git a/ui/_legacy/src/components/TouchButton.vue b/ui/src/components/TouchButton.vue similarity index 100% rename from ui/_legacy/src/components/TouchButton.vue rename to ui/src/components/TouchButton.vue diff --git a/ui/_legacy/src/components/UserView.vue b/ui/src/components/UserView.vue similarity index 100% rename from ui/_legacy/src/components/UserView.vue rename to ui/src/components/UserView.vue diff --git a/ui/_legacy/src/components/admin/AdminView.vue b/ui/src/components/admin/AdminView.vue similarity index 100% rename from ui/_legacy/src/components/admin/AdminView.vue rename to ui/src/components/admin/AdminView.vue diff --git a/ui/_legacy/src/components/admin/CalendarAssistant.vue b/ui/src/components/admin/CalendarAssistant.vue similarity index 100% rename from ui/_legacy/src/components/admin/CalendarAssistant.vue rename to ui/src/components/admin/CalendarAssistant.vue diff --git a/ui/_legacy/src/components/admin/ConfigView.vue b/ui/src/components/admin/ConfigView.vue similarity index 100% rename from ui/_legacy/src/components/admin/ConfigView.vue rename to ui/src/components/admin/ConfigView.vue diff --git a/ui/_legacy/src/components/admin/DoorMapEditor.vue b/ui/src/components/admin/DoorMapEditor.vue similarity index 100% rename from ui/_legacy/src/components/admin/DoorMapEditor.vue rename to ui/src/components/admin/DoorMapEditor.vue diff --git a/ui/_legacy/src/components/bulma/Breadcrumbs.vue b/ui/src/components/bulma/Breadcrumbs.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Breadcrumbs.vue rename to ui/src/components/bulma/Breadcrumbs.vue diff --git a/ui/_legacy/src/components/bulma/Button.vue b/ui/src/components/bulma/Button.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Button.vue rename to ui/src/components/bulma/Button.vue diff --git a/ui/_legacy/src/components/bulma/Drawer.vue b/ui/src/components/bulma/Drawer.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Drawer.vue rename to ui/src/components/bulma/Drawer.vue diff --git a/ui/_legacy/src/components/bulma/Secret.vue b/ui/src/components/bulma/Secret.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Secret.vue rename to ui/src/components/bulma/Secret.vue diff --git a/ui/_legacy/src/components/bulma/Toast.vue b/ui/src/components/bulma/Toast.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Toast.vue rename to ui/src/components/bulma/Toast.vue diff --git a/ui/_legacy/src/components/calendar/CalendarDoor.vue b/ui/src/components/calendar/CalendarDoor.vue similarity index 100% rename from ui/_legacy/src/components/calendar/CalendarDoor.vue rename to ui/src/components/calendar/CalendarDoor.vue diff --git a/ui/_legacy/src/components/calendar/SVGRect.vue b/ui/src/components/calendar/SVGRect.vue similarity index 100% rename from ui/_legacy/src/components/calendar/SVGRect.vue rename to ui/src/components/calendar/SVGRect.vue diff --git a/ui/_legacy/src/components/calendar/ThouCanvas.vue b/ui/src/components/calendar/ThouCanvas.vue similarity index 100% rename from ui/_legacy/src/components/calendar/ThouCanvas.vue rename to ui/src/components/calendar/ThouCanvas.vue diff --git a/ui/_legacy/src/components/editor/DoorCanvas.vue b/ui/src/components/editor/DoorCanvas.vue similarity index 100% rename from ui/_legacy/src/components/editor/DoorCanvas.vue rename to ui/src/components/editor/DoorCanvas.vue diff --git a/ui/_legacy/src/components/editor/DoorChooser.vue b/ui/src/components/editor/DoorChooser.vue similarity index 100% rename from ui/_legacy/src/components/editor/DoorChooser.vue rename to ui/src/components/editor/DoorChooser.vue diff --git a/ui/_legacy/src/components/editor/DoorPlacer.vue b/ui/src/components/editor/DoorPlacer.vue similarity index 100% rename from ui/_legacy/src/components/editor/DoorPlacer.vue rename to ui/src/components/editor/DoorPlacer.vue diff --git a/ui/_legacy/src/components/editor/PreviewDoor.vue b/ui/src/components/editor/PreviewDoor.vue similarity index 100% rename from ui/_legacy/src/components/editor/PreviewDoor.vue rename to ui/src/components/editor/PreviewDoor.vue diff --git a/ui/_legacy/src/lib/api.ts b/ui/src/lib/api.ts similarity index 100% rename from ui/_legacy/src/lib/api.ts rename to ui/src/lib/api.ts diff --git a/ui/_legacy/src/lib/api_error.ts b/ui/src/lib/api_error.ts similarity index 100% rename from ui/_legacy/src/lib/api_error.ts rename to ui/src/lib/api_error.ts diff --git a/ui/_legacy/src/lib/fontawesome.ts b/ui/src/lib/fontawesome.ts similarity index 100% rename from ui/_legacy/src/lib/fontawesome.ts rename to ui/src/lib/fontawesome.ts diff --git a/ui/_legacy/src/lib/helpers.ts b/ui/src/lib/helpers.ts similarity index 100% rename from ui/_legacy/src/lib/helpers.ts rename to ui/src/lib/helpers.ts diff --git a/ui/_legacy/src/lib/model.ts b/ui/src/lib/model.ts similarity index 100% rename from ui/_legacy/src/lib/model.ts rename to ui/src/lib/model.ts diff --git a/ui/_legacy/src/lib/rects/door.ts b/ui/src/lib/rects/door.ts similarity index 100% rename from ui/_legacy/src/lib/rects/door.ts rename to ui/src/lib/rects/door.ts diff --git a/ui/_legacy/src/lib/rects/rectangle.ts b/ui/src/lib/rects/rectangle.ts similarity index 100% rename from ui/_legacy/src/lib/rects/rectangle.ts rename to ui/src/lib/rects/rectangle.ts diff --git a/ui/_legacy/src/lib/rects/vector2d.ts b/ui/src/lib/rects/vector2d.ts similarity index 100% rename from ui/_legacy/src/lib/rects/vector2d.ts rename to ui/src/lib/rects/vector2d.ts diff --git a/ui/_legacy/src/lib/store.ts b/ui/src/lib/store.ts similarity index 100% rename from ui/_legacy/src/lib/store.ts rename to ui/src/lib/store.ts diff --git a/ui/_legacy/src/main.scss b/ui/src/main.scss similarity index 100% rename from ui/_legacy/src/main.scss rename to ui/src/main.scss diff --git a/ui/src/main.ts b/ui/src/main.ts index 5f77a89..bc4d049 100644 --- a/ui/src/main.ts +++ b/ui/src/main.ts @@ -1,9 +1,27 @@ -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' +import FontAwesomeIcon from "@/lib/fontawesome"; +import { advent22Store } from "@/lib/store"; +import { setDefaults as toast_set_defaults } from "bulma-toast"; +import { createPinia } from "pinia"; +import { createApp } from "vue"; +import App from "./App.vue"; -const app = createApp(App) +import "@/main.scss"; -app.use(createPinia()) +const app = createApp(App); -app.mount('#app') +app.use(createPinia()); +app.component("FontAwesomeIcon", FontAwesomeIcon); + +advent22Store().init(); + +app.mount("#app"); + +toast_set_defaults({ + duration: 10e3, + pauseOnHover: true, + dismissible: true, + closeOnClick: false, + type: "is-white", + position: "top-center", + animate: { in: "backInDown", out: "backOutUp" }, +}); diff --git a/ui/yarn.lock b/ui/yarn.lock index efc8b99..6d81f7b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -389,6 +389,13 @@ __metadata: languageName: node linkType: hard +"@bufbuild/protobuf@npm:^2.5.0": + version: 2.11.0 + resolution: "@bufbuild/protobuf@npm:2.11.0" + checksum: 10c0/d54fffd414660b823999cc321d26bd6c5f18a6e75343fc7d2588bda5be540ec542b557ac1f03d6d4b6e9d3e5596b2016e58cda173cd1858c043f0e846ece453f + languageName: node + linkType: hard + "@csstools/color-helpers@npm:^6.0.1": version: 6.0.1 resolution: "@csstools/color-helpers@npm:6.0.1" @@ -724,6 +731,41 @@ __metadata: languageName: node linkType: hard +"@fortawesome/fontawesome-common-types@npm:7.2.0": + version: 7.2.0 + resolution: "@fortawesome/fontawesome-common-types@npm:7.2.0" + checksum: 10c0/991ca1390c078d973e92034cf7dbae2fc3aa50cd7ff322b7b23e4c54ec84dae12979bada9a782bdaea11a1577ae74d802aa651c590f41d2e1b1126c17e6cd413 + languageName: node + linkType: hard + +"@fortawesome/fontawesome-svg-core@npm:^7.2.0": + version: 7.2.0 + resolution: "@fortawesome/fontawesome-svg-core@npm:7.2.0" + dependencies: + "@fortawesome/fontawesome-common-types": "npm:7.2.0" + checksum: 10c0/5c6655b030254804999eb87b96111cdcc42c0789e6e9ea13bc1e37d5ebf9fb982c79a618b68272cc59c23c4e1abf73d487e747a17a61499eac5f9f528fc54ad4 + languageName: node + linkType: hard + +"@fortawesome/free-solid-svg-icons@npm:^7.2.0": + version: 7.2.0 + resolution: "@fortawesome/free-solid-svg-icons@npm:7.2.0" + dependencies: + "@fortawesome/fontawesome-common-types": "npm:7.2.0" + checksum: 10c0/922ffe0f53b3cebcf36a4a6872958e7d6a0fbaa5c5c73cddbdea9301181fe8625331a0bf8aa09ca54c4d284805473e38d0eb9f06da05546f1914cec2c062343f + languageName: node + linkType: hard + +"@fortawesome/vue-fontawesome@npm:^3.1.3": + version: 3.1.3 + resolution: "@fortawesome/vue-fontawesome@npm:3.1.3" + peerDependencies: + "@fortawesome/fontawesome-svg-core": ~1 || ~6 || ~7 + vue: ">= 3.0.0 < 4" + checksum: 10c0/3d4a9ba2b30e1b12a904e95bbcc8b76d28830ba9ea1cecaffd7300454193ea1978249a6b9c448727a730caf9a33ec4f482dd8385ea8275d21c2e9ef37b56350b + languageName: node + linkType: hard + "@humanfs/core@npm:^0.19.1": version: 0.19.1 resolution: "@humanfs/core@npm:0.19.1" @@ -1011,6 +1053,150 @@ __metadata: languageName: node linkType: hard +"@parcel/watcher-android-arm64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-android-arm64@npm:2.5.6" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-arm64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-darwin-arm64@npm:2.5.6" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-darwin-x64@npm:2.5.6" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-freebsd-x64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-freebsd-x64@npm:2.5.6" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.6" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-musl@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.6" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.6" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.6" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.6" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.6" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-win32-arm64@npm:2.5.6" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-win32-ia32@npm:2.5.6" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-win32-x64@npm:2.5.6" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.4.1": + version: 2.5.6 + resolution: "@parcel/watcher@npm:2.5.6" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.5.6" + "@parcel/watcher-darwin-arm64": "npm:2.5.6" + "@parcel/watcher-darwin-x64": "npm:2.5.6" + "@parcel/watcher-freebsd-x64": "npm:2.5.6" + "@parcel/watcher-linux-arm-glibc": "npm:2.5.6" + "@parcel/watcher-linux-arm-musl": "npm:2.5.6" + "@parcel/watcher-linux-arm64-glibc": "npm:2.5.6" + "@parcel/watcher-linux-arm64-musl": "npm:2.5.6" + "@parcel/watcher-linux-x64-glibc": "npm:2.5.6" + "@parcel/watcher-linux-x64-musl": "npm:2.5.6" + "@parcel/watcher-win32-arm64": "npm:2.5.6" + "@parcel/watcher-win32-ia32": "npm:2.5.6" + "@parcel/watcher-win32-x64": "npm:2.5.6" + detect-libc: "npm:^2.0.3" + is-glob: "npm:^4.0.3" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + picomatch: "npm:^4.0.3" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm-musl": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 10c0/1e1d91f92e94e4640089a7cead243b2b81ca9aa8e1c862a97a25f589e84fbf1ad93abeb503f325c43a8c0e024ae0e74b48ec42c1cd84e8e423a3a87d25ded4f2 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -1270,6 +1456,13 @@ __metadata: languageName: node linkType: hard +"@types/luxon@npm:^3": + version: 3.7.1 + resolution: "@types/luxon@npm:3.7.1" + checksum: 10c0/2db30c13b58adcd86daa447faa3ba59515fe907ead8ee3e6bb716d662812af0619d712f6c1eb190cdd7f9d2c00444c3ecd80af0f36e8143eb0c5e7339d6b2aca + languageName: node + linkType: hard + "@types/node@npm:*, @types/node@npm:^25.3.0": version: 25.3.0 resolution: "@types/node@npm:25.3.0" @@ -1871,24 +2064,34 @@ __metadata: version: 0.0.0-use.local resolution: "advent22_ui@workspace:." dependencies: + "@fortawesome/fontawesome-svg-core": "npm:^7.2.0" + "@fortawesome/free-solid-svg-icons": "npm:^7.2.0" + "@fortawesome/vue-fontawesome": "npm:^3.1.3" "@tsconfig/node24": "npm:^24.0.4" "@types/jsdom": "npm:^27.0.0" + "@types/luxon": "npm:^3" "@types/node": "npm:^25.3.0" "@vitejs/plugin-vue": "npm:^6.0.4" "@vitest/eslint-plugin": "npm:^1.6.9" "@vue/eslint-config-typescript": "npm:^14.6.0" "@vue/test-utils": "npm:^2.4.6" "@vue/tsconfig": "npm:^0.8.1" + animate.css: "npm:^4.1.1" + axios: "npm:^1.13.5" + bulma: "npm:^1.0.4" + bulma-toast: "npm:2.4.3" eslint: "npm:^9.39.2" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-oxlint: "npm:~1.46.0" eslint-plugin-vue: "npm:~10.8.0" jiti: "npm:^2.6.1" jsdom: "npm:^28.1.0" + luxon: "npm:^3.7.2" npm-run-all2: "npm:^8.0.4" oxlint: "npm:~1.47.0" pinia: "npm:^3.0.4" prettier: "npm:3.8.1" + sass-embedded: "npm:^1.97.3" typescript: "npm:~5.9.3" vite: "npm:^7.3.1" vite-plugin-vue-devtools: "npm:^8.0.6" @@ -1924,6 +2127,13 @@ __metadata: languageName: node linkType: hard +"animate.css@npm:^4.1.1": + version: 4.1.1 + resolution: "animate.css@npm:4.1.1" + checksum: 10c0/28fcf5a5f502e4c12186846d22aa1cd63b835955160a97116930c78bff8a89135aa5c57f94010252a29456ada7cfc8ed8791cac02521ec6402befaf883937159 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -1975,6 +2185,38 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"axios@npm:^1.13.5": + version: 1.13.5 + resolution: "axios@npm:1.13.5" + dependencies: + follow-redirects: "npm:^1.15.11" + form-data: "npm:^4.0.5" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/abf468c34f2d145f3dc7dbc0f1be67e520630624307bda69a41bbe8d386bd672d87b4405c4ee77f9ff54b235ab02f96a9968fb00e75b13ce64706e352a3068fd + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -2073,6 +2315,20 @@ __metadata: languageName: node linkType: hard +"bulma-toast@npm:2.4.3": + version: 2.4.3 + resolution: "bulma-toast@npm:2.4.3" + checksum: 10c0/40dd9668643338496eb28caca9b772a6002d9c6fbdc5d76237cbdaaa8f56c8ced39965705f92f5d5a29f3e6df57f70a8fa311cf05c14075aacf93f96f7338470 + languageName: node + linkType: hard + +"bulma@npm:^1.0.4": + version: 1.0.4 + resolution: "bulma@npm:1.0.4" + checksum: 10c0/5a9bf48c6681181fce6fe06d1744272938cc81d4356314d9c4eee3ddbd1fac6ac678cb640b2fe58aec47f907ff273231b246b9cd66d1894b40c3a89a68fb3a68 + languageName: node + linkType: hard + "bundle-name@npm:^4.1.0": version: 4.1.0 resolution: "bundle-name@npm:4.1.0" @@ -2101,6 +2357,16 @@ __metadata: languageName: node linkType: hard +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -2132,6 +2398,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -2155,6 +2430,22 @@ __metadata: languageName: node linkType: hard +"colorjs.io@npm:^0.5.0": + version: 0.5.2 + resolution: "colorjs.io@npm:0.5.2" + checksum: 10c0/2e6ea43629e325e721b92429239de3a6f42fb6d88ba6e4c2aeff0288c196d876f2f7ee82aea95bd40072d5cdc8cb87f042f4d94c134dcabf0e34a717e4caacb9 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + "commander@npm:^10.0.0": version: 10.0.1 resolution: "commander@npm:10.0.1" @@ -2304,6 +2595,31 @@ __metadata: languageName: node linkType: hard +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -2390,6 +2706,20 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + "es-module-lexer@npm:^1.7.0": version: 1.7.0 resolution: "es-module-lexer@npm:1.7.0" @@ -2397,6 +2727,27 @@ __metadata: languageName: node linkType: hard +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + "esbuild@npm:^0.27.0": version: 0.27.3 resolution: "esbuild@npm:0.27.3" @@ -2820,6 +3171,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.15.11": + version: 1.15.11 + resolution: "follow-redirects@npm:1.15.11" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/d301f430542520a54058d4aeeb453233c564aaccac835d29d15e050beb33f339ad67d9bddbce01739c5dc46a6716dbe3d9d0d5134b1ca203effa11a7ef092343 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.3.1 resolution: "foreground-child@npm:3.3.1" @@ -2830,6 +3191,19 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.5": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + languageName: node + linkType: hard + "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -2858,6 +3232,20 @@ __metadata: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -2865,6 +3253,37 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.6": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -2917,6 +3336,13 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + "graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -2931,6 +3357,31 @@ __metadata: languageName: node linkType: hard +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + "hookable@npm:^5.5.3": version: 5.5.3 resolution: "hookable@npm:5.5.3" @@ -2997,6 +3448,13 @@ __metadata: languageName: node linkType: hard +"immutable@npm:^5.0.2": + version: 5.1.4 + resolution: "immutable@npm:5.1.4" + checksum: 10c0/f1c98382e4cde14a0b218be3b9b2f8441888da8df3b8c064aa756071da55fbed6ad696e5959982508456332419be9fdeaf29b2e58d0eadc45483cc16963c0446 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -3338,6 +3796,13 @@ __metadata: languageName: node linkType: hard +"luxon@npm:^3.7.2": + version: 3.7.2 + resolution: "luxon@npm:3.7.2" + checksum: 10c0/ed8f0f637826c08c343a29dd478b00628be93bba6f068417b1d8896b61cb61c6deacbe1df1e057dbd9298334044afa150f9aaabbeb3181418ac8520acfdc2ae2 + languageName: node + linkType: hard + "magic-string@npm:^0.30.21, magic-string@npm:^0.30.4": version: 0.30.21 resolution: "magic-string@npm:0.30.21" @@ -3366,6 +3831,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + "mdn-data@npm:2.12.2": version: 2.12.2 resolution: "mdn-data@npm:2.12.2" @@ -3397,6 +3869,22 @@ __metadata: languageName: node linkType: hard +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + "minimatch@npm:9.0.1": version: 9.0.1 resolution: "minimatch@npm:9.0.1" @@ -3569,6 +4057,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^7.0.0": + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 12.2.0 resolution: "node-gyp@npm:12.2.0" @@ -3995,6 +4492,13 @@ __metadata: languageName: node linkType: hard +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -4019,6 +4523,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 + languageName: node + linkType: hard + "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -4160,6 +4671,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.4.0": + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -4167,6 +4687,225 @@ __metadata: languageName: node linkType: hard +"sass-embedded-all-unknown@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-all-unknown@npm:1.97.3" + dependencies: + sass: "npm:1.97.3" + conditions: (!cpu=arm | !cpu=arm64 | !cpu=riscv64 | !cpu=x64) + languageName: node + linkType: hard + +"sass-embedded-android-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-arm64@npm:1.97.3" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-android-arm@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-arm@npm:1.97.3" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"sass-embedded-android-riscv64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-riscv64@npm:1.97.3" + conditions: os=android & cpu=riscv64 + languageName: node + linkType: hard + +"sass-embedded-android-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-x64@npm:1.97.3" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-darwin-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-darwin-arm64@npm:1.97.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-darwin-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-darwin-x64@npm:1.97.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-linux-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-arm64@npm:1.97.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-linux-arm@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-arm@npm:1.97.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"sass-embedded-linux-musl-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-arm64@npm:1.97.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-linux-musl-arm@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-arm@npm:1.97.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"sass-embedded-linux-musl-riscv64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-riscv64@npm:1.97.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"sass-embedded-linux-musl-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-x64@npm:1.97.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-linux-riscv64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-riscv64@npm:1.97.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"sass-embedded-linux-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-x64@npm:1.97.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-unknown-all@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-unknown-all@npm:1.97.3" + dependencies: + sass: "npm:1.97.3" + conditions: (!os=android | !os=darwin | !os=linux | !os=win32) + languageName: node + linkType: hard + +"sass-embedded-win32-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-win32-arm64@npm:1.97.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-win32-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-win32-x64@npm:1.97.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded@npm:^1.97.3": + version: 1.97.3 + resolution: "sass-embedded@npm:1.97.3" + dependencies: + "@bufbuild/protobuf": "npm:^2.5.0" + colorjs.io: "npm:^0.5.0" + immutable: "npm:^5.0.2" + rxjs: "npm:^7.4.0" + sass-embedded-all-unknown: "npm:1.97.3" + sass-embedded-android-arm: "npm:1.97.3" + sass-embedded-android-arm64: "npm:1.97.3" + sass-embedded-android-riscv64: "npm:1.97.3" + sass-embedded-android-x64: "npm:1.97.3" + sass-embedded-darwin-arm64: "npm:1.97.3" + sass-embedded-darwin-x64: "npm:1.97.3" + sass-embedded-linux-arm: "npm:1.97.3" + sass-embedded-linux-arm64: "npm:1.97.3" + sass-embedded-linux-musl-arm: "npm:1.97.3" + sass-embedded-linux-musl-arm64: "npm:1.97.3" + sass-embedded-linux-musl-riscv64: "npm:1.97.3" + sass-embedded-linux-musl-x64: "npm:1.97.3" + sass-embedded-linux-riscv64: "npm:1.97.3" + sass-embedded-linux-x64: "npm:1.97.3" + sass-embedded-unknown-all: "npm:1.97.3" + sass-embedded-win32-arm64: "npm:1.97.3" + sass-embedded-win32-x64: "npm:1.97.3" + supports-color: "npm:^8.1.1" + sync-child-process: "npm:^1.0.2" + varint: "npm:^6.0.0" + dependenciesMeta: + sass-embedded-all-unknown: + optional: true + sass-embedded-android-arm: + optional: true + sass-embedded-android-arm64: + optional: true + sass-embedded-android-riscv64: + optional: true + sass-embedded-android-x64: + optional: true + sass-embedded-darwin-arm64: + optional: true + sass-embedded-darwin-x64: + optional: true + sass-embedded-linux-arm: + optional: true + sass-embedded-linux-arm64: + optional: true + sass-embedded-linux-musl-arm: + optional: true + sass-embedded-linux-musl-arm64: + optional: true + sass-embedded-linux-musl-riscv64: + optional: true + sass-embedded-linux-musl-x64: + optional: true + sass-embedded-linux-riscv64: + optional: true + sass-embedded-linux-x64: + optional: true + sass-embedded-unknown-all: + optional: true + sass-embedded-win32-arm64: + optional: true + sass-embedded-win32-x64: + optional: true + bin: + sass: dist/bin/sass.js + checksum: 10c0/fa77ece156f7eecfbefee6ece9c614464fc5231611ccdaf89f03a72357ea961dd16ace6d519c44293689cfce8701b4309ff13ad7cbb973e1dc48aa1534b3241a + languageName: node + linkType: hard + +"sass@npm:1.97.3": + version: 1.97.3 + resolution: "sass@npm:1.97.3" + dependencies: + "@parcel/watcher": "npm:^2.4.1" + chokidar: "npm:^4.0.0" + immutable: "npm:^5.0.2" + source-map-js: "npm:>=0.6.2 <2.0.0" + dependenciesMeta: + "@parcel/watcher": + optional: true + bin: + sass: sass.js + checksum: 10c0/67f6b5d220f20c1c23a8b16dda5fd1c5d119ad5caf8195b185d553b5b239fb188a3787f04fc00171c62515f2c4e5e0eb5ad4992a80f8543428556883c1240ba3 + languageName: node + linkType: hard + "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -4270,7 +5009,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf @@ -4372,6 +5111,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -4379,6 +5127,22 @@ __metadata: languageName: node linkType: hard +"sync-child-process@npm:^1.0.2": + version: 1.0.2 + resolution: "sync-child-process@npm:1.0.2" + dependencies: + sync-message-port: "npm:^1.0.0" + checksum: 10c0/f73c87251346fba28da8ac5bc8ed4c9474504a5250ab4bd44582beae8e25c230e0a5b7b16076488fee1aed39a1865de5ed4cec19c6fa4efdbb1081c514615170 + languageName: node + linkType: hard + +"sync-message-port@npm:^1.0.0": + version: 1.2.0 + resolution: "sync-message-port@npm:1.2.0" + checksum: 10c0/31071ccc1e1607649aab5f1d283b0b6544632b9e8c2e8afedae394a0e97c1454978d0e415d664db8e3b1ae48a9c4cdba8d39e79edcb86c517be06123a110efae + languageName: node + linkType: hard + "tar@npm:^7.5.4": version: 7.5.9 resolution: "tar@npm:7.5.9" @@ -4484,6 +5248,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.1.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -4600,6 +5371,13 @@ __metadata: languageName: node linkType: hard +"varint@npm:^6.0.0": + version: 6.0.0 + resolution: "varint@npm:6.0.0" + checksum: 10c0/737fc37088a62ed3bd21466e318d21ca7ac4991d0f25546f518f017703be4ed0f9df1c5559f1dd533dddba4435a1b758fd9230e4772c1a930ef72b42f5c750fd + languageName: node + linkType: hard + "vite-dev-rpc@npm:^1.1.0": version: 1.1.0 resolution: "vite-dev-rpc@npm:1.1.0" From d816460efa6ba50de97fc67225966694a20cdf12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Sat, 21 Feb 2026 19:24:09 +0000 Subject: [PATCH 12/23] =?UTF-8?q?=F0=9F=A7=B9=20reformat=20using=20"pretti?= =?UTF-8?q?er"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/_legacy/public/index.html | 7 ++--- ui/_legacy/tsconfig.json | 26 +++++------------ ui/eslint.config.ts | 26 ++++++++--------- ui/index.html | 8 +++--- ui/src/__tests__/App.spec.ts | 18 ++++++------ ui/src/components/Calendar.vue | 4 +-- ui/src/components/LoginModal.vue | 7 +---- ui/src/components/MultiModal.vue | 5 +--- ui/src/components/UserView.vue | 7 ++--- ui/src/components/admin/ConfigView.vue | 26 ++++------------- ui/src/components/admin/DoorMapEditor.vue | 6 +--- ui/src/components/bulma/Button.vue | 6 +--- ui/src/components/bulma/Drawer.vue | 9 ++---- ui/src/components/calendar/CalendarDoor.vue | 6 +++- ui/src/components/calendar/SVGRect.vue | 8 +----- ui/src/components/calendar/ThouCanvas.vue | 6 +--- ui/src/components/editor/DoorCanvas.vue | 7 +---- ui/src/components/editor/DoorChooser.vue | 6 +--- ui/src/lib/helpers.ts | 5 +--- ui/src/lib/rects/door.ts | 5 +--- ui/src/lib/rects/rectangle.ts | 5 +--- ui/src/lib/store.ts | 31 ++++++++------------- ui/src/stores/counter.ts | 16 +++++------ ui/vite.config.ts | 17 +++++------ ui/vitest.config.ts | 14 +++++----- 25 files changed, 97 insertions(+), 184 deletions(-) diff --git a/ui/_legacy/public/index.html b/ui/_legacy/public/index.html index 17c86a1..ab4225b 100644 --- a/ui/_legacy/public/index.html +++ b/ui/_legacy/public/index.html @@ -1,4 +1,4 @@ - + @@ -29,9 +29,8 @@
diff --git a/ui/_legacy/tsconfig.json b/ui/_legacy/tsconfig.json index 1d59a2a..1a887f3 100644 --- a/ui/_legacy/tsconfig.json +++ b/ui/_legacy/tsconfig.json @@ -2,32 +2,20 @@ "extends": "@vue/tsconfig/tsconfig.dom.json", "compilerOptions": { "experimentalDecorators": true, - "lib": [ - "es2020", - "dom", - "dom.iterable", - "es2022.object", - "es2023.array", - ], + "lib": ["es2020", "dom", "dom.iterable", "es2022.object", "es2023.array"], // "moduleResolution": "node", // "sourceMap": true, "baseUrl": ".", - "types": [ - "webpack-env", - "mocha", - "chai", - ], + "types": ["webpack-env", "mocha", "chai"], "paths": { - "@/*": [ - "src/*", - ] - }, + "@/*": ["src/*"] + } }, "include": [ "src/**/*.vue", "src/**/*.ts", // "src/**/*.tsx", - "tests/**/*.ts", + "tests/**/*.ts" // "tests/**/*.tsx", - ], -} \ No newline at end of file + ] +} diff --git a/ui/eslint.config.ts b/ui/eslint.config.ts index 4e90ef7..15f26dd 100644 --- a/ui/eslint.config.ts +++ b/ui/eslint.config.ts @@ -1,9 +1,9 @@ -import { globalIgnores } from 'eslint/config' -import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' -import pluginVue from 'eslint-plugin-vue' -import pluginVitest from '@vitest/eslint-plugin' -import pluginOxlint from 'eslint-plugin-oxlint' -import skipFormatting from 'eslint-config-prettier/flat' +import { globalIgnores } from "eslint/config"; +import { defineConfigWithVueTs, vueTsConfigs } from "@vue/eslint-config-typescript"; +import pluginVue from "eslint-plugin-vue"; +import pluginVitest from "@vitest/eslint-plugin"; +import pluginOxlint from "eslint-plugin-oxlint"; +import skipFormatting from "eslint-config-prettier/flat"; // To allow more languages other than `ts` in `.vue` files, uncomment the following lines: // import { configureVueProject } from '@vue/eslint-config-typescript' @@ -12,21 +12,21 @@ import skipFormatting from 'eslint-config-prettier/flat' export default defineConfigWithVueTs( { - name: 'app/files-to-lint', - files: ['**/*.{vue,ts,mts,tsx}'], + name: "app/files-to-lint", + files: ["**/*.{vue,ts,mts,tsx}"], }, - globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), + globalIgnores(["**/dist/**", "**/dist-ssr/**", "**/coverage/**"]), - ...pluginVue.configs['flat/essential'], + ...pluginVue.configs["flat/essential"], vueTsConfigs.recommended, { ...pluginVitest.configs.recommended, - files: ['src/**/__tests__/*'], + files: ["src/**/__tests__/*"], }, - ...pluginOxlint.buildFromOxlintConfigFile('.oxlintrc.json'), + ...pluginOxlint.buildFromOxlintConfigFile(".oxlintrc.json"), skipFormatting, -) +); diff --git a/ui/index.html b/ui/index.html index 9e5fc8f..9d30802 100644 --- a/ui/index.html +++ b/ui/index.html @@ -1,9 +1,9 @@ - + - - - + + + Vite App diff --git a/ui/src/__tests__/App.spec.ts b/ui/src/__tests__/App.spec.ts index 5b17801..cf17422 100644 --- a/ui/src/__tests__/App.spec.ts +++ b/ui/src/__tests__/App.spec.ts @@ -1,11 +1,11 @@ -import { describe, it, expect } from 'vitest' +import { describe, it, expect } from "vitest"; -import { mount } from '@vue/test-utils' -import App from '../App.vue' +import { mount } from "@vue/test-utils"; +import App from "../App.vue"; -describe('App', () => { - it('mounts renders properly', () => { - const wrapper = mount(App) - expect(wrapper.text()).toContain('You did it!') - }) -}) +describe("App", () => { + it("mounts renders properly", () => { + const wrapper = mount(App); + expect(wrapper.text()).toContain("You did it!"); + }); +}); diff --git a/ui/src/components/Calendar.vue b/ui/src/components/Calendar.vue index 3eef36b..bae9c81 100644 --- a/ui/src/components/Calendar.vue +++ b/ui/src/components/Calendar.vue @@ -4,8 +4,8 @@

- Du hast noch keine Türchen geöffnet, vielleicht gibt es ein Anzeigeproblem - in Deinem Webbrowser? + Du hast noch keine Türchen geöffnet, vielleicht gibt es ein Anzeigeproblem in Deinem + Webbrowser?

diff --git a/ui/src/components/LoginModal.vue b/ui/src/components/LoginModal.vue index 534fb5f..7b52fad 100644 --- a/ui/src/components/LoginModal.vue +++ b/ui/src/components/LoginModal.vue @@ -12,12 +12,7 @@
- +
diff --git a/ui/src/components/MultiModal.vue b/ui/src/components/MultiModal.vue index b3102bb..6944b2b 100644 --- a/ui/src/components/MultiModal.vue +++ b/ui/src/components/MultiModal.vue @@ -18,10 +18,7 @@
-
diff --git a/ui/src/components/UserView.vue b/ui/src/components/UserView.vue index fe931b8..a88ad6e 100644 --- a/ui/src/components/UserView.vue +++ b/ui/src/components/UserView.vue @@ -7,12 +7,9 @@ Alle {{ store.user_doors.length }} Türchen offen! diff --git a/ui/src/components/admin/ConfigView.vue b/ui/src/components/admin/ConfigView.vue index 9f92e7a..a7afd69 100644 --- a/ui/src/components/admin/ConfigView.vue +++ b/ui/src/components/admin/ConfigView.vue @@ -9,15 +9,11 @@
Wert
Eingabe: - - "{{ admin_config_model.solution.value }}" - + "{{ admin_config_model.solution.value }}"
Ausgabe: - - "{{ admin_config_model.solution.clean }}" - + "{{ admin_config_model.solution.clean }}"
Transformation
@@ -47,9 +43,7 @@
{{ store.user_doors.length }}
Zeit zum nächsten Türchen
-
- Kein nächstes Türchen -
+
Kein nächstes Türchen
Erstes Türchen
@@ -65,9 +59,7 @@
{{ fmt_puzzle_date("end") }}
Zufalls-Seed
-
- "{{ admin_config_model.puzzle.seed }}" -
+
"{{ admin_config_model.puzzle.seed }}"
Extra-Tage
@@ -121,10 +113,7 @@
{{ admin_config_model.image.border }} px
Schriftarten
-
+
{{ font.file }} ({{ font.size }} pt)
@@ -276,10 +265,7 @@ async function on_open(): Promise { clear_credentials(creds.value.ui); } -async function load_credentials( - creds: Credentials, - endpoint: string, -): Promise { +async function load_credentials(creds: Credentials, endpoint: string): Promise { try { const new_creds = await API.request(endpoint); diff --git a/ui/src/components/admin/DoorMapEditor.vue b/ui/src/components/admin/DoorMapEditor.vue index 3e9c058..31315d8 100644 --- a/ui/src/components/admin/DoorMapEditor.vue +++ b/ui/src/components/admin/DoorMapEditor.vue @@ -8,11 +8,7 @@ :icon="['fas', 'fa-backward']" /> - + - + {{ text }} diff --git a/ui/src/components/bulma/Drawer.vue b/ui/src/components/bulma/Drawer.vue index 3b697ba..e1225e3 100644 --- a/ui/src/components/bulma/Drawer.vue +++ b/ui/src/components/bulma/Drawer.vue @@ -6,18 +6,13 @@

- +

diff --git a/ui/src/components/calendar/CalendarDoor.vue b/ui/src/components/calendar/CalendarDoor.vue index 0dba455..5a73e1b 100644 --- a/ui/src/components/calendar/CalendarDoor.vue +++ b/ui/src/components/calendar/CalendarDoor.vue @@ -6,7 +6,11 @@ >
{{ door.day }}
diff --git a/ui/src/components/calendar/SVGRect.vue b/ui/src/components/calendar/SVGRect.vue index 2e00db0..7792a86 100644 --- a/ui/src/components/calendar/SVGRect.vue +++ b/ui/src/components/calendar/SVGRect.vue @@ -27,13 +27,7 @@ import { computed } from "vue"; const store = advent22Store(); -type BulmaVariant = - | "primary" - | "link" - | "info" - | "success" - | "warning" - | "danger"; +type BulmaVariant = "primary" | "link" | "info" | "success" | "warning" | "danger"; withDefaults( defineProps<{ diff --git a/ui/src/components/calendar/ThouCanvas.vue b/ui/src/components/calendar/ThouCanvas.vue index 39cb98f..e6191cb 100644 --- a/ui/src/components/calendar/ThouCanvas.vue +++ b/ui/src/components/calendar/ThouCanvas.vue @@ -32,11 +32,7 @@ function get_event_thous(event: MouseEvent): Vector2D { type TCEventType = "mousedown" | "mousemove" | "mouseup" | "click" | "dblclick"; const is_tceventtype = (t: unknown): t is TCEventType => - t === "mousedown" || - t === "mousemove" || - t === "mouseup" || - t === "click" || - t === "dblclick"; + t === "mousedown" || t === "mousemove" || t === "mouseup" || t === "click" || t === "dblclick"; const emit = defineEmits<{ (event: TCEventType, e: MouseEvent, point: Vector2D): void; diff --git a/ui/src/components/editor/DoorCanvas.vue b/ui/src/components/editor/DoorCanvas.vue index ee9ad25..380f013 100644 --- a/ui/src/components/editor/DoorCanvas.vue +++ b/ui/src/components/editor/DoorCanvas.vue @@ -14,12 +14,7 @@ :door="door" force_visible /> - + diff --git a/ui/src/components/editor/DoorChooser.vue b/ui/src/components/editor/DoorChooser.vue index db19d4c..aa2e196 100644 --- a/ui/src/components/editor/DoorChooser.vue +++ b/ui/src/components/editor/DoorChooser.vue @@ -13,11 +13,7 @@
- +
diff --git a/ui/src/lib/helpers.ts b/ui/src/lib/helpers.ts index dd6e629..43144c5 100644 --- a/ui/src/lib/helpers.ts +++ b/ui/src/lib/helpers.ts @@ -1,10 +1,7 @@ import { nextTick, type UnwrapRef } from "vue"; import { APIError } from "./api_error"; -export function objForEach( - obj: T, - f: (k: keyof T, v: T[keyof T]) => void, -): void { +export function objForEach(obj: T, f: (k: keyof T, v: T[keyof T]) => void): void { for (const k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) { f(k, obj[k]); diff --git a/ui/src/lib/rects/door.ts b/ui/src/lib/rects/door.ts index 33d03d3..a26d6b7 100644 --- a/ui/src/lib/rects/door.ts +++ b/ui/src/lib/rects/door.ts @@ -24,10 +24,7 @@ export class Door { // integer coercion let day = Number(value); - day = - !Number.isNaN(day) && Number.isFinite(day) - ? Math.trunc(day) - : Door.MIN_DAY; + day = !Number.isNaN(day) && Number.isFinite(day) ? Math.trunc(day) : Door.MIN_DAY; this._day = Math.max(day, Door.MIN_DAY); } diff --git a/ui/src/lib/rects/rectangle.ts b/ui/src/lib/rects/rectangle.ts index 40f9b18..0bb9bfc 100644 --- a/ui/src/lib/rects/rectangle.ts +++ b/ui/src/lib/rects/rectangle.ts @@ -71,9 +71,6 @@ export class Rectangle { } public move(vector: Vector2D): Rectangle { - return new Rectangle( - this.corner_1.plus(vector), - this.corner_2.plus(vector), - ); + return new Rectangle(this.corner_1.plus(vector), this.corner_2.plus(vector)); } } diff --git a/ui/src/lib/store.ts b/ui/src/lib/store.ts index f0105dc..cee8073 100644 --- a/ui/src/lib/store.ts +++ b/ui/src/lib/store.ts @@ -1,4 +1,4 @@ -import { acceptHMRUpdate, defineStore } from "pinia"; +import { defineStore } from "pinia"; import { API } from "./api"; import type { Loading } from "./helpers"; import type { Credentials, DoorSaved, ImageData, SiteConfigModel } from "./model"; @@ -55,31 +55,28 @@ export const advent22Store = defineStore("advent22", { const favicon = await API.request("user/favicon"); const link: HTMLLinkElement = - document.querySelector("link[rel*='icon']") ?? - document.createElement("link"); + document.querySelector("link[rel*='icon']") ?? document.createElement("link"); link.rel = "shortcut icon"; link.type = "image/x-icon"; link.href = favicon.data_url; if (link.parentElement === null) document.getElementsByTagName("head")[0]!.appendChild(link); - } catch { } + } catch {} try { - const [is_admin, site_config, background_image, user_doors, next_door] = - await Promise.all([ - this.update_is_admin(), - API.request("user/site_config"), - API.request("user/background_image"), - API.request("user/doors"), - API.request("user/next_door"), - ]); + const [is_admin, site_config, background_image, user_doors, next_door] = await Promise.all([ + this.update_is_admin(), + API.request("user/site_config"), + API.request("user/background_image"), + API.request("user/doors"), + API.request("user/next_door"), + ]); void is_admin; // discard value document.title = site_config.title; - if (site_config.subtitle !== "") - document.title += " – " + site_config.subtitle; + if (site_config.subtitle !== "") document.title += " – " + site_config.subtitle; this.site_config = site_config; this.background_image = background_image; @@ -123,9 +120,3 @@ export const advent22Store = defineStore("advent22", { }, }, }); - -if (import.meta.webpackHot) { - import.meta.webpackHot.accept( - acceptHMRUpdate(advent22Store, import.meta.webpackHot), - ); -} diff --git a/ui/src/stores/counter.ts b/ui/src/stores/counter.ts index b6757ba..374b4d0 100644 --- a/ui/src/stores/counter.ts +++ b/ui/src/stores/counter.ts @@ -1,12 +1,12 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) +export const useCounterStore = defineStore("counter", () => { + const count = ref(0); + const doubleCount = computed(() => count.value * 2); function increment() { - count.value++ + count.value++; } - return { count, doubleCount, increment } -}) + return { count, doubleCount, increment }; +}); diff --git a/ui/vite.config.ts b/ui/vite.config.ts index 4217010..7483182 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -1,18 +1,15 @@ -import { fileURLToPath, URL } from 'node:url' +import { fileURLToPath, URL } from "node:url"; -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueDevTools from 'vite-plugin-vue-devtools' +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueDevTools from "vite-plugin-vue-devtools"; // https://vite.dev/config/ export default defineConfig({ - plugins: [ - vue(), - vueDevTools(), - ], + plugins: [vue(), vueDevTools()], resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) + "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, -}) +}); diff --git a/ui/vitest.config.ts b/ui/vitest.config.ts index c328717..508a217 100644 --- a/ui/vitest.config.ts +++ b/ui/vitest.config.ts @@ -1,14 +1,14 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' +import { fileURLToPath } from "node:url"; +import { mergeConfig, defineConfig, configDefaults } from "vitest/config"; +import viteConfig from "./vite.config"; export default mergeConfig( viteConfig, defineConfig({ test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/**'], - root: fileURLToPath(new URL('./', import.meta.url)), + environment: "jsdom", + exclude: [...configDefaults.exclude, "e2e/**"], + root: fileURLToPath(new URL("./", import.meta.url)), }, }), -) +); From b1c65f4d4a86409dfbee9cbfa162c411c81c4406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Sat, 21 Feb 2026 23:48:18 +0000 Subject: [PATCH 13/23] =?UTF-8?q?=F0=9F=9A=A7=20ui:=20re-scaffolding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fix lint errors --- ui/_legacy/tsconfig.json | 21 ---------- ui/src/__tests__/App.spec.ts | 11 ----- ui/src/components/admin/CalendarAssistant.vue | 40 ++++++++++++------- ui/src/components/admin/ConfigView.vue | 2 +- ui/src/components/editor/DoorChooser.vue | 16 +++++++- ui/src/lib/api.ts | 7 +--- ui/src/lib/helpers.ts | 1 - ui/src/lib/model.ts | 4 -- ui/src/lib/store.ts | 2 +- ui/tsconfig.app.json | 2 + ui/tsconfig.vitest.json | 1 - ui/vite.config.ts | 5 ++- 12 files changed, 49 insertions(+), 63 deletions(-) delete mode 100644 ui/_legacy/tsconfig.json delete mode 100644 ui/src/__tests__/App.spec.ts diff --git a/ui/_legacy/tsconfig.json b/ui/_legacy/tsconfig.json deleted file mode 100644 index 1a887f3..0000000 --- a/ui/_legacy/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "compilerOptions": { - "experimentalDecorators": true, - "lib": ["es2020", "dom", "dom.iterable", "es2022.object", "es2023.array"], - // "moduleResolution": "node", - // "sourceMap": true, - "baseUrl": ".", - "types": ["webpack-env", "mocha", "chai"], - "paths": { - "@/*": ["src/*"] - } - }, - "include": [ - "src/**/*.vue", - "src/**/*.ts", - // "src/**/*.tsx", - "tests/**/*.ts" - // "tests/**/*.tsx", - ] -} diff --git a/ui/src/__tests__/App.spec.ts b/ui/src/__tests__/App.spec.ts deleted file mode 100644 index cf17422..0000000 --- a/ui/src/__tests__/App.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from "vitest"; - -import { mount } from "@vue/test-utils"; -import App from "../App.vue"; - -describe("App", () => { - it("mounts renders properly", () => { - const wrapper = mount(App); - expect(wrapper.text()).toContain("You did it!"); - }); -}); diff --git a/ui/src/components/admin/CalendarAssistant.vue b/ui/src/components/admin/CalendarAssistant.vue index 3de966c..ef16cec 100644 --- a/ui/src/components/admin/CalendarAssistant.vue +++ b/ui/src/components/admin/CalendarAssistant.vue @@ -8,7 +8,7 @@

Zuordnung Buchstaben

-